The meaning of this error is that the PL/SQL compiler could not find package STANDARD in the current Oracle database. To compile a program, PL/SQL needs package STANDARD.

Troubleshoot the PLS-213 by verifying the information as follows:

You need to verify the package STANDARD is valid and owned by SYS. Do the
following:

1) Check the status of the package STANDARD using:

connect sys/
SQL> SELECT * FROM DBA_OBJECTS WHERE OWNER = 'SYS'
AND OBJECT_NAME = 'STANDARD';

If you find the status is 'INVALID' then:

SQL> ALTER PACKAGE STANDARD COMPILE;

You may also find that a number of other packages are in 'INVALID'
state. They should ALL be (re)compiled.

If you find STANDARD does not exist then:

Verify "$ORACLE_HOME/rdbms/admin/standard.sql" exists.

If this file does not exist then:

You probably did not install PL/SQL.
You must use the Installer to install PL/SQL.

If the file does exist then:

Verify that your ORACLE_SID is set correctly:

SQL> connect sys/
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql


2) Verify that STANDARD is owned by SYS:

SQL> SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME = 'STANDARD';

If OWNER != SYS then catproc.sql was not correctly executed
by SYS. You will have to drop these packages and rerun catproc
as SYS.

3) Try running "catalog.sql" and "catproc.sql" while opening a spool file
to catch any errors that may have occurred.

Look for Errors like:

ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 2192 bytes of shared memory ("shared pool,

","PROCEDURE$","KQLS heap","KQLS MEM BLOCK")

Create or Replace:
*
ORA-06553: PLS-213: package STANDARD not accessible
grant execute on STANDARD to public

ORA-04042: procedure, function, package, or package body does not exist

In this case, you would need to increase the "SHARED_POOL_SIZE" in the
"init.ora".

Then re-execute CATALOG and CATPROC.

Increasing "SHARED_POOL_SIZE" will allocate more resources and
allow the scripts to run successfully.


Hopefully this fixes your problem.

CHintz