Oracle Dataguard 日志适用于何处?

问题描述

这是一个 Oracle 19c 备用数据库

sql> select open_mode from v$database;

OPEN_MODE
----------------------------------------
READ ONLY WITH APPLY

归档日志正常应用:

sql> select name,applied,thread#,first_change#,next_change# from v$archived_log order by next_change# desc;

NAME                           APPLIED       THREAD# FirsT_CHANGE# NEXT_CHANGE#
-------------------------------------------------- ------------------ ---------- ------------- ------------
/u01/arch/1_162_1052306063.arc             YES                 1      10493050     10493218
/u01/arch/2_167_1052306063.arc             YES                 2      10493061     10493215
/u01/arch/2_166_1052306063.arc             YES                 2      10485581     10493061
/u01/arch/1_161_1052306063.arc             YES                 1      10486829     10493050
/u01/arch/1_160_1052306063.arc             YES                 1      10486823     10486829
/u01/arch/2_165_1052306063.arc             YES                 2      10285021     10485581
/u01/arch/1_159_1052306063.arc             YES                 1      10385533     10385535
/u01/arch/1_158_1052306063.arc             YES                 1      10285024     10385533
/u01/arch/1_157_1052306063.arc             YES                 1      10274975     10285024
/u01/arch/2_164_1052306063.arc             YES                 2      10274972     10285021
/u01/arch/1_156_1052306063.arc             YES                 1      10274911     10274975

数据文件是只读的,并且 checkpoint_change# 位于 online-redolog 后面:

sql> select checkpoint_change#,enabled from v$datafile;

CHECKPOINT_CHANGE# ENABLED
------------------ --------------------
      10486829 READ ONLY
      10486829 READ ONLY
      10486829 READ ONLY
       2168270 READ ONLY
       2168270 READ ONLY
      10486829 READ ONLY
       2168270 READ ONLY
      10486829 READ ONLY
       4843272 READ ONLY
       4843272 READ ONLY
       4843272 READ ONLY

CHECKPOINT_CHANGE# ENABLED
------------------ --------------------
       4843272 READ ONLY
       4843272 READ ONLY
       4843271 READ ONLY
       4843271 READ ONLY
       4843271 READ ONLY

16 rows selected.

sql> 
sql> 
sql> select * from v$standby_log;

    GROUP# DBID                                            THREAD#  SEQUENCE#      BYTES  BLOCKSIZE       USED ARCHIV STATUS           FirsT_CHANGE# FirsT_TIME     NEXT_CHANGE# NEXT_TIME      LAST_CHANGE# LAST_TIME          CON_ID
---------- -------------------------------------------------------------------------------- ---------- ---------- ---------- ---------- ---------- ------ -------------------- ------------- ------------------ ------------ ------------------ ------------ ------------------ ----------
     5 537310974                                             1        163  209715200        512    4165632 YES    ACTIVE            10493218 2020:12:2214:36:21                     10499539 2020:12:2214:51:18      0
     6 UNASSIGNED                                            1      0  209715200        512      0 NO     UNASSIGNED                         0
     7 UNASSIGNED                                            1      0  209715200        512      0 YES    UNASSIGNED                         0
     8 537310974                                             2        168  209715200        512    4459008 YES    ACTIVE            10493215 2020:12:2214:36:21                     10499539 2020:12:2214:51:18      0
     9 UNASSIGNED                                            2      0  209715200        512      0 NO     UNASSIGNED                         0
    10 UNASSIGNED                                            2      0  209715200        512      0 YES    UNASSIGNED                         0

6 rows selected.

所以我的问题是,由于数据文件是只读的并且 checkpoint_change# 没有改变,那么从主数据库发送的日志在哪里应用?如果应用于备库中的数据文件,它的checkpoint_change#不增加吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)