0
点赞
收藏
分享

微信扫一扫

备库归档日志文件的删除测试——第二篇:valid_for参数为ONLINE_LOGFILES与STANDBY_LOGFILES

文档课题:备库归档日志文件的删除测试——第二篇:valid_for参数为ONLINE_LOGFILES与STANDBY_LOGFILES.
数据库:oracle 11.2.0.4
架构:rac(2节点)+dg(orcldg与sh_orcl)
场景描述:在该架构中,orcldg备库作为sh_orcl备库归档日志文件的来源,现测试以下两点:
          a、归档日志文件从orcldg备库传输到sh_orcl备库后先不应用,此时orcldg端是否能删除未应用的归档日志?
          b、sh_orcl无法接收orcldg端的归档日志,此时在orcldg备库端是否能删除未传输的归档日志?
		  
1、valid_for为ONLINE_LOGFILES,ALL_ROLES
说明:现测试orcldg库valid_for为online_logfiles,all_roles的场景.
1.1、环境准备
--当前orcldg备库log_archive_dest_4配置
SYS@orcldg> show parameter log_archive_dest_4                                                                                                             

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_4                   string      SERVICE=sh_orcl COMPRESSION=EN
                                                 ABLE LGWR ASYNC VALID_FOR=(ALL
                                                 _LOGFILES,ALL_ROLES) DB_UNIQUE
                                                 _NAME=sh_orcl
--修改log_archive_dest_4配置参数,将valid_for修改为ONLINE_LOGFILES,ALL_ROLES												 
SYS@orcldg> alter system set log_archive_dest_4='SERVICE=sh_orcl COMPRESSION=ENABLE LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=sh_orcl';

System altered.

SYS@orcldg> show parameter log_archive_dest_4 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_4                   string      SERVICE=sh_orcl COMPRESSION=EN
                                                 ABLE LGWR ASYNC VALID_FOR=(ONL
                                                 INE_LOGFILES,ALL_ROLES) DB_UNI
                                                 QUE_NAME=sh_orcl
												 
SYS@orcldg> alter system set log_archive_dest_state_4=enable;

System altered.
												 
--将主库端log_archive_dest_3置空.
SYS@orcl1> alter system set log_archive_dest_3='' sid='*';

System altered.

说明:以上配置在于主库停止传输归档日志文件到sh_orcl备库,转为由备库orcldg传输归档日志文件到sh_orcl备库.
1.2、备库日志应用情况
--orcldg备库当前日志应用情况
SYS@orcldg> set line 200
SYS@orcldg> select thread#,sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(next_time,'yyyy-mm-dd hh24:mi:ss'),to_char(completion_time,'yyyy-mm-dd hh24:mi:ss'),applied from v$archived_log where first_time>sysdate-1 order by 1,2;

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:50:16 YES
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:45:17 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:50:16 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:45:18 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:45:18 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:50:16 YES
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:50:15 YES
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:45:18 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:50:15 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:45:18 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:50:16 YES

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:45:18 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:50:16 NO
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:45:20 IN-MEMORY

14 rows selected.

注意:此时orcldg备库相同序列号有两个.
--sh_orcl备库日志应用情况.
SYS@sh_orcl> set line 200
SYS@sh_orcl> select thread#,sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(next_time,'yyyy-mm-dd hh24:mi:ss'),to_char(completion_time,'yyyy-mm-dd hh24:mi:ss'),applied from v$archived_log where first_time>sysdate-1 order by 1,2;

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:50:16 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:50:16 YES
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:50:15 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:50:15 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:50:16 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:50:15 NO

7 rows selected.

'1.3、主库节点1切换日志
SYS@orcl1> alter system switch logfile;

System altered.

1.4、备库日志应用情况
--orcldg备库日志应用情况
SYS@orcldg> select thread#,sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(next_time,'yyyy-mm-dd hh24:mi:ss'),to_char(completion_time,'yyyy-mm-dd hh24:mi:ss'),applied from v$archived_log where first_time>sysdate-1 order by 1,2;

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:45:17 YES
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:50:16 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:45:18 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:45:18 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:50:16 YES
         1        349 2023-06-29 16:45:17 2023-06-29 17:19:58 2023-06-29 17:19:58 IN-MEMORY
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:50:15 YES
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:45:18 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:45:18 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:50:15 YES

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:45:18 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:50:16 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:45:20 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:50:16 NO

15 rows selected.

注意:此时备库orcldg线程1只有一个349的序列号的归档文件,表明没有归档日志传输到sh_orcl.

--主库节点1再次切换日志
SYS@orcl1> alter system switch logfile;

System altered.

--再次确认orcldg备库日志应用情况
SYS@orcldg> select thread#,sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(next_time,'yyyy-mm-dd hh24:mi:ss'),to_char(completion_time,'yyyy-mm-dd hh24:mi:ss'),applied from v$archived_log where first_time>sysdate-1 order by 1,2;

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:45:17 YES
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:50:16 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:45:18 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:45:18 YES
         1        349 2023-06-29 16:45:17 2023-06-29 17:19:58 2023-06-29 17:19:58 YES
         1        350 2023-06-29 17:19:58 2023-06-29 17:25:02 2023-06-29 17:25:01 IN-MEMORY
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:50:15 YES
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:45:18 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:45:18 YES

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:50:15 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:50:16 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:45:18 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:50:16 NO
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:45:20 YES

16 rows selected.

说明:orcldg线程1的350序列号归档文件同样没有传输到sh_orcl备库.
--查sh_orcl备库归档日志应用情况
SYS@sh_orcl> select thread#,sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(next_time,'yyyy-mm-dd hh24:mi:ss'),to_char(completion_time,'yyyy-mm-dd hh24:mi:ss'),applied from v$archived_log where first_time>sysdate-1 order by 1,2;

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:50:16 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:50:16 YES
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:50:15 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:50:15 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:50:16 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:50:15 NO

7 rows selected.

'小结:如上所示,当orcldg备库的valid_for修改为ONLINE_LOGFILES,ALL_ROLES后,新增归档日志文件并不会通过orcldg备库传输到sh_orcl备库.

2、valid_for为STANDBY_LOGFILES,ALL_ROLES
说明:现测试将valid_for修改为STANDBY_LOGFILES,ALL_ROLES的场景.
2.1、环境准备
--orcldg备库log_archive_dest_4配置
SYS@orcldg> show parameter log_archive_dest_4 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_4                   string      SERVICE=sh_orcl COMPRESSION=EN
                                                 ABLE LGWR ASYNC VALID_FOR=(ONL
                                                 INE_LOGFILES,ALL_ROLES) DB_UNI
                                                 QUE_NAME=sh_orcl
--修改log_archive_dest_4配置参数,将valid_for修改为ONLINE_LOGFILES,ALL_ROLES.												 
SYS@orcldg> alter system set log_archive_dest_4='SERVICE=sh_orcl COMPRESSION=ENABLE LGWR ASYNC VALID_FOR=(STANDBY_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=sh_orcl';

System altered.

SYS@orcldg> show parameter log_archive_dest_4 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_4                   string      SERVICE=sh_orcl COMPRESSION=EN
                                                 ABLE LGWR ASYNC VALID_FOR=(ONL
                                                 INE_LOGFILES,ALL_ROLES) DB_UNI
                                                 QUE_NAME=sh_orcl
												 
SYS@orcldg> alter system set log_archive_dest_state_4=enable;

System altered.
												 
2.2、备库日志应用情况
--orcldg备库日志应用情况
SYS@orcldg> set line 200
SYS@orcldg> select thread#,sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(next_time,'yyyy-mm-dd hh24:mi:ss'),to_char(completion_time,'yyyy-mm-dd hh24:mi:ss'),applied from v$archived_log where first_time>sysdate-1 order by 1,2;

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:50:16 YES
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:45:17 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:45:18 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:45:18 YES
         1        349 2023-06-29 16:45:17 2023-06-29 17:19:58 2023-06-29 17:19:58 YES
         1        349 2023-06-29 16:45:17 2023-06-29 17:19:58 2023-06-29 17:34:16 YES
         1        350 2023-06-29 17:19:58 2023-06-29 17:25:02 2023-06-29 17:25:01 YES
         1        350 2023-06-29 17:19:58 2023-06-29 17:25:02 2023-06-29 17:34:16 YES
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:50:15 YES

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:45:18 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:45:18 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:50:15 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:50:16 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:45:18 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:45:20 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:50:16 YES
         2        187 2023-06-29 16:45:19 2023-06-29 17:40:24 2023-06-29 17:40:23 IN-MEMORY
         2        187 2023-06-29 16:45:19 2023-06-29 17:40:24 2023-06-29 17:40:24 NO

20 rows selected.

--sh_orcl备库日志应用情况.
SYS@sh_orcl> set line 200
SYS@sh_orcl> select thread#,sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(next_time,'yyyy-mm-dd hh24:mi:ss'),to_char(completion_time,'yyyy-mm-dd hh24:mi:ss'),applied from v$archived_log where first_time>sysdate-1 order by 1,2;

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
'---------- ---------- ------------------- ------------------- ------------------- ---------
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:50:16 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:50:16 YES
         1        349 2023-06-29 16:45:17 2023-06-29 17:19:58 2023-06-29 17:34:15 YES
         1        350 2023-06-29 17:19:58 2023-06-29 17:25:02 2023-06-29 17:34:15 YES
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:50:15 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:50:15 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:50:16 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:50:15 YES
         2        187 2023-06-29 16:45:19 2023-06-29 17:40:24 2023-06-29 17:40:23 NO

10 rows selected.

注意:此时orcldg备库349、350序列号日志文件成功传输到备库sh_orcl,并被应用.

2.3、开始测试
2.3.1、接收日志后不应用
2.3.1.1、产生新归档
--sh_orcl备库停止实时应用,但依然正常接收归档日志文件.
SYS@sh_orcl> alter database recover managed standby database cancel;

Database altered.

--主库生成新新归档.
LEO@orcl1> select count(*) from test01;

  COUNT(*)
----------
    690440

LEO@orcl1> insert into test01 select * from test01;

690440 rows created.

LEO@orcl1> commit;

Commit complete.

LEO@orcl1> conn / as sysdba
Connected.
SYS@orcl1> alter system archive log current;

System altered.

2.3.1.2、备库日志应用情况
--orcldg应用情况
SYS@orcldg> select thread#,sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(next_time,'yyyy-mm-dd hh24:mi:ss'),to_char(completion_time,'yyyy-mm-dd hh24:mi:ss'),applied from v$archived_log where first_time>sysdate-1 order by 1,2;

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:45:17 YES
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:50:16 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:45:18 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:45:18 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:50:16 YES
         1        349 2023-06-29 16:45:17 2023-06-29 17:19:58 2023-06-29 17:19:58 YES
         1        349 2023-06-29 16:45:17 2023-06-29 17:19:58 2023-06-29 17:34:16 YES
         1        350 2023-06-29 17:19:58 2023-06-29 17:25:02 2023-06-29 17:34:16 YES
         1        350 2023-06-29 17:19:58 2023-06-29 17:25:02 2023-06-29 17:25:01 YES
         1        351 2023-06-29 17:25:02 2023-06-29 17:46:33 2023-06-29 17:46:33 YES

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         1        351 2023-06-29 17:25:02 2023-06-29 17:46:33 2023-06-29 17:46:35 NO
         1        352 2023-06-29 17:46:33 2023-06-29 17:46:37 2023-06-29 17:46:39 NO
         1        352 2023-06-29 17:46:33 2023-06-29 17:46:37 2023-06-29 17:46:38 YES
         1        353 2023-06-29 17:46:37 2023-06-29 17:46:55 2023-06-29 17:46:55 YES
         1        353 2023-06-29 17:46:37 2023-06-29 17:46:55 2023-06-29 17:46:55 NO
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:50:15 YES
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:45:18 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:45:18 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:50:15 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:50:16 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:45:18 YES

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
'---------- ---------- ------------------- ------------------- ------------------- ---------
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:50:16 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:45:20 YES
         2        187 2023-06-29 16:45:19 2023-06-29 17:40:24 2023-06-29 17:40:23 YES
         2        187 2023-06-29 16:45:19 2023-06-29 17:40:24 2023-06-29 17:40:24 NO
         2        188 2023-06-29 17:40:24 2023-06-29 17:46:56 2023-06-29 17:46:56 NO
         2        188 2023-06-29 17:40:24 2023-06-29 17:46:56 2023-06-29 17:46:56 IN-MEMORY

28 rows selected.

--sh_orcl应用情况
SYS@sh_orcl> select thread#,sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(next_time,'yyyy-mm-dd hh24:mi:ss'),to_char(completion_time,'yyyy-mm-dd hh24:mi:ss'),applied from v$archived_log where first_time>sysdate-1 order by 1,2;

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
'---------- ---------- ------------------- ------------------- ------------------- ---------
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:50:16 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:50:16 YES
         1        349 2023-06-29 16:45:17 2023-06-29 17:19:58 2023-06-29 17:34:15 YES
         1        350 2023-06-29 17:19:58 2023-06-29 17:25:02 2023-06-29 17:34:15 YES
         1        351 2023-06-29 17:25:02 2023-06-29 17:46:33 2023-06-29 17:46:36 NO
         1        352 2023-06-29 17:46:33 2023-06-29 17:46:37 2023-06-29 17:46:39 NO
         1        353 2023-06-29 17:46:37 2023-06-29 17:46:55 2023-06-29 17:46:55 NO
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:50:15 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:50:15 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:50:16 YES

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
'---------- ---------- ------------------- ------------------- ------------------- ---------
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:50:15 YES
         2        187 2023-06-29 16:45:19 2023-06-29 17:40:24 2023-06-29 17:40:23 NO
         2        188 2023-06-29 17:40:24 2023-06-29 17:46:56 2023-06-29 17:46:55 NO

14 rows selected.

--系统层面归档日志文件情况.
[oracle@leo-shhisdbdg 2023_06_29]$ ls -ltr
total 158552
-rw-r----- 1 oracle oinstall   197120 Jun 29 16:50 o1_mf_2_184_l9tkg79m_.arc
-rw-r----- 1 oracle oinstall    72704 Jun 29 16:50 o1_mf_2_183_l9tkg7bp_.arc
-rw-r----- 1 oracle oinstall  1010176 Jun 29 16:50 o1_mf_2_182_l9tkg7bn_.arc
-rw-r----- 1 oracle oinstall 22970368 Jun 29 16:50 o1_mf_2_186_l9tkg7l3_.arc
-rw-r----- 1 oracle oinstall 42650112 Jun 29 16:50 o1_mf_2_185_l9tkg7jk_.arc
-rw-r----- 1 oracle oinstall     1024 Jun 29 16:50 o1_mf_1_346_l9tkg868_.arc
-rw-r----- 1 oracle oinstall     1024 Jun 29 16:50 o1_mf_1_345_l9tkg869_.arc
-rw-r----- 1 oracle oinstall    33280 Jun 29 16:50 o1_mf_1_347_l9tkg86d_.arc
-rw-r----- 1 oracle oinstall  3718656 Jun 29 16:50 o1_mf_1_348_l9tkg86z_.arc
-rw-r----- 1 oracle oinstall   163840 Jun 29 17:34 o1_mf_1_350_l9tn0qxg_.arc
-rw-r----- 1 oracle oinstall  3020288 Jun 29 17:34 o1_mf_1_349_l9tn0qxf_.arc
-rw-r----- 1 oracle oinstall  4254720 Jun 29 17:40 o1_mf_2_187_l9tnd7r8_.arc
-rw-r----- 1 oracle oinstall 39873536 Jun 29 17:46 o1_mf_1_351_l9tnqv84_.arc
-rw-r----- 1 oracle oinstall 42650112 Jun 29 17:46 o1_mf_1_352_l9tnqyz2_.arc
-rw-r----- 1 oracle oinstall  1477120 Jun 29 17:46 o1_mf_1_353_l9tnrhjy_.arc
-rw-r----- 1 oracle oinstall   237568 Jun 29 17:46 o1_mf_2_188_l9tnrhyv_.arc

说明:如上所示,o1_mf_1_351_l9tnqv84_.arc、o1_mf_1_352_l9tnqyz2_.arc、o1_mf_1_353_l9tnrhjy_.arc、o1_mf_2_188_l9tnrhyv_.arc归档日志已传输到备库sh_orcl,但此时未应用.
2.3.1.3、删除测试
--在orcldg备库执行.
RMAN> delete noprompt archivelog until time 'sysdate-1/1440';

说明:可将未应用的归档日志文件o1_mf_1_351_l9tnqv84_.arc、o1_mf_1_352_l9tnqyz2_.arc、o1_mf_1_353_l9tnrhjy_.arc删除,但却未能删除o1_mf_2_188_l9tnrhyv_.arc.

RMAN> delete noprompt archivelog all;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=199 device type=DISK
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/fast_recovery_area/ORCLDG/archivelog/2023_06_29/o1_mf_2_188_l9tnrj8r_.arc thread=2 sequence=188

说明:即使o1_mf_2_188_l9tnrj8r_.arc在sh_orcl备库端日志显示已经应用,但orcldg端依然无法删除该归档日志.

2.3.2、无法接收日志
2.3.2.1、产生新归档
--以下测试无法传输归档日志文件的情况.
关闭sh_orcl数据库,使orcldg端的归档日志文件无法传输到备库sh_orcl.
SYS@sh_orcl> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

--主库产生新归档日志文件
SYS@orcl1> conn leo/leo;
Connected.
LEO@orcl1> insert into test01 select * from test01;

1380880 rows created.

LEO@orcl1> commit; 

Commit complete.

LEO@orcl1> conn / as sysdba
Connected.
SYS@orcl1> alter system archive log current;

System altered.

2.3.2.2、备库日志应用情况
--备库orcldg查看日志应用情况.
SYS@orcldg> select thread#,sequence#,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'),to_char(next_time,'yyyy-mm-dd hh24:mi:ss'),to_char(completion_time,'yyyy-mm-dd hh24:mi:ss'),applied from v$archived_log where first_time>sysdate-1 order by 1,2;

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:45:17 YES
         1        346 2023-06-29 15:43:19 2023-06-29 15:43:19 2023-06-29 16:50:16 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:45:18 YES
         1        347 2023-06-29 15:43:19 2023-06-29 15:43:24 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:50:16 YES
         1        348 2023-06-29 15:43:24 2023-06-29 16:45:17 2023-06-29 16:45:18 YES
         1        349 2023-06-29 16:45:17 2023-06-29 17:19:58 2023-06-29 17:34:16 YES
         1        349 2023-06-29 16:45:17 2023-06-29 17:19:58 2023-06-29 17:19:58 YES
         1        350 2023-06-29 17:19:58 2023-06-29 17:25:02 2023-06-29 17:34:16 YES
         1        350 2023-06-29 17:19:58 2023-06-29 17:25:02 2023-06-29 17:25:01 YES
         1        351 2023-06-29 17:25:02 2023-06-29 17:46:33 2023-06-29 17:46:35 YES

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         1        351 2023-06-29 17:25:02 2023-06-29 17:46:33 2023-06-29 17:46:33 YES
         1        352 2023-06-29 17:46:33 2023-06-29 17:46:37 2023-06-29 17:46:38 YES
         1        352 2023-06-29 17:46:33 2023-06-29 17:46:37 2023-06-29 17:46:39 YES
         1        353 2023-06-29 17:46:37 2023-06-29 17:46:55 2023-06-29 17:46:55 YES
         1        353 2023-06-29 17:46:37 2023-06-29 17:46:55 2023-06-29 17:46:55 YES
         1        354 2023-06-29 17:46:55 2023-06-29 17:58:11 2023-06-29 17:58:11 YES
         1        355 2023-06-29 17:58:11 2023-06-29 17:58:13 2023-06-29 17:58:13 YES
         1        356 2023-06-29 17:58:13 2023-06-29 17:58:16 2023-06-29 17:58:16 YES
         1        357 2023-06-29 17:58:16 2023-06-29 17:58:21 2023-06-29 17:58:21 YES
         1        358 2023-06-29 17:58:21 2023-06-29 17:58:40 2023-06-29 17:58:40 YES
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:45:18 YES

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         2        183 2023-06-29 15:42:49 2023-06-29 15:42:54 2023-06-29 16:50:15 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:45:18 YES
         2        184 2023-06-29 15:42:54 2023-06-29 15:43:27 2023-06-29 16:50:15 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:45:18 YES
         2        185 2023-06-29 15:43:27 2023-06-29 16:12:47 2023-06-29 16:50:16 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:45:20 YES
         2        186 2023-06-29 16:12:47 2023-06-29 16:45:19 2023-06-29 16:50:16 YES
         2        187 2023-06-29 16:45:19 2023-06-29 17:40:24 2023-06-29 17:40:24 YES
         2        187 2023-06-29 16:45:19 2023-06-29 17:40:24 2023-06-29 17:40:23 YES
         2        188 2023-06-29 17:40:24 2023-06-29 17:46:56 2023-06-29 17:46:56 NO
         2        188 2023-06-29 17:40:24 2023-06-29 17:46:56 2023-06-29 17:46:56 YES

   THREAD#  SEQUENCE# TO_CHAR(FIRST_TIME, TO_CHAR(NEXT_TIME,' TO_CHAR(COMPLETION_ APPLIED
---------- ---------- ------------------- ------------------- ------------------- ---------
         2        189 2023-06-29 17:46:56 2023-06-29 17:58:17 2023-06-29 17:58:17 YES
         2        190 2023-06-29 17:58:17 2023-06-29 17:58:44 2023-06-29 17:58:44 IN-MEMORY

35 rows selected.

--系统层面归档日志文件情况
[oracle@hisdbdg 2023_06_29]$ ls -ltr
total 163296
-rw-r----- 1 oracle oinstall   237568 Jun 29 17:46 o1_mf_2_188_l9tnrj8r_.arc
-rw-r----- 1 oracle oinstall 42644992 Jun 29 17:58 o1_mf_1_354_l9tofm75_.arc
-rw-r----- 1 oracle oinstall 42650112 Jun 29 17:58 o1_mf_1_355_l9tofodj_.arc
-rw-r----- 1 oracle oinstall 42650112 Jun 29 17:58 o1_mf_1_356_l9tofrht_.arc
-rw-r----- 1 oracle oinstall   413184 Jun 29 17:58 o1_mf_2_189_l9tofsb6_.arc
-rw-r----- 1 oracle oinstall 38500864 Jun 29 17:58 o1_mf_1_357_l9tofx44_.arc
-rw-r----- 1 oracle oinstall    89088 Jun 29 17:58 o1_mf_1_358_l9togjqg_.arc
-rw-r----- 1 oracle oinstall    19456 Jun 29 17:58 o1_mf_2_190_l9tognbv_.arc

说明:节点1序列号为354、355、356、357、358,节点2序列号为189、190的归档日志文件为新增,其并未传输到sh_orcl备库.
2.3.2.3、删除测试
--备库orcldg端进行删除测试.
RMAN> delete noprompt archivelog until time 'sysdate-1/1440';

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=191 device type=DISK
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/fast_recovery_area/ORCLDG/archivelog/2023_06_29/o1_mf_1_354_l9tofm75_.arc thread=1 sequence=354
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/fast_recovery_area/ORCLDG/archivelog/2023_06_29/o1_mf_1_355_l9tofodj_.arc thread=1 sequence=355
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/fast_recovery_area/ORCLDG/archivelog/2023_06_29/o1_mf_1_356_l9tofrht_.arc thread=1 sequence=356
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/fast_recovery_area/ORCLDG/archivelog/2023_06_29/o1_mf_1_357_l9tofx44_.arc thread=1 sequence=357
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/fast_recovery_area/ORCLDG/archivelog/2023_06_29/o1_mf_1_358_l9togjqg_.arc thread=1 sequence=358
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/fast_recovery_area/ORCLDG/archivelog/2023_06_29/o1_mf_2_188_l9tnrj8r_.arc thread=2 sequence=188
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/fast_recovery_area/ORCLDG/archivelog/2023_06_29/o1_mf_2_189_l9tofsb6_.arc thread=2 sequence=189
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/fast_recovery_area/ORCLDG/archivelog/2023_06_29/o1_mf_2_190_l9tognbv_.arc thread=2 sequence=190

说明:如上所示,orcldg备库端无法删除sh_orcl备库未接收的归档日志文件.

总结:
a、当orcldg备库的valid_for修改为ONLINE_LOGFILES,ALL_ROLES后,新增归档日志文件并不会通过orcldg备库传输到sh_orcl备库.
b、当orcldg备库的valid_for修改为STANDBY_LOGFILES,ALL_ROLES后,orcldg备库端无法删除sh_orcl备库未接收的归档日志文件.

举报

相关推荐

0 条评论