注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

常在心

淡泊明志,人生自在

 
 
 

日志

 
 

主从切换  

2011-03-28 12:48:25|  分类: Data Guard |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

物理standby主备切换
1、switch over
主库:
1)查询是否支持切换
select switchover_status from v$database;

2)启动switchover
alter database commit to switchover to physical standby;

3)启动到mount
shutdown immediate;

startup mount;

4)启动日志应用
alter database recover managed standby database disconnect from session;

5)查看日志应用情况
SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME, APPLIED
  FROM V$ARCHIVED_LOG
 ORDER BY SEQUENCE#

从库:
1)检查是否支持切换
select switchover_status from v$database;

2)转换角色到primary
alter database commit to switchover to primary;

3)完成转换并启动
alter database open;

4)查询下当前库打开的状态,如果是read only就必须shutdown再startup
select open_mode from v$database;

5)切换日志看从库(之前的主库)的应用情况:
alter system switch logfile;

2、failover失败切换
*failover 之后,原primary 数据库默认不再是data guard 配置的一部分。
*多数情况下,其它逻辑/物理standby 数据库不直接参与failover 的过程,因此这些数据库不需要做任何操作。
*某些情况下,新的primary 数据库配置之后,需要重新创建其它所有的standby 数据库。
由于failover以后,主库已经不再是DG的一部分,因此,主库不用进行什么操作
从库:
1)检查归档文件是否连续
SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;

如果返回的有记录,按照列出的记录号复制对应的归档文件到待转换的standby 服务器。这一步非常重
要,必须确保所有已生成的归档文件均已存在于standby 服务器,不然可能会数据不一致造成转换时报错。
文件复制之后,通过下列命令将其加入数据字典:
ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';

2)检查归档文件是否完整
分别在primary/standby 执行下列语句:
select distinct thread#,max(sequence#) over(partition by thread#) a from v$archived_log;

该语句取得当前数据库各线程已归档文件最大序号,如果primary 与standby 最大序号不相同,必须将
多出的序号对应的归档文件复制到待转换的standby 服务器。不过既然是failover,有可能primary 数据库此
时已经无法打开,甚至无法访问,那你只好听天由命喽,三思在这里替你默念:苍天啊,大地啊,哪路的
神仙大姐能来保佑俺们不丢数据呀!
3)启动failover
执行下列语句:
alter database recover managed standby database finish force;

FORCE 关键字将会停止当前活动的RFS 进程,以便立刻执行failover。
剩下的步骤就与前面switchover 很相似了
4)切换物理standby 角色为primary
alter database commit to switchover to primary;

5)启动新的primary 数据库。
主从库切换进行failover后要修改的参数
最好就是重新创建一个InitSID.ora文件,里面参数保持和正常的一致就好,里面不要涉及到standby的参数
如果当前数据库已mount,直接open 即可,如果处于read-only 模式,需要首先shutdown immediate,然
后再直接startup。
shutdown immediate;
startup;

  评论这张
 
阅读(285)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018