Recently, my colleagues reported that the database could not perform some data dictionary queries. An error occurs even when you query dba_users. From the error log, all are some error information of the data dictionary, and the user data is OK. Google a moment, looked at metalink, need to re-build the data dictionary. Run catalog. SQL. Dizzy, even if you execute this SQL statement, an error is reported! Data is not backed up. Khan !!! If you cannot successfully execute catalog. SQL, go to the next step.
I. Fault symptom
-- The background alert log appears a lot of ORA-00604, ORA-04045 error information
Tue Nov 5 14:14:02 2013
Errors in file/u02/database/XA4701/udump/XA4701_ora_30871.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-04045: errors during recompilation/revalidation of LBACSYS. LBAC_EVENTS
ORA-04064: not executed, invalidated
ORA-04064: not executed, invalidated package body "LBACSYS. LBAC_EVENTS"
ORA-06508: PL/SQL: cocould not find program unit being called: "LBACSYS. LBAC_EVENTS"
ORA-06512: at line 2
ORA-06508: PL/SQL: cocould not find program unit being called: "LBACSYS. LBAC_EVENTS"
ORA-06512: at line 2
-- The following is the specific information of the trace file.
Oracle @ DBBK10P: ~> More/u02/database/XA4701/udump/XA4701_ora_30871.trc
/U02/database/XA4701/udump/XA4701_ora_30871.trc
Oracle Database 10g Release 10.2.0.3.0-64bit Production
ORACLE_HOME =/users/oracle/OraHome10g
System name: Linux
Node name: linux-ejad
Release: 2.6.16.60-0.54.5-smp
Version: #1 SMP Fri Sep 4 01:28:03 UTC 2009
Machine: x86_64
Instance name: XA4701
Redo thread mounted by this instance: 1
Oracle process number: 22
Unix process pid: 30871, image: oracleXA4701 @ linux-ejad
* ** Service name: (XA4701) 14:14:02. 308
* ** Session id: (1092.3369) 14:14:02. 308
Skipped error 604 during the execution of LBACSYS. LBAC $ LOGON
* ** 14:14:02. 326
Ksedmp: internal or fatal error
ORA-00604: error occurred at recursive SQL level 1
ORA-04045: errors during recompilation/revalidation of LBACSYS. LBAC_EVENTS
ORA-04064: not executed, invalidated
ORA-04064: not executed, invalidated package body "LBACSYS. LBAC_EVENTS"
ORA-06508: PL/SQL: cocould not find program unit being called: "LBACSYS. LBAC_EVENTS"
ORA-06512: at line 2
ORA-06508: PL/SQL: cocould not find program unit being called: "LBACSYS. LBAC_EVENTS"
ORA-06512: at line 2
-- Query the data dictionary and receive similar errors
SQL> select comp_id, comp_name, version, status from dba_registry;
Select comp_id, comp_name, version, status from dba_registry
*
ERROR at line 1:
ORA-04045: errors during recompilation/revalidation of SYS. DBA_REGISTRY
ORA-04064: not executed, invalidated
ORA-04064: not executed, invalidated package body "LBACSYS. LBAC_EVENTS"
ORA-06508: PL/SQL: cocould not find program unit being called: "LBACSYS. LBAC_EVENTS"
ORA-06512: at line 2
ORA-06508: PL/SQL: cocould not find program unit being called: "LBACSYS. LBAC_EVENTS"
ORA-06512: at line 2
ORA-00904: "DBMS_REGISTRY". "SCHEMA_LIST_STRING": invalid identifier
For more details, please continue to read the highlights on the next page:
SPFILE error causing database startup failure (ORA-01565)
ORA-01172, ORA-01151 error handling
ORA-00600 [2662] troubleshooting
Troubleshooting for ORA-01078 and LRM-00109
Notes on ORA-00471 Processing Methods
ORA-00314, redolog corruption, or missing Handling Methods
Solution to ORA-00257 archive logs being too large to store