dg 故障排查顺序

Posted by wukaiqiang; tagged with none

1、.在备库 查看gap

1.select * from v$archive_gap;

2、查看主备库的基本信息:
select open_mode,protection_mode,database_role,switchover_status from v$database;

3、检查主备两边的序号
select max(sequence#) from v$log; ---检查发现一致

4、备库执行,查看是否有数据未应用
select name,SEQUENCE#,APPLIED from v$archived_log order by sequence#;

select SEQUENCE#,FIRST_TIME,NEXT_TIME ,APPLIED from v$archived_log order by 1;

5、检查备库是否开启实时应用
select recovery_mode from v$archive_dest_status where dest_id=2;

6、检查备库状态
select switchover_status from v$database; --发现状态not allowed

7、如果不存在执行以下:
alter database recover managed standby database using current logfile disconnect;

8、验证是否正常
select process,status from v$managed_standby;
select process,status,sequence# from v$managed_standby;

如果看到mrp0正常

select NAME,ARCHIVED,APPLIED ,SEQUENCE# from v$archived_log;

l V$MANAGED_STANDBY:包含与物理备库相关的数据库进程(例如:LGWR、RFS、LNS、ARCH、MRP等)的信息。

l V$ARCHIVED_LOG:在备库执行此查询时,显示该备库接收到的日志。

l V$LOG_HISTORY:包含归档历史的详细信息。

l V$DATAGUARD_STATUS:包含DG生成的消息,这些消息被写入该特定数据库(主库或备库)的告警日志或跟踪文件中。

l V$RECOVERY_PROGRESS:包含与备库恢复相关的统计信息。

l V$STANDBY_EVENT_HISTOGRAM:包含某个物理备库的应用滞后的直方图。

l DBA_LOGSTDBY_LOG:包含关于已经被或正在被SQL Apply处理的归档日志的信息。

l DBA_LOGSTDBY_EVENTS:包含最近的SQL Apply事件(例如异常终止)的记录,这些事件也存在于运行SQL Apply的数据库实例的告警日志中。

l V$LOGSTDBY_PROCESS:包含每个SQL Apply进程的当前状态。

9、重新部署。