Wednesday, January 21, 2009

ORA-06553: PLS-213: package STANDARD not accessible

Problem Description:
====================

You are doing any of the following activities

1. Compiling PL/SQL
2. Running or executing a PL/SQL script or block
3. Connecting to SQL*Plus
4. Running "catproc.sql"

Then you will receive an error as ora-6553 or PLS-213

Cause: The PL/SQL compiler could not find package STANDARD in the current
Oracle database. To compile a program, PL/SQL needs package STANDARD.

Action: Check that package STANDARD is available in the current Oracle
database, then retry the operation, Verify the status of package as its valid or not.

select owner, object_name, object_type,status from dba_objects where object_name = 'STANDARD';

If the find the status as INVALID then try compiling the package as
Alter package STANDARD compile;

If the problem still persist try running the script
@$ORACLE_HOME/rdbms/admin/standard.sql

This should solve your problem if not 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.


Explanation:
============

The PL/SQL compiler could not find package STANDARD in the current
Oracle database. To compile a program, PL/SQL needs package STANDARD.









No comments:

Post a Comment