Peter Larsen

PLS-00201: identifier must be declared


Today I tried to compile an Invalid Object and faced the below.

Issue : 

SQL> ALTER PACKAGE OWAPUB.OWA_OPT_LOCK COMPILE BODY;

Warning: Package Body altered with compilation errors.

SQL> show error
Errors for PACKAGE BODY OWAPUB.OWA_OPT_LOCK:

LINE/COL ERROR
-------- -----------------------------------------------------------------
40/12    PL/SQL: Statement ignored
40/12    PLS-00201: identifier 'SYS.DBMS_SYS_SQL' must be declared
72/5     PL/SQL: Statement ignored
72/5     PLS-00201: identifier 'SYS.DBMS_SYS_SQL' must be declared
102/6    PL/SQL: Statement ignored
102/6    PLS-00201: identifier 'SYS.DBMS_SYS_SQL' must be declared
144/6    PL/SQL: Statement ignored
144/6    PLS-00201: identifier 'SYS.DBMS_SYS_SQL' must be declared
SQL>


Reason : In this case, the PLS-00201 error indicates that the referenced package (SYS.DBMS_SYS_SQL) does not exist, does not have execute permission or is invalid.

Solution : Grant Execute permission to the desired identifier.                                                 
SQL> grant execute on SYS.DBMS_SYS_SQL to OWAPUB;

Grant succeeded.

SQL> ALTER PACKAGE OWAPUB.OWA_OPT_LOCK COMPILE BODY;

Package body altered.



****************************நன்றி****************************











Comments