数据库中如何查看DG是否是实时应用
这篇文章给大家分享的是有关数据库中如何查看DG是否是实时应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
门源网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
做某业务系统的DG时,发现DG抽取时报错,查看DG状态发现每天切换两次只读、应用
查看DG 状态:select database_role,switchover_status from v$database;
查看DG保护模式 select protection_mode,protection_level from v$database;
查看与DG有关的相应进程 :select process, status, thread#,sequence#, block#, blocks from v$managed_standby;
查看是否使用Real-Time apply:Select recovery_mode from v$archive_dest_status;
查看 备库apply redo 过程中丢失的归档日志 select * from v$archive_gap;
法一:从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进程发送日志)
感谢各位的阅读!关于“数据库中如何查看DG是否是实时应用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
分享文章:数据库中如何查看DG是否是实时应用
网站路径:http://hbruida.cn/article/josseo.html