select database_role,open_mode from v$database;
select inst_id,process,pid,status,thread#,sequence#, block# from gv$managed_standby where process like 'MRP%';
select to_char(sysdate,'DD.MM.RR HH24:MI: SS') time, a.thread#, (select max (sequence#) from v$archived_log where archived='YES' and thread#=a.thread#) archived, max (a.sequence#) applied, (select max (sequence#) from v$archived_log where archived='YES' and thread#=a.thread#)-max (a.sequence#) gap from v$archived_log a where a.applied='YES' group by a.thread#;
PROMPT Oracle Log Apply Gap
SELECT ROWNUM, DEST_ID, Thread, Last_Sequence_Received, Last_Sequence_Applied, Difference FROM (SELECT distinct ARCH.DEST_ID,ARCH.THREAD# Thread, ARCH.SEQUENCE# Last_Sequence_Received, APPL.SEQUENCE# Last_Sequence_Applied, (ARCH.SEQUENCE# - APPL.SEQUENCE#) Difference FROM (SELECT THREAD# ,DEST_ID,SEQUENCE# FROM GV$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM GV$ARCHIVED_LOG GROUP BY THREAD#)) ARCH, (SELECT THREAD# ,SEQUENCE# FROM GV$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM GV$LOG_HISTORY GROUP BY THREAD#)) APPL WHERE ARCH.THREAD# = APPL.THREAD#) ORDER BY 2;
PROMPT Oracle Log Apply Gap
SELECT ROWNUM, DEST_ID, Thread, Last_Sequence_Received, Last_Sequence_Applied, Difference FROM (SELECT distinct ARCH.DEST_ID,ARCH.THREAD# Thread, ARCH.SEQUENCE# Last_Sequence_Received, APPL.SEQUENCE# Last_Sequence_Applied, (ARCH.SEQUENCE# - APPL.SEQUENCE#) Difference FROM (SELECT THREAD# ,DEST_ID,SEQUENCE# FROM GV$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM GV$ARCHIVED_LOG GROUP BY THREAD#)) ARCH, (SELECT THREAD# ,SEQUENCE# FROM GV$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM GV$LOG_HISTORY GROUP BY THREAD#)) APPL WHERE ARCH.THREAD# = APPL.THREAD#) ORDER BY 2;