Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: how to revoke access to sys.aud$ in 10G
I tried that and the database started producing errors. I could not
login and anyone but "/ as sysdba". Multiple packages and triggers went
invalid. In order to get the database back up and running I needed to
"grant select any dictionary" back to public then recompile.
SQL> revoke SELECT ANY DICTIONARY from public;
Revoke succeeded.
SQL> conn carl/carl
ERROR:
ORA-06553: PLS-213: package STANDARD not accessible
Error accessing package DBMS_APPLICATION_INFO
SQL> conn / as sysdba
SQL> grant select any dictionary to public;
Grant succeeded.
SQL> conn carl/carl
ERROR:
ORA-06553: PLS-213: package STANDARD not accessible
Error accessing package DBMS_APPLICATION_INFO
SQL> drop user carl;
drop user carl
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-06553: PLS-213: package STANDARD not accessible
SQL> alter package standard compile;
Package altered.
SQL> conn carl/carl
Connected.
So far I have had to recompile standard (which took 3 minutes so it must have cascaded compiles) and xdb.xdb_pi_trig. The latter was causing an error when a drop was issued. It sure looks like "select any dictionary" is tied into the 10G stucture. If this does not sound right, let me know. I did not think that select any database would be a required system privilage which is why I revoked it. I am still fixing the database because of it.
Thanks for the reply.
Carl Received on Thu Jun 23 2005 - 07:17:55 CDT