Oracle 11gR2(MAA) Physical Standby Database Failover

本文详细介绍了在Oracle 11gR2环境中,如何执行物理备用数据库的故障切换操作。故障切换是应对生产数据库故障的紧急措施,涉及多个步骤,包括冲刷未发送的重做日志、处理归档日志间隔、停止并应用重做数据、切换角色以及打开新主数据库等。通过具体的SQL语句和实操记录,展示了故障切换的全过程,强调了在系统初期制定详尽备份计划的重要性。
摘要由CSDN通过智能技术生成

1、物理standby failover 切换

              故障转移时在一些糟糕的事情发生时执行的计划外事件,需要将生产库移动到DR站点。有意思的是,这时候人们通常忙来忙去,试图弄明白发生了什么,需要做些什么才能使数据库恢复过来。客户打来电话询问系统核实才能恢复,高级管理人员在走廊徘徊,追究是谁范了错误。对于DBA来说,没有什么事情比时空的备用站点更可怕,并且在需要备用站点前,我们也不知道它是否奏效。如果故障转移失败,DBA们将会失去奖金,甚至职业生涯因此中断。

           所以我们在系统建立初期,就要有周密的后援计划。一旦出现问题,做到手不忙,心不慌。大显身手的时候到了。但此前需要有一番详尽实验做支撑,亲自动手很重要!

 

Step 1冲刷任何没有从主数据库发送到备用数据库的的重做

               如果主数据库不能被Mounted,那可能就要将没有发送的归档和当前的日志从主库发送到备用数据库。如果这个操作时成功的,零数据丢失将是可能的,即使它没有在最大保护模式中。

               确信redo apply是活动的在目标备用数据库上。

               Mount,不要要打开主数据库。如果主数据库不能被mounted,跳至step 2.

              执行如下SQL语句在primary database:

SQL> ALTER SYSTEM FLUSH REDO TO target_db_name;

               Target_db_name为目标备份库的DB_UNIQUE_NAME,它将会受到冲刷过来的重做。该语句只在11G R2中被支持。

               如果该语句完成却没有错误,跳至step 5.如果执行过程出错,或者它没有有停下,因为你不能等待很长时间直到这个语句执行完,继续 step 2.

 

Step 2核实备份库中最近从主数据库发送过来的归档日志文件。

               查询V$ARCHIVED_log视图在目标备份库中,获取每个线程实例归档过来的最大序列号。

               例如:

SQL> SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#) over(partition by thread#) as last from v$archived_log;

 

   THREAD      LAST

---------- ----------

                1           517

                2           412

 

               如果可能,拷贝每个主数据库归档重做日志到备份库,如果那些日志不在备份库上。并且注册它。它必须被做在每个重做线程上。

例如:

SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE '<from your list>';

 

Step 3认定和处理任何的归档重做日志间隔(archived redo log gaps

               查询V$archive_gap视图在目标备份库上,决定这是否有任何的重做间隔。

For example:

SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;

 

THREAD#   LOW_SEQUENCE# HIGH_SEQUENCE#

---------- ------------- --------------

        1           90            92

 

               可以看到存在重做间隔,需要线程1归档来的909192号日志,如果可能,拷贝这些缺失的归档重做文件到目标重做数据库上。然后在每个线程节点上注册他们。

SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';

 

Step 4重复步骤3直到重做间隔被解决

               步骤3中仅仅是最高的间隔。在解决间隔后,你必须重复这个查询直到间隔没有。

               

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值