法一:从 v$archive_dest_status看:
备库:
SQL > select DEST_NAME , STATUS , RECOVERY_MODE from v$archive_dest_status
DEST_NAME STATUS RECOVERY_MODE
------------------------------ --------- -----------------------
LOG_ARCHIVE_DEST_1 VALID MANAGED REAL TIME APPLY
LOG_ARCHIVE_DEST_2 VALID IDLE
主库:
15:30:25 SQL> select DEST_NAME , STATUS , RECOVERY_MODE from v$archive_dest_status;
DEST_NAME STATUS RECOVERY_MODE
---------------------------------------- --------- -----------------------
LOG_ARCHIVE_DEST_1 VALID IDLE
LOG_ARCHIVE_DEST_2 VALID MANAGED REAL TIME APPLY
总结:不管是主库还是备库:
recover_mode是 MANAGED REAL TIME APPLY是实时应用;是MANAGED是非实时应用。
法二:从v$managed_standby上看
备库:
15:24:23 SQL> select process ,status , sequence# from v$managed_standby;
PROCESS STATUS SEQUENCE#
--------- ------------ ----------
ARCH CONNECTED 0
ARCH CONNECTED 0
ARCH CONNECTED 0
ARCH CLOSING 18
RFS IDLE 0
RFS IDLE 19
MRP0 APPLYING_LOG 19
主库:
15:30:53 SQL> select process, status, sequence# from v$managed_standby;
PROCESS STATUS SEQUENCE#
--------- ------------ ----------
ARCH CLOSING 15
ARCH CLOSING 15
ARCH CLOSING 16
ARCH CLOSING 18
LNS WRITING 19
SQL> select process, status, sequence# from v$managed_standby;
PROCESS STATUS SEQUENCE#
--------- ------------ ----------
ARCH CLOSING 1530
ARCH CLOSING 1531
LGWR WRITING 1532
总结:从 v$managed_standby看,
备库MRP进程STATUS是 APPLYING_LOG 是实时应用, 或者主库LNS 进程是WRITING是实时引用;
备库MRP进程STATUS是 WAIT_FOR_LOG 是非实时应用, 或者主库LGWR 或者归档 进程是WRITING是非实时引用;(实时应用是用LNS进程发送日志,非实时应用是用LGWR或者ARCH进程发送日志)
综上, 建议从备库上进行查看,毕竟是不是实时应用,是备库的事情。