Daten sind unsere Leidenschaft!

PLS-00553 beim Restore mit RMAN

Es geht hier um ein Problem des fehlenden bzw. falschen default charaterset des RMAN-Cataloges.
Dies ist in Metalink durch hinlänglich viele Bug’s beschrieben für die Versionen 8.1 über 9 bis hin zu 10.2.0.5.

Mein Problem:

Beim Erstellen eines Klones (ich verwende das Backup einer anderen DB für das Recovery) der Produktion in eine Abnahmeumgebung tritt folgender Fehler auf und RMAN beendet sich:

RMAN-06900: WARNING: unable to generate V$RMAN_STATUS or V$RMAN_OUTPUT row
RMAN-06901: WARNING: disabling update of the V$RMAN_STATUS and V$RMAN_OUTPUT rows
RMAN-06003: ORACLE error from target database:
ORA-06550: line 1, column 152:
PLS-00553: character set name is not recognized
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated

und

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 09/01/2010 15:09:59
ORA-06550: line 1, column 43:
PLS-00553: character set name is not recognized
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated

Was bis dahin erfolgreich durchgeführt wurde, war der Restore der Controlfiles und die Ausführung verschiedener SQL-Statements (z.b. Löschen der Standby Logs und Deaktivieren von Flashback). Der Fehler tritt auf bei dem eigentlichen RESTORE-Kommando.

Der Workaround

Ein schneller Workaround für dieses Problem sieht folgendermassen aus:

  1. Im RMAN-Template wird alles auskommentiert was bis dato erfolgreich ausgeführt wurde
  2. Neustart des RMAN und alles funktioniert.

Das RMAN-Template

Das Template für den 2.ten Versuch:

run {
   allocate channel t1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/var/opt/oracle/conf/tdpo.opt),BLKSIZE=524288';
   #
#   restore controlfile;
#   alter database mount;
   #
#   SQL "alter database flashback off";
#   SQL "alter database set standby database to maximize  performance";
#   SQL "alter database disable block change tracking";
#   SQL "alter database drop standby logfile group     11";
   #
   restore database FORCE CHECK READONLY;
   #
   recover database delete archivelog;
}

Bildnachweise:
Titelbild: © sqldev-101614-2340766-ci

Das könnte Sie auch interessieren

Bleiben Sie informiert:

its-people hilft Ihnen...

Weitere Blogthemen: