Since it was cloned from a production database using Golden Gate, the capture processes followed along, but was not dropped in the cloned database.
This caused the deletion policy in RMAN to be overriden because Oracle thinks it will need the archivelogs for Golden Gate, even though no Golden Gate is configured for this particular database.
When deleting an archivelog, RMAN would throw an error:
RMAN> delete archivelog sequence 47447; allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=1352 device type=DISK allocated channel: ORA_DISK_2 channel ORA_DISK_2: SID=1354 device type=DISK RMAN-08137: warning: archived log not deleted, needed for standby or upstream capture process archived log file name=/u04/fra/CDB/archivelog/2024_03_13/o1_mf_1_47447__j5wx4r32_.arc thread=1 sequence=47447The query below revealed the name of the blocking capture processes:
sqlplus / as sysdba --> log on to root container SYS@_container_name SQL> SELECT CAPTURE_NAME, CAPTURE_TYPE, STATUS, to_char(REQUIRED_CHECKPOINT_SCN,'999999999999999')as REQ_SCN , to_char(OLDEST_SCN,'999999999999999')as OLDEST_SCN FROM DBA_CAPTURE; 2 3 4 5 CAPTURE_NAME CAPTURE_TY STATUS REQ_SCN OLDEST_SCN -------------------- ---------- -------- ---------------- ---------------- OGG$CAP_MYDB2ABC LOCAL DISABLED 426508588124 426508588124 OGG$CAP_MYDB2DEF LOCAL DISABLED 426508561845 426508561845Solution was to use the package dbms_capture_adm and drop the captures:
sqlplus / as sysdba --> log on to root container SYS@_container_name SQL> exec dbms_capture_adm.drop_capture('OGG$CAP_MYDB2ABC'); SYS@_container_name SQL> exec dbms_capture_adm.drop_capture('OGG$CAP_MYDB2DEF');Thanks to Bobby Curtis for pointing me in the righ direction with his post about the same topic
Fantastic work Vegard Kåsa. :)
ReplyDelete