Data Authorization Views
These views help you validate data role definitions, data grant assignments, and the resulting row-level and column-level authorization rules. They also indicate whether a data grant was created with FILTER or associated with a tag.
Summary of views
| View or Object Name | Description |
|---|---|
DBA_DATA_ROLES |
Displays all data roles defined in the database. |
DBA_DATA_ROLE_GRANTS |
Displays all data role grants and database role grants to data roles. |
DBA_DATA_GRANTS |
Displays all fine-grained data grants in the database. |
ALL_DATA_GRANTS |
Displays all fine-grained data grants accessible to the current user. |
USER_DATA_GRANTS |
Displays all fine-grained data grants owned by the current user. |
DBA_REQUIRED_PARENT_DATA_PRIVILEGES |
Displays the required parent data privileges of all cross-table data grants in the database. |
ALL_REQUIRED_PARENT_DATA_PRIVILEGES |
Displays the required parent data privileges of cross-table data grants accessible to the current user. |
USER_REQUIRED_PARENT_DATA_PRIVILEGES |
Displays the required parent data privileges of cross-table data grants owned by the current user. |
DBA_DATA_ROLES
Displays all data roles defined in the database. Data roles can be locally defined or externally mapped to IAM attributes (for example, Entra ID roles). Data roles that are externally mapped activate automatically when the corresponding claim is present in the end-user token, or in the database-access token in a single-token flow.
| Column | Datatype | NULL | Description |
|---|---|---|---|
DATA_ROLE |
VARCHAR2(128) |
|
Name of the data role |
MAPPED_TO |
VARCHAR2(4000) |
|
External name (from IAM) that a data role maps to. |
ENABLED_BY_DEFAULT |
BOOLEAN |
|
Indicates whether the data role is enabled by default (TRUE) or not (FALSE) |
DBA_DATA_ROLE_GRANTS
Displays data role grants to data roles, end users, or application identities, and database role grants to data roles. Each row represents a single grant with optional temporal validity constraints.
| Column | Datatype | NULL | Description |
|---|---|---|---|
DATA_ROLE |
VARCHAR2(128) |
|
Name of the granted role |
ROLE_TYPE |
VARCHAR2(13) |
|
Type of granted role:
|
GRANTEE |
VARCHAR2(128) |
|
Name of the grantee |
GRANTEE_TYPE |
VARCHAR2(20) |
|
Type of grantee:
|
START_TIME |
VARCHAR2(28) |
|
Start time from which the grant is valid |
END_TIME |
VARCHAR2(28) |
|
End time until which the grant is valid |
DBA_DATA_GRANTS
Displays all Oracle Deep Data Security (Deep Sec) data grants in the database, created using the CREATE DATA GRANT statement. Use GRANT_TYPE to distinguish data grants from data grant filters. Use TAG_NAME to identify the tag specified using the WITH TAG clause.
Because predicated grants contain unique attributes, such as grant names and active time windows (start or end times), they are not recorded in the standard DBA_TAB_PRIVS view. Instead, Deep Sec data grants appear exclusively in this dedicated dictionary view.
Note the distinction between the two ownership columns: OBJECT_OWNER identifies the schema of the target object being protected, whereas OWNER identifies the schema that owns the data grant itself.
| Column | Datatype | NULL | Description |
|---|---|---|---|
OWNER |
VARCHAR2(128) |
|
Owner of the data grant |
GRANT_NAME |
VARCHAR2(128) |
|
Name of the data grant |
PRIVILEGE |
VARCHAR2(128) |
|
Type of privilege granted |
COLUMN_NAME |
VARCHAR2(128) |
|
Name of the column to which the data grant applies
|
GRANTED_WITH_ALL_COLUMNS_EXCEPT |
VARCHAR2(128) |
|
Name of the column to which the data grant applies, if granted using the
|
OBJECT_OWNER |
VARCHAR2(128) |
|
Owner of the object to which the data grant applies |
OBJECT_NAME |
VARCHAR2(128) |
NOT NULL |
Name of the object to which the data grant applies |
OBJECT_TYPE |
VARCHAR2(24) |
|
Type of object to which the data grant applies (such as TABLE, VIEW) |
PREDICATE |
VARCHAR2(4000) |
|
Predicate used for the data grant |
GRANTEE |
VARCHAR2(128) |
|
Name of the grantee Applies to data grants created with |
GRANTEE_TYPE |
VARCHAR2(30) |
|
Type of grantee:
Applies to data grants created with |
USE_DATA_GRANTS_ONLY |
BOOLEAN |
|
Indicates whether USE DATA GRANTS ONLY is enabled for the object to which the data grant applies (TRUE) or not (FALSE) |
CROSS_TABLE_DATA_GRANT |
BOOLEAN |
Indicates whether this is a cross-table data grant (TRUE) or not (FALSE) |
|
START_TIME |
TIMESTAMP(6) WITH TIME ZONE |
|
Start time for the data grant, if specified Applies to data grants created with |
END_TIME |
TIMESTAMP(6) WITH TIME ZONE |
|
End time for the data grant, if specified Applies to data grants created with |
INVALID_COLUMN_NAME |
VARCHAR2(128) |
|
Displays the column name if the data grant on the column is no longer valid due to, for example, a column name change or a dropped column
For cross-table data grants, this column reports invalid columns of the child object. Invalid columns of the parent object are reported in the |
GRANT_TYPE |
VARCHAR2(24) |
NOT NULL |
Indicates whether the row represents a data grant or a data grant filter. Values are DATA GRANT and DATA GRANT FILTER. |
TAG_NAME |
VARCHAR2(128) |
Displays the name of the tag specified with WITH TAG. NULL when the data grant or data grant filter is not tagged. |
ALL_DATA_GRANTS
Displays all Oracle Deep Data Security (Deep Sec) data grants that are accessible to the current user. Use GRANT_TYPE to distinguish data grants from data grant filters. Use TAG_NAME to identify the tag specified using the WITH TAG clause.
| Column | Datatype | NULL | Description |
|---|---|---|---|
OWNER |
VARCHAR2(128) |
|
Owner of the data grant |
GRANT_NAME |
VARCHAR2(128) |
|
Name of the data grant |
PRIVILEGE |
VARCHAR2(128) |
|
Type of privilege granted |
COLUMN_NAME |
VARCHAR2(128) |
|
Name of the column to which the data grant applies
|
GRANTED_WITH_ALL_COLUMNS_EXCEPT |
VARCHAR2(128) |
|
Name of the column to which the data grant applies, if granted using the
|
OBJECT_OWNER |
VARCHAR2(128) |
|
Owner of the object to which the data grant applies |
OBJECT_NAME |
VARCHAR2(128) |
NOT NULL |
Name of the object to which the data grant applies |
OBJECT_TYPE |
VARCHAR2(24) |
|
Type of object to which the data grant applies (such as TABLE, VIEW) |
PREDICATE |
VARCHAR2(4000) |
|
Predicate used for the data grant |
GRANTEE |
VARCHAR2(128) |
|
Name of the grantee Applies to data grants created with |
GRANTEE_TYPE |
VARCHAR2(30) |
|
Type of grantee:
Applies to data grants created with |
USE_DATA_GRANTS_ONLY |
BOOLEAN |
|
Indicates whether USE DATA GRANTS ONLY is enabled for the object to which the data grant applies (TRUE) or not (FALSE) |
CROSS_TABLE_DATA_GRANT |
BOOLEAN |
Indicates whether this is a cross-table data grant (TRUE) or not (FALSE) |
|
START_TIME |
TIMESTAMP(6) WITH TIME ZONE |
|
Start time for the data grant, if specified Applies to data grants created with |
END_TIME |
TIMESTAMP(6) WITH TIME ZONE |
|
End time for the data grant, if specified Applies to data grants created with |
INVALID_COLUMN_NAME |
VARCHAR2(128) |
|
Displays the column name if the data grant on the column is no longer valid due to, for example, a column name change or a dropped column
For cross-table data grants, this column reports invalid columns of the child object. Invalid columns of the parent object are reported in the |
GRANT_TYPE |
VARCHAR2(24) |
NOT NULL |
Indicates whether the row represents a data grant or a data grant filter. Values are DATA GRANT and DATA GRANT FILTER. |
TAG_NAME |
VARCHAR2(128) |
Displays the name of the tag specified with WITH TAG. NULL when the data grant or data grant filter is not tagged. |
USER_DATA_GRANTS
Displays all Oracle Deep Data Security (Deep Sec) data grants that are owned by the current user. Use GRANT_TYPE to distinguish data grants from data grant filters. Use TAG_NAME to identify the tag specified using the WITH TAG clause.
| Column | Datatype | NULL | Description |
|---|---|---|---|
GRANT_NAME |
VARCHAR2(128) |
|
Name of the data grant |
PRIVILEGE |
VARCHAR2(128) |
|
Type of privilege granted |
COLUMN_NAME |
VARCHAR2(128) |
|
Name of the column to which the data grant applies
|
GRANTED_WITH_ALL_COLUMNS_EXCEPT |
VARCHAR2(128) |
|
Name of the column to which the data grant applies, if granted using the
|
OBJECT_OWNER |
VARCHAR2(128) |
|
Owner of the object to which the data grant applies |
OBJECT_NAME |
VARCHAR2(128) |
NOT NULL |
Name of the object to which the data grant applies |
OBJECT_TYPE |
VARCHAR2(24) |
|
Type of object to which the data grant applies (such as TABLE, VIEW) |
PREDICATE |
VARCHAR2(4000) |
|
Predicate used for the data grant |
GRANTEE |
VARCHAR2(128) |
|
Name of the grantee Applies to data grants created with |
GRANTEE_TYPE |
VARCHAR2(30) |
|
Type of grantee:
Applies to data grants created with |
USE_DATA_GRANTS_ONLY |
BOOLEAN |
|
Indicates whether USE DATA GRANTS ONLY is enabled for the object to which the data grant applies (TRUE) or not (FALSE) |
CROSS_TABLE_DATA_GRANT |
BOOLEAN |
Indicates whether this is a cross-table data grant (TRUE) or not (FALSE) |
|
START_TIME |
TIMESTAMP(6) WITH TIME ZONE |
|
Start time for the data grant, if specified Applies to data grants created with |
END_TIME |
TIMESTAMP(6) WITH TIME ZONE |
|
End time for the data grant, if specified Applies to data grants created with |
INVALID_COLUMN_NAME |
VARCHAR2(128) |
|
Displays the column name if the data grant on the column is no longer valid due to, for example, a column name change or a dropped column
For cross-table data grants, this column reports invalid columns of the child object. Invalid columns of the parent object are reported in the |
GRANT_TYPE |
VARCHAR2(24) |
NOT NULL |
Indicates whether the row represents a data grant or a data grant filter. Values are DATA GRANT and DATA GRANT FILTER. |
TAG_NAME |
VARCHAR2(128) |
Displays the name of the tag specified with WITH TAG. NULL when the data grant or data grant filter is not tagged. |
DBA_REQUIRED_PARENT_DATA_PRIVILEGES
Displays the required parent data privileges of all cross-table data grants in the database.
Each row represents one privilege (optionally scoped to a single column of the parent object) that must be held on the parent object for the cross-table data grant to authorize access to its child object. Use this view together with DBA_DATA_GRANTS, which describes the privileges granted on the child object.
| Column | Datatype | NULL | Description |
|---|---|---|---|
OWNER |
VARCHAR2(128) |
|
Owner of the cross-table data grant |
GRANT_NAME |
VARCHAR2(128) |
|
Name of the cross-table data grant |
PRIVILEGE |
VARCHAR2(128) |
|
Privilege required on the parent object Can be |
COLUMN_NAME |
VARCHAR2(128) |
|
Name of the parent object column for a required column privilege There is one row for each column name specified in the required privilege
|
CROSS_TABLE_OBJECT_OWNER |
VARCHAR2(128) |
|
Owner of the parent object |
CROSS_TABLE_OBJECT_NAME |
VARCHAR2(128) |
Name of the parent object | |
CROSS_TABLE_OBJECT_TYPE |
VARCHAR2(128) |
|
Type of the parent object (such as TABLE or VIEW) |
INVALID_COLUMN_NAME |
VARCHAR2(128) |
|
Displays the name of the parent object column that is no longer valid because of a schema change (for example, a dropped or renamed column)
|
ALL_REQUIRED_PARENT_DATA_PRIVILEGES
Displays the required parent data privileges of cross-table data grants that are accessible to the current user.
A cross-table data grant is accessible to the current user when any of the following is true:
-
The current user is the owner of the data grant.
-
The current user has the
ADMINISTER ANY DATA GRANTsystem privilege, which results in all cross-table data grants being displayed. -
The current user has the
ADMINISTER ANY DATA GRANTprivilege at the schema level on the schema of the object on which the data grant is created, which results in the cross-table data grants in that schema being displayed.
| Column | Datatype | NULL | Description |
|---|---|---|---|
OWNER |
VARCHAR2(128) |
|
Owner of the cross-table data grant |
GRANT_NAME |
VARCHAR2(128) |
|
Name of the cross-table data grant |
PRIVILEGE |
VARCHAR2(128) |
|
Privilege required on the parent object Can be |
COLUMN_NAME |
VARCHAR2(128) |
|
Name of the parent object column for a required column privilege There is one row for each column name specified in the required privilege
|
CROSS_TABLE_OBJECT_OWNER |
VARCHAR2(128) |
|
Owner of the parent object |
CROSS_TABLE_OBJECT_NAME |
VARCHAR2(128) |
Name of the parent object | |
CROSS_TABLE_OBJECT_TYPE |
VARCHAR2(128) |
|
Type of the parent object (such as TABLE or VIEW) |
INVALID_COLUMN_NAME |
VARCHAR2(128) |
|
Displays the name of the parent object column that is no longer valid because of a schema change (for example, a dropped or renamed column)
|
USER_REQUIRED_PARENT_DATA_PRIVILEGES
Displays the required parent data privileges of cross-table data grants owned by the current user.
| Column | Datatype | NULL | Description |
|---|---|---|---|
GRANT_NAME |
VARCHAR2(128) |
|
Name of the cross-table data grant |
PRIVILEGE |
VARCHAR2(128) |
|
Privilege required on the parent object Can be |
COLUMN_NAME |
VARCHAR2(128) |
|
Name of the parent object column for a required column privilege There is one row for each column name specified in the required privilege
|
CROSS_TABLE_OBJECT_OWNER |
VARCHAR2(128) |
|
Owner of the parent object |
CROSS_TABLE_OBJECT_NAME |
VARCHAR2(128) |
Name of the parent object | |
CROSS_TABLE_OBJECT_TYPE |
VARCHAR2(128) |
|
Type of the parent object (such as TABLE or VIEW) |
INVALID_COLUMN_NAME |
VARCHAR2(128) |
|
Displays the name of the parent object column that is no longer valid because of a schema change (for example, a dropped or renamed column)
|