Oracle Data Guard 的角色转换(Failover)

前端之家收集整理的这篇文章主要介绍了Oracle Data Guard 的角色转换(Failover)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Oracle Data Guard 的角色转换

@H_301_7@[日期:2013-06-18] @H_301_7@来源:Linux社区 作者:newhappy @H_301_7@[字体:]

二、Failover

一旦主数据库发生Crash(比如异常掉电、硬件故障),短时间内无法恢复运行,这时为了尽快的把业务恢复正常,通常需要执行failover操作,将Standby数据库强制打开。Failover 通常意味着有一定的数据丢失,而数据丢失问题在Primary Database 是 RAC 时表现的尤为突出,需要重点关注。

Failover步骤如下:

1 停止应用日志:

sql> recover managed standby database cancel;
Media recovery complete.

2 强制结束日志应用,执行下面命令:

sql> alter database recover managed standby database finish [force];
Database altered.

这个force是可选项,这个命令是告诉Standby Database的MRP,不要再等待Redo了,并尽可能多的应用现有的Redo记录,并要模拟一个Switchover命令。force参数的作用是关闭PFS进程,否则MRP进程看到RFS进程还存在,就会认为对应的Primary Database还是正常的,就不会允许进程failover,11g中,force参数成了缺省的参数,同时force参数也被取消了。

一旦finish命令完成,DG的数据保护模式就会降级到Maximun Performance,不论原来是什么保护级别。

3 进行正常的switchover:

sql> alter database commit to switchover to primary with session shutdown;
Database altered.

4 open数据库

sql>alter database open;

在打开数据库时,这个新的Primary Database 会尝试去连接Standby Database(也就是那个出了故障的Primary Database),因此打开过程会挂起一段时间,当尝试几次后,最终会打开数据库,这时数据库的保护级别就是Maximun Performance的,以后需要手工将其提升为其他级别。

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

猜你在找的Oracle相关文章