Granting access to system catalog views

For a source database user or destination database user, to grant the required access to system catalog views, use one of the following options:

  • Grant access to SELECT_CATALOG_ROLE

  • Grant access to the SELECT ANY DICTIONARY privilege

  • (Not recommended) Grant access to the ALL_* catalog views and to selected DBA_* views

Grant access to SELECT_CATALOG_ROLE

To grant access to SELECT_CATALOG_ROLE:

GRANT SELECT_CATALOG_ROLE TO tonic;

Grant access to SELECT ANY DICTIONARY privilege

To grant access to the SELECT ANY DICTIONARY privilege:

GRANT SELECT ANY DICTIONARY TO tonic;

If you cannot use either the SELECT_CATALOG_ROLE or SELECT ANY DICTIONARY options, then the other option is to grant access to ALL_* catalog views and to specific DBA_* views.

This is not recommended. The required views might change, which would then require an update to the user configuration.

If access to ALL_* catalog views is granted through the PUBLIC user, then to grant access to the required DBA_* views:

GRANT SELECT ON DBA_DATAPUMP_JOBS TO tonic;
GRANT SELECT ON DBA_PDBS TO tonic;
GRANT SELECT ON DBA_REGISTRY_SQLPATCH TO tonic;
GRANT SELECT ON DBA_ROLES TO tonic;
GRANT SELECT ON DBA_SEGMENTS TO tonic;
GRANT SELECT ON DBA_TABLESPACES TO tonic;

If the PUBLIC user access to ALL_* is revoked, then to grant access to the ALL_* views:

GRANT SELECT ON ALL_EXTERNAL_TABLES TO tonic;
GRANT SELECT ON ALL_COL_PRIVS TO tonic;
GRANT SELECT ON ALL_COL_TYPES TO tonic;
GRANT SELECT ON ALL_CONS_COLUMNS TO tonic;
GRANT SELECT ON ALL_CONSTRAINTS TO tonic;
GRANT SELECT ON ALL_DB_LINKS TO tonic;
GRANT SELECT ON ALL_DEPENDENCIES TO tonic;
GRANT SELECT ON ALL_ERRORS TO tonic;
GRANT SELECT ON ALL_IND_COLUMNS TO tonic;
GRANT SELECT ON ALL_INDEXES TO tonic;
GRANT SELECT ON ALL_LOBS TO tonic;
GRANT SELECT ON ALL_MVIEW_LOGS TO tonic;
GRANT SELECT ON ALL_MVIEWS TO tonic;
GRANT SELECT ON ALL_NESTED_TABLES TO tonic;
GRANT SELECT ON ALL_OBJECTS TO tonic;
GRANT SELECT ON ALL_PART_TABLES TO tonic;
GRANT SELECT ON ALL_PROCEDURES TO tonic;
GRANT SELECT ON ALL_QUEUE_TABLES TO tonic;
GRANT SELECT ON ALL_QUEUES TO tonic;
GRANT SELECT ON ALL_SCHEDULER_JOBS TO tonic;
GRANT SELECT ON ALL_SCHEDULER_PROGRAMS TO tonic;
GRANT SELECT ON ALL_SEQUENCES TO tonic;
GRANT SELECT ON ALL_SYNONYMS TO tonic;
GRANT SELECT ON ALL_TAB_COLUMNS TO tonic;
GRANT SELECT ON ALL_TAB_IDENTITY_COLS TO tonic;
GRANT SELECT ON ALL_TAB_PRIVS TO tonic;
GRANT SELECT ON ALL_TABLES TO tonic;
GRANT SELECT ON ALL_TRIGGERS TO tonic;
GRANT SELECT ON ALL_TYPE_ATTRS TO tonic;
GRANT SELECT ON ALL_TYPES TO tonic;
GRANT SELECT ON ALL_USERS TO tonic;

Last updated

Was this helpful?