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_lists
parameter 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 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_URLS
to show Table Hyperlinks. See List Table Hyperlinks and Table Hyperlink Groups for details. - Use
DBMS_DATA_ACCESS.EXTEND_URL
to 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
url
attribute with the Table Hyperlink URL value. Without thepassword
parameter 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
NULL
PVF (Password Verification Function). IfCREATE_URL
is 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 Database for more information.
-
The is no option to change or reset a password after you set a password. If you run
CREATE_URL
and 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
SCOTT
creates 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 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_name
parameter to specify that a generated Table Hyperlink is serviced with a specific service-level guarantee and resources. For example, use theservice_name
parameter to specify access to the SQL statement is mapped to the HIGH service. -
You can use the one or both of the optional
inherit_acl
andacl
parameters if you want to limit access to Table Hyperlink data:-
inherit_acl
: Use the optionalinherit_acl
parameter if you want to limit access to Table Hyperlink data. Set this parameter toTRUE
to 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_acl
value is ignored and data access is allowed without any ACL checks. -
acl
: Use the optionalacl
parameter 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 theacl
parameter is specified a Table Hyperlink consumer can only access the data from the hosts specified in the ACL.
When
inherit_acl
isTRUE
and theacl
parameter is set to specify an ACL, a Table Hyperlink consumer can access a Table Hyperlink's data from the hosts specified with theacl
parameter or from the inherited hosts defined in the ACL specified for the Autonomous Database instance.See Configuring Network Access with Access Control Rules (ACLs) for more information.
-
-
When you set the optional parameter
consistent
toTRUE
, 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
consistent
is set toTRUE
and a Table Hyperlink references schema objects from another user's schema, the database user that creates the Table Hyperlink must haveFLASHBACK
privilege 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 Database instance with a private endpoint, the result includes a name
private_preauth_url
with the value of the form:"https://private-endpoint/adb/p/parurl-token/data"
.When you create a Table Hyperlink on an Autonomous Database instance with a private endpoint and the private endpoint is configured with Allow public access enabled, the result includes both the
preauth_url
for 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_URLS
to show Table Hyperlinks. See List Table Hyperlinks and Table Hyperlink Groups for details. -
Use
DBMS_DATA_ACCESS.EXTEND_URL
to extend the life of a Table Hyperlink. See EXTEND_URL Procedure for more information.
Parent topic: Create, Manage, and Monitor Table Hyperlinks