DBMS_CLOUD_LINK-Package

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

DBMS_CLOUD_LINK - Überblick

Beschreibt die Verwendung des Packages DBMS_CLOUD_LINK.

Das Package DBMS_CLOUD_LINK stellt die Prozedur REGISTER bereit, mit der Sie eine Tabelle oder eine Ansicht als Dataset zur Verwendung mit Cloud-Links 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 registrieren, deren Eigentümer er ist, als registriertes Dataset (oder ein Objekt in einem anderen Schema registrieren, wenn der Benutzer über die Berechtigung READ WITH GRANT OPTION für das Objekt verfügt). 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 neben der vorherigen Ausführung von DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER auch die Ausführungsberechtigung für das Package DBMS_CLOUD_LINK. Standardmäßig verfügen nur der ADMIN-Benutzer und die Schemas mit der Rolle PDB_DBA über die Ausführungsberechtigung für DBMS_CLOUD_LINK.

Zusammenfassung der DBMS_CLOUD_LINK-Unterprogramme

Zeigt eine Tabelle mit einer Zusammenfassung der Unterprogramme an, die im Package DBMS_CLOUD_LINK enthalten sind.

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 ist.

FIND-Prozedur

Ruft den Namespace, den Namen und die Beschreibung für Datasets ab, die mit der Suchzeichenfolge übereinstimmen. Übereinstimmende Datasets werden nur angezeigt, wenn der Benutzer auf sie basierend auf Zugriffsbeschränkungen zugreifen kann.

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.

Registrierungsverfahren

Registriert eine Tabelle oder View als Dataset.

Prozedur REVOKE_AUTHORIZATION

Entzieht die Autorisierung für eine angegebene Datenbank für den Zugriff auf das angegebene Dataset.

UNREGISTER-Verfahren

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 ist.

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 auferlegten Zugriffsbeschränkungen bei DBMS_CLOUD_LINK.REGISTER verwenden. Wenn ein Dataset für eine Datenbank nicht zugänglich ist, wird seine Beschreibung nicht abgerufen.

FIND-Prozedur

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 je nach 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 die Suchzeichenfolge an. Bei der Suchfolge muss nicht zwischen Groß- und Kleinschreibung unterschieden werden.

search_result

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

Hinweis zur Verwendung

Bei der Suchzeichenfolge wird die Groß- und Kleinschreibung nicht berücksichtigt, und 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-Sites.

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

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 Views V$CLOUD_LINK_ACCESS_STATS und GV$CLOUD_LINK_ACCESS_STATS.

Die ID DBMS_CLOUD_LINK.GET_DATABASE_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)s remote zugegriffen werden kann.

Werte zurückgeben

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

Prozedur GRANT_AUTHORIZATION

Diese Prozedur erteilt einer angegebenen Datenbank die Berechtigung 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 Zugriffsautorisierung für die angegebene database_id erteilt.

name

Gibt den Dataset-Namen an, dem Zugriffsautorisierung für die angegebene database_id erteilt werden soll.

Registrierungsverfahren

Die Prozedur registriert eine Tabelle oder View als Dataset, um schreibgeschützten Remotezugriff zuzulassen, vorbehaltlich von Einschränkungen, die durch den Parameter scope festgelegt 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 wird.

schema_object

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

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

Andere Objekte wie Analyse-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 kommagetrennte Liste, die aus mindestens einem 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: Zugriff auf das Dataset ist für Datenbanken in der benannten Region zulässig. Nach Geltungsbereich ist der Zugriff auf Cloud-Links auf eine einzelne Region beschränkt und nicht regionsübergreifend. Ein Consumer in einer anderen Region kann nur dann auf ein Dataset zugreifen, wenn in der Region der Consumer-Datenbank ein regionsübergreifender aktualisierbarer Klon der Datenbank vorhanden ist, bei dem es sich um den Dataset-Eigentümer handelt.

    Weitere Informationen finden Sie unter Dataset 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 demselben Mandanten wie der Dataset-Eigentümer zulässig.

  • 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

    Beispiele:

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

    Ein Consumer in einer anderen Region kann nur dann auf ein Dataset zugreifen, wenn in der Region der Consumer-Datenbank ein regionsübergreifender aktualisierbarer Klon der Datenbank vorhanden ist, bei dem es sich um den Dataset-Eigentümer handelt.

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

auth_required

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

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

  • Alle Datenbanken, die sich innerhalb des 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 sich nicht innerhalb der angegebenen SCOPE befinden, erhalten beim Versuch, auf das Dataset zuzugreifen, einen Fehler.

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 festlegen, die den Datensatz registriert hat.

offload_targets

Gibt eine oder mehrere Autonomous Database-OCIDs von aktualisierbaren Klonen 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üssel/Wert-Paar 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 wird.

      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 Offload-Ziel weitergeleitet.

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

      Wenn Sie sowohl Datenbank-IDs als auch ANY angeben, werden Dataset-Anforderungen von Consumern, die keiner Datenbank-ID entsprechen, in den aktualisierbaren Klon ausgelagert, der mit dem Wert OFFLOAD_TARGET angegeben wird.

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

Beispiel: Das folgende Beispiel zeigt ein JSON-Beispiel mit drei OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID-Wertpaaren:

{
  "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 mit offload_targets mit dem Schlüsselwort ANY registrieren, wird jede Zugriffsanforderung an den aktualisierbaren Klon ausgelagert, der mit OFFLOAD_TARGET in der angegebenen JSON identifiziert wird (mit Ausnahme von Anforderungen, die einen expliziten Eintrag in der angegebenen JSON aufweisen).

Beispiel: Das folgende Beispiel zeigt ein JSON-Beispiel mit einem expliziten OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID-Wertpaar und einem ANY-Eintrag:

{
  "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 propagiert und über Cloudlinks zugänglich ist. Diese Verzögerung kann sich auf die Genauigkeit der Daten in den Views DBA_CLOUD_LINK_REGISTRATIONS und DBA_CLOUD_LINK_ACCESS auswirken.

  • Sie können eine Tabelle oder View registrieren, die sich im Schema eines anderen Benutzers befindet, wenn Sie über die Berechtigungen READ WITH GRANT OPTION 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: Angenommen, der ADMIN hat den Geltungsbereich 'MY$TENANCY' mit GRANT_REGISTER erteilt, und der Benutzer gibt 'MY$REGION' an, wenn er ein Dataset bei DBMS_CLOUD_LINK.REGISTER registriert. In diesem Fall wird 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 Gültigkeitsprüfungen für die Registrierung können nicht zum Zeitpunkt der Registrierung erfolgen. 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 mit DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER zugewiesenen Registrierungsberechtigung auch die 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 in einem aktualisierbaren Klon in einer Remoteregion registrieren, muss der Aufruf von DBMS_CLOUD_LINK.REGISTER im Klon der Remoteregion dieselben Parameter mit denselben Werten wie in der Quelldatenbank verwenden, 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 für den regionsübergreifenden aktualisierbaren Klon mit demselben Geltungsbereichsparameterwert (MY$COMPARTMENT) erneut 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, dem die Zugriffsautorisierung für die angegebene database_id entzogen werden soll.

UNREGISTER-Verfahren

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

Gibt einen Benutzernamen an.

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 länger remote auf die Daten zugegriffen werden.

Prozedur UPDATE_REGISTRATION

Die Prozedur aktualisiert mindestens ein Attribut 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 Scope mit dem angegebenen Wert. Der Geltungsbereich beschreibt, wer auf das Dataset zugreifen darf. Der Wert ist eine kommagetrennte Liste, die aus mindestens einem 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 werden. Nach Geltungsbereich ist der Zugriff auf Cloud-Links auf eine einzelne Region beschränkt und nicht regionsübergreifend. Ein Consumer in einer anderen Region kann nur dann auf ein Dataset zugreifen, wenn in der Region der Consumer-Datenbank ein regionsübergreifender aktualisierbarer Klon der Datenbank vorhanden ist, bei dem es sich um den Dataset-Eigentümer handelt.

    Weitere Informationen finden Sie unter Dataset in einer anderen Region registrieren oder 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: Der Zugriff auf das Dataset ist für Datenbanken in den angegebenen Regionen zulässig

    Beispiele:

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

    Ein Consumer in einer anderen Region kann nur dann auf ein Dataset zugreifen, wenn in der Region der Consumer-Datenbank ein regionsübergreifender aktualisierbarer Klon der Datenbank vorhanden ist, bei dem es sich um den Dataset-Eigentümer handelt.

Die Geltungsbereichswerte MY$REGION, MY$TENANCY und MY$COMPARTMENT sind Variablen, die als Komfortmakros fungieren und in 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 des angegebenen SCOPE befinden und mit DBMS_CLOUD_LINK.GRANT_AUTHORIZATION autorisiert wurden, können Zeilen aus dem Dataset anzeigen.

  • Alle Datenbanken, die sich innerhalb des 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.

  • Bei Datenbanken, die sich nicht innerhalb der angegebenen SCOPE befinden, wird beim Versuch, auf das Dataset zuzugreifen, ein Fehler angezeigt.

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 data_set_owner auf die E-Mail-Adresse der Person setzen, die das Dataset 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 von aktualisierbaren Klonen 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 wird.

      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 Auslagerungsziel ausgelagert wird. Die Dataset-Anforderung eines Consumers wird an das entsprechende Auslagerungsziel weitergeleitet.

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

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

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

Beispiel: Das folgende Beispiel zeigt ein JSON-Beispiel mit drei OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID-Wertpaaren:

{
  "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 mit dem Schlüsselwort ANY bei offload_targets registrieren, wird jede Zugriffsanforderung an den aktualisierbaren Klon ausgelagert, der in der angegebenen JSON mit OFFLOAD_TARGET identifiziert wird (mit Ausnahme von Anforderungen, die einen expliziten Eintrag in der angegebenen JSON enthalten).

Beispiel: Das folgende Beispiel zeigt ein JSON-Beispiel mit einem expliziten OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID-Wertpaar und einem ANY-Eintrag:

{
  "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 mit den aktualisierten Attributen mit Cloudlinks 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 über READ WITH GRANT OPTION-Berechtigungen für die Tabelle oder View verfügen.

  • 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: Angenommen, 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 wird 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 nicht ausgeführt werden, wenn die Registrierung zum Zeitpunkt der Aktualisierung aktualisiert wird. 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 die Ausführungsberechtigung für das Package DBMS_CLOUD_LINK und die Registerberechtigung verfügen, die DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER zugewiesen ist. 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 in einem aktualisierbaren Klon in einer Remoteregion aktualisieren, muss der Aufruf von DBMS_CLOUD_LINK.UPDATE_REGISTRATION im Klon der Remoteregion dieselben Parameter mit denselben Werten wie in der Quelldatenbank verwenden, 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 für den regionsübergreifenden aktualisierbaren Klon mit demselben Geltungsbereichsparameterwert (MY$COMPARTMENT) erneut 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.