DATAGUARD强行切换

主库出问题时,我们可以对备库做失败切换,使得应用继续运行。但是做失败切换的前提是:
主库的日志完全传送到备库上(包括联机日志上的redo信息),如果DATAGUARD是运行在最大保护或者最大可用模式下,这种切换一般没有问题。
但是如果DATAGUARD运行在最大性能保护模式下,可能需要用强行切换的方式来激活备库了。
强行切换与普通的失败切换的最大差别是:强行切换在数据库打开时需要resetlogs。由此带来的后果是:
1、可能有数据丢失
2、破坏了整个DATAGUARD的结构。
如果存在多个standby,则其他的standby在没有重建的情况下不能以被激活的库作为priamry,所有的standby必须要重建。



所以,不到万不得已,不要轻易强行切换备库。
下面提供一个强行切换的脚本:
[oracle@standby ~]$ more activestandby.sh
lsnrctl stop
$ORACLE_HOME/bin/sqlplus /nolog <connect / as sysdba
alter database recover managed standby database cancel;
recover managed standby database cancel;
alter database activate standby database;
shutdown immediate
startup
exit
EOF
lsnrctl start

在执行这个脚本后,在备库的alert会看到如下信息:
RESETLOGS after incomplete recovery UNTIL CHANGE 8799100
Resetting resetlogs activation ID 1463929150 (0x5741c93e)
Online log /u01/oracle/oradata/primary/redo01.log: Thread 1 Group 1 was previously cleared
Online log /u01/oracle/oradata/primary/redo02.log: Thread 1 Group 2 was previously cleared
Online log /u01/oracle/oradata/primary/redo03.log: Thread 1 Group 3 was previously cleared
Online log /u01/oracle/oradata/primary/redo10.log: Thread 1 Group 10 was previously cleared
Standby became primary SCN: 8799098
Wed Aug 15 20:44:17 2007
Setting recovery target incarnation to 2
Wed Aug 15 20:44:20 2007
ACTIVATE STANDBY: Complete - Database shutdown required (primary)
Wed Aug 15 20:44:20 2007
Completed: alter database activate standby database

这表明数据库在重启后会被resetlogs。

最后不要忘了修改被激活的库的一些与原来DATAGUARD相关的参数。

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

转载于:http://blog.itpub.net/231499/viewspace-63848/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值