DG物理standby,failover步骤

DG物理standbyfailover步骤

       环境为11gR2oracle linux 6.4;物理standby,单实例;假设primarydb20)异常关闭数据库,需要切换物理standbydb66)为新primary 数据库;

步骤1:检查归档日志是否缺失

       如果异常的primary数据库还能够mount上,则启动到mount状态,然后执行SQL,补发日志;

       SQL> ALTER SYSTEM FLUSH REDO TO target_db_name;

target_db_name db_unique_namelog_archive_dest_n中指定的;如果执行成功,则可以保证数据无丢失;

       如果异常主库不能mount,则需要拷贝备库缺失的归档日志到备库,然后注册;

               SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';

 

步骤2:备库停止redo应用

       db66

       SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

 

步骤3:手动完成所有redo应用

       SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;

如果执行没有报任何错误,则执行步骤4;如果报错并不能够解决,则执行activate    SQL> ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;

然后执行步骤6

 

步骤4:查询备库状态

       SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

-----------------

TO PRIMARY

1 row selected

如果SWITCHOVER_STATUS TO PRIMARY SESSIONS ACTIVE值,为正常状态,可以switchoverprimary

 

步骤5:切换到主库

       SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

 

步骤6:打开新主库到open

       SQL> ALTER DATABASE OPEN;

       打开新主库;备份新主库,然后启动其他物理备库已经停止的日志应用;

 

打开新主库是报错:

SQL> startup open

ORACLE instance started.

 

Total System Global Area  839282688 bytes

Fixed Size                  2233000 bytes

Variable Size             637537624 bytes

Database Buffers          192937984 bytes

Redo Buffers                6574080 bytes

Database mounted.

ORA-03113: end-of-file on communication channel

Process ID: 12427

Session ID: 191 Serial number: 3

 

查看alert日志文件,如下:

Error 12514 received logging on to the standby

LGWR: Error 12514 verifying archivelog destination LOG_ARCHIVE_DEST_2

Destination LOG_ARCHIVE_DEST_2 is UNSYNCHRONIZED

LGWR: Continuing...

LGWR: Minimum of 1 applicable standby database required

Errors in file /u01/app/oracle/diag/rdbms/db66/oradb/trace/oradb_lgwr_12367.trc:

ORA-16072: a minimum of one standby database destination is required

LGWR (ospid: 12367): terminating the instance due to error 16072

System state dump requested by (instance=1, osid=12367 (LGWR)), summary=[abnormal instance termination].

System State dumped to trace file /u01/app/oracle/diag/rdbms/db66/oradb/trace/oradb_diag_12357.trc

Dumping diagnostic data in directory=[cdmp_20140228172732], requested by (instance=1, osid=12367 (LGWR)), summary=[abnormal instance termination].

Instance terminated by LGWR, pid = 12367

       通过上面的内容,发现报错在归档日志位置LOG_ARCHIVE_DEST_2,这个参数设置DGprimary数据库的日志传送;由于原来的DGmaximize protect模式,而在failover后,原primary无法达到,则报错;修改DG的保护模式为maximize availability即可

SQL> alter database set standby database to maximize availability;

 

Database altered.

SQL> select protection_mode,protection_level from v$database;

 

PROTECTION_MODE      PROTECTION_LEVEL

-------------------- --------------------

MAXIMUM AVAILABILITY RESYNCHRONIZATION

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16976507/viewspace-1266120/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16976507/viewspace-1266120/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值