Wednesday, April 27, 2016

solutions for handling RMAN-08138

configured
"CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 2 TIMES TO DISK;  "


when

RMAN> delete noprompt archivelog until time 'sysdate-14';

starting full resync of recovery catalog
full resync complete
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=156 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=279 device type=DISK
RMAN-08138: WARNING: archived log not deleted - must create more backups
archived log file name=/cc014/oraarch/TESTDB/TESTDB_0001_761215983_43224.arc thread=1 sequence=43224
RMAN-08138: WARNING: archived log not deleted - must create more backups
archived log file name=/cc014/oraarch/TESTDB/TESTDB_0001_761215983_43225.arc thread=1 sequence=43225
RMAN-08138: WARNING: archived log not deleted - must create more backups
archived log file name=/cc014/oraarch/TESTDB/TESTDB_0001_761215983_43226.arc thread=1 sequence=43226
RMAN-08138: WARNING: archived log not deleted - must create more backups
archived log file name=/cc014/oraarch/TESTDB/TESTDB_0001_761215983_43227.arc thread=1 sequence=43227
RMAN-08138: WARNING: archived log not deleted - must create more backups
archived log file name=/cc014/oraarch/TESTDB/TESTDB_0001_761215983_43228.arc thread=1 sequence=43228
RMAN-08138: WARNING: archived log not deleted - must create more backups


We can also notice those archive log files are marked as X (expired).

457433  1    50363   X 2014-AUG-04 21:55:02
        Name: /cc014/oraarch/TESTDB/TESTDB_0001_761215983_50363.arc

457434  1    50364   X 2014-AUG-04 21:56:31
        Name: /cc014/oraarch/TESTDB/TESTDB_0001_761215983_50364.arc

457435  1    50365   X 2014-AUG-04 22:32:17
        Name: /cc014/oraarch/TESTDB/TESTDB_0001_761215983_50365.arc

457436  1    50366   X 2014-AUG-04 22:53:36
        Name: /cc014/oraarch/TESTDB/TESTDB_0001_761215983_50366.arc

457437  1    50367   X 2014-AUG-04 22:55:08
        Name: /cc014/oraarch/TESTDB/TESTDB_0001_761215983_50367.arc

457438  1    50368   X 2014-AUG-04 22:56:33
        Name: /cc014/oraarch/TESTDB/TESTDB_0001_761215983_50368.arc

457439  1    50369   X 2014-AUG-04 23:51:36


since those files are manually purged and no longer on disk, my workaround for this test database is to temporally clear the archivelog deletion policy.

CONFIGURE ARCHIVELOG DELETION POLICY CLEAR;


Then, re-execute the command again, which went through.

archived log file name=/cc014/oraarch/TESTDB/TESTDB_0001_761215983_57460.arc RECID=57442 STAMP=908508642
deleted archived log
archived log file name=/cc014/oraarch/TESTDB/TESTDB_0001_761215983_57461.arc RECID=57443 STAMP=908521666
deleted archived log
archived log file name=/cc014/oraarch/TESTDB/TESTDB_0001_761215983_57462.arc RECID=57444 STAMP=908538814
Deleted 14239 objects



Now , I can enable the deletion policy again.

CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 2 TIMES TO DISK;  



Believe below two methods also work which I googled.

http://oraclehariprasathdba.blogspot.sg/2013/02/how-to-force-oracle-rman-to-delete-all.html

delete force archivelog all;

http://oraclebyravi.blogspot.sg/2013/08/rman-08138-warning-archived-log-not.html

delete noprompt expired archivelog all;