Nachdem die Oracle Datenbank erfolgreich upgegraded wurde beschwert sich der rman pötzlich, dass die Pakete RMAN.DBMS_RCVCAT sowie RMAN.DBMS_RCVMAN in einer veralteten Version vorliegen:
rman target / catalog $(cat .MeineGeheimenPassworte.inc) Recovery Manager: Release 11.2.0.4.0 - Production on Thu Dec 10 11:42:41 2015 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: S01 (DBID=1411928928) connected to recovery catalog database PL/SQL package RMAN.DBMS_RCVCAT version 11.02.00.03 in RCVCAT database is not current PL/SQL package RMAN.DBMS_RCVMAN version 11.02.00.03 in RCVCAT database is not current RMAN>
Ein register database oder ein resync catalog laufen gleich auf Fehler:
RMAN> register database; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of register command at 12/10/2015 11:44:06 RMAN-03014: implicit resync of recovery catalog failed RMAN-03009: failure of full resync command on default channel at 12/10/2015 11:44:06 RMAN-10015: error compiling PL/SQL program RMAN-10014: PL/SQL error 0 on line 3309 column 3: Statement ignored RMAN-10014: PL/SQL error 302 on line 3309 column 22: component 'GETPOLLEDREC' must be declared RMAN-10014: PL/SQL error 0 on line 2345 column 6: Statement ignored RMAN-10014: PL/SQL error 306 on line 2345 column 13: wrong number or types of arguments in call to 'BEGINRMANOUTPUTRESYNC' RMAN-10014: PL/SQL error 0 on line 1195 column 9: Statement ignored RMAN-10014: PL/SQL error 302 on line 1195 column 25: component 'ISROUTDUPLICATERECORD' must be declared RMAN>
RMAN> resync catalog; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of resync command on default channel at 12/10/2015 11:44:17 RMAN-10015: error compiling PL/SQL program RMAN-10014: PL/SQL error 0 on line 3309 column 3: Statement ignored RMAN-10014: PL/SQL error 302 on line 3309 column 22: component 'GETPOLLEDREC' must be declared RMAN-10014: PL/SQL error 0 on line 2345 column 6: Statement ignored RMAN-10014: PL/SQL error 306 on line 2345 column 13: wrong number or types of arguments in call to 'BEGINRMANOUTPUTRESYNC' RMAN-10014: PL/SQL error 0 on line 1195 column 9: Statement ignored RMAN-10014: PL/SQL error 302 on line 1195 column 25: component 'ISROUTDUPLICATERECORD' must be declared
Was hier weiter hilft ist einfach ein Upgrade des Catalogs:
RMAN> upgrade catalog; recovery catalog owner is RMAN enter UPGRADE CATALOG command again to confirm catalog upgrade RMAN> UPGRADE CATALOG; recovery catalog upgraded to version 11.02.00.04 DBMS_RCVMAN package upgraded to version 11.02.00.04 DBMS_RCVCAT package upgraded to version 11.02.00.04 RMAN>
Und schon haben die Pakete ein Versionsupgrade erfahren.
Bei einem anschließenden resync catalog kommt es dann aber zu einem Fehler.
RMAN> resync catalog; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of resync command on default channel at 12/10/2015 11:55:14 RMAN-20020: database incarnation not set RMAN>
Mittels list incarnation kann man sich zwar zeigen lassen welche Datenbankinkarnationen es gibt, ein einfaches unregister database gefolgt von einem register database hilft hier dann weiter:
RMAN> unregister database; database name is "S01" and DBID is 1411928928 Do you really want to unregister the database (enter YES or NO)? Yes database unregistered from the recovery catalog RMAN>