Recompile database objects (utlrp) fails with: ORA-04045: errors during recompilation/revalidation of SYS.DBMS_REGISTRY_SYS

Hi just discovered another flaw when having the workaround for CVE-2012-3132 in place. If you try to compile invalid database objects it will fail with:

SQL> @$ORACLE_HOME/rdbms/admin/utlrp
SELECT dbms_registry_sys.time_stamp('utlrp_bgn') as timestamp from dual
 *
ERROR at line 1:
ORA-04045: errors during recompilation/revalidation of SYS.DBMS_REGISTRY_SYS
ORA-04067: not executed, package body "SYS.NAME_SECURITY" does not exist

 

The solution for this is:

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;)

This entry was posted in Oracle in general. Bookmark the permalink.

4 Responses to Recompile database objects (utlrp) fails with: ORA-04045: errors during recompilation/revalidation of SYS.DBMS_REGISTRY_SYS

  1. Tako Au says:

    Hi Ronny,

    Yeah this is great! I encountered the same after upgrading the database to 11.2.0.3

  2. sudhakar says:

    Hi Ronny,

    Thanks for your solution, it worked perfectly.

    Regards,
    Sudhakar.

  3. Pingback: haga clic en la página web hasta que viene

  4. Norbert N. says:

    Hi Ronny,

    This really helped me

    Thanks a million

Leave a Reply

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