failover切换
执行以下步骤完成Data Guard环境的Failover切换,为了使 failover过程尽量不丢失数据,在执行真正的切换是要尽量处理主数据库到standby数据库redo日志的传输问题,并将它们注册到standby数据库。
1: 处理缺失的redo
<1> 查找、传递和注册缺失的redo日志
这里假设主数据库出现故障宕机,执行以下步骤查看日志传输和应用情况,注册缺失的日志。
如果主数据库可以被加载mount状态,执行以下步骤,如果不能被加载则跳过下一步
sql> alter system flush redo to '<target_db_name>';
以上sql语句表明从主数据库发送未发送的redo日志到standby数据库,target_db_name是初始化参数配置的db_unique_name,名称要用单引号括起来,这个语句发送所有未发送的redo日志到standby数据库,并且等待应用完成,必须在mount模式没有打开主数据库的情况下执行。
如果一下语句不能成功完成,或者不愿意长时间等待执行过程,执行以下的步骤手动传递,注册缺失的日志。
①.在主数据库执行以下sql语句查询主数据库每个线程最大的redo日志序列号
SQL> select dest_id,thread#,max(sequence#) from v$archived_Log group by dest_id,thread# order by thread#;