Thursday 26 February 2015

utlrp.sql fails with: ORA-04045: errors during recompilation/revalidation of SYS.DBMS_REGISTRY_SYS

Issue :   utlrp.sql thrown the below errors

cd $ORACLE_HOME/rdbms/admin

sqlplus '/as sysdba'

SQL:/>  @utlrp.sql

PL/SQL procedure successfully completed.
DROP function local_enquote_name
*
ERROR at line 1:
ORA-04045: errors during recompilation/revalidation of SYSTEM.DROPLOG_TRIGGER
ORA-01031: insufficient privileges

BEGIN dbms_registry_sys.validate_components; END;
*
ERROR at line 1:
ORA-04045: errors during recompilation/revalidation of SYS.DBMS_REGISTRY_SYS
ORA-01031: insufficient privileges
ORA-06508: PL/SQL: could not find program unit being called:
"SYS.DBMS_REGISTRY_SYS"
ORA-06512: at line 1


Solution:

Either disable the trigger (alter system disable trigger sys.NAMECHECK_BEFORE_DDL_DB_TRG) OR disable the execution of all triggers on system level (ALTER SYSTEM SET "_system_trig_enabled" = FALSE;)

Eg:
sqlplus '/as sysdba'

SQL:/> ALTER SYSTEM SET "_system_trig_enabled" = FALSE




Reference Blog: 

http://blog.ronnyegner-consulting.de/2013/07/16/recompile-database-objects-utlrp-fails-with-ora-04045-errors-during-recompilationrevalidation-of-sys-dbms_registry_sys/



No comments:

Post a Comment