Generate, Manage, and Monitor Table Hyperlinks
Shows you the steps to generate, manage, and monitor Table Hyperlinks.
- Generate a Table Hyperlink for a Table or a View
Shows you the steps to generate a Table Hyperlink that you can use to share access for a schema object (table or view). - Generate a Table Hyperlink with a Select Statement
Shows you the steps to generate a Table Hyperlink that provides access to data using a SQL query statement. - Generate a Table Hyperlink with UI Features Specified on Columns
When you generate a Table Hyperlink you can use thecolumn_lists
parameter to specify UI features for specified columns. - 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
Generate a Table Hyperlink for a Table or a View
Shows you the steps to generate 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: Generate, Manage, and Monitor Table Hyperlinks
Generate a Table Hyperlink with a Select Statement
Shows you the steps to generate 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: Generate, Manage, and Monitor Table Hyperlinks
Generate a Table Hyperlink with UI Features Specified on Columns
When you generate 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: Generate, 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: Generate, 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: Generate, 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: Generate, Manage, and Monitor Table Hyperlinks
Notes for Creating a Table Hyperlink
Notes for generating a Table Hyperlink with
DBMS_DATA_ACCESS.CREATE_URL
:
-
You can use the optional
service_name
parameter to specify that the 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 optional
inherit_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.See Configuring Network Access with Access Control Rules (ACLs) for more information.
-
When you generate 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 generate 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: Generate, Manage, and Monitor Table Hyperlinks