Hyperlinks für Tabellen generieren, auflisten, invalidieren und überwachen

Zeigt die zu generierenden Schritte an. Listen, Invalidieren oder Überwachen von Tabellen-Hyperlinks.

Tabellen-Hyperlink für eine Tabelle oder Ansicht generieren

Zeigt die Schritte zum Generieren eines Tabellen-Hyperlinks an, mit denen Sie den Zugriff für ein Schemaobjekt (Tabelle oder View) freigeben können.

Wenn ein Tabellen-Hyperlink ausgeführt wird, verwendet er die Berechtigungen, die dem Datenbankbenutzer erteilt wurden, der den Tabellen-Hyperlink generiert. Der Benutzer, der einen Tabellen-Hyperlink generiert, muss über die Mindestberechtigungen verfügen, die für den Zugriff auf die Daten erforderlich sind. Um die Sicherheit zu gewährleisten, empfiehlt Oracle, dass Sie DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL nicht als ADMIN-Benutzer ausführen.

So verwenden Sie einen Tabellen-Hyperlink, um den Zugriff auf Daten als Schemaobjekt (Tabelle oder View) zu ermöglichen:

  1. Geben Sie die Tabelle oder View an, die Sie freigeben möchten.

    Wenn es Einschränkungen für die Daten gibt, die Sie verfügbar machen möchten, verwenden Sie den Parameter application_user_id, wenn Sie den Tabellen-Hyperlink generieren, und erstellen Sie eine VPD-Policy, um die von Ihnen angegebenen Daten einzuschränken. Weitere Informationen finden Sie unter Policy für virtuelle private Datenbanken zum Sichern von Tabellen-Hyperlinkdaten definieren.

  2. Führen Sie DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL aus, um den Tabellen-Hyperlink zu generieren.
    DECLARE
       status CLOB;
       BEGIN
          DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL(
              schema_name => 'ADMIN',
              schema_object_name    => 'TREE_DATA',
              expiration_minutes    => 360,
              service_name          => 'HIGH',
              inherit_acl            => FALSE,
              result                => status);
           dbms_output.put_line(status);
        END;
    /

    Verwenden Sie den optionalen Parameter service_name, um anzugeben, dass der generierte Tabellen-Hyperlink mit einer bestimmten Service-Level-Garantie und Ressourcen verarbeitet wird. Beispiel: Verwenden Sie den Parameter service_name, um anzugeben, dass der Zugriff auf das Objekt dem HIGH-Service zugeordnet ist.

    Verwenden Sie den optionalen Parameter inherit_acl, wenn Sie den Zugriff auf Tabellen-Hyperlink-Daten einschränken möchten. Setzen Sie diesen Parameter auf TRUE, um die ACL zu übernehmen. Wenn "ACL übernehmen" wahr ist, wird die IP-Adresse eines eingehenden Tabellen-Hyperlink-Consumers mit den ACLs in der Producer-Datenbank validiert, bevor der Zugriff auf Daten zugelassen wird. Wenn für die Producer-Datenbank keine ACLs konfiguriert sind, wird der Wert inherit_acl ignoriert, und der Datenzugriff ist ohne ACL-Prüfungen zulässig.

    Weitere Informationen finden Sie unter Netzwerkzugriff mit Access Control-Regeln (ACLs) konfigurieren und Prozedur GET_PREAUTHENTICATED_URL.

  3. Prüfen Sie das Ergebnis.

    In diesem Beispiel enthält status das Ergebnis, das Informationen zum Tabellen-Hyperlink enthält.

    {
    "status":"SUCCESS","id":"wPY0uxyx-gioxOndiKVlqVF585xqJs14CIp9M1qH",
    "preauth_url":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/-pPLdrbUTcLUrZLExyzxyzabc_1w/data",
    "expiration_ts":"2024-10-22T22:37:18.805Z",
    "expiration_count":null
    }

Hinweise zum Generieren eines Tabellen-Hyperlinks mit DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL:

  • Wenn Sie einen Tabellenhyperlink auf einer Autonomous Database-Instanz mit einem privaten Endpunkt generieren, enthält das Ergebnis den Namen private_preauth_url mit dem Wert im Format: "https://private-endpoint/adb/p/parurl-token/data".

    Wenn Sie einen Tabellenhyperlink auf einer Autonomous Database-Instanz mit einem privaten Endpunkt generieren und der private Endpunkt mit Öffentlichen Zugriff zulassen konfiguriert ist, enthält das Ergebnis sowohl preauth_url für den öffentlichen Endpunkt als auch private_preauth_url.

    Weitere Informationen finden Sie unter Private Endpunkte konfigurieren und Private Endpunkte mit öffentlichem Zugriff verwenden.

  • Verwenden Sie DBMS_DATA_ACCESS.LIST_ACTIVE_URLS, um Tabellenhyperlinks anzuzeigen. Weitere Informationen finden Sie unter Hyperlinks zu Listentabellen.
  • Verwenden Sie DBMS_DATA_ACCESS.EXTEND_URL, um die Lebensdauer eines Tabellen-Hyperlinks zu verlängern. Weitere Informationen finden Sie unter Prozedur EXTEND_URL.

Tabellen-Hyperlink mit einer SELECT-Anweisung generieren

Zeigt die Schritte zum Generieren eines Tabellen-Hyperlinks an, der den Zugriff auf Daten mit einer SQL-Abfrageanweisung ermöglicht.

Wenn ein Tabellen-Hyperlink ausgeführt wird, verwendet er die Berechtigungen, die dem Datenbankbenutzer erteilt wurden, der den Tabellen-Hyperlink generiert. Der Benutzer, der einen Tabellen-Hyperlink generiert, muss über die Mindestberechtigungen verfügen, die für den Zugriff auf die Daten erforderlich sind. Um die Sicherheit zu gewährleisten, empfiehlt Oracle, dass Sie DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL nicht als ADMIN-Benutzer ausführen.

So verwenden Sie einen Tabellen-Hyperlink für den Zugriff auf Daten als beliebige SQL-Abfrageanweisung:

  1. Identifizieren Sie die Tabelle oder View mit den Informationen, die Sie freigeben möchten, sowie die SELECT-Anweisung für die Tabelle oder View, die Sie verwenden möchten.

    Wenn es Einschränkungen für die Daten gibt, die Sie verfügbar machen möchten, verwenden Sie den Parameter application_user_id, wenn Sie den Tabellen-Hyperlink generieren, und erstellen Sie eine VPD-Policy, um die von Ihnen angegebenen Daten einzuschränken. Weitere Informationen finden Sie unter Policy für virtuelle private Datenbanken zum Sichern von Tabellen-Hyperlinkdaten definieren.

  2. Führen Sie DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL aus, um den Tabellen-Hyperlink zu generieren.

    Sie haben zwei Optionen, je nachdem, ob Sie Default Bind-Variablenwerte aufnehmen möchten (wenn Sie Bind-Variablen in die SELECT-Anweisung aufnehmen).

    1. Geben Sie eine SELECT-Anweisung an, und verwenden Sie nicht den optionalen Parameter default_bind_values.

      Beispiele:

      DECLARE
         status CLOB;
         BEGIN
            DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL(
                sql_statement        => 'SELECT species, height FROM TREE_DATA',
                expiration_count     => 10,
                service_name         => 'HIGH',
                inherit_acl            => FALSE,
                result               => status);
             dbms_output.put_line(status);
          END;
      /
      Der Wert sql_statement muss eine SELECT-Anweisung sein. Die SELECT-Anweisung unterstützt Bind-Variablen. Wenn Bind-Variablen in der SELECT-Anweisung enthalten sind, müssen die Bind-Variablenwerte beim Zugriff auf die Daten als Abfrageparameter an den generierten Tabellen-Hyperlink angehängt werden.
    2. Geben Sie eine SELECT-Anweisung an, und nehmen Sie den Parameter default_bind_values auf.

      Beispiele:

      DECLARE
         status CLOB;
         BEGIN
            DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL(
                sql_statement => 'select * FROM TREE_DATA WHERE COUNTY = :countyNAME',
                default_bind_values  => '{"countyNAME" : "First"}',
                expiration_count     => 10,
                service_name         => 'HIGH',
                inherit_acl            => FALSE,
                result               => status);
             dbms_output.put_line(status);
          END;
      /

      Der Parameter sql_statement muss eine SELECT-Anweisung sein. Die SELECT-Anweisung unterstützt Bind-Variablen.

      Der Parameter default_bind_values gibt Werte für eine oder mehrere Bind-Variablen in sql_statement an. Wenn default_bind_values in DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL enthalten ist:

      • Bei Bind-Variablen, die in default_bind_values angegeben sind, können Sie die Bind-Variablenwerte weglassen, wenn Sie auf die Daten zugreifen. Der Standardwert wird für eine angegebene Bind-Variable verwendet, wenn beim Zugriff auf die Daten kein Override in der Tabellen-Hyperlink-URL als Abfrageparameter angegeben ist.

      • Sie können einen in default_bind_values angegebenen Standard-Bind-Variablenwert außer Kraft setzen, wenn Sie den Wert der Bind-Variablen in der Tabellen-Hyperlink-URL als Abfrageparameter beim Zugriff auf die Daten anhängen.

      • Wenn in der SELECT-Anweisung eine Bind-Variable enthalten ist und im Parameter default_bind_values kein Standardwert für die Bind-Variable angegeben ist, müssen Sie beim Zugriff auf die Daten einen Bind-Variablenwert an die generierte Tabellen-Hyperlink-URL als Abfrageparameter anhängen.

    Die Unterstützung von Bind-Variablen ist für die Spaltentypen NUMBER und VARCHAR2 verfügbar.

    In diesen Beispielen gibt der Parameter expiration_count an, dass der Tabellen-Hyperlink abläuft und nach 10 Verwendungen invalidiert wird. Wenn kein expiration_time angegeben wird, wird die Ablaufzeit auf den Standardwert 90 Tage gesetzt.

    Verwenden Sie den optionalen Parameter service_name, um anzugeben, dass der generierte Tabellen-Hyperlink mit einer bestimmten Service-Level-Garantie und Ressourcen verarbeitet wird. Beispiel: Verwenden Sie den Parameter service_name, um anzugeben, dass der Zugriff auf die SQL-Anweisung dem HIGH-Service zugeordnet ist.

    Verwenden Sie den optionalen Parameter inherit_acl, wenn Sie den Zugriff auf Tabellen-Hyperlink-Daten einschränken möchten. Setzen Sie diesen Parameter auf TRUE, um ACLs zu übernehmen. Wenn "ACL übernehmen" wahr ist, wird die IP-Adresse eines eingehenden Tabellen-Hyperlink-Consumers mit den ACLs in der Producer-Datenbank validiert, bevor der Zugriff auf Daten zugelassen wird. Wenn für die Producer-Datenbank keine ACLs konfiguriert sind, wird der Wert inherit_acl ignoriert, und der Datenzugriff ist ohne ACL-Prüfungen zulässig.

    Weitere Informationen finden Sie unter Netzwerkzugriff mit Access Control-Regeln (ACLs) konfigurieren und Prozedur GET_PREAUTHENTICATED_URL.

  3. Prüfen Sie das Ergebnis.

    In diesem Beispiel enthält status das Ergebnis, das den Tabellen-Hyperlink enthält.

    {
    "status":"SUCCESS","id":"LCvtpALqZgcHGL4Lxyzabcxyza-QVEFngwh1UGhg8jjuFAHOQJLGFi",
    "preauth_url":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/RIabc_xyz7Kw8ZLyZ2JzCXZQXpc/data",
    "expiration_ts":"2025-01-20T16:42:49.527Z",
    "expiration_count":10}
    }

Hinweise zum Generieren eines Tabellen-Hyperlinks mit DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL:

  • Wenn Sie einen Tabellenhyperlink auf einer Autonomous Database-Instanz mit einem privaten Endpunkt generieren, enthält das Ergebnis den Namen private_preauth_url mit dem Wert im Format: "https://private-endpoint/adb/p/parurl-token/data".

    Wenn Sie einen Tabellenhyperlink auf einer Autonomous Database-Instanz mit einem privaten Endpunkt generieren und der private Endpunkt mit Öffentlichen Zugriff zulassen konfiguriert ist, enthält das Ergebnis sowohl preauth_url für den öffentlichen Endpunkt als auch private_preauth_url.

    Weitere Informationen finden Sie unter Private Endpunkte konfigurieren und Private Endpunkte mit öffentlichem Zugriff verwenden.

  • Verwenden Sie DBMS_DATA_ACCESS.LIST_ACTIVE_URLS, um Tabellenhyperlinks anzuzeigen. Weitere Informationen finden Sie unter Hyperlinks zu Listentabellen.
  • Verwenden Sie DBMS_DATA_ACCESS.EXTEND_URL, um die Lebensdauer eines Tabellen-Hyperlinks zu verlängern. Weitere Informationen finden Sie unter Prozedur EXTEND_URL.

Tabellen-Hyperlink mit in Spalten angegebenen UI-Features generieren

Wenn Sie einen Tabellen-Hyperlink generieren, können Sie mit dem Parameter column_lists UI-Features für angegebene Spalten angeben.

Der Parameter column_lists ist ein JSON-Wert, der Optionen nach Spalte angibt. Die unterstützten Werte in column_lists sind mindestens einer der folgenden:

column_lists-Wert Beschreibung
order_by_columns

Gibt die Spalten an, die das Sortieren unterstützen. Die Spalten werden in einem JSON-Array angegeben.

filter_columns

Gibt die Spalten an, die Filterung unterstützen. Die Spalten werden in einem JSON-Array angegeben.

default_color_columns

Gibt an, dass nur die Standardfarbe für die angegebenen Spalten verwendet wird. Die Spalten werden in einem JSON-Array angegeben.

group_by_columns

Gibt an, dass "Gruppieren nach" für die angegebenen Spalten zulässig ist (das Anzeigen der Daten durch Gruppieren der angegebenen Spalte ist zulässig). Die Spalten werden in einem JSON-Array angegeben.

So geben Sie UI-Features auf Tabellenansichtsspaltebene für einen Tabellen-Hyperlink an:

  1. Identifizieren Sie die Tabelle oder View, oder wählen Sie die Anweisung aus, die Sie freigeben möchten.

    In diesem Beispiel wird ein Tabellen-Hyperlink mit dem Parameter column_lists und einer Tabelle generiert. Sie können diesen Parameter auch verwenden, wenn Sie einen Tabellen-Hyperlink mit einer SELECT-Anweisung generieren.

    Weitere Informationen finden Sie unter Tabellen-Hyperlink für eine Tabelle oder eine Ansicht generieren und Tabellen-Hyperlink mit einer SELECT-Anweisung generieren.

  2. Führen Sie DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL aus, um den Tabellen-Hyperlink zu generieren, und geben Sie die Option "Gruppieren nach Spalten" für die Anzeige mit einem Browser an:

    Beispiel: So geben Sie "Gruppieren nach Spalten" an:

    DECLARE
       status CLOB;
       BEGIN
          DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL(
              schema_name => 'ADMIN',
              schema_object_name    => 'TREE_DATA',
              expiration_minutes    => 360,
              service_name          => 'HIGH',
              column_lists          => '{ "group_by_columns": ["COUNTY", "SPECIES"] }',
              result                => status);
    
           dbms_output.put_line(status);
        END;
    /

    Der Parameter column_lists ist JSON, der eine Liste der JSON-Arrays mit Spalten enthält, die eine Tabellen-Hyperlink-Funktionalität definieren. Mit diesem Parameter können Sie die Spalten für eine oder mehrere der Optionen angeben: order_by_columns, filter_columns, default_color_columns oder group_by_columns.

    Beispiel:

    column_lists => '{ 
            "group_by_columns":["COUNTY", "SPECIES"], 
            "order_by_columns":["COUNTY"] }'

    Weitere Informationen finden Sie unter Prozedur GET_PREAUTHENTICATED_URL.

  3. Prüfen Sie das Ergebnis.

    In diesem Beispiel enthält status das Ergebnis, das Informationen zum Tabellen-Hyperlink enthält.

    {
    "status":"SUCCESS",
    "id":"LLUZjJ5Yy8d0txydMiuxCVL_j4abc_xyzV1989GmgRInaBYTw",
    "preauth_url":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/Rt_yRfTxbcabc_xyzWlANP5RmM9Y/data",
    "expiration_ts":"2024-10-25T02:30:39.810Z",
    "expiration_count":null
    }

    Ein Beispiel zur Verwendung von "Gruppieren nach Spalten" finden Sie unter Tabellenhyperlinks für den Zugriff auf Daten mit der Option "Gruppieren nach" im Tabellenformat verwenden.

  4. Führen Sie DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL aus, um den Tabellen-Hyperlink zu generieren, und geben Sie eine UI-Formatoption an.

    Beispiel: Um die Spalten festzulegen, die sortiert werden können, verwenden Sie die Option column_lists order_by_columns:

    DECLARE
       status CLOB;
       column_lists CLOB;
       BEGIN
          DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL(
              schema_name => 'ADMIN',
              schema_object_name    => 'TREE_DATA',
              expiration_minutes    => 360,
              service_name          => 'HIGH',
              column_lists          => '{ "order_by_columns": ["COUNTY", "SPECIES"] }',
              result                => status);
           dbms_output.put_line(status);
        END;
    /

    Der Parameter column_lists ist JSON, der eine Liste der JSON-Arrays mit Spalten enthält, die eine Tabellen-Hyperlink-Funktionalität definieren. Mit diesem Parameter können Sie die Spalten für eine oder mehrere der Optionen angeben: order_by_columns, filter_columns, default_color_columns oder group_by_columns.

    Weitere Informationen finden Sie unter Prozedur GET_PREAUTHENTICATED_URL.

  5. Prüfen Sie das Ergebnis.

    In diesem Beispiel enthält status das Ergebnis, das Informationen zum Tabellen-Hyperlink enthält.

    {
    "status":"SUCCESS",
    "id":"LLUZjJ5Yy8d0txydMiuxCVL_j4abc_xyzV1989GmgRInaBYTw",
    "preauth_url":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/Rt_yRfTxbcabc_xyzk3EmM9Y/data",
    "expiration_ts":"2024-10-25T02:30:39.810Z",
    "expiration_count":null
    }

    Ein Beispiel für die Verwendung der Reihenfolge nach Spalten finden Sie unter Tabellenhyperlinks im Tabellenformat mit Spaltensortierung verwenden.

Sie können auch:

  • Verwenden Sie DBMS_DATA_ACCESS.LIST_ACTIVE_URLS, um Tabellenhyperlinks anzuzeigen. Weitere Informationen finden Sie unter Hyperlinks zu Listentabellen.
  • Verwenden Sie DBMS_DATA_ACCESS.EXTEND_URL, um die Lebensdauer eines Tabellen-Hyperlinks zu verlängern. Weitere Informationen finden Sie unter Prozedur EXTEND_URL.
  • Generieren Sie Tabellen-Hyperlinks, die mit verschiedenen Garantien und Ressourcen auf Serviceebene bedient werden. Beispiel: Der Zugriff auf ein Objekt oder eine SQL-Anweisung kann den Services HIGH oder MEDIUM zugeordnet werden, während der Zugriff auf ein anderes Objekt oder eine andere SQL-Anweisung dem LOW-Service zugeordnet werden kann. Weitere Informationen finden Sie unter Prozedur GET_PREAUTHENTICATED_URL.

Listentabellen-Hyperlinks

Sie können die aktiven Tabellenhyperlinks auflisten, die Sie in einer Autonomous Database-Instanz generiert haben, und der ADMIN-Benutzer kann alle aktiven Tabellenhyperlinks auflisten.

Führen Sie DBMS_DATA_ACCESS.LIST_ACTIVE_URLS aus, um die aktiven Tabellenhyperlinks aufzulisten. Beispiele:

DECLARE    
    result CLOB;
    BEGIN
       result := DBMS_DATA_ACCESS.LIST_ACTIVE_URLS;           
       dbms_output.put_line(result);
    END;
/

Dieses Beispiel zeigt die folgende Ausgabe:

[{"id":"pT36lYHFGA4s3UXSNBCRO13v3D4_example1",
"created_by":"SCOTT",
"service_name":"HIGH",
"expiration_time":"2025-07-28T16:38:02.723Z",
"expiration_count":10,
"access_count":0,
"created":"2025-04-29T16:38:02.977Z",
"inherit_acl":true,
"is_group_url":false,
"group_ids":[null],
"sql_statement":"select * FROM TREE_DATA WHERE COUNTY = :county"}]

Weitere Informationen finden Sie unter Funktion LIST_ACTIVE_URLS.

Hinweis

Das Verhalten von DBMS_DATA_ACCESS.LIST_ACTIVE_URLS hängt vom ausführenden Benutzer ab. Wenn der aufrufende Benutzer ADMIN oder ein Benutzer mit der Rolle PDB_DBA ist, listet die Funktion alle aktiven Tabellen-Hyperlinks auf, unabhängig vom Benutzer, der den Tabellen-Hyperlink generiert hat. Wenn der aufrufende Benutzer nicht der ADMIN-Benutzer und kein Benutzer mit der Rolle PDB_DBA ist, enthält die Liste nur die aktiven Tabellenhyperlinks, die vom ausführenden Benutzer generiert wurden.

Tabellen-Hyperlinks invalidieren

Ein Benutzer mit entsprechenden Berechtigungen kann einen Tabellen-Hyperlink jederzeit invalidieren.

Um einen Tabellen-Hyperlink zu invalidieren, benötigen Sie den Tabellen-Hyperlink id. Verwenden Sie DBMS_DATA_ACCESS.LIST_ACTIVE_URLS, um alle Tabellenhyperlinks und die zugehörigen id aufzulisten.

Verwenden Sie DBMS_DATA_ACCESS.INVALIDATE_URL, um einen Tabellen-Hyperlink zu invalidieren. Beispiele:

DECLARE
    status CLOB;
    BEGIN
       DBMS_DATA_ACCESS.INVALIDATE_URL(
        id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
        result => status);           
       dbms_output.put_line(status);
    END;
/

Weitere Informationen finden Sie unter Prozedur INVALIDATE_URL.

Policy für virtuelle private Datenbanken zum Sichern von Tabellen-Hyperlink-Daten definieren

Durch die Definition von Oracle Virtual Private Database-(VPD-)Policys für Daten, die Sie mit einem Tabellen-Hyperlink teilen, können Sie eine fein granulierte Zugriffskontrolle bereitstellen, sodass nur eine Teilmenge von Daten, Zeilen, für einen bestimmten Tabellen-Hyperlink sichtbar ist.

Oracle Virtual Private Database (VPD) ist ein Sicherheitsfeature, mit dem Sie den Datenzugriff dynamisch auf Zeilenebene für Benutzer und Anwendungen steuern können, indem Sie Filter auf dasselbe Dataset anwenden. Wenn auf einen Tabellen-Hyperlink zugegriffen wird, ist der bei der Generierung des Tabellen-Hyperlinks angegebene Wert von application_user_id über sys_context('DATA_ACCESS_CONTEXT$', 'USER_IDENTITY') verfügbar. Sie können VPD-Policys definieren, die den Wert dieses Anwendungskontexts verwenden, um die für den Anwendungsbenutzer sichtbaren Daten und Zeilen einzuschränken.

Jeder Benutzer, dem Zugriff auf das Lesen von Daten mit einem Tabellen-Hyperlink gewährt wird, kann auf die Daten zugreifen und diese verwenden (entweder eine Tabelle, eine View oder die Daten, die mit einer SELECT-Anweisung bereitgestellt werden). Wenn Sie eine VPD-Policy für die Datenbank definieren, die einen Tabellenhyperlink generiert hat, können Sie den Wert application_user_id in einer SYS_CONTEXT-Regel verwenden, um eine feiner granulierte Kontrolle bereitzustellen. Beispiel: Daten werden mit einem Tabellen-Hyperlink zur Verfügung gestellt. Wenn Sie den Zugriff auf einige Daten einschränken möchten, können Sie eine VPD-Policy hinzufügen.

Beispiel:

  1. Rufen Sie den Wert application_user_id ab, den Sie beim Generieren des Tabellen-Hyperlinks angegeben haben.
  2. Erstellen Sie eine VPD-Policy in der Datenbank, in der Sie den Tabellen-Hyperlink generiert haben.
    CREATE OR REPLACE FUNCTION limit_sal (v_schema IN VARCHAR2, v_objname IN VARCHAR2)
      RETURN VARCHAR2 authid current_user AS
    BEGIN
         RETURN 'employee_id = SYS_CONTEXT(''DATA_ACCESS_CONTEXT$'', ''USER_IDENTITY'')';
    END;
    

    Weitere Informationen finden Sie unter DBMS_RLS.

  3. Registrieren Sie die VPD-Richtlinie.
    BEGIN
       DBMS_RLS.ADD_POLICY( 
            object_schema        => 'HR',
            object_name          => 'EMPLOYEE',
            policy_name          => 'POL',
            policy_function      => 'LIMIT_SAL');
    END;
    /

    Weitere Informationen finden Sie unter DBMS_RLS.

Weitere Informationen finden Sie unter Datenzugriff mit Oracle Virtual Private Database steuern.

Verwendung von Tabellen-Hyperlinks überwachen und anzeigen

Autonomous Database stellt Ansichten bereit, mit denen Sie die Verwendung von Tabellen-Hyperlinks überwachen können.

Views Beschreibung
Ansichten V$DATA_ACCESS_URL_STATS und GV$DATA_ACCESS_URL_STATS

Diese Ansichten verfolgen die Tabellen-Hyperlink-Nutzung, einschließlich verstrichener Zeit, CPU-Zeit und zusätzlicher Informationen.