Check the package DBMS_AUDIT_UTIL is invalid state

Recompile the DBMS_AUDIT_UTIL package is in invalid state in Oracle

First, Try to recompile them

ALTER PACKAGE SYS.DBMS_AUDIT_UTIL COMPILE;
ALTER PACKAGE SYS.DBMS_AUDIT_UTIL COMPILE BODY;

Check the compilation errors:

SELECT * FROM DBA_ERRORS WHERE OWNER='SYS' AND NAME='DBMS_AUDIT_UTIL';

OWNER
----------------------------------------------------------------------------------------------------
NAME
----------------------------------------------------------------------------------------------------
TYPE                  SEQUENCE       LINE   POSITION
------------------- ---------- ---------- ----------
TEXT
----------------------------------------------------------------------------------------------------
ATTRIBUTE MESSAGE_NUMBER
--------- --------------
SYS
DBMS_AUDIT_UTIL
PACKAGE                      1        273         55
PLS-00302: component 'SOURCE' must be declared
ERROR                302

SYS
DBMS_AUDIT_UTIL
PACKAGE                      2          0          0
PL/SQL: Compilation unit analysis terminated
ERROR                  0

SYS
DBMS_AUDIT_UTIL
PACKAGE BODY                 1          1         14
PLS-00905: object SYS.DBMS_AUDIT_UTIL is invalid
ERROR                905

For recreate and fix the error use the following package:

Re-create DBMS_AUDIT_UTIL package specification

@$ORACLE_HOME/rdbms/admin/dbmsaudutl.sql

Re-create DBMS_AUDIT_UTIL package body

@$ORACLE_HOME/rdbms/admin/prvtaudutl.plb

Performed a test case to make it valid:

Testcase:


OWNER      OBJECT_NAME                              OBJECT_TYPE          STATUS  O
---------- ---------------------------------------- -------------------- ------- -
SYS        DBMS_AUDIT_UTIL                          PACKAGE              VALID   Y
PUBLIC     DBMS_AUDIT_UTIL                          SYNONYM              VALID   Y
SYS        DBMS_AUDIT_UTIL_LIB                      LIBRARY              VALID   Y
SYS        DBMS_AUDIT_UTIL                          PACKAGE BODY         VALID   Y

SQL>
 

SQL> drop package DBMS_AUDIT_UTIL;

Package dropped.
 

select owner, object_name, object_type, status,ORACLE_MAINTAINED from dba_objects where object_name like '%DBMS_AUDIT_UTIL%';SQL> SQL> SQL> SQL> SQL>

OWNER      OBJECT_NAME                              OBJECT_TYPE          STATUS  O
---------- ---------------------------------------- -------------------- ------- -
PUBLIC     DBMS_AUDIT_UTIL                          SYNONYM              INVALID Y
SYS        DBMS_AUDIT_UTIL_LIB                      LIBRARY              VALID   Y

 

SQL> @$ORACLE_HOME/rdbms/admin/cataudit.sql

Session altered.
 

select owner, object_name, object_type, status,ORACLE_MAINTAINED from dba_objects where object_name like '%DBMS_AUDIT_UTIL%';SQL> SQL> SQL> SQL> SQL>

OWNER      OBJECT_NAME                              OBJECT_TYPE          STATUS  O
---------- ---------------------------------------- -------------------- ------- -
PUBLIC     DBMS_AUDIT_UTIL                          SYNONYM              INVALID Y
SYS        DBMS_AUDIT_UTIL_LIB                      LIBRARY              VALID   Y
 

SQL> @$ORACLE_HOME/rdbms/admin/prvtaudutl.plb

Session altered.

Library created.

Warning: Package Body created with compilation errors.

Session altered.

SQL> select owner, object_name, object_type, status,ORACLE_MAINTAINED from dba_objects where object_name like '%DBMS_AUDIT_UTIL%';

OWNER      OBJECT_NAME                              OBJECT_TYPE          STATUS  O
---------- ---------------------------------------- -------------------- ------- -
PUBLIC     DBMS_AUDIT_UTIL                          SYNONYM              VALID   Y
SYS        DBMS_AUDIT_UTIL_LIB                      LIBRARY              VALID   Y
SYS        DBMS_AUDIT_UTIL                          PACKAGE BODY         INVALID Y

SQL> @$ORACLE_HOME/rdbms/admin/dbmsaudutl.sql

Session altered.
 

SQL> select owner, object_name, object_type, status,ORACLE_MAINTAINED from dba_objects where object_name like '%DBMS_AUDIT_UTIL%';

OWNER      OBJECT_NAME                              OBJECT_TYPE          STATUS  O
---------- ---------------------------------------- -------------------- ------- -
SYS        DBMS_AUDIT_UTIL                          PACKAGE              VALID   Y
PUBLIC     DBMS_AUDIT_UTIL                          SYNONYM              VALID   Y
SYS        DBMS_AUDIT_UTIL_LIB                      LIBRARY              VALID   Y
SYS        DBMS_AUDIT_UTIL                          PACKAGE BODY         INVALID Y

SQL> ALTER PACKAGE SYS.DBMS_AUDIT_UTIL COMPILE BODY;

Package body altered.

SQL> select owner, object_name, object_type, status,ORACLE_MAINTAINED from dba_objects where object_name like '%DBMS_AUDIT_UTIL%';

OWNER      OBJECT_NAME                              OBJECT_TYPE          STATUS  O
---------- ---------------------------------------- -------------------- ------- -
SYS        DBMS_AUDIT_UTIL                          PACKAGE              VALID   Y
PUBLIC     DBMS_AUDIT_UTIL                          SYNONYM              VALID   Y
SYS        DBMS_AUDIT_UTIL_LIB                      LIBRARY              VALID   Y
SYS        DBMS_AUDIT_UTIL                          PACKAGE BODY         VALID   Y
This entry was posted in Oracle on by .
Unknown's avatar

About SandeepSingh

Hi, I am working in IT industry with having more than 15 year of experience, worked as an Oracle DBA with a Company and handling different databases like Oracle, SQL Server , DB2 etc Worked as a Development and Database Administrator.

Leave a Reply