Workaround for RMAN-20204: translation not started in RMAN catalog database

I tested ‘open resetlogs’ is the quick workaround if RMAN stuck with “RMAN-20204: translation not started“. Well, it caught my attention when I saw “RMAN-20204: translation not started” in RMAN log file, of course, RMAN aborted right away.

>> RMAN-00571: ===========================================================
>> RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
>> RMAN-00571: ===========================================================
>> RMAN-03002: failure of backup plus archivelog command at 09/06/2011 02:00:03
>> RMAN-20204: translation not started

The interesting thing is all other databases in the same server got RMAN backup successfully. Hmm, the special database is RMAN catalog databases with multiple catalog schema inside. It is natural that I turned on RMAN DEBUG to collect more information.

$ rman target / cmdfile rcat.rman debug trace rman.trc log rman.log
RMAN> RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> => died right away
$ grep -i rman- rman.trc
RMAN-06005: connected to target database: RCAT (DBID=123456789)
RMAN-03023: executing command: SET COMMAND ID
RMAN-06009: using target database control file instead of recovery catalog
RMAN-08030: allocated channel: d1
RMAN-08500: channel d1: sid=136 devtype=DISK
RMAN-03090: Starting backup at 06/09/11 21:18
RMAN-03033: current log archived
RMAN-08031: released channel: d1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 09/06/2011 21:18:27
RMAN-06003: ORACLE error from target database:
RMAN-20204: translation not started
RMAN-06097: text of failing SQL statement: declare thread number ; sequence number ; recid number ; alRec dbms_rcvman . alRec_t ; begin dbms_rcvman . getArchivedLog ( alRec => alRec ) ; if ( :rlscn = alRec . rlgSCN and :stopthr = alRec . thread and ( ( alRec . sequence >= to_number ( :stopseq ) and :toclause = 0 ) or ( alRec . sequence > to_number ( :stopseq ) and :toclause = 1 ) ) ) then :flag := 1 ; else :flag := 0 ; :al_key:al_key_i := alRec . key ; :recid:recid_i := alRec . recid ; :stamp:stamp_i := alRec . stamp ; :thread := alRec . thread ; :se
RMAN-06099: error occurred in source file: krmk.pc, line: 33959

Now, I looked up Oracle Metalink to trace any bugs, however,  “Rman backup failsORA-00942 from Catalog database containing multiple catalog schemas [ID 1206254.1]can’t match this scenario 100%. It must be something else.

The original RMAN command is ‘backup *** database *** current controlfile *** plus archivelog’. Well, I took off ‘plus archivelog’, it worked. Then I run purposely with ‘list archivelog all’ and error reproduced.

RMAN> list archivelog all;

using target database control file instead of recovery catalog
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of list command at 09/07/2011 16:10:44
RMAN-20204: translation not started

All right, RMAN can’t recognize archivelog somewhere. Why not push it to next incarnation and reset log sequence from 1 again? It worked as I thought.

SQL> shutdown immediate
SQL> startup mount
...ORACLE instance started.
SQL> alter database recover until cancel;
Database altered.
SQL> alter database open resetlogs;
Database altered.
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /d01/archivelog/rcat
Oldest online log sequence     1
Next log sequence to archive   1
Current log sequence           1
SQL> exit
Disconnected from Oracle Database 10g Release 10.2.0.4.0 - 64bit Production

$ rman target /

Recovery Manager: Release 10.2.0.4.0 - Production on Wed Sep 7 16:40:50 2011
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
connected to target database: RCAT (DBID=123456789)

RMAN> list archivelog all;
List of Archived Log Copies
Key     Thrd Seq     S Low Time       Name
------- ---- ------- - -------------- ----

RMAN comes back.

 

 

About bigpang

Database Architect, AWS certified database specialist, Oracle certified cloud architect, Perl and Python advocate
This entry was posted in Linux, Oracle Database, Oracle RMAN backup and tagged , , , , , , , . Bookmark the permalink.

1 Response to Workaround for RMAN-20204: translation not started in RMAN catalog database

  1. Pingback: Workaround for RMAN-20204: translation not started | 老庞闲话

Leave a comment