You must have privileges to use the SELECT statement on certain data source objects to perform certain tasks. In this chapter, these privileges are referred to as SELECT privileges.

For example, when you create or update a schema holder for an Oracle database, you must be able to connect to the database and have SELECT privileges on specific system objects. SELECT privileges on system objects are required because the Data Dictionary cannot access the Data Dictionary tables in the Oracle database without them; it must access those tables to create a schema holder.

The following table describes the permissions that you need for creating a schema holder.

Table 1. Required Oracle permissions
Permission Object
CREATE SESSION Database
SELECT System objects:
sys.argument$
sys.ccol$
sys.cdef$
sys.col$
sys.com$
sys.con$
sys.dual
sys.icol$
sys.ind$
sys.link$1
sys.obj$
sys.procedure$
sys.seq$
sys.syn$
sys.tab$
sys.ts$
sys.user$
sys.view$
1

The SELECT permission on the Oracle system objects are granted to create or update the Oracle dataserver schema. The following table lists the use of each system object for which SELECT permission is required:

System object Details
sys.argument$ Used to get metadata information for procedure and functions argument.
sys.ccol$ Used to get metadata information for columns used in constraint.
sys.cdef$ Used to get metadata information about constraint definition.
sys.col$ Used to get metadata information for columns.
sys.com$ Used to get metadata information for object and column comments.
sys.con$ Used to get metadata information for constraint.
sys.dual Used to query the database in case the user is a null or constant expression evaluation.
sys.icol$ Used to get metadata infomation about index columns.
sys.ind$ Used to get metadata information about indexes.
sys.link$ Used to get information about link database.
sys.obj$ Used to get metadata information about objects.
sys.procedure$ Used to get metadata information about procedure and function.
sys.seq$ Used to get metadata information about sequence.
sys.syn$ Used to get metadata information about synonym of object.
sys.tab$ Used to get table information.
sys.ts$ Used to get metadata information for table space.
sys.user$ Used to get user information.
sys.view$ Used to get metadata information about view.
1 SELECT privileges are typically not provided to the Database Administrator (DBA).