DBMS_CLOUD_LINK-Package

Mit dem Package DBMS_CLOUD_LINK kann ein Benutzer eine Tabelle oder Ansicht als Dataset für schreibgeschützten Zugriff mit Cloud-Links registrieren.

DBMS_CLOUD_LINK - Überblick

Beschreibt die Verwendung des Packages DBMS_CLOUD_LINK.

Das Package DBMS_CLOUD_LINK enthält die Prozedur REGISTER, mit der Sie eine Tabelle oder Ansicht als Dataset für die Verwendung mit Cloudlinks registrieren können. Bevor Sie ein Dataset registrieren können, muss der ADMIN-Benutzer einem Benutzer die Berechtigung erteilen, ein Dataset mit der Prozedur DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER zu registrieren. Nachdem der ADMIN GRANT_REGISTER ausgeführt hat, kann ein Benutzer eine Tabelle oder eine View, deren Eigentümer er ist, als registriertes Dataset registrieren (oder ein Objekt in einem anderen Schema registrieren, wenn der Benutzer die Berechtigung READ WITH GRANT OPTION für das Objekt hat). Registrierte Datasets bieten Remotezugriff auf das registrierte Objekt mit Cloud-Links, abhängig vom Geltungsbereich, der mit der Prozedur REGISTER angegeben wird.

Um DBMS_CLOUD_LINK.REGISTER, DBMS_CLOUD_LINK.UPDATE_REGISTRATION oder DBMS_CLOUD_LINK.UNREGISTER auszuführen, benötigen Sie die Ausführungsberechtigung für das Package DBMS_CLOUD_LINK. Außerdem müssen Sie zuvor DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER ausführen. Standardmäßig haben nur der ADMIN-Benutzer und die Schemas mit der Rolle PDB_DBA die Ausführungsberechtigung für DBMS_CLOUD_LINK.

Zusammenfassung der DBMS_CLOUD_LINK-Unterprogramme

Zeigt eine Tabelle mit einer Übersicht der im Package DBMS_CLOUD_LINK enthaltenen Unterprogramme an.

Unterprogramm Beschreibung

DESCRIBE-Funktion

Diese Funktion ruft die Beschreibung für ein Dataset ab. Die Beschreibung wird angegeben, wenn ein Dataset bei DBMS_CLOUD_LINK.REGISTER registriert wird.

FIND-Verfahren

Ruft den Namespace, den Namen und die Beschreibung für Datasets ab, die mit der Suchzeichenfolge übereinstimmen. Übereinstimmende Datasets werden nur angezeigt, wenn sie auf Basis von Zugriffsbeschränkungen für den Benutzer zugänglich sind.

Funktion GET_DATABASE_ID

Gibt eine eindeutige ID für die Autonomous Database-Instanz zurück. Wiederholte Aufrufe an DBMS_CLOUD_LINK.GET_DATABASE_ID auf derselben Instanz geben immer denselben Wert zurück.

Prozedur GRANT_AUTHORIZATION

Erteilt einer angegebenen Datenbank Autorisierung für den Zugriff auf das angegebene Dataset.

REGISTRIERUNG

Registriert eine Tabelle oder View als Dataset.

Prozedur REVOKE_AUTHORIZATION

Entzieht die Autorisierung für eine angegebene Datenbank, um auf das angegebene Dataset zuzugreifen.

UNREGISTER-Prozedur

Entfernt ein registriertes Dataset.

Prozedur UPDATE_REGISTRATION

Aktualisiert Attribute eines Datasets, das mit DBMS_CLOUD_LINK.REGISTER registriert wurde.

DESCRIBE-Funktion

Diese Funktion ruft die Beschreibung für ein Dataset ab. Die Beschreibung wird angegeben, wenn ein Dataset bei DBMS_CLOUD_LINK.REGISTER registriert wird.

Syntax

DBMS_CLOUD_LINK.DESCRIBE(
      namespace        IN   VARCHAR2,
      name             IN   VARCHAR2
) return CLOB;

Parameter

Parameter Beschreibung

namespace

Gibt den Namespace des registrierten Datasets an.

name

Gibt den Namen eines registrierten Datasets an.

Hinweis zur Verwendung

Sie können diese Funktion vorbehaltlich der bei der Registrierung geltenden Zugriffsbeschränkungen bei DBMS_CLOUD_LINK.REGISTER nutzen. Wenn für eine Datenbank kein Zugriff auf ein Dataset möglich ist, wird die Beschreibung nicht abgerufen.

FIND-Verfahren

Diese Prozedur ruft den Namespace, den Namen und die Beschreibung für Datasets ab, die mit der Suchzeichenfolge übereinstimmen. Übereinstimmende Datasets werden nur angezeigt, wenn sie auf Basis von Zugriffsbeschränkungen für den Benutzer zugänglich sind.

Syntax

DBMS_CLOUD_LINK.FIND(
      search_string        IN   VARCHAR2,
      search_result        OUT   CLOB
);

Parameter

Parameter Beschreibung

search_string

Gibt den Suchstring an. Bei der Suchfolge wird die Groß-/Kleinschreibung nicht beachtet.

search_result

Ein JSON-Dokument, das Namespace-, Namens- und Beschreibungswerte für das Dataset enthält.

Hinweis zur Verwendung

Bei der Suchzeichenfolge wird die Groß-/Kleinschreibung nicht beachtet. Das Package nutzt die Freitextsuche mit Oracle Text.

Funktion GET_DATABASE_ID

Die Funktion gibt eine eindeutige ID für die Autonomous Database-Instanz zurück. Wiederholte Aufrufe an DBMS_CLOUD_LINK.GET_DATABASE_ID auf derselben Instanz geben immer denselben Wert zurück.

Sie können diese Funktion in einer Datenbank aufrufen, die remote auf ein registriertes Dataset zugreift, um die Datenbank-ID abzurufen. Auf diese Weise können Sie die Datenbank-iD bereitstellen, sodass ein Dataset-Eigentümer eine feinere Datenzugriffskontrolle nutzen kann, z.B. mit VPD, basierend auf einer angegebenen Datenbank-ID von Remote-Standorten.

Eine Datenbank-ID identifiziert jede Remotedatenbank, die auf ein registriertes Dataset zugreift, um den Zugriff in den V$CLOUD_LINK_ACCESS_STATS- und GV$CLOUD_LINK_ACCESS_STATS-Ansichten in der Datenbank zu verfolgen und zu auditieren, die Eigentümer eines registrierten Datasets ist.

Syntax

DBMS_CLOUD_LINK.GET_DATABASE_ID()
  RETURN VARCHAR2;

Hinweise zur Verwendung

Cloud-Links verwenden die eindeutige ID, die DBMS_CLOUD_LINK.GET_DATABASE_ID zurückgibt, um einzelne Datenbanken zu identifizieren, die remote auf ein Dataset zugreifen. Die Datenbank, die Eigentümer des registrierten Datasets ist, verfolgt und prüft die Datenbank-ID als Datensatz des Ursprungs für den Dataset-Zugriff in den V$CLOUD_LINK_ACCESS_STATS- und GV$CLOUD_LINK_ACCESS_STATS-Ansichten.

Die DBMS_CLOUD_LINK.GET_DATABASE_ID-ID ist als SYS_CONTEXT-Wert verfügbar, sodass Sie diese Informationen über eine verbindende Remote-Session mit SYS_CONTEXT programmgesteuert abrufen können, um weiter einzuschränken und zu steuern, auf welche spezifischen Daten von einzelnen Autonomous Database-Instanzen mit Virtual Private Databases (VPD) remote zugegriffen werden kann.

Rückgabewerte

Eine eindeutige ID für die Autonomous Database-Instanz von VARCHAR2.

Prozedur GRANT_AUTHORIZATION

Diese Prozedur erteilt einer angegebenen Datenbank die Autorisierung für den Zugriff auf das angegebene Dataset.

Syntax

DBMS_CLOUD_LINK.GRANT_AUTHORIZATION(
      database_id        IN   VARCHAR2,
      namespace          IN   VARCHAR2 DEFAULT,
      name               IN   VARCHAR2
);

Parameter

Parameter Beschreibung

database_id

Gibt die Datenbank-ID für eine Autonomous Database-Instanz an. Verwenden Sie DBMS_CLOUD_LINK.GET_DATABASE_ID, um die Datenbank-ID abzurufen.

namespace

Gibt den Dataset-Namespace an, der die Zugriffsautorisierung für die angegebene database_id erteilt.

name

Gibt den Dataset-Namen an, um die Zugriffsautorisierung für das angegebene database_id zu erteilen.

REGISTRIERUNG

Die Prozedur registriert eine Tabelle oder eine View als Dataset, um den Remote-Lesezugriff zu ermöglichen, vorbehaltlich der Einschränkungen, die durch den Parameter scope auferlegt werden.

Syntax

DBMS_CLOUD_LINK.REGISTER(
     schema_name      IN VARCHAR2,
     schema_object    IN VARCHAR2,
     namespace        IN VARCHAR2,
     name             IN VARCHAR2,
     description      IN CLOB,
     scope            IN CLOB,
     auth_required    IN BOOLEAN DEFAULT,
     data_set_owner   IN VARCHAR2 DEFAULT,
     offload_targets  IN CLOB DEFAULT

);

Parameter

Parameter Beschreibung

schema_name

Gibt den Eigentümer der Tabelle oder View an, die mit dem Parameter schema_object angegeben wurde.

schema_object

Gibt den Namen einer Tabelle oder View an. Gültige Objekte sind:

  • Tabellen (einschließlich Heap, extern oder Hybrid)
  • Ansichten
  • Materialized Views
  • Cloud-Tabellen

Andere Objekte wie analytische Views oder Synonyme werden nicht unterstützt.

namespace

Gibt den Namespace für das Dataset an.

Ein NULL-Wert gibt einen vom System generierten namespace-Wert an, der für die Autonomous Database-Instanz eindeutig ist.

name

Gibt den Namen für das Dataset an.

description

Gibt Text zur Beschreibung der Daten an.

scope

Beschreibt, wer auf das Dataset zugreifen darf. Der Wert ist eine durch Komma getrennte Liste, die aus einer oder mehreren der folgenden Elemente besteht:

  • Datenbank-OCID: Zugriff auf das Dataset ist für die spezifischen, per OCID identifizierten Autonomous Database-Instanzen zulässig.

  • Compartment-OCID: Zugriff auf das Dataset ist für Datenbanken in den per Compartment-OCID identifizierten Compartments zulässig.

  • Mandanten-OCID: Zugriff auf das Dataset ist für Datenbanken in den per Mandanten-OCID identifizierten Mandanten zulässig.

  • Regionsname: Der Zugriff auf das Dataset ist für Datenbanken in der Region zulässig, die durch die benannte Region identifiziert wird. Der Zugriff auf Cloud-Links ist nach Geltungsbereich auf eine einzelne Region beschränkt und nicht regionsübergreifend. Ein Consumer in einer anderen Region kann nur dann auf ein Dataset zugreifen, wenn ein regionsübergreifender aktualisierbarer Klon der Datenbank, der Eigentümer des Datasets ist, in der Region der Consumer-Datenbank vorhanden ist.

    Weitere Informationen finden Sie unter Datasets in einer anderen Region registrieren oder deren Registrierung aufheben.

  • MY$COMPARTMENT: Zugriff auf das Dataset ist für Datenbanken in dem Compartment zulässig, in dem sich der Dataset-Eigentümer befindet.

  • MY$TENANCY: Zugriff auf das Dataset ist für Datenbanken in dem Mandanten zulässig, in dem sich der Dataset-Eigentümer befindet.

  • MY$REGION: Zugriff auf das Dataset ist für Datenbanken in der Region zulässig, in der sich der Dataset-Eigentümer befindet.

  • Liste der Regionen: Zugriff auf das Dataset ist für Datenbanken in den angegebenen Regionen zulässig

    Beispiel:

    scope   =>  'us-phoenix-1,us-ashburn-1',

    Ein Consumer in einer anderen Region kann nur dann auf ein Dataset zugreifen, wenn ein regionsübergreifender aktualisierbarer Klon der Datenbank, der Eigentümer des Datasets ist, in der Region der Consumer-Datenbank vorhanden ist.

Die Geltungsbereichswerte MY$REGION, MY$TENANCY und MY$COMPARTMENT sind Variablen, die als einfache Makros fungieren und als OCIDs aufgelöst werden.

auth_required

Gibt an, dass eine zusätzliche Autorisierung erforderlich ist, damit Datenbanken aus dem Dataset lesen können. Folgende Fälle sind möglich:

  • Datenbanken, die sich innerhalb der angegebenen SCOPE befinden und mit DBMS_CLOUD_LINK.GRANT_AUTHORIZATION autorisiert wurden, können Zeilen aus dem Dataset anzeigen.

  • Datenbanken, die sich innerhalb der angegebenen SCOPE befinden, aber nicht mit DBMS_CLOUD_LINK.GRANT_AUTHORIZATION autorisiert wurden, können keine Dataset-Zeilen anzeigen. In diesem Fall sehen Verbraucher ohne Autorisierung den Datensatz als leer.

  • Datenbanken, die nicht innerhalb der angegebenen SCOPE liegen, sehen einen Fehler beim Versuch, auf das Dataset zuzugreifen.

data_set_owner

Gibt den Dataset-Eigentümer an. Gibt an, zu wem das Dataset gehört oder wer für die Aktualisierung und Verwaltung des Datasets verantwortlich ist. Beispiel: Sie können die data_set_owner auf die E-Mail-Adresse der Person setzen, die den Datensatz registriert hat.

offload_targets

Gibt eine oder mehrere Autonomous Database-OCIDs aktualisierbarer Klone an, bei denen der Zugriff auf Datasets aus der Autonomous Database ausgelagert wird, in der das Dataset registriert ist.

Der Wert offload_targets ist ein JSON-Dokument, das mindestens ein Schlüsselwertpaar CLOUD_LINK_DATABASE_ID und OFFLOAD_TARGET definiert:

  • CLOUD_LINK_DATABASE_ID ist eine der folgenden Optionen:

    • Eine Datenbank-ID: Gibt eine Datenbank-ID für den Dataset-Consumer an, dessen Anforderung an den entsprechenden aktualisierbaren Klon ausgelagert wird, der mit dem Wert OFFLOAD_TARGET angegeben ist.

      Rufen Sie die Datenbank-ID ab, indem Sie DBMS_CLOUD_LINK.GET_DATABASE_ID ausführen. Weitere Informationen finden Sie unter Funktion GET_DATABASE_ID.

    • ANY: Gibt an, dass die Anforderung eines Dataset-Consumers an das entsprechende Offload-Ziel ausgelagert wird. Die Dataset-Anforderung eines Consumers wird an das entsprechende Auslagerungsziel weitergeleitet.

      Wenn Sie ANY angeben, ohne Datenbank-IDs anzugeben, werden alle Dataset-Anforderungen von Consumern an den aktualisierbaren Klon ausgelagert, der mit dem Wert OFFLOAD_TARGET angegeben ist.

      Wenn Sie sowohl Datenbank-IDs als auch ANY angeben, werden Dataset-Anforderungen von Consumern, die nicht mit einer Datenbank-ID übereinstimmen, an den aktualisierbaren Klon ausgelagert, der mit dem Wert OFFLOAD_TARGET angegeben ist.

  • Die OFFLOAD_TARGET ist die OCID für eine Autonomous Database-Instanz, die ein aktualisierbarer Klon ist.

Beispiel: Im Folgenden wird ein JSON-Beispiel mit drei OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID-Wertpaaren dargestellt:

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx69708978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfabc"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx89898978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

Wenn ein Dataset-Consumer Zugriff auf ein Dataset anfordert, das Sie bei offload_targets mit dem Schlüsselwort ANY registrieren, wird jede Zugriffsanforderung an den aktualisierbaren Klon ausgelagert, der mit OFFLOAD_TARGET in der bereitgestellten JSON identifiziert wurde (mit Ausnahme von Anforderungen, die einen expliziten Eintrag in der bereitgestellten JSON enthalten).

Beispiel: Im Folgenden wird ein JSON-Beispiel mit einem expliziten OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID-Wertpaar und einem ANY-Eintrag gezeigt:

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "ANY",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

DBMS_CLOUD_LINK.REGISTER meldet einen Fehler, wenn die als OFFLOAD_TARGET-Wert angegebene OCID keine OCID eines aktualisierbaren Klons in derselben Region ist.

Informationen zur Verwendung aktualisierbarer Klone finden Sie unter Aktualisierbare Klone mit Autonomous Database verwenden.

Hinweise zur Verwendung

  • Nachdem Sie ein Objekt registriert haben, müssen Benutzer möglicherweise bis zu zehn (10) Minuten warten, um mit Cloud-Links auf das Objekt zuzugreifen.

  • Verwenden Sie die Prozedur DBMS_CLOUD_LINK.UPDATE_REGISTRATION, um die Attribute für ein vorhandenes Dataset zu ändern.

    Die Wartezeit bis zum Abschluss des Updates kann bis zu 10 Minuten betragen, bis eine Registrierungsänderung über Cloud-Links propagiert und darauf zugegriffen werden kann. Diese Verzögerung kann sich auf die Genauigkeit der Daten in der DBA_CLOUD_LINK_REGISTRATIONS- und DBA_CLOUD_LINK_ACCESS-Ansicht auswirken.

  • Sie können eine Tabelle oder View registrieren, die sich im Schema eines anderen Benutzers befindet, wenn Sie über READ WITH GRANT OPTION-Berechtigungen für die Tabelle oder View verfügen.

  • Der Geltungsbereich, den Sie beim Registrieren eines Datasets festlegen, wird nur berücksichtigt, wenn er mit dem mit DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER festgelegten Wert übereinstimmt oder restriktiver ist. Beispiel: Der ADMIN hat den Geltungsbereich 'MY$TENANCY' mit GRANT_REGISTER erteilt, und der Benutzer gibt 'MY$REGION' an, wenn er ein Dataset mit DBMS_CLOUD_LINK.REGISTER registriert. In diesem Fall würde ein Fehler wie der Folgende angezeigt:

    ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION
  • Bestimmte hierarchische Validitätsprüfungen für die Registrierung können bei der Registrierung nicht durchgeführt werden. Ungültige Registrierungen sind für niemanden sichtbar, auffindbar oder sogar zugänglich.

  • Um DBMS_CLOUD_LINK.REGISTER verwenden zu können, benötigen Sie neben der Registrierungsberechtigung, die DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER zugewiesen ist, Ausführungsberechtigung für das Package DBMS_CLOUD_LINK. Nur der ADMIN-Benutzer und die Schemas mit PDB_DBA verfügen standardmäßig über diese Berechtigung.

  • Wenn Sie ein Dataset auf einem aktualisierbaren Klon in einer Remoteregion registrieren, muss der Aufruf von DBMS_CLOUD_LINK.REGISTER auf dem Remoteregionsklon dieselben Parameter mit denselben Werten verwenden wie auf der Quelldatenbank, mit Ausnahme des Parameters offload_targets.

    Beispiel: Wenn Sie DBMS_CLOUD_LINK.REGISTER mit dem Geltungsbereich MY$COMPARTMENT in der Autonomous Database-Quellinstanz ausführen, führen Sie die Prozedur erneut auf dem regionsübergreifenden aktualisierbaren Klon mit demselben Geltungsbereichsparameterwert (MY$COMPARTMENT) aus.

  • Wenn Sie den Parameter offload_targets mit DBMS_CLOUD_LINK.REGISTER in der Quelle angeben, sollten Sie diesen Parameter weglassen, wenn Sie das Dataset in einem regionsübergreifenden aktualisierbaren Klon registrieren.

Prozedur REVOKE_AUTHORIZATION

Diese Prozedur entzieht einer angegebenen Datenbank die Autorisierung für den Zugriff auf das angegebene Dataset.

Syntax

DBMS_CLOUD_LINK.REVOKE_AUTHORIZATION(
      database_id        IN   VARCHAR2,
      namespace          IN   VARCHAR2 DEFAULT,
      name               IN   VARCHAR2
);

Parameter

Parameter Beschreibung

database_id

Gibt die Datenbank-ID für eine Autonomous Database-Instanz an. Verwenden Sie DBMS_CLOUD_LINK.GET_DATABASE_ID, um die Datenbank-ID abzurufen.

namespace

Gibt den Dataset-Namespace an, um die Zugriffsautorisierung für die angegebene database_id zu entziehen.

name

Gibt den Dataset-Namen an, um die Zugriffsautorisierung für das angegebene database_id zu entziehen.

UNREGISTER-Prozedur

Mit dieser Prozedur kann ein Benutzer, der zuvor eine Tabelle oder View mit der Prozedur REGISTER registriert hat, die Registrierung der Tabelle oder View aufheben, sodass sie nicht mehr für den Remotezugriff verfügbar ist.

Syntax

DBMS_CLOUD_LINK.UNREGISTER(
      namespace        IN   VARCHAR2,
      name             IN   VARCHAR2
);

Parameter

Parameter Beschreibung

namespace

Legt einen Benutzernamen fest.

name

Gibt den Namen für das Dataset an.

Hinweis zur Verwendung

Die vollständige Propagierung von DBMS_CLOUD_LINK.UNREGISTER kann auch bis zu zehn (10) Minuten dauern. Danach kann der Remotezugriff auf die Daten länger dauern.

Prozedur UPDATE_REGISTRATION

Die Prozedur aktualisiert mindestens eines der Attribute für ein Dataset, das mit DBMS_CLOUD_LINK.REGISTER registriert wurde.

Syntax

DBMS_CLOUD_LINK.UPDATE_REGISTRATION(
     namespace        IN VARCHAR2,
     name             IN VARCHAR2,
     description      IN CLOB      DEFAULT,
     scope            IN CLOB      DEFAULT,
     auth_required    IN BOOLEAN   DEFAULT,
     data_set_owner   IN VARCHAR2  DEFAULT,
     offload_targets  IN CLOB      DEFAULT

);

Parameter

Parameter Beschreibung
namespace

Gibt den Namespace des zu aktualisierenden Datasets an.

name

Gibt den Namen des zu aktualisierenden Datasets an.

description

Gibt den aktualisierten Text zur Beschreibung der Daten an.

Wenn NULL für diesen Parameterwert übergeben wird, wird das Attribut nicht geändert.

Dieses Attribut wird standardmäßig nicht aktualisiert.

scope

Aktualisieren Sie den Geltungsbereich mit dem angegebenen Wert. Der Geltungsbereich beschreibt, wer auf das Dataset zugreifen darf. Der Wert ist eine durch Komma getrennte Liste, die aus einer oder mehreren der folgenden Elemente besteht:

  • Datenbank-OCID: Zugriff auf das Dataset ist für die spezifischen, per OCID identifizierten Autonomous Database-Instanzen zulässig.

  • Compartment-OCID: Zugriff auf das Dataset ist für Datenbanken in den per Compartment-OCID identifizierten Compartments zulässig.

  • Mandanten-OCID: Zugriff auf das Dataset ist für Datenbanken in den per Mandanten-OCID identifizierten Mandanten zulässig.

  • Regionsname: Der Zugriff auf das Dataset ist für Datenbanken in der Region zulässig, die durch die benannte Region identifiziert wird. Der Zugriff auf Cloud-Links ist nach Geltungsbereich auf eine einzelne Region beschränkt und nicht regionsübergreifend. Ein Consumer in einer anderen Region kann nur dann auf ein Dataset zugreifen, wenn ein regionsübergreifender aktualisierbarer Klon der Datenbank, der Eigentümer des Datasets ist, in der Region der Consumer-Datenbank vorhanden ist.

    Weitere Informationen finden Sie unter Datasets in einer anderen Region registrieren oder deren Registrierung aufheben.

  • MY$COMPARTMENT: Zugriff auf das Dataset ist für Datenbanken in dem Compartment zulässig, in dem sich der Dataset-Eigentümer befindet.

  • MY$TENANCY: Zugriff auf das Dataset ist für Datenbanken in dem Mandanten zulässig, in dem sich der Dataset-Eigentümer befindet.

  • MY$REGION: Zugriff auf das Dataset ist für Datenbanken in der Region zulässig, in der sich der Dataset-Eigentümer befindet.

  • Liste der Regionen: Zugriff auf das Dataset ist für Datenbanken in den angegebenen Regionen zulässig

    Beispiel:

    scope   =>  'us-phoenix-1,us-ashburn-1',

    Ein Consumer in einer anderen Region kann nur dann auf ein Dataset zugreifen, wenn ein regionsübergreifender aktualisierbarer Klon der Datenbank, der Eigentümer des Datasets ist, in der Region der Consumer-Datenbank vorhanden ist.

Die Geltungsbereichswerte MY$REGION, MY$TENANCY und MY$COMPARTMENT sind Variablen, die als einfache Makros fungieren und als OCIDs aufgelöst werden.

Wenn NULL für diesen Parameterwert übergeben wird, wird das Attribut nicht geändert.

Dieses Attribut wird standardmäßig nicht aktualisiert.

auth_required

Gibt an, dass eine zusätzliche Autorisierung erforderlich ist, damit Datenbanken aus dem Dataset lesen können. Folgende Fälle sind möglich:

  • Datenbanken, die sich innerhalb der angegebenen SCOPE befinden und mit DBMS_CLOUD_LINK.GRANT_AUTHORIZATION autorisiert wurden, können Zeilen aus dem Dataset anzeigen.

  • Datenbanken, die sich innerhalb der angegebenen SCOPE befinden, aber nicht mit DBMS_CLOUD_LINK.GRANT_AUTHORIZATION autorisiert wurden, können keine Dataset-Zeilen anzeigen. In diesem Fall sehen Verbraucher ohne Autorisierung den Datensatz als leer.

  • Datenbanken, die nicht innerhalb der angegebenen SCOPE liegen, sehen einen Fehler beim Versuch, auf das Dataset zuzugreifen.

Wenn NULL für diesen Parameterwert übergeben wird, wird das Attribut nicht geändert.

Dieses Attribut wird standardmäßig nicht aktualisiert.

data_set_owner

Gibt den Dataset-Eigentümer an. Gibt an, zu wem das Dataset gehört oder wer für die Aktualisierung und Verwaltung des Datasets verantwortlich ist. Beispiel: Sie können die data_set_owner auf die E-Mail-Adresse der Person setzen, die den Datensatz registriert hat.

Wenn NULL für diesen Parameterwert übergeben wird, wird das Attribut nicht geändert.

Dieses Attribut wird standardmäßig nicht aktualisiert.

offload_targets

Gibt eine oder mehrere Autonomous Database-OCIDs aktualisierbarer Klone an, bei denen der Zugriff auf Datasets aus der Autonomous Database ausgelagert wird, in der das Dataset registriert ist.

Der Wert offload_targets ist ein JSON-Dokument, das mindestens ein Schlüsselwertpaar CLOUD_LINK_DATABASE_ID und OFFLOAD_TARGET definiert:

  • CLOUD_LINK_DATABASE_ID ist eine der folgenden Optionen:

    • Eine Datenbank-ID: Gibt eine Datenbank-ID für den Dataset-Consumer an, dessen Anforderung an den entsprechenden aktualisierbaren Klon ausgelagert wird, der mit dem Wert OFFLOAD_TARGET angegeben ist.

      Rufen Sie die Datenbank-ID ab, indem Sie DBMS_CLOUD_LINK.GET_DATABASE_ID ausführen. Weitere Informationen finden Sie unter Funktion GET_DATABASE_ID.

    • ANY: Gibt an, dass die Anforderung eines Dataset-Consumers an das entsprechende Offload-Ziel ausgelagert wird. Die Dataset-Anforderung eines Consumers wird an das entsprechende Auslagerungsziel weitergeleitet.

      Wenn Sie ANY angeben, ohne Datenbank-IDs anzugeben, werden alle Dataset-Anforderungen von Consumern an den aktualisierbaren Klon ausgelagert, der mit dem Wert OFFLOAD_TARGET angegeben ist.

      Wenn Sie sowohl Datenbank-IDs als auch ANY angeben, werden Dataset-Anforderungen von Consumern, die nicht mit einer Datenbank-ID übereinstimmen, an den aktualisierbaren Klon ausgelagert, der mit dem Wert OFFLOAD_TARGET angegeben ist.

  • Die OFFLOAD_TARGET ist die OCID für eine Autonomous Database-Instanz, die ein aktualisierbarer Klon ist.

Beispiel: Im Folgenden wird ein JSON-Beispiel mit drei OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID-Wertpaaren dargestellt:

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx69708978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfabc"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx89898978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

Wenn ein Dataset-Consumer Zugriff auf ein Dataset anfordert, das Sie bei offload_targets mit dem Schlüsselwort ANY registrieren, wird jede Zugriffsanforderung an den aktualisierbaren Klon ausgelagert, der mit OFFLOAD_TARGET in der bereitgestellten JSON identifiziert wurde (mit Ausnahme von Anforderungen, die einen expliziten Eintrag in der bereitgestellten JSON enthalten).

Beispiel: Im Folgenden wird ein JSON-Beispiel mit einem expliziten OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID-Wertpaar und einem ANY-Eintrag gezeigt:

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "ANY",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

DBMS_CLOUD_LINK.REGISTER meldet einen Fehler, wenn die als OFFLOAD_TARGET-Wert angegebene OCID keine OCID eines aktualisierbaren Klons in derselben Region ist.

Informationen zur Verwendung aktualisierbarer Klone finden Sie unter Aktualisierbare Klone mit Autonomous Database verwenden.

Wenn NULL für diesen Parameterwert übergeben wird, wird das Attribut nicht geändert.

Dieses Attribut wird standardmäßig nicht aktualisiert.

Hinweise zur Verwendung

  • Die Attribute schema_name und schema_object für ein Dataset können nicht aktualisiert werden.

  • Nachdem Sie die Registrierung für ein Objekt aktualisiert haben, müssen Benutzer möglicherweise bis zu zehn (10) Minuten warten, um über die aktualisierten Attribute mit Cloud-Links auf das Objekt zuzugreifen.

  • Sie können die Registrierung für eine Tabelle oder View aktualisieren, die sich im Schema eines anderen Benutzers befindet, wenn Sie READ WITH GRANT OPTION-Berechtigungen für die Tabelle oder View haben.

  • Der Geltungsbereich, den Sie beim Aktualisieren der Registrierung eines Datasets festlegen, wird nur berücksichtigt, wenn er mit dem mit DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER festgelegten Wert übereinstimmt oder restriktiver ist. Beispiel: Der ADMIN hat den Geltungsbereich 'MY$TENANCY' mit GRANT_REGISTER erteilt, und der Benutzer gibt 'MY$REGION' an, wenn er die Registrierung für das Dataset mit DBMS_CLOUD_LINK.UPDATE_REGISTRATION aktualisiert. In diesem Fall würde ein Fehler wie der Folgende angezeigt:

    ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION
  • Bestimmte hierarchische Validitätsprüfungen für eine aktualisierte Registrierung können zum Zeitpunkt der Aktualisierung der Registrierung nicht durchgeführt werden. Ungültige Registrierungen sind für niemanden sichtbar, auffindbar oder sogar zugänglich.

  • Der Benutzer, der ein Dataset registriert hat, kann seine Attribute mit DBMS_CLOUD_LINK.UPDATE_REGISTRATION aktualisieren. Darüber hinaus müssen Sie über Ausführungsberechtigungen für das Package DBMS_CLOUD_LINK und die mit DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER zugewiesene Registrierungsberechtigung verfügen. Nur der ADMIN-Benutzer und die Schemas mit PDB_DBA verfügen standardmäßig über diese Berechtigung.

  • Wenn Sie die Registrierung für ein Dataset auf einem aktualisierbaren Klon in einer Remoteregion aktualisieren, muss der Aufruf von DBMS_CLOUD_LINK.UPDATE_REGISTRATION auf dem Remoteregionsklon dieselben Parameter mit denselben Werten verwenden wie auf der Quelldatenbank, mit Ausnahme des Parameters offload_targets.

    Beispiel: Wenn Sie DBMS_CLOUD_LINK.UPDATE_REGISTRATION mit dem Geltungsbereich MY$COMPARTMENT in der Autonomous Database-Quellinstanz ausführen, führen Sie die Prozedur erneut auf dem regionsübergreifenden aktualisierbaren Klon mit demselben Geltungsbereichsparameterwert (MY$COMPARTMENT) aus.

  • Wenn Sie den Parameter offload_targets mit DBMS_CLOUD_LINK.REGISTER in der Quelle angeben, sollten Sie diesen Parameter weglassen, wenn Sie das Dataset in einem regionsübergreifenden aktualisierbaren Klon registrieren.