查询Dataguard的状态:
set linesize 200
select d.DB_UNIQUE_NAME,d.open_mode,d.log_mode,d.DATABASE_ROLE,d.PROTECTION_MODE from v$database d;
DB_UNIQUE_NAME OPEN_MODE LOG_MODE DATABASE_ROLE PROTECTION_MODE
------------------------------ -------------------- ------------ ---------------- --------------------
orcl_st MOUNTED ARCHIVELOG PHYSICAL STANDBY MAXIMUM PERFORMANCE
查询最近每个归档目标的状态,每个目标的归档文件应该一样,如果不一样,status不是“VALID”。
set linesize 200
col DESTINATION form a40
SELECT DESTINATION, STATUS, ARCHIVED_THREAD#, ARCHIVED_SEQ# FROM V$ARCHIVE_DEST_STATUS WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE';
DESTINATION STATUS ARCHIVED_THREAD# ARCHIVED_SEQ#
---------------------------------------- --------- --------------------- ---------------------
/u01/app/oracle/oradata/orcl/archivelog VALID 1 106
orcl_st VALID 1 106
查询最近的一次归档日志序号:
SQL> SQL> SELECT MAX(SEQUENCE#), THREAD# FROM V$ARCHIVED_LOG WHERE RESETLOGS_CHANGE# = (SELECT MAX(RESETLOGS_CHANGE#) FROM V$ARCHIVED_LOG) GROUP BY THREAD#;
MAX(SEQUENCE#) THREAD#
--------------------- ---------------------
106 1
检查已经归档到目标1但没有归档到目标2的归档日志:
SELECT LOCAL.THREAD#, LOCAL.SEQUENCE# FROM (SELECT THREAD#, SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=1) LOCAL WHERE LOCAL.SEQUENCE# NOT IN (SELECT SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=2 AND THREAD# = LOCAL.THREAD#);
检查gap
SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID = 2;
查询日志应用速度
COLUMN NAME FORMAT A24
COLUMN VALUE FORMAT A16
COLUMN DATUM_TIME FORMAT A24
SELECT NAME, VALUE, DATUM_TIME FROM V$DATAGUARD_STATS;
在Redo源数据库执行以下SQL语句显示目的地2的响应时间柱状图
select frequency,duration from v$redo_dest_resp_histogram where dest_id = 2 and frequency > 1;