Symptoms
Unable to connect RMAN Prompt
$RMAN TARGET /
Rman Connect Target Fails With ORA-06508 or RMAN-04015 or PLS-00201
RMAN-00571:========================================================
RMAN-00569:============== ERROR MESSAGE STACK FOLLOWS =============
RMAN-00571:========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-04063: package body "APPS.DBMS_BACKUP_RESTORE" has errors
ORA-06508: PL/SQL: could not find program unit being called: "APPS.DBMS_BACKUP_RESTORE"
ORA-06512: at line 1
RMAN-04015: error setting target database character set to UTF8
Solution:
SQL> Select object_name,object_type,owner,status from dba_objects where object_name like '%DBMS_BACKUP%'
OBJECT_NAME OBJECT_TYPE OWNER STATUS
------------------- -------------- ------- ------
DBMS_BACKUP_RESTORE PACKAGE SYS VALID
DBMS_BACKUP_RESTORE PACKAGE SYSADM VALID
DBMS_BACKUP_RESTORE PACKAGE BODY SYSADM INVALID
The issue occurs because there is a user created Login trigger which seems to change user name
SQL> select owner,trigger_name,triggering_event,status from dba_triggers where triggering_event like '%LOGON%' ;
Disable the trigger one by one and check if you are able to connect to rman.
SQL>Alter trigger <trigger_name> disable ;
Once you find the problematic Trigger enable other Logon trigger. Check the code used in Trigger and make changes accordingly
---------------------------
PLS-00201: identifier 'DBMS_BACKUP_RESTORE.SET_CHARSET' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
RMAN-04015: error setting target database character set to UTF8
ARCHIVELOG BACKUP error on DBNAME
or
RMAN-00571: =================================================
RMAN-00569: =========== ERROR MESSAGE STACK FOLLOWS =========
RMAN-00571: =================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database: ORA-06550: line 1, column 7:
PLS-00201: identifier 'DBMS_BACKUP_RESTORE.SET_CHARSET' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
RMAN-04015: error setting target database character set to US7ASCII
SQL> select count(*) from dba_objects
where object_name like '%DBMS_BACKUP_RESTORE%';
If not returned 0 zeros. Then proceed with below steps.
If the below steps are not worked to solve the issue then use the above resloution steps.
$sqlplus "/as sysdba"
SQL > startup restrict
SQL > @?/rdbms/admin/catalog.sql
SQL > @?/rdbms/admin/catproc.sql
SQL > @?/rdbms/admin/utlrp.sql
Keep in mind that running catproc.sql will invalidate all PL/SQL
and many other related objects, so we must need to run utlrp.sql script.
Shutdown your database in the normal mode and startup with the normal mode.
Reference: RMAN-554 RMAN-4005 PLS-201 RMAN-4015 when Connecting to Target Database [ID 97294.1]
Rman Connect Target Fails With ORA-06508 RMAN-04015 [ID 1317517.1]
############################################### All The Best ###############################################
No comments:
Post a Comment