Saturday, May 28, 2022

DBCA failed with error "ORA-04062: signature of package "SYS.DBMS_BACKUP_RESTORE" has been changed"


Symptom during DBCA on OACLE_HOME with RU/PSU installed

46% complete
100% complete
[FATAL] Error while restoring PDB backup piece
-- from $ORACLE_BASE/cfgtoollogs/dbca/ORCLCDB/trace.log_xxxxx
[Thread-244] [ 2022-05-28 08:31:49.022 UTC ] [RMANUtil$RMANUtilErrorListener.handleError:1386]  ERROR=RMAN-03002: failure of restore command at 05/28/2022 08:31:48
[Thread-244] [ 2022-05-28 08:31:49.022 UTC ] [RMANUtil$RMANUtilErrorListener.handleError:1386]  ERROR=ORA-04062: signature of package "SYS.DBMS_BACKUP_RESTORE" has been changed
[Thread-244] [ 2022-05-28 08:31:49.022 UTC ] [RMANUtil$RMANUtilErrorListener.handleError:1386]  ERROR=RMAN>
[Thread-244] [ 2022-05-28 08:31:49.022 UTC ] [RMANUtil$RMANUtilErrorListener.handleError:1386]  ERROR=echo set on

Root Cause

ORA-04062 on "SYS.DBMS_BACKUP_RESTORE" because datapatch failed, which supposes to recreate RMAN packages based on installed RU/PSU patches.

[progressPage.flowWorker] [ 2022-05-28 08:57:16.357 UTC ] [CloneDBCreationStep.executeImpl:836]  executing datapatch /u01/db/OPatch/datapatch
[progressPage.flowWorker] [ 2022-05-28 08:57:16.357 UTC ] [CloneDBCreationStep.executeImpl:836]  executing datapatch /u01/db/OPatch/datapatch
[progressPage.flowWorker] [ 2022-05-28 08:57:25.369 UTC ] [CloneDBCreationStep.executeImpl:839]  datapatch returned with exit status 1

The cause for data patch failure is NOT able to query OPATCH

SQL> select * from OPATCH_XML_INV ;
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-29400: data cartridge error
KUP-04095: preprocessor command /u01/db193/QOpatch/qopiprep.bat encountered
error "locale: Cannot set LC_CTYPE to default locale: No such file or directory"

Solution for my case

export LANG=en_US.utf-8
export LC_ALL=en_US.utf-8

Add these 2 lines into /etc/environment for permanently change: