一、主从应用模式

1、ADG与普通归档模式
col name for a50;
set lines 300;
-- SWITCHOVER_STATUS:SESSIONS ACTIVE
select SWITCHOVER_STATUS,NAME,PROTECTION_MODE,OPEN_MODE,LOG_MODE,DATABASE_ROLE,DB_UNIQUE_NAME from v$database;
--如果 process:MRP0:WAIT_FOR_LOG 则为ADG,如果无 process:MRP0 则为普通的主从
select process,status,thread#,sequence# from v$managed_standby;
二、从库应用主库
1、在主库查询
1)如果是ADG,则 name 是从库的 db_unique_name
select t.name,t.thread#,t.sequence#,to_char(t.first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(t.next_time,'yyyy-mm-dd hh24:mi:ss'),
APPLIED,t.stamp from v$archived_log t
where t.name = 'xxxxdg' order by t.stamp ;

2)如果是ARCH模式,则 name 是主库的归档日志文件的绝对路径
select t.name,t.thread#,t.sequence#,to_char(t.first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(t.next_time,'yyyy-mm-dd hh24:mi:ss'),
APPLIED,t.stamp from v$archived_log t
where t.name != 'xxxxdg' order by t.stamp ;
因为测试的库为ADG模式,所以 name 的 APPLED 都是 NO

2、备库查看主从延时
1)v$dataguard_stats
select value from v$dataguard_stats where name='apply lag';

2)v$archived_log
select ceil((sysdate-next_time)*24*60) "M" from v$archived_log where applied='YES' AND SEQUENCE#=(SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG WHERE applied='YES');
