物理備庫failover實驗
系統資訊:Linux localhost.localdomain 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686 i686 i386 GNU/Linux
資料庫版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
主庫資訊:
SQL> select NAME,DB_UNIQUE_NAME,DATABASE_ROLE,SWITCHOVER_STATUS,PRIMARY_DB_UNIQUE_NAME,PROTECTION_MODE from v$database;
NAME DB_UNIQUE_NAME DATABASE_ROLE SWITCHOVER_STATUS PRIMARY_DB_UNIQUE_NAME PROTECTION_MODE
--------- ------------------------------ ---------------- -------------------- ------------------------------ --------------------
PHYPRIMA phyprimary PRIMARY TO STANDBY phystandby MAXIMUM AVAILABILITY
NAME DB_UNIQUE_NAME DATABASE_ROLE SWITCHOVER_STATUS PRIMARY_DB_UNIQUE_NAME PROTECTION_MODE
--------- ------------------------------ ---------------- -------------------- ------------------------------ --------------------
PHYPRIMA phyprimary PRIMARY TO STANDBY phystandby MAXIMUM AVAILABILITY
備庫資訊:
SQL> select NAME,DB_UNIQUE_NAME,DATABASE_ROLE,SWITCHOVER_STATUS,PRIMARY_DB_UNIQUE_NAME,PROTECTION_MODE from v$database;
NAME DB_UNIQUE_NAME DATABASE_ROLE SWITCHOVER_STATUS PRIMARY_DB_UNIQUE_NAME PROTECTION_MODE
--------- ------------------------------ ---------------- -------------------- ------------------------------ --------------------
PHYPRIMA phystandby PHYSICAL STANDBY NOT ALLOWED phyprimary MAXIMUM AVAILABILITY
NAME DB_UNIQUE_NAME DATABASE_ROLE SWITCHOVER_STATUS PRIMARY_DB_UNIQUE_NAME PROTECTION_MODE
--------- ------------------------------ ---------------- -------------------- ------------------------------ --------------------
PHYPRIMA phystandby PHYSICAL STANDBY NOT ALLOWED phyprimary MAXIMUM AVAILABILITY
實驗前準備:
1. 確保沒有沒有redo transport errors 或者 redo gap存在(備庫操作).
SQL> SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS where status!='INACTIVE';
STATUS GAP_STATUS
--------- ------------------------
VALID
VALID NO GAP
VALID NO GAP
STATUS GAP_STATUS
--------- ------------------------
VALID
VALID NO GAP
VALID NO GAP
同時確保歸檔檔案是否連線
SQL> select thread#, low_sequence#, high_sequence# from v$archive_gap;
no rows selected
no rows selected
如果存在的話,如果主庫伺服器允許,將列出的歸檔檔案靠備考備庫,並通過如下語句註冊:
alter database register physical logfile 'filespec1';
2. 確保備庫存在於主庫想對應的臨時檔案
主庫:
SQL> select file_name,tablespace_name, bytes/1024/1024, status from dba_temp_files;
FILE_NAME TABLESPACE_NAME BYTES/1024/1024 STATUS
------------------------------------------------------------ ------------------------------ --------------- -------
/data/oracle/oradata/phyprimary/temp01.dbf TEMP 20 ONLINE
FILE_NAME TABLESPACE_NAME BYTES/1024/1024 STATUS
------------------------------------------------------------ ------------------------------ --------------- -------
/data/oracle/oradata/phyprimary/temp01.dbf TEMP 20 ONLINE
備庫:
SQL> select file_name,tablespace_name, bytes/1024/1024, status from dba_temp_files;
FILE_NAME TABLESPACE_NAME BYTES/1024/1024 STATUS
------------------------------------------------------------ ------------------------------ --------------- -------
/data/oracle/oradata/phystandby/temp01.dbf TEMP 20 ONLINE
FILE_NAME TABLESPACE_NAME BYTES/1024/1024 STATUS
------------------------------------------------------------ ------------------------------ --------------- -------
/data/oracle/oradata/phystandby/temp01.dbf TEMP 20 ONLINE
3. 確保主庫與備庫是在最優效能模式下,如果不是,改為最優效能模式
SQL> alter database set standby database to maximize performance;
開始試驗:
4. 模擬主庫出現意外當機
SQL> shutdown abort;
ORACLE instance shut down.
5. 在需要failover的備庫上進行failover切換(備庫操作)
5.1 停止redo apply(可選項)
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
Database altered.
5.2 停止接受redo log(可選項)
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
Database altered.
6 進行資料庫failover
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
SWITCHOVER_STATUS
--------------------
TO PRIMARY
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
Database altered.
Database altered.
SQL> alter database open;
Database altered.
Database altered.
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
PRIMARY
DATABASE_ROLE
----------------
PRIMARY
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
OPEN_MODE
--------------------
READ WRITE
如果是 READ ONLY狀態,則需要重啟資料庫到READ WRITE狀態
7 立即備份新的主庫,備份終於一切
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28719055/viewspace-1252931/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle:Failover 到物理備庫OracleAI
- Oracle 12c Data guard 物理備庫應急切換(failover)流程OracleAI
- Oracle 11g Data guard 物理備庫應急切換(failover)流程OracleAI
- 驗證物理備庫是否執行正常
- dataguard之物理standby庫failover 切換AI
- 物理備庫互轉快照備庫
- 配置物理備庫+邏輯備庫
- 搭建物理備庫
- Oracle 10g DataGuard物理主備切換-switchover與failoverOracle 10gAI
- data gurad物理備份方式中的failover轉換AI
- Dataguard failover切換實驗AI
- DataGuard模擬FailOver實驗AI
- 物理DG角色轉換: failoverAI
- DG物理standby,failover步驟AI
- Oracle DataGuard環境failover後通過舊備份建立物理StandbyOracleAI
- 10 管理物理和快照備庫
- 物理備庫的搭建過程
- RMAN DUPLICATE建立DataGuard物理備庫
- 物理備用資料庫(二)資料庫
- 物理備用資料庫(一)資料庫
- Oracle 11g Data guard 物理備庫應急切換(failover)後原有主庫的重建(通過RMAN恢復)OracleAI
- dataguard-建立物理備庫全程解析
- 重建物理備庫案例兩則
- 物理備庫無法接受archivelogHive
- 邏輯DG主備庫轉換的failoverAI
- 【DG】怎麼使用Data Pump備份物理備庫
- 【DataGuard】物理Data Guard之Failover轉換AI
- 物理Standby角色切換作業failoverAI
- 【DATAGUARD】物理dg的failover切換(六)AI
- DATA GUARD物理STANDBY的FAILOVER切換AI
- 在物理備庫上部署閃回資料庫資料庫
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(1)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(2)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(3)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(4)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(5)
- 【DATAGUARD】Oracle Dataguard物理備庫切換最佳實踐(sqlplus)OracleSQL
- oracle 11g之物理備庫管理Oracle