Oracle Data Guard 的角色转换

实验环境:OEL+Oracle11.2.0.3+physical standby,众所周知,Data Guard已经是现今标准的主流容灾方案,由于日志传递对于网络适应

实验环境:oel+oracle11.2.0.3+physical standby

众所周知,Data Guard已经是现今标准的主流容灾方案,由于日志传递对于网络适应程度强,且可以采用同步实时的传递方式和异步延迟的传递方式,甚至可以成为远程的异地容灾方案。不管用于何种用途,DG都免不了要进行角色转换,即将standby 数据库切换为primary数据库,角色转换分为:switchover和failover两种;两种区别从三个角度来对比:

(1)、使用场合不同:Switchover 用于有准备的、计划之中的切换,通常是系统升级、数据迁移等常态任务;Failover用于意料之外的突发情况,比如异常掉电、自然灾难等等。

(2)、数据丢失程度不同:Switchover不会丢失数据,Failover通常意味着有部分数据丢失。

(3)、善后处理的不同:Switchover之后Dataguard环境不会被破坏,任然有Primary、Standby两种角色的系统存在。但是Failover之后,Dataguard环境就会被破坏,必须需要重建。

一、Switchover

因为Switchover这种转化是有DBA主动、人为触发的,所以Switchover的步骤都是标准化的。Switchover流程是从Primary Database开始,终止于Standby Database。

Switchover步骤如下:

1 在主库端检查数据库可切换状态

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS:TO STANDBY 表示可以正常切换.

如果SWITCHOVER_STATUS 的值为SESSIONS ACTIVE,表示当前有会话处于ACTIVE状态

 

2 开始主库正常切换

如果SWITCHOVER_STATUS 的值为TO STANDBY:

SQL>alter database commit to switchover to physical standby;
Database altered.

如果SWITCHOVER_STATUS 的值为SESSIONS ACTIVE:

SQL>alter database commit to switchover to physical standby with session shutdown;
Database altered.

当 Primary Database 收到这条命令后,会发生这几件事情:

(1)、这条命令执行完毕之后,主库上就不会产生Redo,所有DML相关的Cursor都会失效,用户也将不能再执行事务。

(2)、每个日志线程的当前日志被归档,并在接下来的每个Thread新的日志头记录一个特殊的切换标准EOR(End of Redo),然后再次归档,其结果就是把EOR发送给所有Standby Database,Primary Database 转换成了Standby。

(3)、在这个旧的Primary Database 上,MRP(Managed Recovery Process)进程会自动启动,,并应用最后一个归档日志,也就是EOR这个日志,一旦这个EOR应用完成,数据库就会Dismounted,并必须启动成一个Standby Database。

3 重启先前的主库

SQL> SHUTDOWN IMMEDIATE;(11g有时候要shutdown abort才行,不然报错)

SQL> startup mount;

4 这时候到备份库 在备库验证可切换状态

SQL>select switchover_status from v$database;

SWITCHOVER_STATUS

—————–

TO_PRIMARY

1 row selected

5 将目标备库转换为主库

如果SWITCHOVER_STATUS 的值为TO STANDBY 则:

SQL> alter database commit to switchover to primary;
Database altered.

如果SWITCHOVER_STATUS 的值为SESSIONS ACTIVE 则:

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

执行完这个命令后,Standby Database 的控制文件也从Standby 控制文件转换成标准的控制文件了,接下来数据库就可以open database,打开成业务数据库了。

6 重启目标备库

SQL> shutdown immediate;

SQL> startup;

7 先前主库启动日志传送进程

SQL> alter database recover managed standby database disconnect;

8 检查主备库角色状态:

select switchover_status,database_role from v$database;

至此,一个完整的Switchover 完成角色互换,可以正常使用了。

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1886977.html

(0)
上一篇 2025年2月22日 12:28:52
下一篇 2025年2月22日 12:29:08

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Oracle Dataguard Standby Redo Log的两个实验

    在Data Guard环境中,Standby Redo Log是一个比较特殊的日志类型。从最新的DG安装指导中,都推荐在Primary和Standby端,都配置St 在data guard环境中,standby redo log是一个比较特…

    数据库 2025年2月23日
    100
  • Oracle DataGuard建库

    此处安装的是oracle10.2.0.1,安装过程我们基本上已经熟练了解,在此不细说。记住只安装数据库软件哦(这样可以简化后面的升级过 dataguard原理在此不说了,这里只是说下我做的这个项目流程 一.在physical 主机创建数据库…

    数据库 2025年2月22日
    100
  • Oracle Data Guard的日志FAL gap问题

    在Oracle Data Guard环境中,一个备库出现问题,需要重做。因为之前的配置环境都是好的,只需将主库的全库备份恢复到备库即可。但 在oracle data guard环境中,一个备库出现问题,需要重做。因为之前的配置环境都是好的,…

    数据库 2025年2月22日
    100
  • Oracle 11g Dataguard 配置学习小结

    版本采用Oracle 11g(11.2.0.3),配置过程仍然适用Oracle 10g。在近10次的dataguard配置过程中,发现采用rman duplicate方式创建物 经过了半个月的oracle dataguard物理备库配置与学…

    数据库 2025年2月22日
    200
  • Oracle 11g DataGuard保护模式设置详解

    在正常情况下,此保护模式同Maximum Protection,需要恢复此事务的所有redo 数据都同步写到主库online redo file 和备库的standby 先说说dg的三种保护模式maximum protection:最大保护…

    数据库 2025年2月22日
    200
  • Oracle 12c R1 DataGuard物理备库启用real-time apply

    Oracle 12c R1 DataGuard物理备库启用real-time apply oracle 12c r1 dataguard物理备库启用real-time apply 物理备库一直是在mount状态下,,这样的话不方便数据的同步…

    数据库 2025年2月22日
    200
  • Oracle DataGuard 主备切换switchover

    不可预知原因导致 primary 数据库故障并且短期内不能恢复就需要 failover。如果是这种切换那你就要小心点了,有可能只是虚惊一场 环境: OS:rhel63_64bit DB: Oracle10gR2 主备切换 切换的顺序: 先从…

    数据库 2025年2月22日
    200
  • Oracle 10g DataGuard 级别切换

    环境: OS: rhel 6.3_64bit DB: Oracle 10gR2 级别切换过程: 主库 SQLgt; select protection_mode,protection_level from v$ 环境: OS: rhel 6…

    数据库 2025年2月22日
    200
  • 如何重建Oracle DataGuard

    无暇每日检查Oracle数据库的同布情况,后来才发现主库压根没有同步归档日志到备库,因为备库断电后一直没有开,但问题是主库在10 无暇每日检查oracle数据库的同布情况,后来才发现主库压根没有同步归档日志到备库,因为备库断电后一直没有开,…

    数据库 2025年2月22日
    200

发表回复

登录后才能评论