

Run the script immediately after installation, to ensure that users do not encounter invalid objects. It is the same with objects like packages, procedures and functions. If I rebuild a table, the indexes on that table will become invalid because they use the table's rowids and rebuilding the table changes a row's rowid. The utlrp.sql script recompiles all invalid objects. Answer: The Oracle database will invalidate objects if a dependent object is changed. asifkabirdba Member Posts: 3,358 Gold Trophy. ORA-00001: the unique constraints violation (SYSMAN.MGMTARUFAMPRDPK) import was completed successfully with warnings. EXEC pileschema (schema > 'user') or you need to take spool of those invalid objects and need to compile.
#ORACLE RECOMPILE INVALID OBJECTS UPGRADE#
****************** End of Recompiling Invalid Objects ********************* Oracle recommends that you run the utlrp.sql script after you install, patch, or upgrade a database, to identify and recompile invalid objects. you can recompile schema level objects as. V_sql:=dbms_metadata.get_ddl(object_type=>'SYNONYM', V_sql:='ALTER PACKAGE ' || v.owner || '.' || v.object_name || ' COMPILE BODY' COMPILE BODYįor the SYNONYMS (which don’t necessarily need to be recompiled) the most reliable way to obtain the VALID status is to recreate them using dbms_metadata.get_ddl function.īelow is a complete script that puts everything together:

For the PACKAGE BODY objects the syntax changes just slightly:ĪLTER PACKAGE. However, PACKAGE BODY and SYNONYM objects require some special treatment.
Otherwise compile the invalid objects manually: SQL> alter packageNormally, an Oracle object can be recompiled with the following SQL:ĪLTER. Recompile the invalid objects of Grid Repository. Recompiling the invalid objects involves a few tricks.

Finding invalid Oracle object is a fairly simple DBA task (run as system or a user with select privilege on dba_objects view):
