Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

recompile SYS objects failed inspite running UTLRP.SQL

Karan KukrejaDec 28 2010 — edited Dec 29 2010
Hi all ,

I am on 11.1.0.7 and windows environment... i had the same issue in my oracle 11.10.7.0 on SPARC.


I had to delete my sys.aud$ table and recreate it and also i recreated dba_audit_trail view....

Once that was done , some of the views got invalid... so i ran this to make them valid... but it did not help... here is a part of the script...

I ran utlrp.sql but of no help :
SQL> @d:\oracle\product\11.1.0\db_1\rdbms\admin\UTLRP.SQL
 
TIMESTAMP
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
------------------------------------------------------------
COMP_TIMESTAMP UTLRP_BGN  2010-12-28 21:50:42
 
DOC>   The following PL/SQL block invokes UTL_RECOMP to recompile invalid
DOC>   objects in the database. Recompilation time is proportional to the
DOC>   number of invalid objects in the database, so this command may take
DOC>   a long time to execute on a database with a large number of invalid
DOC>   objects.
DOC>
DOC>   Use the following queries to track recompilation progress:
DOC>
DOC>   1. Query returning the number of invalid objects remaining. This
DOC>      number should decrease with time.
DOC>         SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);
DOC>
DOC>   2. Query returning the number of objects compiled so far. This number
DOC>      should increase with time.
DOC>         SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;
DOC>
DOC>   This script automatically chooses serial or parallel recompilation
DOC>   based on the number of CPUs available (parameter cpu_count) multiplied
DOC>   by the number of threads per CPU (parameter parallel_threads_per_cpu).
DOC>   On RAC, this number is added across all RAC nodes.
DOC>
DOC>   UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel
DOC>   recompilation. Jobs are created without instance affinity so that they
DOC>   can migrate across RAC nodes. Use the following queries to verify
DOC>   whether UTL_RECOMP jobs are being created and run correctly:
DOC>
DOC>   1. Query showing jobs created by UTL_RECOMP
DOC>         SELECT job_name FROM dba_scheduler_jobs
DOC>            WHERE job_name like 'UTL_RECOMP_SLAVE_%';
DOC>
DOC>   2. Query showing UTL_RECOMP jobs that are running
DOC>         SELECT job_name FROM dba_scheduler_running_jobs
DOC>            WHERE job_name like 'UTL_RECOMP_SLAVE_%';
DOC>#
 
PL/SQL procedure successfully completed.
 
 
TIMESTAMP
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
------------------------------------------------------------
COMP_TIMESTAMP UTLRP_END  2010-12-28 21:50:56
 
 
PL/SQL procedure successfully completed.
 
DOC> The following query reports the number of objects that have compiled
DOC> with errors (objects that compile with errors have status set to 3 in
DOC> obj$). If the number is higher than expected, please examine the error
DOC> messages reported with each object (using SHOW ERRORS) to see if they
DOC> point to system misconfiguration or resource constraints that must be
DOC> fixed before attempting to recompile these objects.
DOC>#
 
OBJECTS WITH ERRORS
-------------------
                  0
 
DOC> The following query reports the number of errors caught during
DOC> recompilation. If this number is non-zero, please query the error
DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors
DOC> are due to misconfiguration or resource constraints that must be
DOC> fixed before objects can compile successfully.
DOC>#
 
ERRORS DURING RECOMPILATION
---------------------------
                          0
 
 
PL/SQL procedure successfully completed.
 
Invoking Ultra Search Install/Upgrade validation procedure VALIDATE_WK
Ultra Search VALIDATE_WK done with no error
 
PL/SQL procedure successfully completed.
 
SQL> COLUMN object_name FORMAT A30
SQL> SELECT owner,
  2         object_type,
  3         object_name,
  4         status
  5  FROM   dba_objects
  6  WHERE  status = 'INVALID'
  7  ORDER BY owner, object_type, object_name;
 
OWNER                          OBJECT_TYPE         OBJECT_NAME
  STATUS
------------------------------ ------------------- -----------------------------
- -------
AUDIT_TEST                     PROCEDURE           EMPLOYER_DETAILS1
  INVALID
PUBLIC                         SYNONYM             DBA_AUDIT_EXISTS
  INVALID
PUBLIC                         SYNONYM             DBA_AUDIT_OBJECT
  INVALID
PUBLIC                         SYNONYM             DBA_AUDIT_SESSION
  INVALID
PUBLIC                         SYNONYM             DBA_AUDIT_STATEMENT
  INVALID
PUBLIC                         SYNONYM             DBA_COMMON_AUDIT_TRAIL
  INVALID
PUBLIC                         SYNONYM             USER_AUDIT_OBJECT
  INVALID
PUBLIC                         SYNONYM             USER_AUDIT_SESSION
  INVALID
PUBLIC                         SYNONYM             USER_AUDIT_STATEMENT
  INVALID
PUBLIC                         SYNONYM             USER_AUDIT_TRAIL
  INVALID
SYS                            VIEW                DBA_AUDIT_EXISTS
  INVALID
 
OWNER                          OBJECT_TYPE         OBJECT_NAME
  STATUS
------------------------------ ------------------- -----------------------------
- -------
SYS                            VIEW                DBA_AUDIT_OBJECT
  INVALID
SYS                            VIEW                DBA_AUDIT_SESSION
  INVALID
SYS                            VIEW                DBA_AUDIT_STATEMENT
  INVALID
SYS                            VIEW                DBA_COMMON_AUDIT_TRAIL
  INVALID
SYS                            VIEW                USER_AUDIT_OBJECT
  INVALID
SYS                            VIEW                USER_AUDIT_SESSION
  INVALID
SYS                            VIEW                USER_AUDIT_STATEMENT
  INVALID
SYS                            VIEW                USER_AUDIT_TRAIL
  INVALID
 
19 rows selected.
please suggest how to compile all these invalid objects

thanks
Kkukreja
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 26 2011
Added on Dec 28 2010
19 comments
32,299 views