Friday 13 January 2012

RMAN-06089: archived log /u01/oradata/MASTERDB/arch/log125552_1.arc not found or out of sync with catalog

Problem:
========
When you use RMAN to backup the archivelogs against your database, you got the following errors:

RMAN> run {
2> allocate channel c1 type disk format ' /u01/oradata/MASTERDB/arch/’;
3> backup  archivelog all;
4> release channel d1;
5>}

RMAN-03026: error recovery releasing channel resources
RMAN-08031: released channel: c1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure during compilation of command
RMAN-03013: command type: backup
RMAN-06089: archived log /u01/oradata/MASTERDB/arch/log125552_1.arc not found or out of sync with catalog

Cause:
=====


The RMAN-06089 error occurs because RMAN is unable to backup archive logs at the archive destination.
There's a mismatch of archive logs between what is in controlfile/recoverY catalog and what is physically on disk. The reason is, someone removed archivelogs on the OS manually.

Solution:
=========
Try the following

Oracle 8i
rman> allocate channel for maintenance type disk;
rman> change archivelog all crosscheck;

Oracle 9i
rman> allocate channel for maintenance type disk;
rman>
crosscheck archivelog all;

If catalog Database is there. Please do the following before and after the crosscheck command

rman> resync catalog;

This should change the status of the missing archivelogs to 'EXPIRED', after this RMAN will no longer try to backup these missing files.

Example
======
RMAN> connect catalog rman/manager@rmanDB;

RMAN-06008: connected to recovery catalog database

RMAN> Change Archivelog All Validate;

RMAN-03022: compiling command: change
RMAN-03025: performing implicit partial resync of recovery catalog
RMAN-03023: executing command: partial resync
RMAN-08003: starting partial resync of recovery catalog
RMAN-08005: partial resync complete
RMAN-06158: validation succeeded for archived log
RMAN-08514: archivelog filename=/u01/oradata/MASTERDB/arch/log157079_1.arc recid=156817 stamp=772115838
RMAN-06158: validation succeeded for archived log
RMAN-08514: archivelog filename=/u01/oradata/MASTERDB/arch/log157080_1.arc recid=156815 stamp=772115830
RMAN-06158: validation succeeded for archived log
RMAN-08514: archivelog filename=/u01/oradata/MASTERDB/arch/log157081_1.arc recid=156816 stamp=772115830
RMAN-06158: validation succeeded for archived log
RMAN-08514: archivelog filename=/u01/oradata/MASTERDB/arch/log157082_1.arc recid=156818 stamp=772115843


After backup

RMAN> run {
2> allocate channel c1 type disk format ' /u01/oradata/MASTERDB/arch/’;
3> backup  archivelog all;
4> release channel d1;
5>}


RMAN-03022: compiling command: backup
RMAN-03025: performing implicit partial resync of recovery catalog
RMAN-03023: executing command: partial resync
RMAN-08003: starting partial resync of recovery catalog
RMAN-08005: partial resync complete
RMAN-03023: executing command: backup
RMAN-08009: channel c1: starting archivelog backupset
RMAN-08502: set_count=63583 set_stamp=772375289 creation_time=12-JAN-12 12:41:29
RMAN-08014: channel c1: specifying archivelog(s) in backup set
RMAN-08504: input archivelog thread=1 sequence=157079 recid=156817 stamp=772115838
RMAN-08504: input archivelog thread=1 sequence=157080 recid=156815 stamp=7721
.
.

Thanks for reading. Enjoy learning. J
Contact me on sulfidba@gmail.com for further assistance.

No comments:

Post a Comment