DG检查:
1. 确认standby是否存在归档中断
select * from v$archive_gap;
2. 检查控制文件的类型
select CONTROLFILE_TYPE from v$database;
3. 检查容灾端是否处于standby模式
SQL> select DEST_ID,STATUS,RECOVERY_MODE from v$archive_dest_status;
DEST_ID STATUS RECOVERY_MODE
---------- --------- -----------------------
1 ERROR MANAGED REAL TIME APPLY
2 ERROR IDLE
3 INACTIVE IDLE
SQL> select DEST_ID,STATUS,RECOVERY_MODE from v$archive_dest_status;
DEST_ID STATUS RECOVERY_MODE
---------- --------- -----------------------
1 VALID IDLE
2 VALID MANAGED REAL TIME APPLY
3 INACTIVE IDLE
4. 检查生产、容灾端运行错误历史信息
select * from v$dataguard_status;
5. 检查生产端最大日志号
SQL> select max(sequence#) from v$archived_log group by thread#;
MAX(SEQUENCE#)
--------------
149
SQL>
6. 检查容灾端接受应用的最大日志号
SQL> select THREAD#,max(SEQUENCE#) arc,max(decode(REGISTRAR||','||APPLIED,'RFS,Y
ES',SEQUENCE#,0)) from v$archived_log group by THREAD#;
THREAD# ARC MAX(DECODE(REGISTRAR||','||APPLIED,'RFS,YES',SEQUENCE#,0))
---------- ---------- ----------------------------------------------------------
1 150 149
SQL>
7. 检查生产端dest_2通道是否正常
SQL>select DEST_ID,STATUS,DATABASE_MODE,RECOVERY_MODE from v$archive_dest_status;
DEST_ID STATUS DATABASE_MODE RECOVERY_MODE
---------- --------- --------------- -----------------------
1 VALID OPEN IDLE
2 VALID OPEN_READ-ONLY MANAGED REAL TIME APPLY
3 INACTIVE UNKNOWN IDLE
8. 检查生产端的redo日志在各个归档目标的归档情况
SQL> SELECT DESTINATION, STATUS, ARCHIVED_THREAD#, ARCHIVED_SEQ# FROM V$ARCHIVE_DEST_STATUS
WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE';
SQL> SELECT DESTINATION, STATUS, ARCHIVED_THREAD#, ARCHIVED_SEQ# FROM V$ARCHIV
E_DEST_STATUS
2 WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE';
DESTINATION STATUS ARCHIVED_THREAD# ARCHIVED_SEQ#
-------------------- --------- ---------------- -------------
C:\arch VALID 1 150
STANDBY VALID 1 150
SQL>
9. 查看数据库复制情况
生产端:
SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#,BLOCK#, BLOCKS FROM V$MANAGED_STANDBY
2 where process='LNS' ;
PROCESS STATUS THREAD# SEQUENCE# BLOCK# BLOCKS
--------- ------------ ---------- ---------- ---------- ----------
LNS WRITING 1 151 970 1
SQL>
容灾端:
SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#,BLOCK#, BLOCKS FROM V$MANAGED_STANDBY
2 where process='MRP0' or process='RFS';
PROCESS STATUS THREAD# SEQUENCE# BLOCK# BLOCKS
--------- ------------ ---------- ---------- ---------- ----------
MRP0 APPLYING_LOG 1 151 9 102400
RFS IDLE 0 0 0 0
RFS IDLE 1 151 1018 1