Recently, I undertook the task of upgrading an Oracle database from version 19.10 to 19.18. As the process progressed, I began to encounter a series of errors that were consistently appearing in the alert log.
ARC3 (PID:3646): Archived Log entry 3829 added for T-1.S-6 ID 0xbc253a92 LAD:1 2023-05-23T06:12:14.930888+02:00 PL/SQL package SYS.DBMS_BACKUP_RESTORE version is not current PL/SQL package SYS.DBMS_RCVMAN version 19.10.00.00 is too old PL/SQL package SYS.DBMS_BACKUP_RESTORE version is not current PL/SQL package SYS.DBMS_RCVMAN version 19.10.00.00 is too old
After diving deep into the issue, it was discovered that running a series of scripts after the upgrade would effectively solve the problem. Furthermore, it was necessary to recompile the invalid packages. Without any delay, I proceeded to execute the specified scripts and recompile the invalid objects.
SQL> @$ORACLE_HOME/rdbms/admin/dbmsrman.sql SQL> @$ORACLE_HOME/rdbms/admin/dbmsbkrs.sql SQL> @$ORACLE_HOME/rdbms/admin/prvtrmns.plb SQL> @$ORACLE_HOME/rdbms/admin/prvtbkrs.plb
SQL*Plus: Release 19.0.0.0.0 - Production on Tue May 23 06:15:14 2023 Version 19.18.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.18.0.0.0 SQL> @$ORACLE_HOME/rdbms/admin/dbmsrman.sql Session altered. Package created. PL/SQL procedure successfully completed. PL/SQL procedure successfully completed. PL/SQL procedure successfully completed. Grant succeeded. Grant succeeded. Grant succeeded. Grant succeeded. Grant succeeded. PL/SQL procedure successfully completed. Synonym dropped. View dropped. Function dropped. Type dropped. Type dropped. Type dropped. Type created. Type created. Type created. Type body created. Function created. View created. Synonym created. Synonym created. Grant succeeded. Synonym dropped. View dropped. Synonym dropped. View dropped. Synonym dropped. View dropped. Function dropped. Type dropped. Type dropped. Type dropped. Type created. Type created. Type created. Type body created. Function created. View created. View created. Synonym created. Synonym created. View created. View created. Synonym created. Synonym created. View created. View created. Synonym created. Synonym created. Grant succeeded. Grant succeeded. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. View created. Synonym created. Grant succeeded. Session altered. SQL> @$ORACLE_HOME/rdbms/admin/dbmsbkrs.sql Session altered. Package created. Session altered. SQL> @$ORACLE_HOME/rdbms/admin/prvtrmns.plb Session altered. Package body created. Session altered. SQL> @$ORACLE_HOME/rdbms/admin/prvtbkrs.plb Session altered. Package body created. Session altered. SQL> set pagesize 1000 select 'alter '||decode(object_type,'PACKAGE BODY','PACKAGE',object_type)||' '||owner||'.'||object_name||' compile '|| decode(object_type,'PACKAGE BODY','body','PACKAGE','BODY')||';' from dba_objects where status = 'INVALID' AND object_type <>'SYNONYM'; SQL> 2 3 4 'ALTER'||DECODE(OBJECT_TYPE,'PACKAGEBODY','PACKAGE',OBJECT_TYPE)||''||OWNER||'.' -------------------------------------------------------------------------------- alter VIEW BACKUP_MGR.RMAN_BACKUP_ARCHIVELOG_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_ARCHIVELOG_SUMMARY compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_CONTROLFL_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_CONTROLFL_SUMMARY compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_DATAFILE_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_DATAFILE_SUMMARY compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_FILES compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_JOB_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_SET_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_SET_SUMMARY compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_SPFILE_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_SPFILE_SUMMARY compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_SUBJOB_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_UNUSABLE_BACKUP_DETAILS compile ; 14 rows selected. SQL> alter VIEW BACKUP_MGR.RMAN_BACKUP_ARCHIVELOG_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_ARCHIVELOG_SUMMARY compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_CONTROLFL_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_CONTROLFL_SUMMARY compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_DATAFILE_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_DATAFILE_SUMMARY compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_FILES compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_JOB_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_SET_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_SET_SUMMARY compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_SPFILE_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_SPFILE_SUMMARY compile ; alter VIEW BACKUP_MGR.RMAN_BACKUP_SUBJOB_DETAILS compile ; alter VIEW BACKUP_MGR.RMAN_UNUSABLE_BACKUP_DETAILS compile ; View altered. SQL> View altered. SQL> View altered. SQL> View altered. SQL> View altered. SQL> View altered. SQL> View altered. SQL> View altered. SQL> View altered. SQL> View altered. SQL> View altered. SQL> View altered. SQL> View altered. SQL> View altered.
And voila, problem solved! I hope this post comes in handy for you!
References:
MOS note: PL/SQL package SYS.DBMS_BACKUP_RESTORE Version is Not Current (Doc ID 2741760.1)
Hi! I am Bruno, a Brazilian born and bred, and I am also a naturalized Swedish citizen. I am a former Oracle ACE and, to keep up with academic research, I am a Computer Scientist with an MSc in Data Science and another MSc in Software Engineering. I have over ten years of experience working with companies such as IBM, Epico Tech, and Playtech across three different countries (Brazil, Hungary, and Sweden), and I have joined projects remotely in many others. I am super excited to share my interests in Databases, Cybersecurity, Cloud, Data Science, Data Engineering, Big Data, AI, Programming, Software Engineering, and data in general.
(Continue reading)