Tabellen-Hyperlinkgruppen erstellen und verwalten
Mit Tabellen-Hyperlinkgruppen können Sie über eine einzelne URL auf Daten von mehreren Objekten oder mehreren SELECT-Anweisungen zugreifen. Die Verwendung einer Tabellen-Hyperlink-Gruppe vereinfacht den Datenabruf, indem Informationen aus verschiedenen Objekten in einem Zugriffspunkt (URL) konsolidiert werden.
Tabellen-Hyperlinkgruppe erstellen
Zeigt die Schritte zum Erstellen einer Tabellen-Hyperlink-Gruppe an, die Zugriff auf mehrere Tabellen-Hyperlinks mit einer einzigen URL bietet.
Beim Zugriff auf eine Tabellen-Hyperlink-Gruppe werden die Berechtigungen verwendet, die dem Datenbankbenutzer erteilt wurden, der die Tabellen-Hyperlink-Gruppe erstellt. Der Benutzer, der eine Tabellen-Hyperlink-Gruppe erstellt, muss über die Mindestberechtigungen verfügen, die für den Zugriff auf die Daten erforderlich sind. Um die Sicherheit aufrechtzuerhalten, empfiehlt Oracle, DBMS_DATA_ACCESS.CREATE_URL nicht als ADMIN-Benutzer auszuführen.
So erstellen Sie eine Tabellen-Hyperlink-Gruppe:
-
Identifizieren Sie die Objekte (Tabellen oder Ansichten) und die
SELECT-Anweisungen mit den Informationen, die Sie gemeinsam verwenden möchten. -
Führen Sie
DBMS_DATA_ACCESS.CREATE_URLaus, um die Tabellen-Hyperlink-Gruppe zu generieren.Beispiel:
DECLARE status CLOB; BEGIN DBMS_DATA_ACCESS.CREATE_URL( sqls => '[{"name": "employee", "description": "employee description", "schema_name":"SCOTT", "schema_object_name":"employee"}, {"name":"TREE", "description": "tree description", "sql_statement": "select * from admin.tree_data"}]', expiration_minutes => 360, result => status); dbms_output.put_line(status); END; /In diesem Beispiel lauten die Parameter:
-
sqls: Gibt als JSON-Array die Elementdetails für ein oder mehrere Schemaobjekte oder SQL-SELECT-Anweisungen an, die als Elemente einer Tabellen-Hyperlinkgruppe erstellt werden sollen.Das Format des JSON-Arrays lautet:
Attributname Erforderlich Beschreibung nameNein Gibt den Namen des Gruppenmitglieds an. Wenn kein Name angegeben wird, erstellt die Prozedur einen Standardnamen. descriptionNein Gruppenmitgliedsbeschreibung sql_statementDie Angabe von sql_statementoderschema_object_nameist erforderlichSQL-Anweisung für das Mitglied Weitere Informationen finden Sie unter [Erstellen eines Tabellen-Hyperlinks mit einer Select-Anweisung](autonomous-table-hyperlink-generate-url.html#GUID-19ACA32B-3F7A-44BF-AF9F-69C424E3909D).
schema_nameNein Schemaname für das Element. Geben Sie nur dann einen
schema_name-Wert an, wenn die inschema_object_nameangegebene Tabelle/View im aktuellen Schema nicht verfügbar istWeitere Informationen finden Sie unter Tabellen-Hyperlink für eine Tabelle oder Ansicht erstellen.
schema_object_nameDie Angabe von sql_statementoderschema_object_nameist erforderlichTabellen-/View-Name für das Element Weitere Informationen finden Sie unter [Erstellen eines Tabellen-Hyperlinks für eine Tabelle oder eine Ansicht](autonomous-table-hyperlink-generate-url.html#GUID-382CC1A2-CCDF-4CC4-BC67-18A66B1DB61B).
default_bind_variableNein Gilt nur für sql_statementsmit Bind-VariablenWeitere Informationen finden Sie unter [Erstellen eines Tabellen-Hyperlinks mit einer Select-Anweisung](autonomous-table-hyperlink-generate-url.html#GUID-19ACA32B-3F7A-44BF-AF9F-69C424E3909D).
column_listsNein Entspricht der Definition für die Erstellung eines Nicht-Gruppen-Tabellen-Hyperlinks Weitere Einzelheiten finden Sie unter [Erstellen eines Tabellen-Hyperlinks mit in Spalten angegebenen UI-Features](autonomous-table-hyperlink-generate-url.html#GUID-B9B39F35-6F30-4FDE-9176-FBE911ACFE05).
-
expiration_minutes: Gibt an, dass die Tabellen-Hyperlinkgruppe abläuft und nach 360 Minuten invalidiert wird. -
service_name: Gibt an, dass die generierte Tabellen-Hyperlinkgruppe mit einer bestimmten Service-Level-Garantie und Ressourcen verarbeitet wird. Beispiel: Verwenden Sie den Parameterservice_name, um anzugeben, dass der Zugriff auf das Objekt dem HIGH-Service zugeordnet wird. -
result: stellt JSON bereit, das das Ergebnis des Vorgangs angibt.
Weitere Informationen finden Sie unter Prozedur CREATE_URL.
-
-
Prüfen Sie das Ergebnis.
Die
statusenthält das Ergebnis, das die Details der Tabellen-Hyperlinkgruppe enthält. Beispiel:{ "status" : "SUCCESS", "id" : "P4LmrWC2-tGeHVlF6FRaQUIN2fW5nixkXa2t4ZGx6ubxxxyyyzzz-itojFFJFMooj", "preauth_url" : "https://dataaccess.adb.us-phoenix-1.oraclecloudapps.com/adb/p/QHD_Yvonle1eUCoxbN6bO...xyzabcFQEg/data", "member_ids" : [ "zAhrHMBwknDwmmA7Nh4fR3-Wuva6io_3y-Vv-iZNNc8XplGDxyxabc7SXf5xLmFGY", "JKYigWp5fvAftcRsuoFeaZx2JqMn9yk71KtEleBMWZ8XcDWxyzabcPKGOTJRHVu" ], "expiration_ts" : "2025-08-07T00:37:00.214Z" }
Hinweis
Hinweis: Mit DBMS_DATA_ACCESS.LIST_ACTIVE_URLS und DBMS_DATA_ACCESS.LIST_MEMBERS können Sie Tabellen-Hyperlinkgruppen und Tabellen-Hyperlinkgruppenmitglieder auflisten. Weitere Informationen finden Sie unter Hyperlinks, Gruppen und Gruppenmitglieder für Listentabellen.
Hinweise zum Erstellen einer Tabellen-Hyperlink-Gruppe:
-
Die
resultenthält den Wertpreauth_url: Dieser Wert ist die URL, mit der Sie auf die Tabellen-Hyperlinkgruppe zugreifen. Weitere Informationen finden Sie unter Tabellen-Hyperlinkgruppe für den Zugriff auf Daten verwenden. -
Wenn Sie eine Tabellen-Hyperlinkgruppe in einer autonomen KI-Datenbankinstanz mit einem privaten Endpunkt generieren, enthält das Ergebnis den Namen
private_preauth_urlmit dem Wert des folgenden Formulars:"https://private-endpoint/adb/p/parurl-token/data".Wenn Sie eine Tabellen-Hyperlinkgruppe in einer autonomen KI-Datenbankinstanz mit einem privaten Endpunkt generieren und der private Endpunkt mit aktiviertem Öffentlichen Zugriff zulassen konfiguriert ist, enthält das Ergebnis sowohl die
preauth_urlfür den öffentlichen Endpunkt als auchprivate_preauth_url.Weitere Informationen finden Sie unter Private Endpunkte konfigurieren und Privaten Endpunkt mit zulässigem öffentlichem Zugriff verwenden.
-
Verwenden Sie
DBMS_DATA_ACCESS.EXTEND_URL, um die Lebensdauer einer Tabellen-Hyperlinkgruppe zu verlängern. Wenn SieDBMS_DATA_ACCESS.EXTEND_URLmit einemidfür eine Tabellen-Hyperlinkgruppe ausführen, verlängert dies nur den Ablauf der hinzugefügten Elemente, wenn Sie die Gruppe mitDBMS_DATA_ACCESS.CREATE_URLerstellen (dies umfasst keine Tabellen-Hyperlinks, die mitDBMS_DATA_ACCESS.ADD_MEMBERhinzugefügt werden). MitDBMS_DATA_ACCESS.ADD_MEMBERhinzugefügte Tabellen-Hyperlinks existieren auch unabhängig außerhalb des Kontexts der Tabellen-Hyperlinkgruppe, und Sie könnenDBMS_DATA_ACCESS.EXTEND_URLunabhängig auf diesen Tabellen-Hyperlinks ausführen.Weitere Informationen finden Sie unter EXTEND_URL-Prozedur.
-
Verwenden Sie den Parameter
password, wenn Sie eine kennwortgeschützte Tabellen-Hyperlinkgruppe erstellen möchten. Wenn Sie den Kennwortparameter einschließen, können Sie auch mitmax_failed_access_attemptsdie maximale Anzahl an aufeinanderfolgenden nicht erfolgreichen Kennwortversuchen angeben. Wenn dieser Wert überschritten wird, wird die Tabellen-Hyperlinkgruppe invalidiert.Weitere Informationen finden Sie unter Hyperlink für kennwortgeschützte Tabellen erstellen.
-
Weitere Informationen zu optionalen Parametern für
DBMS_DATA_ACCESS.CREATE_URLfinden Sie unter Hinweise zum Erstellen eines Tabellen-Hyperlinks oder einer Tabellen-Hyperlinkgruppe.
Tabellen-Hyperlink-Gruppenmitglied hinzufügen
Ein Benutzer mit entsprechenden Berechtigungen kann jederzeit ein Element zu einer Tabellen-Hyperlink-Gruppe hinzufügen.
Verwenden Sie DBMS_DATA_ACCESS.ADD_MEMBER, um einer Gruppe einen vorhandenen Tabellen-Hyperlink hinzuzufügen. Beispiel:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.ADD_MEMBER(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
result => status);
dbms_output.put_line(status);
END;
/Die Parameter sind:
-
id: Gibt die Tabellen-Hyperlinkgruppen-ID an. Dies ist derid-Wert, der im Ergebnis angezeigt wird, wenn Sie eine Tabellen-Hyperlinkgruppe erstellen. Weitere Informationen finden Sie unter Tabellen-Hyperlinkgruppe erstellen. -
member_id: Gibt eine vorhandene Tabellen-Hyperlink-ID an, die der Gruppe hinzugefügt werden soll. Der Wertmember_iddarf keine Tabellen-Hyperlinkgruppen-ID sein (is_group_urlmussfalsesein). Weitere Informationen finden Sie unter Listen-Tabellen-Hyperlinks und Tabellen-Hyperlinkgruppen. -
result: stellt JSON bereit, das das Ergebnis des Vorgangs angibt.
Weitere Informationen finden Sie unter Prozedur ADD_MEMBER.
Tabellen-Hyperlink-Gruppenmitglied entfernen
Ein Benutzer mit entsprechenden Berechtigungen kann jederzeit ein Element aus einer Tabellen-Hyperlink-Gruppe entfernen.
Verwenden Sie DBMS_DATA_ACCESS.REMOVE_MEMBER, um ein Element aus einer Tabellen-Hyperlinkgruppe zu entfernen. Beispiel:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.REMOVE_MEMBER(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
result => status);
dbms_output.put_line(status);
END;
/Die Parameter sind:
-
id: Gibt die Tabellen-Hyperlinkgruppen-ID an. Dies ist derid-Wert, der im Ergebnis angezeigt wird, wenn Sie eine Tabellen-Hyperlinkgruppe erstellen. Weitere Informationen finden Sie unter Tabellen-Hyperlinkgruppe erstellen. -
member_id: Gibt die Element-ID an, die aus der Tabellen-Hyperlinkgruppe entfernt werden soll. -
result: stellt JSON bereit, das das Ergebnis des Vorgangs angibt.
Hinweise zum Entfernen eines Mitglieds:
-
Der Wert
member_iddarf keine Tabellen-Hyperlinkgruppen-ID sein (is_group_urlmussfalsesein). Weitere Informationen finden Sie unter Hinweise zum Auflisten von Tabellen-Hyperlinks und Tabellen-Hyperlinkgruppen. -
Mit
DBMS_DATA_ACCESS.LIST_MEMBERSkönnen Sie die Elemente einer Tabellen-Hyperlinkgruppe auflisten. Weitere Informationen finden Sie unter Hinweise zum Auflisten von Tabellen-Hyperlinks und Tabellen-Hyperlinkgruppen. -
Wenn das entfernte Element ein vorhandener Tabellen-Hyperlink ist, der der Gruppe mit
DBMS_DATA_ACCESS.ADD_MEMBERhinzugefügt wurde, wird das Element aus der Gruppe entfernt, aber der Tabellen-Hyperlink kann direkt aufgerufen werden, bis er explizit invalidiert wird oder abläuft. -
Wenn eine Tabellen-Hyperlink-Gruppe nur ein Element enthält und dieses Element entfernt wird, wird die Gruppe invalidiert.
Weitere Informationen finden Sie unter Prozedur REMOVE_MEMBER.
Tabellen-Hyperlinkgruppe invalidieren
Ein Benutzer mit entsprechenden Berechtigungen kann eine Tabellen-Hyperlink-Gruppe jederzeit invalidieren.
Verwenden Sie DBMS_DATA_ACCESS.INVALIDATE_URL, um eine Tabellen-Hyperlinkgruppe zu invalidieren. Beispiel:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.INVALIDATE_URL(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
result => status);
dbms_output.put_line(status);
END;
/Die Parameter sind:
-
id: Gibt die Tabellen-Hyperlinkgruppen-ID an. Dies ist derid-Wert, der im Ergebnis angezeigt wird, wenn Sie eine Tabellen-Hyperlinkgruppe erstellen. Weitere Informationen finden Sie unter Tabellen-Hyperlinkgruppe erstellen. -
result: stellt JSON bereit, das das Ergebnis des Vorgangs angibt.
Hinweis
Hinweis: Wenn der Parameter DBMS_DATA_ACCESS.INVALIDATE_URL id eine Tabellen-Hyperlink-Gruppe ist, invalidiert die Prozedur die Gruppe und alle Gruppenmitglieder, mit Ausnahme aller Gruppenmitglieder, die mit DBMS_DATA_ACCESS.ADD_MEMBER hinzugefügt wurden. Nachdem Sie DBMS_DATA_ACCESS.INVALIDATE_URL ausgeführt haben, verwalten die Elemente, die mit DBMS_DATA_ACCESS.ADD_MEMBER hinzugefügt wurden, ihre unabhängigen Tabellen-Hyperlink-Invalidierungswerte, und Sie können diese Tabellen-Hyperlinks einzeln mit DBMS_DATA_ACCESS.INVALIDATE_URL invalidieren.
Weitere Informationen finden Sie unter Prozedur INVALIDATE_URL.