When you try to connect a database through enterprise manager you may have an error like:
Error "The application requires more database privileges than you have currently been granted. Click on Help to get more version specific information."
even your user has connect role.

Enterprise maneger requires
SELECT_CATALOG_ROLE role or SELECT ANY DICTIONARY privilege to connect through EM. But what they mean and what is the difference between them.

  • First of all SELECT_CATALOG_ROLE is a role and SELECT ANY DICTIONARY is a privilege. (Remember roles need relogin or explicit set role from a session to take affect whereas the granting of privileges take immediate affect.)
  • SELECT_CATALOG_ROLE role provides access to all SYS views only. (static dictionary views (dba_) & dynamic performance views (v$)
  • If both SELECT ANY DICTIONARY and SELECT ANY TABLE privilege is enabled then it allow access to all SYS and non-SYS objects. (If O7_DICTIONARY_ACCESSIBILITY = FALSE; if it is TRUE, SELECT ANY TABLE privilege is already enough!!)

2 Responses so far.

  1. Anonymous says:

    you have a nice site. thanks for sharing this valuable resources. keep it up. anyway, various kinds of ebooks are available here


  2. mamo says:

    Thanx alot about this great information dear
    but i'm new user to oracle
    can you explain to me simply how i can give all privillages )SELECT_CATALOG_ROLE role or SELECT ANY DICTIONARY) ???

Powered by Blogger.

Page Views

- Copyright © Emre Baransel - Oracle Blog -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -