RMAN Recovery Catalog with July PSU: How to resolve RASCHEMAVER and BASCHEMAVER schema mismatch

Related blog posts:


Thanks to Ah Huat Tan from Amway IT Services for keeping me updated!
Actually as I see that more people who got hit by this issue so I’d consider it to be worth to write about it.

Problem and Analysis

You’d apply the July 2016 PSU or BP. According to the readme you are required to upgrade your RMAN catalog afterwards. The readme says:

If you are using the Oracle Recovery Manager, the catalog needs to be upgraded. Enter the following command to upgrade it:

$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;

I think there’s a second “upgrade catalog” command necessary but I may be wrong.
Anyhow, if you do this after applying the July 2016 PSU or BP you may see the following error:

RMAN>
RMAN-06435: recovery catalog owner is CATALOG5
RMAN-06442: enter UPGRADE CATALOG command again to confirm catalog upgrade

RMAN>
RMAN-06444: error creating dbms_rcvcat package body
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-06443: error upgrading recovery catalog

When you try now to recompile the package manually you’ll get:

    SYS@CATDB> alter package catalog5.DBMS_RCVCAT compile body;

    Warning: Package Body altered with compilation errors.

    SYS@CATDB> show error
    Errors for PACKAGE BODY CATALOG5.DBMS_RCVCAT:

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    11328/12 PL/SQL: Item ignored
    11328/12 PLS-00201: identifier 'BASCHEMAVER.VERSION' must be declared
    11340/6  PL/SQL: SQL Statement ignored
    11342/13 PL/SQL: ORA-00942: table or view does not exist
    11345/9  PL/SQL: Statement ignored
    11345/9  PLS-00320: the declaration of the type of this expression is incomplete or malformed

    11348/3  PL/SQL: Statement ignored
    11348/7  PLS-00320: the declaration of the type of this expression is incomplete or malformed

    11353/3  PL/SQL: Statement ignored
    11353/54 PLS-00320: the declaration of the type of this expression is incomplete or malformed

Explanation

This got caused by a wrong library being shipped wrongly with the July PSU and BP meant for ZDLRA only.

Solution

Please apply patch for Bug 24461826RMAN-06443: ERROR UPGRADING RECOVERY CATALOG AFTER APPLYING PATCH. The bug is non-public and therefore not visible.

Sorry for the inconvenience.

–Mike

3 thoughts on “RMAN Recovery Catalog with July PSU: How to resolve RASCHEMAVER and BASCHEMAVER schema mismatch

  1. Looks like they did it again with the August 2017 bundle for Exadata:

    Every ‘upgrade catalog’ on Exadata with August bundle patch fails (except if the catalog has been created with the August bundle version itself.)

    RMAN> upgrade catalog;

    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-01005: cannot upgrade catalog using Recovery Appliance RMAN executable

    Exadata with August bundle patch:

    Patch 26609798 : applied on Thu Sep 07 09:52:35 CEST 2017
    Unique Patch ID: 21481992
    Patch description: “DATABASE BUNDLE PATCH: 12.1.0.2.170814 (26609798)”
    Created on 10 Aug 2017, 06:34:10 hrs PST8PDT

    ll $ORACLE_HOME/rdbms/admin/recover.bsq
    -rw-r–r– 1 oracle oinstall 4134934 Aug 10 17:43 /u01/app/oracle/product/12.1.0.2/dbhome_2/rdbms/admin/recover.bsq

    cat $ORACLE_HOME/rdbms/admin/recover.bsq|grep aschemavers
    raschemaversion 1

    Standalone
    26609783;Database Patch Set Update : 12.1.0.2.170814 (26609783)

    ll $ORACLE_HOME/rdbms/admin/recover.bsq
    -rwxr-xr-x. 1 orarmant oracle 3846512 Jun 29 09:58 /app/oracle/rmant/product/12.1.0.2/dbhome_1/rdbms/admin/recover.bsq

    cat $ORACLE_HOME/rdbms/admin/recover.bsq|grep aschemavers
    baschemaversion 0

    ==> If you modify recover.bsq on Exadata to ‘baschemaversion 0’, ‘upgrade catalog’ of catalogs created with older versions, work.

Leave a Reply

Your email address will not be published. Required fields are marked *