Actually,
Beatrix, in most organizations, it is fully appropriate for all users to have full SELECT access to the list of "ALL_*" views. Here is some background...there are four major groups of data dictionary classifications, by prefix:
[ul][li]
USER_*: the objects that the current, logged-in user owns.[/li][li]
ALL_*: the objects to which the current, logged-in user has access. This prefix is a bit misleading since the list does not show ALL objects, simply the ones to which the current user has access. (A better prefix for this group would have been "
ACCESSIBLE_*".[/li][li]
DBA_*: this group of objects truly show
ALL objects in the database. The only users that have default access to these data dictionary views are those that have been granted the "DBA" role.[/li][li]
V$: these views are very similar to the "DBA_*" views in that they contain information that is typically available to DBAs only. These views are labelled "V$..." in that they are "virtual" views that are populated only while the database instance is "up and running".[/li][/ul]I doubt that you will find
any of the "DBA_*" or "V$*" views have been granted to
PUBLIC. Any of the "ALL_*" views that are granted to PUBLIC are totally reasonable since everyone should be able to see the objects to which they have been GRANTed access.
I hope that this overview gives you some confidence in evaluating your current situation. If not, we invite you to post those questions.
Mufasa
(aka Dave of Sandy, Utah, USA)
[I provide low-cost, remote Database Administration services: www.dasages.com]
“Beware of those that seek to protect you from harm or risk. The cost will be your freedoms and your liberty.”