PROBLEM:

Archive logs are not getting deleted with RMAN command, and it is reporting below warnings.

RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/archive/arch/BBCRMDEV/1_1963_929123254.dbf thread=1 sequence=1963
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/archive/arch/BBCRMDEV/1_1964_929123254.dbf thread=1 sequence=1964
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/archive/arch/BBCRMDEV/1_1965_929123254.dbf thread=1 sequence=1965

CAUSE & SOLUTION:

Well, the error clearly says, either goldengate integrated captures or dataguard is used, which still need those archives.
However, We are not using any of these. It is just a standalone database, still getting the error. Then we recalled, that the database was cloned from a production database where goldengate integrated capture is used.

So to fix this, I have removed the capture processes.

SQL> select CAPTURE_NAME,QUEUE_OWNER,status from dba_capture;

CAPTURE_NAME       QUEUE_OWNER        STATUS
------------------ ------------------ --------
OGG$CAP_E01_CRM    GGATE              ENABLED


--- If the status is enable, we have to disable it before dropping

SQL> exec DBMS_CAPTURE_ADM.DROP_CAPTURE('OGG$CAP_E01_CRM');
BEGIN DBMS_CAPTURE_ADM.DROP_CAPTURE('OGG$CAP_E01_CRM'); END;

*
ERROR at line 1:
ORA-01338: Other process is attached to LogMiner session
ORA-06512: at "SYS.DBMS_CAPTURE_ADM_INTERNAL", line 846
ORA-06512: at "SYS.DBMS_CAPTURE_ADM_INTERNAL", line 817
ORA-06512: at "SYS.DBMS_CAPTURE_ADM", line 302
ORA-06512: at line 1


SQL>  exec DBMS_CAPTURE_ADM.STOP_CAPTURE('OGG$CAP_E01_CRM');

PL/SQL procedure successfully completed.



SQL> select CAPTURE_NAME,QUEUE_OWNER,status from dba_capture;

CAPTURE_NAME       QUEUE_OWNER        STATUS
------------------ ------------------ --------
OGG$CAP_E01_CRM    GGATE              DISABLED


SQL> exec DBMS_CAPTURE_ADM.DROP_CAPTURE('OGG$CAP_E01_CRM');

PL/SQL procedure successfully completed.


SQL>  select CAPTURE_NAME,QUEUE_OWNER,status from dba_capture;

no rows selected

Now I ran the rman delete command, and it deleted the archive logs successfully.  🙂