Create, Manage, and Monitor Table Hyperlinks
Shows you the steps to create, manage, and monitor Table Hyperlinks.
- Create a Table Hyperlink for a Table or a View
Shows you the steps to create a Table Hyperlink that you can use to share access for a schema object (table or view). - Create a Table Hyperlink with a Select Statement
Shows you the steps to create a Table Hyperlink that provides access to data using a SQL query statement. - Create a Table Hyperlink with UI Features Specified on Columns
When you create a Table Hyperlink you can use thecolumn_listsparameter to specify UI features for specified columns. - Create a Password Protected Table Hyperlink
When you create a Table Hyperlink you can specify a Table Hyperlink password. - Invalidate Table Hyperlinks
At any time a user with appropriate privileges can invalidate a Table Hyperlink. - Define a Virtual Private Database Policy to Secure Table Hyperlink Data
By defining Oracle Virtual Private Database (VPD) policies for data that you share with a Table Hyperlink, you can provide fine-grained access control so that only a subset of data, rows, is visible for a specific Table Hyperlink. - Monitor and View Table Hyperlink Usage
Autonomous AI Database provides views that allow you to monitor Table Hyperlink usage. - Notes for Creating a Table Hyperlink or a Table Hyperlink Group
Create a Table Hyperlink for a Table or a View
Shows you the steps to create a Table Hyperlink that you can use to share access for a schema object (table or view).
When a Table Hyperlink runs it uses the privileges granted to the database user
who generates the Table Hyperlink. The user that generates a Table Hyperlink should have the
minimum privileges required for providing access to the data. To maintain security, Oracle
recommends that you do not run DBMS_DATA_ACCESS.CREATE_URL as the ADMIN user.
To use a Table Hyperlink to provide access to data as a schema object (table or view):
Parent topic: Create, Manage, and Monitor Table Hyperlinks
Create a Table Hyperlink with a Select Statement
Shows you the steps to create a Table Hyperlink that provides access to data using a SQL query statement.
When a Table Hyperlink runs it uses the privileges granted to the database
user who generates the Table Hyperlink. The user that generates a Table Hyperlink should
have the minimum privileges required for providing access to the data. To maintain security,
Oracle recommends that you do not run DBMS_DATA_ACCESS.CREATE_URL as the ADMIN user.
To use a Table Hyperlink to provide to access to data as an arbitrary SQL query statement:
Parent topic: Create, Manage, and Monitor Table Hyperlinks
Create a Table Hyperlink with UI Features Specified on Columns
When you create a Table Hyperlink you can use the
column_lists parameter to specify UI features for specified
columns.
The column_lists parameter is a JSON value that specifies
options by column. The supported values in column_lists are one or more of
the following:
| column_lists Value | Description |
|---|---|
order_by_columns |
Specifies the columns that support sorting. The columns are specified in a JSON array. |
filter_columns |
Specifies the columns that support filtering. The columns are specified in a JSON array. |
default_color_columns |
Specifies to only use the default coloring for the specified columns. The columns are specified in a JSON array. |
group_by_columns |
Specifies that group by is allowed for the specified columns (viewing the data by grouping the specified column is allowed). The columns are specified in a JSON array. |
To specify table view column level UI features for a Table Hyperlink:
You can also:
- Use
DBMS_DATA_ACCESS.LIST_ACTIVE_URLSto show Table Hyperlinks. See List Table Hyperlinks and Table Hyperlink Groups for details. - Use
DBMS_DATA_ACCESS.EXTEND_URLto extend the life of a Table Hyperlink. See EXTEND_URL Procedure for more information. - Generate Table Hyperlinks that are serviced with different service-level guarantees and resources. For example, access to an object or SQL statement can be mapped to services HIGH or MEDIUM, whereas access to another object or SQL statement can be mapped to the LOW service. See CREATE_URL Procedure for more information.
Parent topic: Create, Manage, and Monitor Table Hyperlinks
Create a Password Protected Table Hyperlink
When you create a Table Hyperlink you can specify a Table Hyperlink password.
When a user accesses a password protected Table Hyperlink they must authenticate using the password specified when the Table Hyperlink is created. This provides an additional security step to avoid malicious access, in the case where a Table Hyperlink is exposed to a wider audience than intended.
To create a password protected Table Hyperlink:
Note the following when you include the password parameter
with DBMS_DATA_ACCESS.CREATE_URL:
-
The result includes the
urlattribute with the Table Hyperlink URL value. Without thepasswordparameter the result attribute ispreauth_url. This difference allows you to distinguish a password protected Table Hyperlink in the result. -
The minimum password length is 12 characters and the password must include at least one upper case letter, one lower case letter, and one numeric character. These rules are the same as what are enforced for password complexity rules for a database user associated with a
NULLPVF (Password Verification Function). IfCREATE_URLis invoked with the password parameter and the supplied password does not conform to these rules, for example, the password is shorter than 12 characters, the URL creation fails with an error.See Manage Password Complexity on Autonomous AI Database for more information.
-
The is no option to change or reset a password after you set a password. If you run
CREATE_URLand subsequently you have not saved or you are not able to remember the password you set, you must create a new Table Hyperlink. -
There is no association between the password for a password protected Table Hyperlink and the password of the user creating the URL. If user
SCOTTcreates a password protected Table Hyperlink withCREATE_URL, there is no association between the password for the Table Hyperlink URL that is created and the password for the userSCOTT.
Parent topic: Create, Manage, and Monitor Table Hyperlinks
Invalidate Table Hyperlinks
At any time a user with appropriate privileges can invalidate a Table Hyperlink.
To invalidate a Table Hyperlink, you need the Table Hyperlink
id. Use DBMS_DATA_ACCESS.LIST_ACTIVE_URLS to generate a list of Table
Hyperlinks and their associated id.
Use DBMS_DATA_ACCESS.INVALIDATE_URL to invalidate a Table Hyperlink.
For example:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.INVALIDATE_URL(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
result => status);
dbms_output.put_line(status);
END;
/
You can also use DBMS_DATA_ACCESS.INVALIDATE_URL to invalidate a Table Hyperlink
Group.
See Invalidate a Table Hyperlink Group and INVALIDATE_URL Procedure for more information.
Parent topic: Create, Manage, and Monitor Table Hyperlinks
Define a Virtual Private Database Policy to Secure Table Hyperlink Data
Oracle Virtual Private Database (VPD) is a security feature
that lets you control data access dynamically at row level for users
and applications by applying filters on the same data set. When a
Table Hyperlink is accessed, the value of
application_user_id specified during Table
Hyperlink generation is available through
sys_context('DATA_ACCESS_CONTEXT$',
'USER_IDENTITY'). You can define VPD Policies that
make use of the value of this Application Context to restrict the
data, rows, visible to the application user.
Any user who is granted access to read data with a Table
Hyperlink can access and use the data (either a table, a view, or
the data provided with a select statement). By defining a VPD policy
on the database that generated a Table Hyperlink, you can use the
application_user_id value in a SYS_CONTEXT
rule to provide more fine-grained control. Consider an example where
data is made available with a Table Hyperlink. If you want to
restrict access to some of the data you can add a VPD policy.
For example:
See Using Oracle Virtual Private Database to Control Data Access for more information.
Parent topic: Create, Manage, and Monitor Table Hyperlinks
Monitor and View Table Hyperlink Usage
Autonomous AI Database provides views that allow you to monitor Table Hyperlink usage.
| Views | Description |
|---|---|
| V$DATA_ACCESS_URL_STATS and GV$DATA_ACCESS_URL_STATS Views |
These views track Table Hyperlink usage, including elapsed time, CPU time, and additional information. |
Parent topic: Create, Manage, and Monitor Table Hyperlinks
Notes for Creating a Table Hyperlink or a Table Hyperlink Group
Notes for creating a Table Hyperlink or a Table Hyperlink Group with
DBMS_DATA_ACCESS.CREATE_URL:
-
You can use the optional
service_nameparameter to specify that a generated Table Hyperlink is serviced with a specific service-level guarantee and resources. For example, use theservice_nameparameter to specify access to the SQL statement is mapped to the HIGH service. -
You can use the one or both of the optional
inherit_aclandaclparameters if you want to limit access to Table Hyperlink data:-
inherit_acl: Use the optionalinherit_aclparameter if you want to limit access to Table Hyperlink data. Set this parameter toTRUEto inherit ACLs. When this parameter's value isTRUE, an incoming Table Hyperlink consumer's IP address is validated with the ACLs on the producer database before allowing access to data. If the producer database does not have ACLs configured, theinherit_aclvalue is ignored and data access is allowed without any ACL checks. -
acl: Use the optionalaclparameter to specify an ACL that applies for the Table Hyperlink. The parameter value specifies the list of allowed IP addresses, CIDR blocks, or OCI VCN OCIDs. When theaclparameter is specified a Table Hyperlink consumer can only access the data from the hosts specified in the ACL.
When
inherit_aclisTRUEand theaclparameter is set to specify an ACL, a Table Hyperlink consumer can access a Table Hyperlink's data from the hosts specified with theaclparameter or from the inherited hosts defined in the ACL specified for the Autonomous AI Database instance.See Configuring Network Access with Access Control Rules (ACLs) for more information.
-
-
When you set the optional parameter
consistenttoTRUE, a Table Hyperlink producer produces data consistently across different pages. This allows a consumer to access the data for all pages associated with a Table Hyperlink using the same data snapshot (SCN) as the SCN associated with the access for the first page. This option enables a producer to return consistent data to a consumer where responses are paginated and multiple pages are returned (the data is returned page by page, as it is accessed).When
consistentis set toTRUEand a Table Hyperlink references schema objects from another user's schema, the database user that creates the Table Hyperlink must haveFLASHBACKprivilege on all schema objects used in the Table Hyperlink that belong to the other user's schema.For example:
GRANT FLASHBACK ON TREE_SCHEMA.TREE_DATA TO SCOTT;Note: if there is a high amount of database activity and enough time passes between retrieval of the first page and retrieval of a subsequent page, it may not be possible to retrieve subsequent data that is consistent with the first access. In this case, retrieval results in an error.
See Access Data with Table Hyperlinks or with a Table Hyperlink Group for more information.
-
When you create a Table Hyperlink on an Autonomous AI Database instance with a private endpoint, the result includes a name
private_preauth_urlwith the value of the form:"https://private-endpoint/adb/p/parurl-token/data".When you create a Table Hyperlink on an Autonomous AI Database instance with a private endpoint and the private endpoint is configured with Allow public access enabled, the result includes both the
preauth_urlfor the public endpoint andprivate_preauth_url.See Configure Private Endpoints and Use a Private Endpoint with Public Access Allowed for more information.
-
Use
DBMS_DATA_ACCESS.LIST_ACTIVE_URLSto show Table Hyperlinks. See List Table Hyperlinks and Table Hyperlink Groups for details. -
Use
DBMS_DATA_ACCESS.EXTEND_URLto extend the life of a Table Hyperlink. See EXTEND_URL Procedure for more information.
Parent topic: Create, Manage, and Monitor Table Hyperlinks