Informationen zum Abfragen von Remotekatalogen und Datenbanken

In diesem Thema wird beschrieben, wie Sie externe Daten mit den Katalogmetadaten mit einer SQL-Syntax des folgenden Formulars abfragen: [schema].object@catalog_name.

Hier bezieht sich die Syntax [schema].object@catalog_name auf eine Darstellung des Zugriffs auf Datenbankobjekte.

In der Tabelle werden die in der Syntax verwendeten Parameter und Beschreibungen beschrieben:

Parameter Beschreibung
Schema

Dieses Feld ist optional und standardmäßig der aktuelle Benutzer. Ein Schema ist ein Namespace in einem Katalog, der zugehörige Datenbankobjekte wie Tabellen, Views, Prozeduren oder Funktionen organisiert. Sie fungiert als logischer Container für diese Objekte.

Objekt Dieses Feld bezieht sich auf alle Datenbankobjekte, die in einem Schema enthalten sind, wie Tabellen, Views, Prozeduren oder Funktionen.
Catalog Im Katalogfeld wird der Name des Katalogs mit der referenzierten Tabelle angezeigt. Sie können Kataloge mit dem Package DBMS_CATALOG oder dem Katalogtool der Data Studio-Toolsuite erstellen und verwalten.
Hinweis

Sie können Kataloge auch durch dbLinks ersetzen.

Auf Remote-Tabellen zugreifen

Um über einen Katalog von einem Remote-Schema aus auf eine Tabelle zuzugreifen, müssen Sie die folgenden Schritte ausführen:
  1. Katalog mounten: Mounten Sie zunächst einen Katalog über einen beliebigen unterstützten Datenspeichertyp (z.B. Iceberg, Delta Lake usw.). Beim Mounten eines Katalogs werden die Metadaten standardisiert. Dadurch wird der SQL-Zugriff auf externe Daten ermöglicht, als wären es Tabellen innerhalb eines Schemas im Katalog. Detaillierte Schritte zum Mounten von Katalogen finden Sie unter Kataloge verwalten. Sobald der Katalog gemountet ist und Metadaten standardisiert sind, können Sie externe Daten direkt mit SQL abfragen. Auch wenn die externen Daten nicht physisch als herkömmliche Tabellen vorhanden sind, abstrahiert der Katalog sie zur einfachen Abfrage in ein tabellarisches Format.
  2. Tabelle referenzieren: Nach dem Mounten können Sie die Remote-Tabelle referenzieren, indem Sie das Schema und den Katalog (falls zutreffend) gefolgt vom Tabellennamen mit der folgenden Syntax angeben: [remote_schema].table@catalog.

Hier ist die schema in dieser ID das Remote-Schema, das die Remote-Tabelle enthält. Table ist in diesem Fall der Tabellenname im Remotekatalog.

Hinweis

Der Benutzer muss über die entsprechenden Zugangsdaten verfügen, um auf die spezifische Tabelle und den Katalog zugreifen zu können.

Wichtige Punkte

  • Das Feature wird mit dem Package DBMS_CATALOG entworfen, das in einer ADB-S-Umgebung installiert ist.
  • DDL-Vorgänge (z.B. CREATE, ALTER, DROP) sind in Remotedatenbanken über Kataloge nicht zulässig. In diesem Fall tritt möglicherweise der Fehler "ORA-02021: DDL-Vorgänge sind für eine Remotedatenbank nicht zulässig" auf.
  • Einschränkung des gleichen Namens: Dieses Feature erzwingt, dass für einen bestimmten Benutzer kein DB-Link und kein Katalog mit demselben Namen vorhanden sein können.

Sie verwenden den SQL Worksheet Editor von Database Actions, um SQL-Abfragen auszuführen. Sie müssen sich zuerst bei der Database Actions-Instanz anmelden und im Menü Entwicklung die Option SQL auswählen.

Voraussetzungen:

Sie benötigen einen OCI-Account.

Wie unterscheidet sich DBlinks von Katalogen?

DBLinks: Sie werden hauptsächlich verwendet, um eine andere Datenbank direkt mit einer Syntax zu verbinden und abzufragen.

Beispiel:
SELECT * FROM <schema_name>.<table_name>@<dblink_name>;

Wenn ein Katalog über eine DBLink über eine andere Datenbank gemountet wird, müssen keine Metadaten im Katalog separat definiert werden, da die DBLink-Syntax direkt auf die Remote-Datenbankobjekte zugreift. Im Wesentlichen fungiert DBLink als transparente Verbindung zur Remotedatenbank, sodass Abfragen so ausgeführt werden können, als wären die Daten lokal.

Kataloge: Sie dienen als Metadatenebene, die über verschiedene Datenspeichertypen gemountet werden kann, nicht nur über DBLinks verbundene Datenbanken, sondern auch externe Datenkataloge oder Datenfreigaben wie Delta Share- oder Live Share-Provider. Wenn ein Katalog über einen Nicht-Datenbankspeicher gemountet wird, passt die @catalog-Syntax Abfragen an, um externe Inline-Tabellen zu generieren. Dadurch wird der Zugriff auf externe Daten ermöglicht, ohne dass ein DBLink erforderlich ist. Dies bedeutet, dass Kataloge die Metadatenverwaltung abstrahieren und eine einheitliche Schnittstelle für die Abfrage verschiedener Datenquellen bereitstellen, einschließlich externer Datenquellen.