10g introduced a new security feature that when enabled ( 07_DICTIONARY_ACCESSIBILITY) causes the object source data to only be visible when you have explicity execute permissions to the object. This can cause production support issues where you need view permissions only, but not execute. The TOAD schema browser depends on the data dictionary for displaying information. After finding answers nowhere else, I decided to figure out myself as well as making the option available for others.
The new security option causing the issue : O7_DICTIONARY_ACCESSIBILITY being set to TRUE. Where this may be the correct thing to do security wise, I had an undesirable affect as well.
The following grants need to be applied to either user accounts or preferrable a database role, afterwhich the schema browser will operate as it did prior to the 10g security enhancement. Making the Data Dictionary available in its entirety is not an option, as this violates typical Audit/SOX policies.
I have run the grants by Oracle Support and they have verified that grants such as these pose no physical or implied threat and would resolve the issue in question, but I would encourage you to confirm for yourself if there is question or doubt to the experience itself.
GRANT SELECT ON SYS.idl_char$ TO xxxxx
/
GRANT SELECT ON SYS.procedureinfo$ TO xxxxx
/
GRANT SELECT ON SYS.obj$ TO xxxxx
/
GRANT SELECT ON SYS.dba_objects TO xxxxx
/
GRANT SELECT ON SYS.dba_source TO xxxxx
/
GRANT SELECT ON SYS.trigger$ TO xxxxx
/
GRANT SELECT ON SYS.dba_indexes TO xxxxx
/
GRANT SELECT ON SYS.dba_snapshots TO xxxxx
/
GRANT SELECT ON SYS.dba_tables TO xxxxx
/
GRANT SELECT ON SYS.dba_roles TO xxxxx
/
GRANT SELECT ON SYS.dba_jobs TO xxxxx
/
GRANT SELECT ON sys.DBA_TYPES TO xxxxx
/
GRANT SELECT ON sys.DBA_TYPE_ATTRS TO xxxxx
/
GRANT SELECT ON sys.DBA_CONSTRAINTS TO xxxxx
/
GRANT SELECT ON sys.DBA_SEQUENCES TO xxxxx
/
GRANT SELECT ON sys.DBA_DB_LINKS TO xxxxx
/
GRANT SELECT ON sys.DBA_ALL_TABLES TO xxxxx
/
GRANT SELECT ON sys.DBA_SYNONYMS TO xxxxx
/