Oracle 11g Dataguard 物理備庫配置系列文檔sql
Oracle 11g Dataguard 物理備庫配置(一)之duplicate建立
Oracle 11g Dataguard 物理備庫配置(二)之Active Dataguard測試
Oracle 11g Dataguard 物理備庫配置(三)之Dataguard broker配置
Oracle 11g Dataguard 物理備庫配置(四)之broker snapshot standby測試數據庫
Oracle 11g Dataguard 物理備庫配置(五)之broker switchover測試服務器
Oracle 11g Dataguard 物理備庫配置(六)之broker fastfailover測試oracle
Oracle 11g Dataguard 配置學習小結app
http://koumm.blog.51cto.com/703525/1280139async
本文采用Oracle 11g Dataguard broker fastfailover測試ide
Oracle 11g Dataguard fast failover配置,須要主備數據庫開啓閃回功能,閃回功能開啓本文略過。
閃回開啓須要啓動到mount狀態時,主備庫的監聽不要隨意關閉。學習
1. dgmgrl查看主備庫狀態測試
$ dgmgrl sys/oracleui
DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
歡迎使用 DGMGRL, 要獲取有關信息請鍵入 "help"。
已鏈接。
DGMGRL> show configuration;
配置 - dgorcldb
保護模式: MaxPerformance
數據庫:
orcl - 主數據庫
slave - 物理備用數據庫
快速啓動故障轉移: DISABLED
配置狀態:
SUCCESS
#快速啓動故障轉移是不可用狀態。
#查看故障轉移狀況, DISABLED沒有啓用。
DGMGRL> show fast_start failover
快速啓動故障轉移: DISABLED
閾值: 30 秒
目標: (無)
觀察程序: (無)
滯後限制: 30 秒
關閉主數據庫: TRUE
自動恢復: TRUE
可配置的故障轉移條件
健康情況:
Corrupted Controlfile YES
Corrupted Dictionary YES
Inaccessible Logfile NO
Stuck Archiver NO
Datafile Offline YES
Oracle 錯誤條件:
(無)
2. 啓動快速啓動故障轉移
DGMGRL> enable fast_start failover;
3. 啓動快速啓動故障轉移observer觀察程序
DGMGRL> start observer;
說明:start observer後,觀察程序不會在後臺運行,就在前臺顯示。
在實際使用過程當中,須要單獨在服務器上啓動,在後臺自動運行,不能關閉,不然主備庫就沒法自動監控運行狀態。
就沒法使用快速啓動故障轉移功能。
4. 在另外一個窗口執行查看
$ dgmgrl sys/oracle
DGMGRL> show fast_start failover;
快速啓動故障轉移: ENABLED
閾值: 30 秒
目標: slave
觀察程序: master
滯後限制: 45 秒
關閉主數據庫: TRUE
自動恢復: TRUE
可配置的故障轉移條件
健康情況:
Corrupted Controlfile YES
Corrupted Dictionary YES
Inaccessible Logfile NO
Stuck Archiver NO
Datafile Offline YES
Oracle 錯誤條件:
(無)
DGMGRL> show configuration
配置 - dgorcldb
保護模式: MaxPerformance
數據庫:
slave - 主數據庫
orcl - (*) 物理備用數據庫
快速啓動故障轉移: ENABLED
配置狀態:
SUCCESS
至此dgmgrl 配置的fast_start failover已經配置好,下面模擬故障切換過程。
能夠經過shutdown abort模擬數據庫意外垮掉的狀況,
注1:主庫shutdown immediate是不會啓動fast start failover功能的。
注2:oracle 11g dataguard fast start failover切換不須要主備庫運行在最大可用模式。
5. 模擬測試主庫意外垮掉
1)主庫上:
$ sqlplus / as sysdba;
SQL> shutdown abort;
觀察器顯示日誌:顯示執行主備切換過程
00:18:57.09 2013年8月18日 星期日
正在爲數據庫 "slave" 啓動快速啓動故障轉移...
當即執行故障轉移, 請稍候...
故障轉移成功, 新的主數據庫爲 "slave"
00:19:02.01 2013年8月18日 星期日
主庫alter日誌:
FSFP started with pid=34, OS id=8169
Sun Aug 18 00:18:24 2013
Shutting down instance (abort)
License high water mark = 16
USER (ospid: 8657): terminating the instance
Instance terminated by USER, pid = 8657
Sun Aug 18 00:18:29 2013
Instance shutdown complete
2) 備庫上
登陸備庫,查看數據庫狀態已經切換回主庫角色
SQL> select open_mode,database_role,db_unique_name from v$database;
OPEN_MODE DATABASE_ROLE DB_UNIQUE_NAME
-------------------- ---------------- ------------------------------
READ WRITE PRIMARY slave
SQL>
切換時備庫alter日誌,經過日誌能夠看到整個的切換過程。
[oracle@slave trace]$ tail -f alert_slave.log
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE THROUGH ALL SWITCHOVER DISCONNECT USING CURRENT LOGFILE
Sat Aug 17 23:58:57 2013
RFS[2]: Assigned to RFS process 29401
RFS[2]: Selected log 5 for thread 1 sequence 22 dbid 1351417842 branch 823637109
Sat Aug 17 23:59:00 2013
Media Recovery Waiting for thread 1 sequence 23 (in transit)
Recovery of Online Redo Log: Thread 1 Group 4 Seq 23 Reading mem 0
Mem# 0: /u01/app/oracle/oradata/slave/standby_redo04.log
Sat Aug 17 23:59:11 2013
Archived Log entry 17 added for thread 1 sequence 22 ID 0x508c9ff2 dest 1:
Sun Aug 18 00:13:22 2013
db_recovery_file_dest_size of 4122 MB is 1.21% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.
Sun Aug 18 00:18:28 2013
RFS[1]: Possible network disconnect with primary database
Sun Aug 18 00:18:28 2013
RFS[3]: Assigned to RFS process 29397
RFS[3]: Possible network disconnect with primary database
Sun Aug 18 00:18:29 2013
RFS[2]: Possible network disconnect with primary database
Sun Aug 18 00:19:00 2013
Attempting Fast-Start Failover because the threshold of 30 seconds has elapsed.
Sun Aug 18 00:19:00 2013
Data Guard Broker: Beginning failover
Sun Aug 18 00:19:00 2013
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL
Sun Aug 18 00:19:00 2013
MRP0: Background Media Recovery cancelled with status 16037
Errors in file /u01/app/oracle/diag/rdbms/slave/slave/trace/slave_mrp0_29392.trc:
ORA-16037: user requested cancel of managed recovery operation
Managed Standby Recovery not using Real Time Apply
Recovery interrupted!
Recovered data files to a consistent state at change 1136886
MRP0: Background Media Recovery process shutdown (slave)
Managed Standby Recovery Canceled (slave)
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE
Attempt to do a Terminal Recovery (slave)
Media Recovery Start: Managed Standby Recovery (slave)
Serial Media Recovery started
Managed Standby Recovery not using Real Time Apply
Begin: Standby Redo Logfile archival
End: Standby Redo Logfile archival
Terminal Recovery timestamp is '08/18/2013 00:19:01'
Terminal Recovery: applying standby redo logs.
Terminal Recovery: thread 1 seq# 23 redo required
Terminal Recovery:
Recovery of Online Redo Log: Thread 1 Group 4 Seq 23 Reading mem 0
Mem# 0: /u01/app/oracle/oradata/slave/standby_redo04.log
Identified End-Of-Redo (failover) for thread 1 sequence 23 at SCN 0xffff.ffffffff
Incomplete Recovery applied until change 1136887 time 08/18/2013 00:18:23
Media Recovery Complete (slave)
Terminal Recovery: successful completion
Forcing ARSCN to IRSCN for TR 0:1136887
Attempt to set limbo arscn 0:1136887 irscn 0:1136887
Resetting standby activation ID 1351393266 (0x508c9ff2)
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WAIT WITH SESSION SHUTDOWN
ALTER DATABASE SWITCHOVER TO PRIMARY (slave)
Maximum wait for role transition is 15 minutes.
Sun Aug 18 00:19:02 2013
ARCH: Archival stopped, error occurred. Will continue retrying
ORACLE Instance slave - Archival Error
ORA-16014: log 4 sequence# 23 not archived, no available destinations
ORA-00312: online log 4 thread 1: '/u01/app/oracle/oradata/slave/standby_redo04.log'
Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/slave/slave/trace/slave_rsm0_29388.trc
Standby terminal recovery start SCN: 1136886
RESETLOGS after complete recovery through change 1136887
Online log /u01/app/oracle/oradata/slave/redo01.log: Thread 1 Group 1 was previously cleared
Online log /u01/app/oracle/oradata/slave/redo02.log: Thread 1 Group 2 was previously cleared
Online log /u01/app/oracle/oradata/slave/redo03.log: Thread 1 Group 3 was previously cleared
Standby became primary SCN: 1136885
Sun Aug 18 00:19:02 2013
Setting recovery target incarnation to 4
Switchover: Complete - Database mounted as primary
Completed: ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WAIT WITH SESSION SHUTDOWN
ALTER DATABASE OPEN
Data Guard Broker initializing...
Sun Aug 18 00:19:02 2013
Assigning activation ID 1351535899 (0x508ecd1b)
Sun Aug 18 00:19:02 2013
ARC1: Becoming the 'no SRL' ARCH
Thread 1 advanced to log sequence 2 (thread open)
Thread 1 opened at log sequence 2
Current log# 2 seq# 2 mem# 0: /u01/app/oracle/oradata/slave/redo02.log
Successful open of redo thread 1
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Sun Aug 18 00:19:02 2013
SMON: enabling cache recovery
Archiver process freed from errors. No longer stopped
ARC4: LGWR is scheduled to archive destination LOG_ARCHIVE_DEST_2 after log switch
Sun Aug 18 00:19:02 2013
NSA2 started with pid=29, OS id=29504
[29388] Successfully onlined Undo Tablespace 2.
Undo initialization finished serial:0 start:18267234 end:18267424 diff:190 (1 seconds)
Dictionary check beginning
Sun Aug 18 00:19:03 2013
Error 1034 received logging on to the standby
Error 1034 received logging on to the standby
ARC4: Error 1034 Creating archive log file to 'orcl'
PING[ARC2]: Heartbeat failed to connect to standby 'orcl'. Error is 1034.
Dictionary check complete
Archived Log entry 18 added for thread 1 sequence 1 ID 0x508ecd1b dest 1:
Verifying file header compatibility for 11g tablespace encryption..
Verifying 11g file header compatibility for tablespace encryption completed
SMON: enabling tx recovery
Database Characterset is ZHS16GBK
No Resource Manager plan active
replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process QMNC
Sun Aug 18 00:19:04 2013
QMNC started with pid=30, OS id=29508
LOGSTDBY: Validating controlfile with logical metadata
Thread 1 advanced to log sequence 3 (LGWR switch)
Current log# 3 seq# 3 mem# 0: /u01/app/oracle/oradata/slave/redo03.log
LOGSTDBY: Validation complete
Archived Log entry 19 added for thread 1 sequence 2 ID 0x508ecd1b dest 1:
Completed: ALTER DATABASE OPEN
ALTER SYSTEM SET log_archive_trace=0 SCOPE=BOTH SID='slave';
ALTER SYSTEM SET log_archive_format='arch_%r_%t_%s.arc' SCOPE=SPFILE SID='slave';
ALTER SYSTEM SET standby_file_management='AUTO' SCOPE=BOTH SID='*';
ALTER SYSTEM SET archive_lag_target=0 SCOPE=BOTH SID='*';
ALTER SYSTEM SET log_archive_max_processes=5 SCOPE=BOTH SID='*';
ALTER SYSTEM SET log_archive_min_succeed_dest=1 SCOPE=BOTH SID='*';
ALTER SYSTEM SET db_file_name_convert='/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/slave/' SCOPE=SPFILE;
ALTER SYSTEM SET log_file_name_convert='/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/slave/' SCOPE=SPFILE;
ALTER SYSTEM SET log_archive_dest_state_2='RESET' SCOPE=BOTH;
Failover succeeded. Primary database is now slave.
Sun Aug 18 00:19:08 2013
Starting background process CJQ0
Sun Aug 18 00:19:08 2013
CJQ0 started with pid=35, OS id=29544
Setting Resource Manager plan SCHEDULER[0x318E]:DEFAULT_MAINTENANCE_PLAN via scheduler window
Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter
Sun Aug 18 00:19:11 2013
Starting background process VKRM
Sun Aug 18 00:19:11 2013
VKRM started with pid=33, OS id=29548
Sun Aug 18 00:19:17 2013
FSFP started with pid=39, OS id=29568
Sun Aug 18 00:19:25 2013
ARC2: STARTING ARCH PROCESSES
Sun Aug 18 00:19:25 2013
ARC5 started with pid=40, OS id=29572
ARC5: Archival started
ARC2: STARTING ARCH PROCESSES COMPLETE
krsk_srl_archive_int: Enabling archival of deferred physical standby SRLs
Archived Log entry 20 added for thread 1 sequence 23 ID 0x508c9ff2 dest 1:
Sun Aug 18 00:19:43 2013
Shutting down archive processes
ARCH shutting down
ARC5: Archival stopped
6. 原主庫再次啓動
說明:原主庫再次啓動時,角色不會自動切換回,除非手動切換一次switchover到orcl。
DGMGRL> show configuration
配置 - dgorcldb
保護模式: MaxPerformance
數據庫:
slave - 主數據庫
orcl - (*) 物理備用數據庫
快速啓動故障轉移: ENABLED
配置狀態:
SUCCESS
DGMGRL>