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 dataguard failover 實戰OracleAI
- ORA-19909(一次DataGuard Failover導致的故障AI
- 4.2.13 主備庫實現自動故障轉移
- PostgreSQL中利用驅動程式實現故障轉移SQL
- 基於istio實現單叢集地域故障轉移
- docker搭建redis叢集和Sentinel,實現故障轉移DockerRedis
- oracle 11g dg broker 開啟fast-start failover自動故障切換OracleASTAI
- Oracle之11g DataGuardOracle
- dolphinscheduler 實現master當機故障轉移能力原始碼分析AST原始碼
- Oracle 11g dg broker自動failoverOracleAI
- 【DG】DataGuard健康檢查 for 11g
- 使用ProxySQL實現MySQL Group Replication的故障轉移、讀寫分離(一)MySql
- Mysql MHA部署-05故障轉移MySql
- 使用etcd選舉sdk實踐master/slave故障轉移AST
- Oracle 11g dataguard 配置簡約步驟Oracle
- redis健康檢查與故障轉移Redis
- Sentinel哨兵模式解決故障轉移模式
- 5 切換和故障轉移操作
- SQLServer 2012 AG強制故障轉移SQLServer
- Oracle 11.2.0.4 Dataguard兩則故障處理Oracle
- [AlwaysOn] AlwaysOn可用性組的故障轉移和故障轉移模式[中英文對照] 3模式
- [AlwaysOn] AlwaysOn可用性組的故障轉移和故障轉移模式[中英文對照] 6模式
- [AlwaysOn] AlwaysOn可用性組的故障轉移和故障轉移模式[中英文對照] 5模式
- [AlwaysOn] AlwaysOn可用性組的故障轉移和故障轉移模式[中英文對照] 4模式
- [AlwaysOn] AlwaysOn可用性組的故障轉移和故障轉移模式[中英文對照] 2模式
- [AlwaysOn] AlwaysOn可用性組的故障轉移和故障轉移模式[中英文對照] 1模式
- Elixir 分散式 Application 故障轉移和接管分散式APP
- 【Redis】Redis Cluster-叢集故障轉移Redis
- 關於11G DataGuard 日誌傳輸的案例
- ORACLE 11G DATAGUARD 日誌中斷處理方案Oracle
- Redis 故障轉移、高可用方案,都在這了!Redis
- 伺服器叢集的故障轉移方案伺服器
- Oracle Rman多通道故障轉移問題分析Oracle
- NFT 的建立和轉移功能實現
- MySQL MHA部署 Part 6 MHA故障轉移測試MySql
- weblogic多資料來源故障轉移問題Web
- SQL Server 2008的故障轉移叢集概述UBSQLServer