数据库中如何查看DG是否是实时应用

发布时间:2021-11-09 10:18:14 作者:小新
来源:亿速云 阅读:549

这篇文章给大家分享的是有关数据库中如何查看DG是否是实时应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

做某业务系统的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是否是实时应用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. AIX查看网卡实时流量
  2. Linux中怎么查看文件是否存在

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

dg 数据库

上一篇:数据库中如何查看当前的活动SQL

下一篇:如何深入解析RMAN备份与恢复

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》