DATAGUARD失败切换

上一篇 / 下一篇  2007-08-13 00:00:00 / 个人分类:Oracle技术

如果主库出现故障无法修复的话,就需要在备库上做failover,使得应用可以继续运行。


在备库做失败切换的一般步骤是:
1、如果可能,从主库手工拷贝并注册ARCHIVED LOG到备库上,直到备库的V$ARCHIVE_GAP记录为空。
2、重启备库
3、在备库应用所有日志(用finish关键字)
4、把备库设置为最大性能模式
5、失败切换
6、修改备库的相关参数(主要是其作为STANDBY_ROLE的相关参数)

在时间充裕的情况下可以这样做,如果时间紧迫,可以直接用下面的脚本实现FAILOVER。

[oracle@standby ~]$ more failover.sh
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=primary
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG="american_america.ZHS16GBK"

lsnrctl stop
$ORACLE_HOME/bin/sqlplus /nolog <<EOF
connect / as sysdba
alter database recover managed standby database cancel;
shutdown immediate
startup mount
ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;
alter database recover managed standby database finish;
-- switch
alter database commit to switchover to primary with session shutdown;
-- open
shutdown immediate
startup
exit
EOF
lsnrctl start

脚本先重启一次数据库是为了防止ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected错误。

最后不要忘了修改数据库参数。

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-08  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 10704
  • 日志数: 410
  • 建立时间: 2007-12-30
  • 更新时间: 2008-08-21

RSS订阅

Open Toolbar