DataGuard切換(主庫為Rac+備庫為Rac)
前段時間做了一次主備庫的切換,大體寫下操作步驟和記錄,分享下。
環境:
db version:11.2.0.3
主庫:兩節點的RAC
備庫:兩節點的RAC
是異地災備,網路質量不太好。
步驟:
1.檢查日誌應用情況
standby database(備庫檢查):
SQL> select thread#,SEQUENCE#,FIRST_TIME,next_time,applied from gv$archived_log order by sequence#;(確定日誌都已經應用)
2.檢查日誌傳輸錯誤
SQL> SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID = 2;
STATUS GAP_STATUS
--------- ------------------------
VALID NO GAP
3.評估切換時間 --rac環境下備庫只有一個例項可以為open狀態。
set linesize 200
SQL> column name format a22
SQL> column value format a16
SQL> column unit format a28
SQL> column time_computed format a25
SQL> select * from v$dataguard_stats;
NAME VALUE UNIT TIME_COMPUTED DATUM_TIME
---------------------- ---------------- ---------------------------- ------------------------- ------------------------------
transport lag +00 01:47:32 day(2) to second(0) interval 10/29/2014 10:48:15 10/29/2014 10:47:58
apply lag +00 01:47:32 day(2) to second(0) interval 10/29/2014 10:48:15 10/29/2014 10:47:58
apply finish time day(2) to second(3) interval 10/29/2014 10:48:15
estimated startup time 20 second 10/29/2014 10:48:15
4.由於主備庫都是rac ,此環境下主庫和備庫都只有一個例項存活
srvctl stop instance -d EM -i EM2 --先停止主庫
srvctl stop instance -d EM_SH -i EMP2 --停止備庫
NOTE:如果主庫兩個例項都存活會報錯如下:
SQL> alter database commit to switchover to physical standby with session shutdown;
alter database commit to switchover to physical standby with session shutdown
*
ERROR at line 1:
ORA-01105: mount is incompatible with mounts by other instances
5.登入主庫操作
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; --確保狀態為SESSION_ACTIVE 或者TO STANDBY(由於是異地可能在shut一個例項後,redo應用會有延遲,如果網路質量不太好,可等一等)
alter database commit to switchover to physical standby with session shutdown;--執行切換(最好把應用停掉) --執行完此操作後,資料庫會自動shut
STARTUP MOUNT;--啟動原來主庫到mount
6.登入備庫操作
SELECT SWITCHOVER_STATUS FROM V$DATABASE; --確保狀態會SESSION_ACTIVE或者TO PRIMARY.
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN; --執行角色切換
ALTER DATABASE OPEN;--開啟新主庫
srvctl start instance -d databasename -i instance_name --啟動另外的節點
7.登入新的備庫
ALTER DATABASE OPEN; --啟動庫
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; --啟動實時應用
srvctl start instance -d databasename -i instance_name; --啟動其他例項
8.進行事務,發現並沒有同步過來
archive log list 發現scn都沒有
經過核查是因為主庫並沒有日誌傳輸
alter system set log_archive_dest_state_2='enable' sid='*'; --在新的主庫執行,啟動日誌傳輸服務
有可能查詢資料的狀態為:
檢視備庫的scn沒有變化,可重啟下備庫。
9.檢查是否同步
SELECT MAX(SEQUENCE#),THREAD# FROM V$ARCHIVED_LOG
WHERE RESETLOGS_CHANGE# = (SELECT MAX(RESETLOGS_CHANGE#) FROM V$ARCHIVED_LOG) GROUP BY THREAD#;
環境:
db version:11.2.0.3
主庫:兩節點的RAC
備庫:兩節點的RAC
是異地災備,網路質量不太好。
步驟:
1.檢查日誌應用情況
standby database(備庫檢查):
SQL> select thread#,SEQUENCE#,FIRST_TIME,next_time,applied from gv$archived_log order by sequence#;(確定日誌都已經應用)
2.檢查日誌傳輸錯誤
SQL> SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID = 2;
STATUS GAP_STATUS
--------- ------------------------
VALID NO GAP
3.評估切換時間 --rac環境下備庫只有一個例項可以為open狀態。
set linesize 200
SQL> column name format a22
SQL> column value format a16
SQL> column unit format a28
SQL> column time_computed format a25
SQL> select * from v$dataguard_stats;
NAME VALUE UNIT TIME_COMPUTED DATUM_TIME
---------------------- ---------------- ---------------------------- ------------------------- ------------------------------
transport lag +00 01:47:32 day(2) to second(0) interval 10/29/2014 10:48:15 10/29/2014 10:47:58
apply lag +00 01:47:32 day(2) to second(0) interval 10/29/2014 10:48:15 10/29/2014 10:47:58
apply finish time day(2) to second(3) interval 10/29/2014 10:48:15
estimated startup time 20 second 10/29/2014 10:48:15
4.由於主備庫都是rac ,此環境下主庫和備庫都只有一個例項存活
srvctl stop instance -d EM -i EM2 --先停止主庫
srvctl stop instance -d EM_SH -i EMP2 --停止備庫
NOTE:如果主庫兩個例項都存活會報錯如下:
SQL> alter database commit to switchover to physical standby with session shutdown;
alter database commit to switchover to physical standby with session shutdown
*
ERROR at line 1:
ORA-01105: mount is incompatible with mounts by other instances
5.登入主庫操作
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; --確保狀態為SESSION_ACTIVE 或者TO STANDBY(由於是異地可能在shut一個例項後,redo應用會有延遲,如果網路質量不太好,可等一等)
alter database commit to switchover to physical standby with session shutdown;--執行切換(最好把應用停掉) --執行完此操作後,資料庫會自動shut
STARTUP MOUNT;--啟動原來主庫到mount
6.登入備庫操作
SELECT SWITCHOVER_STATUS FROM V$DATABASE; --確保狀態會SESSION_ACTIVE或者TO PRIMARY.
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN; --執行角色切換
ALTER DATABASE OPEN;--開啟新主庫
srvctl start instance -d databasename -i instance_name --啟動另外的節點
7.登入新的備庫
ALTER DATABASE OPEN; --啟動庫
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; --啟動實時應用
srvctl start instance -d databasename -i instance_name; --啟動其他例項
8.進行事務,發現並沒有同步過來
archive log list 發現scn都沒有
經過核查是因為主庫並沒有日誌傳輸
alter system set log_archive_dest_state_2='enable' sid='*'; --在新的主庫執行,啟動日誌傳輸服務
有可能查詢資料的狀態為:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
FAILED DESTINATION
SWITCHOVER_STATUS
--------------------
FAILED DESTINATION
檢視備庫的scn沒有變化,可重啟下備庫。
9.檢查是否同步
SELECT MAX(SEQUENCE#),THREAD# FROM V$ARCHIVED_LOG
WHERE RESETLOGS_CHANGE# = (SELECT MAX(RESETLOGS_CHANGE#) FROM V$ARCHIVED_LOG) GROUP BY THREAD#;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29494175/viewspace-2120791/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 備庫的切換狀態為SWITCHOVER PENDING時進行dataguard主備庫角色切換
- DataGuard主備庫切換步驟
- RAC和Dataguard環境下主備庫切換演練模板
- Oracle10G Dataguard 多個備庫 - 主庫和物理備庫的切換Oracle
- failover切換後恢復原來主庫為新備庫AI
- Data Guard主備庫切換
- DataGaurd環境主庫崩潰後將備庫切為主庫
- oracle 之dataguard主庫系統崩潰之物理備庫切主庫Oracle
- 主庫RAC,備庫單節點ASM的dataguard搭建ASM
- Oracle 單機切換為主備Oracle
- MySQL 主備庫切換記錄MySql
- RAC+單例項DG的切換單例
- Oracle Data Guard主庫備庫角色切換(Switchovers)Oracle
- DG中備庫為SWITCHOVER PENDING時是否能進行主備切換
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(1)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(2)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(3)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(4)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(5)
- 【DATAGUARD】Oracle Dataguard物理備庫切換最佳實踐(sqlplus)OracleSQL
- 【DG】Data Guard主備庫Switchover切換
- 使用broker工具failover切換之後恢復原來的主庫為新備庫AI
- 執行主備庫切換以解決主庫儲存不足
- 主備庫切換以解決主庫儲存空間不足
- 【DG】Data Guard主備庫Failove切換AI
- 【DATAGUARD】 將11g物理備庫轉換為Snapshot Standby
- dataguard 主備庫出現gap
- Oracle DataGuard 主備切換 (switchover) oracle11gOracle
- dataguard之物理standby庫failover 切換AI
- MySQL 5.7 主庫崩潰切備庫MySql
- 實戰dataguard主從切換
- ora11_node_dg(3)ADG做failover切換(主庫當機,從庫升為主庫過程)AI
- 【DATAGUARD 學習】管理影響備庫的主庫事件事件
- 生產環境中mysql資料庫由主從關係切換為主主關係MySql資料庫
- 一個備份集同時恢出dataguard的主庫&備庫
- Oracle 10g DataGuard物理主備切換-switchover與failoverOracle 10gAI
- 【DataGuard】10g物理standby主備switchover方式切換詳述
- 【DataGuard】使用GC建立的物理DataGuard主備庫pfile比較GC