ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 转帖---DataGuard的switch over

转帖---DataGuard的switch over

原创 Linux操作系统 作者:andyxu 时间:2009-12-29 10:30:54 0 删除 编辑

整理一下DataGuard架构下primary database与physical standby的switch over。

primary与physical standby的swich over大致分为三个阶段,这里主要总结两边数据库角色的切换操作。实际上切换后,应用的配置也需要修改的。

第一阶段,在primary database上
1.仅保留primary database的1个instance为online
2.验证数据库的状态
   sql>SELECT SWITCHOVER_STATUS FROM V$DATABASE;
3.switch数据库role为physical standby
   sql>alter database commit to switchover to physical standby with session shutdown;
   注:若数据库的状态为SESSION ACTIVE,使用WITH SESSION SHUTDOWN
4.关闭并启动instance为mount状态
   sql>shutdown immediate;
   sql>startup mount
5.调整数据库初始化参数文件pfile或spfile里的参数:
   FAL_SERVER =
   FAL_CLIENT =

第二阶段,在physical standby
1.验证数据库的状态 
   SQL>SELECT SWITCHOVER_STATUS FROM V$DATABASE;
   若数据库的状态是pending,则执行如下sql:
   sql>alter database recover managed standby database finish;
2.switch数据库为primary
   sql>alter database commit to switchover to primary with session shutdown;
3.关闭并重新启动instance
   sql>shutdown immediate
   sql>startup

截至目前,primary与standby的切换操作已经结束了,第三阶段主要是打开切换后的standby节点apply功能。你可以选择redo apply及real-time apply两种模式,当然推荐real-time apply。

第三阶段,在切换后的physical standby开始apply redolog
1.在standby 数据库上开始real_time apply 
   SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;
2.在standby 数据库上开始redo apply 
   SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

做完switch over后最关键的是要确认standby节点的apply功能正常,且没有GAP。最准确的是通过查看alertSID.log来定位redolog的状态,当然也可以通过访问视图来判断:
# 查看standby库是否在实时apply日志文件 
SQL> SELECT PROCESS, STATUS, CLIENT_PROCESS, THREAD# , SEQUENCE# , DELAY_MINS , ACTIVE_AGENTS from v$managed_standby;
# 查看apply速度的视图v$standby_apply_snapshot
SQL>SELECT SNAPSHOT_TIME, thread#, SEQUENCE#,BLOCK#, APPLIED_SCN, APPLIED_TIME, BLOCKSIZE, APPLY_RATE from v$standby_apply_snapshot;

后续:
切换后,使用'srvctl config database -d dbname -a'命令检查primary与standby的状态信息。
如果没有使用Data Guard broker,CRS就无法知道primary和standby的角色转换,可能就需要手工修改OCR的状态信息。 命令如下:
srvctl modify database -d dbname -r PHYSICAL_STANDBY -s mount
srvctl modify database -d dbname -r PRIMARY -s open

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

请登录后发表评论 登录
全部评论

注册时间:2009-06-26

  • 博文量
    167
  • 访问量
    293321