revoking privieleges from public [message #126025] |
Thu, 30 June 2005 10:51 |
igraham
Messages: 1 Registered: June 2005 Location: new jersey
|
Junior Member |
|
|
Currently under the public group the privilege 'select any dictionary' exists.
I went to remove this privilege and when I tried to login as a user I got an error message:
ORA-06553: PLS-213: package STANDARD not accessible
I granted select any dictionary back to public
tried to login again and got the same error:
ORA-06553: PLS-213: package STANDARD not accessible
to fix problem I did this:
grant all on standard to public;
Why did the login fail after granting the select any dictionary back?
Why did I have to 'grant all on standard to public'?
|
|
|
Re: revoking privieleges from public [message #126098 is a reply to message #126025] |
Thu, 30 June 2005 22:18 |
shettyshetty
Messages: 18 Registered: June 2005 Location: Malaysia
|
Junior Member |
|
|
Hello,
Metalink Note 1005643.6 might be helpul to you.
Verify package STANDARD is valid and owned by SYS.
1) Check the status of the package STANDARD using:
connect sys/<password>
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/<password>
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<sid>.ora".
Then re-execute CATALOG and CATPROC.
Increasing "SHARED_POOL_SIZE" will allocate more resources and
allow the scripts to run successfully.
.
|
|
|