今天介绍一下如何在GoldenGate下游配置中删除从源数据库接收到的挖掘数据库上的归档日志。
解决方案:
从另一个数据库收到的归档日志被称为FOREIGN ARCHIVED LOG。
从源数据库收到的归档文件被视为外部归档文件,可以通过在挖掘数据库上查询DBA_REGISTERED_ARCHIVED_LOG来检查外部归档文件的信息。
SQL> select CONSUMER_NAME, THREAD#, SEQUENCE#, FIRST_SCN, NEXT_SCN, FIRST_TIME, NEXT_TIME, NAME,PURGEABLE from DBA_REGISTERED_ARCHIVED_LOG order by SEQUENCE#;
CONSUMER_NAME THREAD# SEQUENCE# FIRST_SCN NEXT_SCN FIRST_TIME NEXT_TIME NAME PURGEABLE
-------------------- ---------- ---------- ---------- ---------- ------------------- ------------------- ------------------------------------------------- ---------
OGG$CAP_ 1 59 4283790 4284392 2024-12-11 06:33:10 2024-12-11 06:33:19 //arch/gg_1_0000000059_1176269592.arc YES
OGG$CAP_ 1 60 4284392 4284432 2024-12-11 06:33:19 2024-12-11 06:33:39 //arch/gg_1_0000000060_1176269592.arc YES
OGG$CAP_ 1 61 4284432 4284675 2024-12-11 06:33:39 2024-12-11 06:34:39 //arch/gg_1_0000000061_1176269592.arc YES
OGG$CAP_ 1 62 4284675 4284799 2024-12-11 06:34:39 2024-12-11 06:35:25 //arch/gg_1_0000000062_1176269592.arc YES
OGG$CAP_ 1 63 4284799 4284811 2024-12-11 06:35:25 2024-12-11 06:35:28 //arch/gg_1_0000000063_1176269592.arc YES
OGG$CAP_ 1 64 4284811 4284824 2024-12-11 06:35:28 2024-12-11 06:35:31 //arch/gg_1_0000000064_1176269592.arc YES
OGG$CAP_ 1 65 4284824 4287874 2024-12-11 06:35:31 2024-12-11 06:47:02 //arch/gg_1_0000000065_1176269592.arc YES
OGG$CAP_ 1 66 4287874 4288016 2024-12-11 06:47:02 2024-12-11 06:48:08 //arch/gg_1_0000000066_1176269592.arc YES
OGG$CAP_ 1 67 4288016 4289591 2024-12-11 06:48:08 2024-12-11 06:59:33 //arch/gg_1_0000000067_1176269592.arc YES
OGG$CAP_ 1 68 4289591 4290027 2024-12-11 06:59:33 2024-12-11 07:02:42 //arch/gg_1_0000000068_1176269592.arc NO
OGG$CAP_ 1 69 4290027 4400880 2024-12-11 07:02:42 2024-12-11 20:00:57 //arch/gg_1_0000000069_1176269592.arc NO
OGG$CAP_ 1 70 4400880 4425840 2024-12-11 20:00:57 2024-12-11 22:04:40 //arch/gg_1_0000000070_1176269592.arc NO
OGG$CAP_ 1 71 4425840 0 1988-01-01 00:00:00 1988-01-01 00:00:00 //arch/gg_1_0000000071_1176269592.arc NO
可以通过从RMAN中执行如下命令来删除外部存档日志。
RMAN> delete foreign archivelog ...;
请注意,上述命令不考虑
DBA_REGISTERED_ARCHIVED_LOG.PURGEABLE的值。
它还尝试删除清除DBA_REGISTERED_ARCHIVED_LOG.PURGEABLE=NO。
因此,请提前检查DBA_REGISTERED_ARCHIVED_LOG,并考虑仅删除PURGEABLE=YES的归档日志。
有关如何指定要删除的归档日志的范围,请参阅以下文档。
https://docs.oracle.com/en/database/oracle/oracle-database/19/rcmrf/archivelogRecordSpecifier.html#GUID-DDF929FF-796B-4AD6-AE58-F831CAFC7703
Oracle®数据库备份和恢复参考19c