Monday, May 27, 2013

RMAN-08137: WARNING: archived log not deleted, needed for standby

Recently I met with an Oracle error "RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process" while deleting the archived logs through RMAN prompt.
I simulated the same on my test machine.

Note. I had configured standby for my primary database but not the upstream.

Followings are the excerpts from the RMAN output.


RMAN> delete noprompt archivelog all;

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=24 device type=DISK
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/admin/db1/arch/1_146_812203684.dbf thread=1 sequence=146
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/admin/db1/arch/1_147_812203684.dbf thread=1 sequence=147
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/admin/db1/arch/1_148_812203684.dbf thread=1 sequence=148
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/admin/db1/arch/1_149_812203684.dbf thread=1 sequence=149


I could delete those archivelogs using "force" option as well.
RMAN > delete noprompt force archivelog all;

But I dont want to do the same as those archivelogs have not shipped yet to the standby server.
So I changed the rman configuration to do the same.

RMAN> show all;
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO STANDBY;
new RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO STANDBY;
new RMAN configuration parameters are successfully stored
RMAN-08591: WARNING: invalid archived log deletion policy

RMAN> show all;
CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO STANDBY;

Now I was able to delete those archivelogs.

RMAN> delete noprompt archivelog all;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=147 device type=DISK
List of Archived Log Copies for database with db_unique_name DB1
=====================================================================

Key     Thrd Seq     S Low Time
------- ---- ------- - ---------
239     1    146     A 24-MAY-13
        Name: /u01/app/oracle/admin/db1/arch/1_146_812203684.dbf

247     1    147     A 24-MAY-13
        Name: /u01/app/oracle/admin/db1/arch/1_147_812203684.dbf

249     1    148     A 24-MAY-13
        Name: /u01/app/oracle/admin/db1/arch/1_148_812203684.dbf

250     1    149     A 24-MAY-13
        Name: /u01/app/oracle/admin/db1/arch/1_149_812203684.dbf
..........
..........
deleted archived log
archived log file name=/u01/app/oracle/admin/db1/arch/1_146_812203684.dbf RECID=239 STAMP=816273514
deleted archived log
.........
.........

RMAN> crosscheck archivelog all;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=147 device type=DISK
specification does not match any archived log in the repository

Once I deleted those logs, I changed the rman configuration by the default one.

RMAN> CONFIGURE ARCHIVELOG DELETION POLICY CLEAR;

old RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO STANDBY;
RMAN configuration parameters are successfully reset to default value

Thanks!!!

6 comments: