11g DataGuard實現故障轉移(Failover)
OS:Oracle Linux 6.6 x64
DB:Oracle 11.2.0.4
假設是物理備庫。如果有多個備用庫,選擇SYNC備用資料庫(即最高可用或最大保護模式),如果是ASYNC,比較哪個備庫最新:
在決定了哪個備庫將成為新主庫後,在其上執行:
alert日誌輸出:
轉換成主庫:
alert日誌輸出:
接下來就可以開啟了:
恢復原始資料庫
原始資料庫在失敗前啟用了FLASHBACK,就可以用以下的方式恢復,否則只能重建DataGuard。
原始備庫(當前主庫)上執行,確認故障轉移時的SCN:
原始主庫上執行
然後重啟到mount模式,啟動redo apply
等完成了同步,就可以執行正常切換了。
DB:Oracle 11.2.0.4
假設是物理備庫。如果有多個備用庫,選擇SYNC備用資料庫(即最高可用或最大保護模式),如果是ASYNC,比較哪個備庫最新:
點選(此處)摺疊或開啟
-
SQL> SELECT THREAD#,SEQUENCE#,LAST_CHANGE#,LAST_TIME FROM V$STANDBY_LOG;
-
-
THREAD# SEQUENCE# LAST_CHANGE# LAST_TIME
-
---------- ---------- ------------ -------------------
-
1 90 2298683 2016-06-27 15:36:39
-
1 0
-
1 0
- 0 0
點選(此處)摺疊或開啟
-
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
-
- SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
點選(此處)摺疊或開啟
-
Attempt to do a Terminal Recovery (jiangsu)
-
Media Recovery Start: Managed Standby Recovery (jiangsu)
-
started logmerger process
-
Mon Jun 27 15:43:50 2016
-
Managed Standby Recovery not using Real Time Apply
-
Parallel Media Recovery started with 4 slaves
-
Media Recovery Waiting for thread 1 sequence 90 (in transit)
-
Killing 3 processes with pids 32087,10071,2798 (all RFS, wait for I/O) in order to disallow current and future RFS connections. Requested by OS process 2800
-
Begin: Standby Redo Logfile archival
-
End: Standby Redo Logfile archival
-
Terminal Recovery timestamp is '06/27/2016 15:43:54'
-
Terminal Recovery: applying standby redo logs.
-
Terminal Recovery: thread 1 seq# 90 redo required
-
Terminal Recovery:
-
Recovery of Online Redo Log: Thread 1 Group 4 Seq 90 Reading mem 0
-
Mem# 0: /oradata/JIANGSU/onlinelog/o1_mf_4_cps7ymfr_.log
-
Mem# 1: /fra/JIANGSU/onlinelog/o1_mf_4_cps7yq8o_.log
-
Identified End-Of-Redo (failover) for thread 1 sequence 90 at SCN 0xffff.ffffffff
-
Incomplete Recovery applied until change 2299105 time 06/27/2016 15:43:38
-
Media Recovery Complete (jiangsu)
-
Terminal Recovery: successful completion
-
Forcing ARSCN to IRSCN for TR 0:2299105Mon Jun 27 15:43:56 2016
-
-
ARCH: Archival stopped, error occurred. Will continue retrying
-
Attempt to set limbo arscn 0:2299105 irscn 0:2299105 ORACLE Instance jiangsu - Archival Error
-
-
ORA-16014: log 4 sequence# 90 not archived, no available destinations
-
ORA-00312: online log 4 thread 1: '/oradata/JIANGSU/onlinelog/o1_mf_4_cps7ymfr_.log'
-
ORA-00312: online log 4 thread 1: '/fra/JIANGSU/onlinelog/o1_mf_4_cps7yq8o_.log'
-
Resetting standby activation ID 3995005644 (0xee1ef2cc)
-
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH
-
Mon Jun 27 15:44:44 2016
-
RFS[16]: Assigned to RFS process 2829
- RFS[16]: No connections allowed during/after terminal recovery.
轉換成主庫:
點選(此處)摺疊或開啟
- SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
點選(此處)摺疊或開啟
-
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN
-
ALTER DATABASE SWITCHOVER TO PRIMARY (jiangsu)
-
Maximum wait for role transition is 15 minutes.
-
Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/jiangsu/jiangsu/trace/jiangsu_ora_2578.trc
-
Standby terminal recovery start SCN: 2299056
-
RESETLOGS after incomplete recovery UNTIL CHANGE 2299105
-
Online log /oradata/JIANGSU/onlinelog/o1_mf_1_cps7x0ox_.log: Thread 1 Group 1 was previously cleared
-
Online log /fra/JIANGSU/onlinelog/o1_mf_1_cps7x0wf_.log: Thread 1 Group 1 was previously cleared
-
Online log /oradata/JIANGSU/onlinelog/o1_mf_2_cps7xk0t_.log: Thread 1 Group 2 was previously cleared
-
Online log /fra/JIANGSU/onlinelog/o1_mf_2_cps7xk70_.log: Thread 1 Group 2 was previously cleared
-
Online log /oradata/JIANGSU/onlinelog/o1_mf_3_cps7y2w2_.log: Thread 1 Group 3 was previously cleared
-
Online log /fra/JIANGSU/onlinelog/o1_mf_3_cps7y33x_.log: Thread 1 Group 3 was previously cleared
-
Standby became primary SCN: 2299055
-
Mon Jun 27 15:50:25 2016
-
Setting recovery target incarnation to 4
-
Switchover: Complete - Database mounted as primary
- Completed: ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN
點選(此處)摺疊或開啟
-
SQL> ALTER DATABASE OPEN;
-
-
SQL> select name,open_mode from v$database;
-
-
NAME OPEN_MODE
-
--------- --------------------
- SHANGHAI READ WRITE
恢復原始資料庫
原始資料庫在失敗前啟用了FLASHBACK,就可以用以下的方式恢復,否則只能重建DataGuard。
原始備庫(當前主庫)上執行,確認故障轉移時的SCN:
點選(此處)摺疊或開啟
-
SELECT TO_CHAR(STANDBY_BECAME_PRIMARY_SCN) FAILOVER_SCN
-
FROM V$DATABASE;
-
-
FAILOVER_SCN
-
----------------------------------------
- 2299055
點選(此處)摺疊或開啟
-
SQL> startup mount
-
-
FLASHBACK DATABASE TO SCN 2299055;
-
- ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
點選(此處)摺疊或開啟
-
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
- USING CURRENT LOGFILE DISCONNECT;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22621861/viewspace-2121089/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Dataguard故障轉移(failover)操作OracleAI
- 【ASK_ORACLE】手動配置DataGuard的自動化Client Failover(故障轉移)的serviceOracleclientAI
- Oracle RAC 客戶端故障轉移(failover) TAFOracle客戶端AI
- Oracle dataguard failover 實戰OracleAI
- [WK-T]ORACLE 10G 配置故障轉移(Failover)Oracle 10gAI
- Dataguard failover切換實驗AI
- DataGuard模擬FailOver實驗AI
- 各種主機部署故障轉移Failover的詳細配置AI
- Windows MPIO與EMC儲存的故障轉移模式(Failover Mode)Windows模式AI
- Heartbeat實現LVS的故障轉移
- 【DataGuard】物理Data Guard之Failover轉換AI
- ORACLE 11G DataGuard Failover後如何修復standby庫OracleAI
- 4.2.13 主備庫實現自動故障轉移
- Amoeba實現MySQL的負載均衡、故障轉移MySql負載
- 【DataGuard】Oracle DataGuard 最高可用模式 故障實驗Oracle模式
- DataGuard:Physical Standby FailoverAI
- docker搭建redis叢集和Sentinel,實現故障轉移DockerRedis
- 基於istio實現單叢集地域故障轉移
- 10g_dataguard_failoverAI
- DataGuard:Logical Standby FailoverAI
- ORA-19909(一次DataGuard Failover導致的故障AI
- dolphinscheduler 實現master當機故障轉移能力原始碼分析AST原始碼
- dataguard switchover & failover steps (rac)AI
- inux 雙網路卡繫結(bonding)實現負載均衡或故障轉移(轉)UX負載
- oracle11g dataguard完全手冊--failover &active dataguard(完)OracleAI
- 【DataGuard】Oracle 11g DataGuard 角色轉換(一)物理備庫SwitchoverOracle
- 使用ProxySQL實現MySQL Group Replication的故障轉移、讀寫分離(一)MySql
- 搭建Windows故障轉移群集Windows
- dataguard之物理standby庫failover 切換AI
- 【DATAGUARD】物理dg的failover切換(六)AI
- 理解透明應用程式故障轉移 (TAF) 和快速連線故障轉移 (FCF)
- Oracle DataGuard 11g 雙機實驗Oracle
- Oracle 11g Active Dataguard Switchover實驗Oracle
- oracle 11g dg broker 開啟fast-start failover自動故障切換OracleASTAI
- physru指令碼實現11g DataGuard簡易滾動升級指令碼
- Mysql MHA部署-05故障轉移MySql
- RAC+Dataguard環境中JDBC Failover配置JDBCAI
- dataguard故障處理一則