DBMS_DCAT-Package

Das Package DBMS_DCAT bietet Funktionen und Prozeduren, mit denen Autonomous Database-Benutzer das Daten-Discovery- und zentralisierte Metadatenmanagementsystem von OCI Data Catalog nutzen können.

Data Catalog erstellt Harvesting-Metadaten aus den Objektspeicherassets eines Data Lake. Beim Ernteprozess werden logische Entitys erstellt, die als Tabellen mit Spalten und zugehörigen Datentypen betrachtet werden können. DBMS_DCAT-Prozeduren und -Funktionen verbinden Autonomous Database mit Data Catalog und synchronisieren die Assets dann mit der Datenbank. Dabei werden geschützte Schemas und externe Tabellen erstellt. Anschließend können Sie den Objektspeicher mit diesen externen Tabellen abfragen und externe Daten einfach mit in Autonomous Database gespeicherten Daten verknüpfen. Dies vereinfacht den Verwaltungsprozess erheblich. Es gibt einen einzigen, zentral verwalteten Metadatenspeicher, der über mehrere OCI-Services (einschließlich autonomer Datenbanken) hinweg gemeinsam genutzt wird. Außerdem gibt es in Autonomous Database auch Dictionary Views, mit denen Sie den Inhalt des Datenkatalogs mit SQL prüfen und anzeigen können, wie diese Datenkatalogentitys Ihren Autonomous Database-Schemas und -Tabellen zugeordnet werden.

Datenkatalogbenutzer und -rollen

Das Package DBMS_DCAT unterstützt synchronisierte Benutzer/Schemas, dcat_admin-Benutzer und lokale Benutzer. Benutzer müssen die Rolle dcat_sync haben, um dieses Package verwenden zu können.

Datenkatalogbenutzer

  • Synchronisierte Benutzer/Schemas

    Die synchronisierten externen Tabellen sind in Datenbankschemas organisiert, die Datenasset/Bucket-Kombinationen entsprechen, oder gemäß benutzerdefinierten Eigenschaften, die vom Benutzer festgelegt werden. Die synchronisierten Schemas werden während der Data Catalog-Synchronisierung automatisch erstellt/gelöscht. Sie werden als Benutzer ohne Authentifizierung ohne die Berechtigung CREATE SESSION erstellt. Die synchronisierten Schemas werden auch mit der geschützten Klausel erstellt, sodass sie nicht einmal vom PDB-Administrator, sondern nur durch die Synchronisierung von lokalen Benutzern (auch nicht vom PDB-Administrator) geändert werden können.

  • Benutzer dcat_admin

    Der Benutzer dcat_admin ist ein lokaler Datenbankbenutzer, der eine Synchronisierung ausgeführt und anderen Benutzern oder Rollen READ-Berechtigungen für synchronisierte Tabellen erteilt. Der Benutzer wird als Benutzer ohne Authentifizierung ohne die Berechtigung CREATE SESSION erstellt.

  • Lokale Benutzer

    Datenbankbenutzern, die externe Tabellen abfragen, müssen von den Benutzern dcat_admin oder ADMIN explizit READ-Berechtigungen für die synchronisierten externen Tabellen erteilt werden. Nach Abschluss der Synchronisierung haben standardmäßig nur die Benutzer dcat_admin und ADMIN Zugriff auf die synchronisierten externen Tabellen.

Datenkatalogrollen

  • dcat_sync

    Die Rolle dcat_sync verfügt über alle erforderlichen Berechtigungen zur Verwendung des Packages DBMS_DCAT. Benutzer müssen über diese Rolle verfügen, damit sie die API für die Navigation im Datenkatalog und die Ausführung der Synchronisierung verwenden können.

Erforderliche Zugangsdaten und IAM-Policys

In diesem Thema werden die Zugangsdaten und Policys für Oracle Cloud Infrastructure Identity and Access Management-(IAM-)Benutzer beschrieben, die erforderlich sind, um Autonomous Database-Benutzern die Berechtigung zur Verwaltung eines Datenkatalogs und zum Lesen aus dem Objektspeicher zu erteilen.

Zugangsdaten und Policy-Anforderungen für OCI Data Catalog:

Zugangsdaten und Policy-Anforderungen für den AWS-Kleberdatenkatalog

Die folgenden Benutzerzugangsdaten und Policys sind erforderlich, um Autonomous Database-Benutzern die Berechtigung für den Zugriff auf Amazon Web Services (AWS) Glue Data Catalogs zu erteilen und aus dem Objektspeicher S3 zu lesen:
  • Ein Zugangsdatenobjekt mit der Berechtigung für den Zugriff auf einen AWS Glue-Datenkatalog ist erforderlich. Informationen zum Verwalten von Zugangsdaten finden Sie unter DBMS_CLOUD für Zugriffsverwaltung.

    Für den Zugriff auf einen AWS Glue Data Catalog sind folgende Berechtigungen erforderlich: kleben: GetDatabases , kleben: GetTables , und kleben: GetTable.

    Darüber hinaus ist die Berechtigung s3:GetBucketLocation bei der Synchronisierung erforderlich, um auflösbare HTTPS-URLs zu generieren, die auf die zugrunde liegenden S3-Objekte verweisen.
  • Ein Zugangsdatenobjekt mit der Berechtigung für den Zugriff auf die in S3 gespeicherten Dateien ist erforderlich, damit Autonomous Database Datendateien abfragen kann.
  • AWS-Zugangsdaten werden unterstützt. Zugangsdaten für AWS-Amazon-Ressourcennamen (ARN) werden nicht unterstützt.

Beispiel - Zugangsdatenobjekt für OCI-native Authentifizierung erstellen

In diesem Beispiel werden OCI-native Authentifizierungszugangsdaten erstellt, die beim Erstellen eines Datenkatalog- oder Objektspeicher-Zugangsdatenobjekts verwendet werden können. Weitere Einzelheiten finden Sie unter Prozedur DBMS_DCAT SET_DATA_CATALOG_CREDENTIAL bzw. Prozedur DBMS_DCAT SET_OBJECT_STORE_CREDENTIAL.

In der nativen OCI-Authentifizierung umfasst die Prozedur DBMS_CLOUD.CREATE_CREDENTIAL die folgenden Parameter: credential_name, user_ocid, tenancy_ocid, private_key und fingerprint. Eine vollständige Beschreibung dieser Prozedur finden Sie unter Prozedur DBMS_CLOUD CREATE_CREDENTIAL.

credential_name ist der Name des Zugangsdatenobjekts. Die Parameter user_ocid und tenancy_ocid entsprechen den OCIDs des Benutzers bzw. Mandanten.

Der Parameter private_key gibt den generierten Private Key im PEM-Format an. Mit einer Passphrase erstellte Private Keys werden nicht unterstützt. Daher müssen Sie sicherstellen, dass Sie einen Schlüssel ohne Passphrase generieren. Weitere Details zum Erstellen eines Private Keys ohne Passphrase finden Sie im Abschnitt So generieren Sie einen API-Signaturschlüssel. Außerdem darf der PRIVATE KEY, den Sie für diesen Parameter angeben, nur den Schlüssel selbst ohne Header oder Footer enthalten (z.B. "-----BEGIN RSA PRIVATE KEY-----", "-----END RSA PRIVATE KEY-----").

Der Parameter fingerprint gibt den Fingerprint an, der entweder nach dem Upload des Public Keys in die Konsole oder mit den OpenSSL-Befehlen abgerufen wird. Weitere Informationen zum Abrufen des Fingerprints finden Sie unter How to Upload the Public Key und How to Get the Key's Fingerprint.

Nachdem alle erforderlichen Informationen erfasst und der Private Key generiert wurden, können Sie die folgende CREATE_CREDENTIAL-Prozedur ausführen:

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL (
    credential_name => 'OCI_NATIVE_CRED',
    user_ocid              => 'ocid1.user.oc1..aaaaaaaatfn77fe3fxux3o5lego7glqjejrzjsqsrs64f4jsjrhbsk5qzndq',
    tenancy_ocid           => 'ocid1.tenancy.oc1..aaaaaaaapwkfqz3upqklvmelbm3j77nn3y7uqmlsod75rea5zmtmbl574ve6a',
    private_key            => 'MIIEogIBAAKCAQEA...t9SH7Zx7a5iV7QZJS5WeFLMUEv+YbYAjnXK+dOnPQtkhOblQwCEY3Hsblj7Xz7o=',
    fingerprint            => '4f:0c:d6:b7:f2:43:3c:08:df:62:e3:b2:27:2e:3c:7a');
END;
/
Nach dem Erstellen des Zugangsdatenobjekts wird es in der Tabelle dba_credentials angezeigt:
SELECT owner, credential_name
FROM dba_credentials 
WHERE credential_name LIKE '%NATIVE%';

OWNER CREDENTIAL_NAME
----- ---------------
ADMIN OCI_NATIVE_CRED

Beispiel: Autonomous Database Resource Principal verwenden

In diesem Beispiel wird eine dynamische Gruppe erstellt, die entsprechende Ressourcenmitglieder enthält. Die dynamische Gruppe erhält dann die Berechtigung zum Verwalten eines Datenkatalogs. Dann erhält die dynamische Gruppe die Berechtigung zum Lesen aus dem Objektspeicher.

  1. Erstellen Sie eine dynamische Gruppe mit dem Namen adb-grp-1. Fügen Sie eine Übereinstimmungsregel zu adb-grp-1 hinzu, die die Autonomous Database-Instanz mit der OCID ocid1.autonomousdatabase.oc1.iad.abuwcljr...fjkfe als Ressourcenmitglied enthält.

    Vergleichsregel für dynamische Gruppe:

    resource.id = 'ocid1.autonomousdatabase.oc1.iad.abuwcljr...fjkfe'
  2. Definieren Sie eine Policy, die der dynamischen Gruppe adb-grp-1 vollständigen Zugriff auf die Data Catalog-Instanzen im Compartment mycompartment erteilt.

    allow dynamic-group adb-grp-1 to manage data-catalog-family in compartment mycompartment
  3. Definieren Sie eine Policy, mit der die dynamische Gruppe adb-grp-1 jeden Bucket im Compartment mit dem Namen mycompartment lesen kann.
    allow dynamic-group adb-grp-1 to read objects in compartment mycompartment

Beispiel: User Principals verwenden

In diesem Beispiel ist user1 ein Mitglied der Gruppe adb-admins. Alle Mitglieder dieser Gruppe erhalten die Berechtigung, alle Datenkatalogs in mycompartment zu verwalten und aus dem Objektspeicher in mycompartment zu lesen.

  1. Lassen Sie zu, dass Benutzer, die Mitglied von adb-admins sind, alle Data Catalogs in mycompartment verwalten können.
    allow group adb-admins to manage data-catalog-family in compartment mycompartment
  2. Lassen Sie zu, dass Benutzer, die Mitglied von adb-admins sind, Objekte in einem beliebigen Bucket innerhalb von mycompartment lesen können.
    allow group adb-admins to read objects in compartment mycompartment

Zusammenfassung der Connection Management-Unterprogramme

In dieser Tabelle werden die DBMS_DCAT-Packageprozeduren aufgeführt, mit denen Data Catalog-Verbindungen erstellt, abgefragt und gelöscht werden.

Unterprogramm Beschreibung
Prozedur SET_DATA_CATALOG_CONN Verbindung zum angegebenen Datenkatalog erstellen
Prozedur SET_DATA_CATALOG_CREDENTIAL Zugangsdaten für den Datenkatalogzugriff festlegen, die von einer bestimmten Verbindung zum Datenkatalog verwendet werden
SET_OBJECT_STORE_CREDENTIAL-Prozedur Legen Sie die Zugangsdaten fest, die von der angegebenen eindeutigen Verbindungs-ID für den Zugriff auf den Objektspeicher verwendet werden
Prozedur UNSET_DATA_CATALOG_CONN Vorhandene Data Catalog-Verbindung entfernen

Prozedur SET_DATA_CATALOG_CREDENTIAL

Mit dieser Prozedur werden die Zugangsdaten für den Datenkatalogzugriff festgelegt, die von einer bestimmten Verbindung zum Datenkatalog verwendet werden.

Syntax

PROCEDURE DBMS_DCAT.SET_DATA_CATALOG_CREDENTIAL(
    credential_name VARCHAR2(128) DEFAULT NULL,
    dcat_con_id     VARCHAR2 DEFAULT NULL
  );

Parameter

Parameter Beschreibung

credential_name

(Optional) Die Zugangsdaten für den Zugriff auf den Datenkatalog.

dcat_con_id Die eindeutige Data Catalog-Verbindungs-ID. Diese Zugangsdaten werden für die Verbindung verwendet, die mit dcat_con_id identifiziert wird. Der Standardwert ist Null.

Nutzung

Diese Zugangsdaten müssen über Berechtigungen zum Verwalten von Data Catalog verfügen. Siehe Data Catalog-Policys. Der Standard ist der Resource Principal. Informationen hierzu finden Sie unter Auf Cloud-Ressourcen mit Policys und Rollen zugreifen.

SET_OBJECT_STORE_CREDENTIAL-Prozedur

Diese Prozedur legt die Zugangsdaten fest, die von der angegebenen eindeutigen Verbindungs-ID für den Zugriff auf den Objektspeicher verwendet werden. Wenn Sie die Objektspeicherzugriffszugangsdaten ändern, werden alle vorhandenen synchronisierten Tabellen so geändert, dass die neuen Zugangsdaten verwendet werden.

Syntax

PROCEDURE DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL(
    credential_name  VARCHAR2(128),
    dcat_con_id      IN VARCHAR2 DEFAULT NULL
  );

Parameter

Parameter Beschreibung

credential_name

Die Zugangsdaten, die von den externen Tabellen für den Zugriff auf den Objektspeicher verwendet werden.

dcat_con_id Die eindeutige Data Catalog-Verbindungs-ID. Der Standardwert ist NULL.

Prozedur SET_DATA_CATALOG_CONN

Mit dieser Prozedur wird eine Verbindung zum angegebenen Datenkatalog erstellt. Die Verbindung ist erforderlich, um Metadaten mit Data Catalog zu synchronisieren. Eine Autonomous Database-Instanz kann eine Verbindung zu mehreren Data Catalog-Instanzen herstellen und unterstützt die Verbindung zu OCI Data Catalogs und AWS Glue Data Catalogs.

Syntax

PROCEDURE DBMS_DCAT.SET_DATA_CATALOG_CONN (
   region       VARCHAR2 DEFAULT NULL,
   endpoint     VARCHAR2 DEFAULT NULL,
   catalog_id   VARCHAR2 DEFAULT NULL,
   dcat_con_id  VARCHAR2 DEFAULT NULL,
   catalog_type VARCHAR2 DEFAULT NULL
 );

Parameter

Parameter Beschreibung

region

Die Region "Datenkatalog". Wenn endpoint angegeben ist, ist region optional. Wenn sowohl endpoint als auch region angegeben werden, hat endpoint Vorrang. Der Standard ist NULL.

endpoint

Der Data Catalog-Endpunkt. Wenn region angegeben ist, ist endpoint optional. Wenn sowohl endpoint als auch region angegeben werden, hat endpoint Vorrang. Der Standard ist NULL.

catalog_id

Die eindeutige Oracle Cloud-ID (OCID) für die Data Catalog-Instanz. Bei der Verbindung mit AWS Glue Data Catalogs ist catalog_id optional.

dcat_con_id Eine eindeutige Data Catalog-Verbindungs-ID. Diese ID ist bei der Verbindung mit mehreren Datenkatalogen erforderlich und bei der Verbindung mit nur einem optional. Sie wird verwendet, um bei nachfolgenden Aufrufen oder beim Abfragen von Ansichten auf die Data Catalog-Verbindung zu verweisen. Wenn kein Bezeichner angegeben ist, generiert diese Prozedur einen NULL-Verbindungsbezeichner. Für dcat_con_id gelten folgende Einschränkungen:
  • Er muss innerhalb der Autonomous Database-Instanz eindeutig sein.
  • Es muss mit einem Buchstaben beginnen.
  • Sie kann alphanumerische Zeichen, Unterstriche (_), Dollarzeichen ($) und Nummernzeichen (#) enthalten.
  • Er muss mindestens 16 Zeichen lang sein.
catalog_type Der Typ des Datenkatalogs für die Verbindung. Zulässige Werte:
  • OCI_DCAT - OCI Data Catalog
  • AWS_GLUE - AWS Glue Data Catalog
  • NULL: Der Katalogtyp wird automatisch aus der angegebenen Region oder dem angegebenen Endpunkt erkannt.

Nutzung

Sie müssen diese Prozedur nur einmal aufrufen, um die Verbindung herzustellen. Im Rahmen des Verbindungsprozesses fügt Autonomous Database benutzerdefinierte Eigenschaften zu Data Catalog hinzu. Diese benutzerdefinierten Eigenschaften sind für Data Catalog-Benutzer zugänglich und ermöglichen es Ihnen, Standardnamen (für Schemas, Tabellen und Spalten) und Säulendatentypen außer Kraft zu setzen.

Vor dem Erstellen einer Verbindung müssen Zugangsdaten erstellt und festgelegt werden. Eine Beschreibung des Verbindungsprozesses finden Sie unter Typischer Workflow mit Datenkatalog für OCI-Datenkataloge und Benutzerworkflow zum Abfragen mit AWS Glue Data Catalog für AWS Glue Data Catalogs.

Beispiel: Verbindung mit einer bekannten OCID herstellen

In diesem Beispiel stellt Autonomous Database eine Verbindung zu Data Catalog in der Region uk-london-1 her. Der Parameter catalog_id verwendet die Oracle Cloud-ID (ocid) für die Data Catalog-Instanz. Der Typ des Datenkatalogs wird automatisch bestimmt: AWS Glue Data Catalog oder OCI Data Catalog.

BEGIN
  DBMS_DCAT.SET_DATA_CATALOG_CONN(
    region=>'uk-london-1',
    catalog_id=>'ocid1.datacatalog.oc1.uk-london-1...');
END;
/

Beispiel: Verbindung zu einem AWS Glue Data Catalog herstellen

Eine Verbindung ist die Verknüpfung zwischen einer Autonomous Database-Instanz und einem AWS Glue Data Catalog. Nach einer erfolgreichen Verbindung kann die Autonomous Database-Instanz mit AWS Glue synchronisiert werden. Jeder AWS-Account verfügt über einen AWS Glue Data Catalog pro Region, und jeder Katalog kann über den entsprechenden Serviceendpunkt für jede Region aufgerufen werden. Eine Autonomous Database-Instanz kann mit einem AWS Glue Data Catalog verknüpft werden, indem Sie die API DBMS_DCAT.SET_DATA_CATALOG_CONN aufrufen und den Endpunkt für die Region angeben, in der sich der Katalog befindet.

Siehe AWS-Kleberendpunkte und -Quotas.

In diesem Beispiel stellt Autonomous Database eine Verbindung zu einem AWS Glue Data Catalog in der Region uk-london-1 her. Da es sich um eine AWS Glue Data Catalog-Verbindung handelt, ist der Parameter catalog_id nicht erforderlich.

BEGIN
  DBMS_DCAT.SET_DATA_CATALOG_CONN(
    region=>'uk-london-1',
    catalog_type=>'AWS_GLUE'
END;
/

Prozedur UNSET_DATA_CATALOG_CONN

Diese Prozedur entfernt eine vorhandene Data Catalog-Verbindung.

Syntax

Hinweis

Wenn Sie diese Prozedur aufrufen, werden alle geschützten Schemas und externen Tabellen gelöscht, die als Teil vorheriger Synchronisierungen erstellt wurden. Dies wirkt sich nicht auf die Metadaten in Data Catalog aus.
PROCEDURE DBMS_DCAT.UNSET_DATA_CATALOG_CONN (
    dcat_con_id IN VARCHAR2 DEFAULT NULL
);

Parameter

Parameter Beschreibung
dcat_con_id Die eindeutige Data Catalog-Verbindungs-ID. Der Standardwert ist Null.

Zusammenfassung der Synchronisierungsunterprogramme

Mit den in dieser Tabelle aufgeführten Prozeduren können Sie eine Synchronisierung ausführen, einen Synchronisierungsjob erstellen und löschen sowie synchronisierte Schemas löschen.

Hinweis

Am 4. April 2022 wurden die Parameter sync_option und grant_read der Prozedur DBMS_DCAT.RUN_SYNC hinzugefügt. Um die korrekte Ausführung geplanter Sync-Jobs sicherzustellen, die vor diesem Datum erstellt wurden, müssen Sie die geplanten Sync-Jobs löschen und neu erstellen. Siehe Prozedur DBMS_DCAT.DROP_SYNC_JOB und Prozedur DBMS_DCAT.CREATE_SYNC_JOB.
Unterprogramm Beschreibung
Prozedur CREATE_SYNC_JOB Erstellen Sie einen Scheduler-Job, um RUN_SYNC regelmäßig aufzurufen
Prozedur DROP_SYNC_JOB Vorhandenen Synchronisierungsjob für die angegebene eindeutige Verbindungs-ID löschen
Prozedur DROP_SYNCED_SCHEMAS Alle zuvor synchronisierten Schemas für die angegebene eindeutige Verbindungs-ID löschen
Prozedur RUN_SYNC Synchronisierungsvorgang ausführen

Prozedur RUN_SYNC

Diese Prozedur führt einen Synchronisierungsvorgang aus und bildet den Einstiegspunkt für die Synchronisierung. Als Eingabe werden Listen ausgewählter Datenkatalogassets, Ordner und Entitys erstellt und durch Erstellen, Löschen und Ändern externer Tabellen materialisiert.

Der Parameter sync_option gibt an, welchen Vorgang die Prozedur RUN_SYNC ausführt: SYNC, DELETE oder REPLACE. Der Vorgang wird über Entitys im Geltungsbereich des Parameters synced_objects ausgeführt.

Jeder Aufruf der Prozedur RUN_SYNC gibt eine eindeutige operation_id zurück, mit der die View USER_LOAD_OPERATIONS abgefragt werden kann, um Informationen zum Status der Synchronisierung und der entsprechenden log_table abzurufen. Die View DBMS_DCAT$SYNC_LOG kann abgefragt werden, um einfach auf die log_table für den letzten vom aktuellen Benutzer ausgeführten Synchronisierungsvorgang zugreifen zu können. Weitere Details finden Sie unter View DBMS_DCAT$SYNC_LOG und Ladevorgänge überwachen und Fehler beheben.

Hinweis

Am 4. April 2022 wurden die Parameter sync_option und grant_read der Prozedur RUN_SYNC hinzugefügt. Um die korrekte Ausführung geplanter Sync-Jobs sicherzustellen, die vor diesem Datum erstellt wurden, müssen Sie die geplanten Sync-Jobs löschen und neu erstellen. Siehe Prozedur DBMS_DCAT.DROP_SYNC_JOB und Prozedur DBMS_DCAT.CREATE_SYNC_JOB.

Synchronisieren von partitionierten logischen Entitys oder Glue-Tabellen

Die Prozedur RUN_SYNC erstellt eine partitionierte externe Tabelle für jede logische Entity oder Glue-Tabelle, wenn alle drei der folgenden Bedingungen erfüllt sind:

  1. Die logische Entity oder Glue-Tabelle des OCI-Datenkatalogs weist ein oder mehrere partitionierte Attribute auf.
  2. Bei OCI-Datenkatalogen ist die logische Entity von einem Präfix-basierten Dateinamensmuster abgeleitet. Partitionierte logische Entitys, die aus Regex-basierten Mustern abgeleitet wurden, werden nicht unterstützt.
  3. Bei OCI-Datenkatalogen basiert die logische Entity auf partitionierten Daten, die dem Hive- oder Nicht-Hive-Ordnerformat folgen. Logische Entitys, die auf partitionierten Daten basieren und das Format eines Non-Hive-Stils mit Objektnamen verwenden, werden nicht unterstützt.
    • Beispiel 1. Logische Entitys auf Basis von durch Harvesting erstellten Objekten, die dem Partitionierungsformat im Hive-Stil mit präfixbasierten Dateinamensmustern folgen.

      Betrachten Sie die folgenden Objekte:
      Bucket: MYBUCKET
      cluster1/db1.db/sales/country=USA/year=2020/month=01/sales1.csv
      cluster1/db1.db/sales/country=USA/year=2020/month=01/sales2.csv
      cluster1/db1.db/sales/country=USA/year=2020/month=02/sales1.csv

      Wenn Sie für den Bucket ein Dateinamensmuster mit dem Startordnerpräfix cluster1/db1.db verwenden, wird eine logische Entity mit dem Namen SALES mit drei Partitionsattributen generiert: country, year und month. Der Typ für partitionierte Attribute lautet Partition, während der Typ für nicht partitionierte Attribute Primitive lautet.

    • Beispiel 2. Logische Entitys auf Basis von durch Harvesting erstellten Objekten, die dem Partitionierungsformat im Nicht-Hive-Stil mit präfixbasierten Dateinamensmustern folgen.
      Betrachten Sie die folgenden Objekte:
      Bucket: MYBUCKET
      cluster2/db2.db/sales/USA/2020/01/sales1.csv
      cluster2/db2.db/sales/USA/2020/01/sales2.csv
      cluster2/db2.db/sales/USA/2020/02/sales1.csv

      Wenn Sie ein Harvesting für den Bucket mit einem Dateinamensmuster mit dem Startordnerpräfix cluster2/db2.db ausführen, wird eine logische Entity namens SALES mit drei Partitionsattributen generiert: name0, name1 und name2. Der einzige Unterschied zwischen der generierten logischen Entity und Beispiel 1 ist, dass die Namen partitionierter Attribute automatisch generiert werden, während sie in Beispiel 1 aus der URL extrahiert werden (country, year und month).

Ein vollständiges End-to-End-Beispiel für die Synchronisierung partitionierter logischer Entitys finden Sie unter Beispiel: Ein Szenario mit partitionierten Daten.

Inkrementelle Synchronisierung partitionierter logischer Entitys/Kleintabellen

Jeder Aufruf der Prozedur RUN_SYNC gibt eine Gruppe von logischen OCI-Datenkatalogentitys oder AWS Glue-Tabellen an, die mit der Datenbank synchronisiert werden sollen. Wenn eine logische Entity oder Glue-Tabelle in zwei RUN_SYNC-Aufrufen vorhanden ist, behält der zweite Aufruf vorhandene externe Tabellen bei und ändert sie möglicherweise. Die folgende Tabelle zeigt, welche logischen Entity- oder Glue-Tabellenänderungen bei der Partitionierung der logischen Entity oder der Glue-Tabelle unterstützt werden:

Änderung der logischen Entity oder der Leimtabelle Maßnahme

Partition hinzufügen, entfernen oder aktualisieren

Alle Partitionen der externen partitionierten Tabelle werden aktualisiert, unabhängig davon, ob eine Änderung vom Datenkatalog erkannt wurde.

Hinzufügen eines partitionierten Attributs

Das Hinzufügen einer partitionierten Spalte zu einer externen partitionierten Tabelle wird nicht unterstützt. Eine Ausnahme wird ausgelöst.

Löschen eines Partitionierungsattributs

Das Löschen einer partitionierten Spalte aus einer externen partitionierten Tabelle wird nicht unterstützt. Eine Ausnahme wird ausgelöst.

Ein partitioniertes Attribut umbenennen

Das Umbenennen einer partitionierten Spalte in einer externen partitionierten Tabelle wird nicht unterstützt. Eine Ausnahme wird ausgelöst.

Syntax

PROCEDURE DBMS_DCAT.RUN_SYNC (
    synced_objects   IN  CLOB,
    sync_option      IN VARCHAR2 DEFAULT 'SYNC',
    error_semantics  IN VARCHAR2 DEFAULT 'SKIP_ERRORS',
    log_level        IN VARCHAR2 DEFAULT 'INFO',
    grant_read       IN VARCHAR2 DEFAULT NULL,
    dcat_con_id      IN VARCHAR2 DEFAULT NULL
 );
PROCEDURE DBMS_DCAT.RUN_SYNC (
    synced_objects   IN  CLOB,
    sync_option      IN VARCHAR2 DEFAULT 'SYNC',
    error_semantics  IN VARCHAR2 DEFAULT 'SKIP_ERRORS',
    log_level        IN VARCHAR2 DEFAULT 'INFO',
    grant_read       IN VARCHAR2 DEFAULT NULL,
    operation_id     OUT NOCOPY NUMBER,
    dcat_con_id      IN VARCHAR2 DEFAULT NULL
 );

Parameter

Parameter Beschreibung

synced_objects

Dieser Parameter ist ein JSON-Dokument, das die zu synchronisierenden Datenkatalogobjekte angibt.

Bei OCI-Datenkatalogen gibt das JSON-Dokument eine Gruppe von Entitys in mehreren Granularitäten an: Datenassets, Ordner (Objektspeicher-Buckets) oder logische Entitys. Er enthält eine asset_list, die entweder ein Array von Assetobjekten oder ein Array mit einer einzelnen "*" Zeichenfolge ist, die für "Alle (Objektspeicher-)Datenassets im Katalog synchronisieren" steht.

Für AWS Glue Data Catalogs gibt das JSON-Dokument eine Liste von Tabellen in mehreren Granularitäten an: Datenbanken, Tabellen. Das Dokument gibt eine Liste der Datenbanken an. Benutzer können die zu synchronisierende Tabellengruppe einschränken, indem sie einzelne Tabellen in einer Datenbank angeben.

sync_option (Optional) Es gibt drei Optionen:
  • SYNC (Standard) - Mit dieser Option wird sichergestellt, dass die Informationen im Datenkatalog über den Geltungsbereich synced_objects in Autonomous Database dargestellt werden. Wenn eine logische Entity oder Glue-Tabelle seit dem letzten Synchronisierungsvorgang aus dem Datenkatalog gelöscht wurde, wird sie in Autonomous Database gelöscht. Die folgenden Vorgänge werden über den Bereich synced_objects ausgeführt:
    • Hinzufügen von Tabellen für neue Datenkatalogentitys
    • Entfernt Tabellen für gelöschte Datenkatalogentitys
    • Aktualisiert Eigenschaften (wie Name, Spalten und Datentypen) für vorhandene Tabellen
  • DELETE: Löscht Tabellen im Bereich synced_objects.
  • REPLACE: Er ersetzt alle derzeit synchronisierten Objekte durch die Objekte im Geltungsbereich synced_objects.

error_semantics

(Optional) Dieser Parameter gibt das Fehlerverhalten an. Wenn dieser Wert auf SKIP_ERRORS gesetzt ist, wird versucht, die Synchronisierung trotz Fehlern, die bei einzelnen Entitys aufgetreten sind, fortzusetzen. Wenn dieser Wert auf STOP_ON_ERROR gesetzt ist, wird die Prozedur beim ersten aufgetretenen Fehler nicht abgebrochen. Der Standard ist SKIP_ERRORS.

log_level

(Optional) Dieser Parameter gibt die folgenden Werte in aufsteigender Ebene der Loggingdetails an: (OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL). Der Standardwert ist INFO.
grant_read (Optional) Dieser Parameter ist eine Liste von Benutzern/Rollen, denen automatisch READ-Berechtigungen für alle externen Tabellen erteilt werden, die von diesem Aufruf von RUN_SYNC verarbeitet werden. Alle Benutzer/Rollen in der Liste grant_read erhalten Leseberechtigungen für alle neuen oder bereits vorhandenen externen Tabellen, die Entitys entsprechen, die mit dem Parameter synced_objects angegeben werden. Die Prozedur RUN_SYNC behält bereits erteilte Berechtigungen für synchronisierte externe Tabellen bei.

operation_id

(Optional) Dieser Parameter wird verwendet, um den entsprechenden Eintrag in USER_LOAD_OPERATIONS für die Synchronisierung zu suchen und den Namen der Logtabelle zu bestimmen.

Hinweis: Eine Version von RUN_SYNC, die keine operation_id zurückgibt, ist verfügbar, sodass Benutzer USER_LOAD_OPERATIONS nach der neuesten Synchronisierung abfragen können.

dcat_con_id Dieser Parameter ist die eindeutige Datenkatalogverbindungs-ID, die bei der Erstellung der Verbindung zum Datenkatalog angegeben wurde. Siehe Prozedur DBMS_DCAT SET_DATA_CATALOG_CONN. Dieser Parameter gibt an, welche Verbindung für die Synchronisierung verwendet wird und wird Teil des abgeleiteten Schemanamens. Eine Beschreibung der Ableitung des Schemanamens finden Sie unter Synchronisierungszuordnung. Der Parameterstandardwert ist NULL.

Beispiel: Alle OCI Data Catalog-Entitys synchronisieren

Im folgenden Beispiel werden alle Data Catalog-Entitys synchronisiert.

EXEC DBMS_DCAT.RUN_SYNC(synced_objects=>'{"asset_list":["*"]}');

Beispiel: Parameter synced_objects für die Synchronisierung aller OCI Data Catalog-Datenassets

Im Folgenden finden Sie einen Beispielparameter synced_objects zum Synchronisieren aller (Object Storage-) Datenassets in Data Catalog.

{"asset_list" : ["*"]}

Beispiel: Parameter synced_objects für die Synchronisierung bestimmter OCI Data Catalog-Datenassets

Im Folgenden finden Sie einen Beispielparameter synced_objects zum Synchronieren von zwei Datenassets.

{"asset_list": [
        {
            "asset_id":"0b320de9-8411-4448-91fb-9e2e7f78fd5f"
        },
        {
            "asset_id":"0b320de9-8411-4448-91fb-9e2e7f74523"
        }
    ]}

Beispiel: Parameter synced_objects zum Synchronisieren bestimmter OCI-Data Catalog-Entitys innerhalb eines Data Assets

Im Folgenden wird ein Beispielparameter synced_objects zum Synchronisieren von zwei Entitys innerhalb des Datenassets dargestellt.

{"asset_list": [
        {
            "asset_id":"0b320de9-8411-4448-91fb-9e2e7f78fd5f",
            "folder_list":[
                "f1",         
                "f2" 
           ]
        }   
    ]}

Beispiel: Parameter synced_objects zum Synchronisieren bestimmter OCI Data Catalog-Ordner und -Entitys innerhalb eines Data Assets

Im Folgenden wird ein Beispielparameter synced_objects angezeigt, mit dem zwei Ordner und zwei Entitys innerhalb des Datenassets synchronisiert werden.

{"asset_list":[
        {
            "asset_id":"0b320de9-8411-4448-91fb-9e2e7f78fd5f",
            "entity_list": [
                "entity1",     
                "entity2"
            ],
             "folder_list": [
                "f1",         
                "f2"
            ]
        }   
    ]}

Beispiel: synced_objects-Parameter zum Synchronisieren aller AWS Glue-Datenkatalogdatenbanken

Im Folgenden ist ein Beispielparameter synced_objects zum Synchronisieren aller Datenbanken im AWS Glue-Datenkatalog dargestellt.

{"database_list":["*"]}

Beispiel: synced_objects-Parameter zum Synchronisieren von zwei AWS Glue-Datenkatalogdatenbanken

Im Folgenden ist ein Beispielparameter synced_objects für die Synchronisierung von zwei AWS Glue Data Catalog-Datenbanken dargestellt.

{"database_list":[
    {"database":"tpcdscsv"},
    {"database":"tpcdsparquet"} ]}

Beispiel: synced_objects-Parameter zum Synchronisieren von drei AWS Glue-Datenkatalogdatenbanken

Im Folgenden ist ein Beispielparameter synced_objects zum Synchronisieren von drei Tabellen aus einer AWS Glue Data Catalog-Datenbank dargestellt.

{"database_list":[
 {"database":"tpcdsparquet",
     "table_list": [ "tpcdsparquet_customer",
                     "tpcdsparquet_item",
                     "tpcdsparquet_web_sales" ] } ]}

Prozedur CREATE_SYNC_JOB

Diese Prozedur erstellt einen Scheduler-Job, um RUN_SYNC regelmäßig aufzurufen.

Als Eingabe werden die zu synchronisierenden Objekte, die Fehlersemantik, die Log-Ebene und ein Wiederholungsintervall verwendet. Weitere Informationen zur Funktionsweise der Synchronisierung finden Sie unter Prozedur DBMS_DCAT RUN_SYNC.

Es kann nur ein Synchronisierungsjob vorhanden sein. Die Prozedur CREATE_SYNC_JOB verläuft nicht erfolgreich, wenn bereits ein anderer Job angegeben wurde, es sei denn, der Force-Parameter ist auf TRUE gesetzt. Wenn "force" auf TRUE gesetzt ist, wird der vorherige Job gelöscht.

Wenn ein Scheduler-Job ausgeführt werden soll, während eine andere Synchronisierung ausgeführt wird, verläuft der Scheduler-Job nicht erfolgreich.

Hinweis

Am 4. April 2022 wurden die Parameter sync_option und grant_read der Prozedur RUN_SYNC hinzugefügt. Um die korrekte Ausführung geplanter Sync-Jobs sicherzustellen, die vor diesem Datum erstellt wurden, müssen Sie die geplanten Sync-Jobs löschen und neu erstellen. Siehe Prozedur DBMS_DCAT.DROP_SYNC_JOB und Prozedur DBMS_DCAT.CREATE_SYNC_JOB.

Syntax

PROCEDURE DBMS_DCAT.CREATE_SYNC_JOB (
    synced_objects   IN CLOB,
    error_semantics  IN VARCHAR2 DEFAULT 'SKIP_ERRORS',
    log_level        IN VARCHAR2 DEFAULT 'INFO',
    repeat_interval  IN VARCHAR2,
    force            IN VARCHAR2 DEFAULT 'FALSE',
    grant_read       IN VARCHAR2 DEFAULT NULL,
    sync_option      IN VARCHAR2 DEFAULT 'SYNC',
    dcat_con_id      IN VARCHAR2 DEFAULT NULL
);

Parameter

Parameter Beschreibung

synced_objects

Ein JSON-Objekt, das die zu synchronisierenden Objekte angibt, wie in der Prozedur RUN_SYNC beschrieben.

error_semantics

(Optional) Fehlerverhalten, wie für RUN_SYNC angegeben. Der Standardwert ist SKIP_ERRORS.

log_level

(Optional) Logging-Ebene, wie für RUN_SYNC angegeben. Der Standardwert ist INFO.

repeat_interval

Wiederholungsintervall für den Job mit derselben Semantik wie der Wiederholungsintervallparameter der Prozedur DBMS_SCHEDULER.CREATE_JOB. Einzelheiten zur repeat_interval finden Sie unter Überblick über das Erstellen von Jobs.

force

(Optional) Wenn Sie TRUE verwenden, werden vorhandene Synchronisierungsjobs zuerst gelöscht. Wenn FALSE verwendet wird, verläuft die Prozedur CREATE_SYNC_JOB nicht erfolgreich, wenn bereits ein Synchronisierungsjob vorhanden ist. Der Standardwert ist FALSE.

grant_read (Optional) Liste der Benutzer/Rollen, denen READ-Berechtigung für die synchronisierten externen Tabellen erteilt werden soll, wie für die Prozedur RUN_SYNC beschrieben. Siehe Prozedur DBMS_DCAT.RUN_SYNC.
sync_option (Optional) Verhalten in Bezug auf Entitys, die bereits über einen vorherigen RUN_SYNC-Vorgang synchronisiert wurden, wie für die Prozedur RUN_SYNC beschrieben. Siehe Prozedur DBMS_DCAT.RUN_SYNC.
dcat_con_id Dieser Parameter ist die eindeutige Data Catalog-Verbindungs-ID, die bei der Erstellung der Verbindung zu Data Catalog angegeben wurde. Siehe Prozedur DBMS_DCAT SET_DATA_CATALOG_CONN. Dieser Parameter gibt an, welche Verbindung für die Synchronisierung verwendet wird und wird Teil des abgeleiteten Schemanamens. Eine Beschreibung der Ableitung des Schemanamens finden Sie unter Synchronisierungszuordnung. Der Parameterstandardwert ist NULL.

Prozedur DROP_SYNC_JOB

Diese Prozedur löscht einen vorhandenen Synchronisierungsjob für die angegebene eindeutige Verbindungs-ID.

Syntax

PROCEDURE DBMS_DCAT.DROP_SYNC_JOB (
    dcat_con_id IN VARCHAR2 DEFAULT NULL
  );

Parameter

Parameter Beschreibung
dcat_con_id Die eindeutige Data Catalog-Verbindungs-ID. Der Standardwert ist NULL.

Prozedur DROP_SYNCED_SCHEMAS

Diese Prozedur löscht alle zuvor synchronisierten Schemas für die angegebene eindeutige Verbindungs-ID.

Syntax

PROCEDURE DBMS_DCAT.DROP_SYNCED_SCHEMAS (
    dcat_con_id IN VARCHAR2 DEFAULT NULL
  );

Parameter

Parameter Beschreibung
dcat_con_id Die eindeutige Data Catalog-Verbindungs-ID. Der Standardwert ist NULL.

Übersicht über Datenkatalogansichten

Die Data Catalog-Integration mit Autonomous Database bietet zahlreiche Tabellen und Views.

Diese Tabellen und Views enthalten folgende Informationen:

  • Verfügbare Datenkatalogassets. Sie erhalten Informationen zu jedem Typ von Data Catalog-Asset wie Datenbanken und Objektspeicher.
  • Informationen zu den Data Catalog-Objektspeicherassets und -Entitys, die mit Autonomous Database synchronisiert wurden. Diese umfassen Details dazu, wie Data Catalog-Elemente (Assets, Ordner und Entitys) Autonomous Database-Objekten (z.B. Schemas und externen Tabellen) zugeordnet werden.
  • Ausführung von Metadata Sync. Hier finden Sie Details zu Sync-Jobs, einschließlich etwaiger Probleme, die während der Synchronisierung aufgetreten sind.

In dieser Tabelle werden die Tabellen und Views aufgeführt, die vom Package DBMS_DCAT bereitgestellt werden.

Anzeigen Beschreibung
ALL_CLOUD_CATALOG_DATABASES Ansicht Informationen zu OCI Data Catalog-Datenassets und AWS Glue Data Catalog-Datenbanken anzeigen
ALL_CLOUD_CATALOG_TABLES Ansicht Wird verwendet, um Informationen zu Datenentitys für OCI-Datenkataloge und -Tabellen für AWS Glue-Datenkataloge anzuzeigen
Ansicht ALL_DCAT_ASSETS Data Catalog-Assets auflisten, auf die diese Datenbank Zugriff hat
ALL_DCAT_ATTRIBUTES Ansicht Datenkatalogattribute auflisten, auf die diese Datenbank Zugriff hat
ALL_DCAT_CONNECTIONS Ansicht Eine View, die Informationen zu den Datenkatalog(en) enthält, die mit dieser Instanz verbunden sind
ALL_DCAT_ENTITIES Ansicht

Listet logische Entitys auf, auf die diese Datenbank zugreifen darf

Ansicht ALL_DCAT_FOLDERS Metadaten für die Objektspeicher-Buckets mit den Datendateien für die logischen Entitys auflisten
Ansicht ALL_DCAT_GLOBAL_ACCESSIBLE_CATALOGS Alle zugänglichen Kataloge mit der Ebene der Zugriffsberechtigungen für jeden Katalog auflisten
ALL_DCAT_LOCAL_ACCESSIBLE_CATALOGS Ansicht Alle zugänglichen Kataloge in der aktuellen Region zusammen mit der Ebene der Zugriffsberechtigungen für jeden Katalog auflisten
ALL_GLUE_DATABASES Ansicht Listet die AWS Glue Data Catalog-Datenbanken auf, für die der Zugriff auf die Datenkatalogzugangsdaten autorisiert ist
ALL_GLUE_TABLES Ansicht Zeigt alle AWS Glue Data Catalog-Tabellen an, für die Datenkatalogzugangsdaten autorisiert sind
Ansicht DCAT_ATTRIBUTES Auflisten der Zuordnung von logischen Entityattributen zu externen Spalten
Ansicht DCAT_ENTITIES Beschreibung der Zuordnung von logischen Entitys zu externen Tabellen
DBMS_DCAT$SYNC_LOG Ansicht Bietet einfachen Zugriff auf die Logtabelle für den letzten vom aktuellen Benutzer ausgeführten Synchronisierungsvorgang

ALL_CLOUD_CATALOG_DATABASES Ansicht

Mit der Ansicht ALL_CLOUD_CATALOG_DATABASES können Sie Informationen zu OCI Data Catalog-Datenassets und AWS Glue Data Catalog-Datenbanken anzeigen.

Spalte Beschreibung
DCAT_CON_ID CON1
CATALOG_ID Eindeutige ID des Datenkatalogs.

Beispiel für OCI Data Catalog:

ocid1.datacatalog.oc1.ap-mumbai-1.….y35a

Beispiel für den AWS Glue Data Catalog:

NULL

579294766787

NAME Name des Datenassets (OCI)/ der Datenbank (AWS Glue).

Beispiel für OCI Data Catalog:

OBJECT_STORE_AT_ASHBURN

Beispiel für den AWS Glue Data Catalog:

OBJECT_STORE_AT_N_CALIFORNIA

DESCRIPTION Beschreibung des Datenassets (OCI)/ der Datenbank (AWS Glue).

Beispiel für OCI Data Catalog:

Data stored in S3 (N. California)

Beispiel für den AWS Glue Data Catalog:

Data stored in S3 (N. California)
TIME_CREATED Datum und Uhrzeit der Erstellung des Datenassets (OCI)/der Datenbanken (AWS Glue) im Datenkatalog.

Beispiel für OCI Data Catalog:

26-SEP-22 10.56.01.395000 PM +00:00

Beispiel für den AWS Glue Data Catalog:

2022-06-15T09:45:35+01:00

DETAILS JSON-Dokument mit Metadaten zu jeder Datenentity (OCI) / Datenbank (AWS Glue).

Beispiel für OCI Data Catalog:

{
  "catalog-id": "ocid1.datacatalog.oc1.ap-mumbai-1.amaaa...",
  "description": null,
  "display-name": "OBJECT_STORE_AT_ASHBURN",
  "external-key": "https://swiftobjectstorage.us-ashburn-1....",
  "key": "bc95181c-3ac3-4959-9e5f-4e460d3fb82a",
  "lifecycle-state": "ACTIVE",
  "time-created": "2022-09-26T22:56:01.395000+00:00",
  "type-key": "3ea65bc5-f60d-477a-a591-f063665339f9",
  "uri": "/dcat/20190325/dataAssets/bc95181c-3ac3-4959-9e5f-4e460d3fb82a"
}

Beispiel für den AWS Glue Data Catalog:

{
    "Name": "dbmsdcatpoc",
    "Parameters": {
        "somekey": "somevalue"
    },
    "CreateTime": "2022-06-15T09:45:35+01:00",
    "CreateTableDefaultPermissions": [
        {
            "Principal": {
                "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"
            },
            "Permissions": [
                "ALL"
            ]
        }
    ],
    "CatalogId": "579294766787"
}

ALL_CLOUD_CATALOG_TABLES Ansicht

Mit der View ALL_CLOUD_CATALOG_TABLES werden Informationen zu Datenentitys für OCI-Datenkataloge und Tabellen für AWS Glue-Datenkataloge angezeigt.

Spalte Beschreibung
DCAT_CON_ID Eindeutige ID des Datenkatalogs. Die Verbindungs-ID.

Beispiel für OCI Data Catalog: CON1

Beispiel für den AWS Glue-Datenkatalog: CON1

CATALOG_ID Eindeutige ID des Datenkatalogs.

Beispiel für OCI Data Catalog: ocid1.datacatalog.oc1.ap-mumbai-1.….y35a

Beispiel für den AWS Glue-Datenkatalog: NULL

579294766787

DATABASE_NAME Name des Datenassets (OCI)/ der Datenbank (AWS Glue).

Beispiel für OCI Data Catalog: OBJECT_STORE_AT_ASHBURN

Beispiel für den AWS Glue-Datenkatalog: OBJECT_STORE_AT_N_CALIFORNIA

NAME Name der Datenentity (OCI) / Tabelle (AWS Glue).

Beispiel für OCI Data Catalog: BIKES_TRIPS

Beispiel für den AWS Glue-Datenkatalog: BIKES_TRIPS

DESCRIPTION Beschreibung der Datenentity (OCI) / Tabelle (AWS Glue).

Beispiel für OCI Data Catalog: Table storing bike trips

Beispiel für den AWS Glue-Datenkatalog: Table storing bike trips

TIME_CREATED Datum und Uhrzeit der Erstellung der Datenentity (OCI) / Tabelle (AWS Glue) im Datenkatalog.

Beispiel für OCI Data Catalog: 26-SEP-22 10.56.01.395000 PM +00:00

Beispiel für den AWS Glue-Datenkatalog: 2022-06-15T09:45:35+01:00

TIME_UPDATED Das letzte Mal, als eine Änderung an der Datenentity (OCI) / Tabelle (AWS Glue) vorgenommen wurde.

Beispiel für OCI Data Catalog: 26-SEP-22 10.56.01.395000 PM +00:00

Beispiel für den AWS Glue-Datenkatalog: 2022-06-15T09:45:35+01:00

DETAILS JSON-Dokument mit Metadaten zu jeder Datenentity (OCI)/Tabelle (AWS-Kleber)

Beispiel für OCI Data Catalog:

{  
  "business-name": null,
  "data-asset-key": "bc95181c-3ac3-4959-9e5f-...",
  "description": null,
  "display-name": "bikes_trips",
  "external-key": "LE: https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/..._trips",
  "folder-key": "9c4b542d-d6eb-4b83-bf59-...",
  "folder-name": "hive",
  "is-logical": true,
  "is-partition": false,
  "key": "fde30a69-a07c-478a-ab62-...",
  "lifecycle-state": "ACTIVE",
  "object-storage-url": "https://objectstorage.us-ashburn-1.oraclecloud.com/n/...",
  "path": "OBJECT_STORE_AT_ASHBURN/hive/hive",
  "pattern-key": "db21b3f1-1508-4045-aa80-...",
  "properties": {
    "default": {
      "CONTENT-LENGTH": "4310321",
      "LAST-MODIFIED": "Fri, 9 Oct 2020 20:16:52 UTC",
      "archivedPECount": "0",
      "dataEntityExpression": "{logicalEntity:[^/]+}.db/{logicalEntity:[^/]+}/.*",
      "harvestedFile": "bikes.db/trips/p_start_month=2019-09/000000_0",
      "patternName": "bikes_trips"
    },
    "harvestProps": {
      "characterset": "UTF8",
      "compression": "none",
      "type": "PARQUET"
    }
  },
  "realized-expression": "bikes.db/trips/.*",
  "time-created": "2022-09-26T22:56:35.063000+00:00",
  "time-updated": "2022-09-26T22:56:35.063000+00:00",
  "type-key": "6753c3af-7f88-44b9-be52-1d57bef462fb",
  "updated-by-id": "ocid1.user.oc1..r5l3tov7a",
  "uri": "/dcat/20190325/dataAssets/bc95181c-3ac3-4959-9e5f-..."
}

Beispiel für den AWS Glue Data Catalog:

{
    "Name": "bikes_trips",
    "DatabaseName": "dbmsdcatpoc",
    "Owner": "owner",
    "CreateTime": "2022-06-23T13:24:20+01:00",
    "UpdateTime": "2022-06-23T13:24:20+01:00",
    "LastAccessTime": "2022-06-23T13:24:20+01:00",
    "Retention": 0,
    "StorageDescriptor": {
        "Columns": [
            {
                "Name": "trip_duration",
                "Type": "int"
            },
            {
                "Name": "start_month",
                "Type": "string"
            }, ...
        ],
        "Location": "s3://dbmsdcatpoc/hive/bikes.db/trips/",
        "InputFormat": "org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat",
        "OutputFormat": "org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat",
        "Compressed": false,
        "NumberOfBuckets": -1,
        "SerdeInfo":
 {            "SerializationLibrary": "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe",
            "Parameters": {
                "serialization.format": "1"
            }
        },
        "BucketColumns": [],
        "SortColumns": [],
        "Parameters": {
            "CrawlerSchemaDeserializerVersion": "1.0",
            "CrawlerSchemaSerializerVersion": "1.0",
            "UPDATED_BY_CRAWLER": "crawler-bikes",
            "averageRecordSize": "86",
            "classification": "parquet",
            "compressionType": "none",
            "objectCount": "12",
            "recordCount": "404947",
            "sizeKey": "35312159",
            "typeOfData": "file"
        },
        "StoredAsSubDirectories": false
    },
    "PartitionKeys": [
        {
            "Name": "p_start_month",
            "Type": "string"
        }
    ],
    "TableType": "EXTERNAL_TABLE",
    "Parameters": {
        "CrawlerSchemaDeserializerVersion": "1.0",
        "CrawlerSchemaSerializerVersion": "1.0",
        "UPDATED_BY_CRAWLER": "crawler-bikes",
        "averageRecordSize": "86",
        "classification": "parquet",
        "compressionType": "none",
        "objectCount": "12",
        "recordCount": "404947",
        "sizeKey": "35312159",
        "typeOfData": "file"
    },
    "CreatedBy": "arn:aws:sts::579294766787:assumed-role/AWSGlueServiceRole-dbmsdcat/AWS-Crawler",
    "IsRegisteredWithLakeFormation": false,
    "CatalogId": "579294766787",
    "VersionId": "0"
}

Beispiel

Ansicht ALL_DCAT_ASSETS

Die Data Catalog-Assets, auf die diese Datenbank Zugriff hat.

Spalte Datentyp Beschreibung
DCAT_CON_ID VARCHAR2 (4000) Verbindungs-ID, die innerhalb der Instanz eindeutig ist

KEY

VARCHAR2(4000)

Assetschlüssel

DISPLAY_NAME VARCHAR2(4000) Assetanzeigename
DESCRIPTION VARCHAR2(4000) Assetbeschreibung
CATALOG_ID VARCHAR2(4000) OCID für den Datenkatalog, der das Asset enthält
EXTERNAL_KEY VARCHAR2(4000) Basisobjektspeicher-URI für das Asset
URI VARCHAR2(4000) Asset-URI für die Data Catalog-API
TIME_CREATED TIMESTAMP(6) WITH TIMEZONE Das Datum und die Uhrzeit der Erstellung des Assets
TYPE_KEY VARCHAR2(4000) Der Schlüssel des Datentyps (zur Zeit werden nur Object Storage-Datenassets unterstützt). Typschlüssel finden Sie über den Data Catalog-Endpunkt "/types".
LIFECYCLE_STATE VARCHAR2(4000) Der aktuelle Status des Datenassets. Weitere Informationen zu möglichen Lebenszyklusstatus finden Sie in der Data Catalog-DataAsset-Referenz. Dort finden Sie eine Liste der möglichen Status für lifecycleState.

ALL_DCAT_ATTRIBUTES Ansicht

Die Data Catalog-Attribute, auf die diese Datenbank Zugriff hat.

Spalte Datentyp Beschreibung
DCAT_CON_ID VARCHAR2 (4000) Verbindungs-ID, die innerhalb der Instanz eindeutig ist
KEY NUMBER Attributschlüssel

DISPLAY_NAME

VARCHAR2(4000)

Attribut-Anzeigename

BUSINESS_NAME VARCHAR2(4000) Attributgeschäftsname
DESCRIPTION VARCHAR2(4000) Attributbeschreibung
DATA_ASSET_KEY VARCHAR2(4000) Datenassetschlüssel
FOLDER_KEY VARCHAR2(4000) Ordnerschlüssel
ENTITY_KEY VARCHAR2(4000) Entityschlüssel
EXTERNAL_KEY VARCHAR2(4000) Eindeutiger externer Schlüssel für das Attribut
LENGTH NUMBER Maximal zulässige Länge des Attributwertes
PRECISION NUMBER Nachkommastellen des Attributwertes (gilt normalerweise für den Gleitkommazahlen-Datentyp)
SCALE NUMBER Skalierung des Attributwertes (gilt normalerweise für Gleitkommazahlen-Datentyp)
IS_NULLABLE NUMBER Gibt an, ob diesem Attribut Nullwerte zugewiesen werden können
URI VARCHAR2(4000) URI für die Attributinstanz in der Data Catalog-API
LIFECYCLE_STATE VARCHAR2(4000) Der aktuelle Status des Attributs. Weitere Informationen zu möglichen Lebenszyklusstatus finden Sie in der Data Catalog-Attributreferenz. Dort finden Sie eine Liste der möglichen Status für lifecycleState.
TIME_CREATED TIMESTAMP(6) WITH TIME ZONE Datum und Uhrzeit der Erstellung des Attributs
EXTERNAL_DATA_TYPE VARCHAR2(4000) Datentyp des Attributs, wie im externen System definiert
MIN_COLLECTION_COUNT NUMBER Mindestanzahl von Elementen, wenn der Typ des Attributs Collection ist
MAX_COLLECTION_COUNT NUMBER Maximale Anzahl von Elementen, wenn der Typ des Attributs Collection ist
DATATYPE_ENTITY_KEY VARCHAR2(4000) Entityschlüssel, der den Datentyp dieses Attributs darstellt und anwendbar ist, wenn dieses Attribut ein komplexer Typ ist
EXTERNAL_DATATYPE_ENTITY_KEY VARCHAR2(4000) Externer Entityschlüssel, der den Datentyp dieses Attributs darstellt und anwendbar ist, wenn dieses Attribut ein komplexer Typ ist
PARENT_ATTRIBUTE_KEY VARCHAR2(4000) Attributschlüssel, der das übergeordnete Attribut dieses Attributs darstellt und anwendbar ist, wenn das übergeordnete Attribut einen komplexen Datentyp hat
EXTERNAL_PARENT_ATTRIBUTE_KEY VARCHAR2(4000) Externer Attributschlüssel, der das übergeordnete Attribut dieses Attributs darstellt und anwendbar ist, wenn das übergeordnete Attribut einen komplexen Attributtyp hat
PATH VARCHAR2(4000) Vollständiger Pfad des Attributs

ALL_DCAT_CONNECTIONS Ansicht

Eine View, die Informationen zu den Datenkatalog(en) enthält, die mit dieser Instanz verbunden sind.

Spalte Datentyp Beschreibung
DCAT_CON_ID VARCHAR2(4000) Verbindungs-ID, die innerhalb der Instanz eindeutig ist
COMPARTMENT_ID VARCHAR2(4000) OCID für das Compartment, in dem sich die Data Catalog-Instanz befindet
INSTANCE_ID VARCHAR2(4000)

OCID für die Data Catalog-Instanz

REGION

VARCHAR2(4000)

Region für die Data Catalog-Instanz

ENDPOINT VARCHAR2(4000) Endpunkt für die Data Catalog-Instanz
CREATED TIMESTAMP Zeitpunkt der Erstellung der Data Catalog-Instanz
NAME VARCHAR2(4000) Name der Data Catalog-Instanz
LAST_UPDATED TIMESTAMP Zeitpunkt der letzten Aktualisierung der Verbindung zur Data Catalog-Instanz
LATEST_OPERATION_ID NUMBER Die ID des letzten Synchronisierungsvorgangs
DATA_CATALOG_CREDENTIAL VARCHAR2(128) Zugangsdaten für den Zugriff auf den Datenkatalog
OBJECT_STORE_CREDENTIAL VARCHAR2(128) Zugangsdaten, die vom externen Treiber für den Zugriff auf den Objektspeicher verwendet werden

ALL_DCAT_ENTITIES Ansicht

Die logischen Data Catalog-Entitys, auf die diese Datenbank Zugriff hat.

Spalte Datentyp Beschreibung
DCAT_CON_ID VARCHAR2(4000) Verbindungs-ID, die innerhalb der Instanz eindeutig ist
CATALOG_ID VARCHAR2(4000) OCID für den Datenkatalog, der das Asset enthält

KEY

VARCHAR2(4000)

Entityschlüssel

DISPLAY_NAME VARCHAR2(4000)

Anzeigename einer Entity

BUSINESS_NAME VARCHAR2(4000)

Geschäftsname der Entity

DESCRIPTION VARCHAR2(4000)

Beschreibung der logischen Entity

DATA_ASSET_KEY

VARCHAR2(4000)

Assetschlüssel

FOLDER_KEY

VARCHAR2(4000)

Eindeutiger Ordnerschlüssel

FOLDER_NAME VARCHAR2(4000) Ordnername (Bucket)
EXTERNAL_KEY VARCHAR2(4000) External Key für die logische Entity
PATTERN_KEY VARCHAR2(4000) Schlüssel des verknüpften Schemas für die logische Entity
REALIZED_EXPRESSION VARCHAR2(4000) Der normale Ausdruck, mit dem die Dateien für diese logische Entity abgerufen werden
PATH VARCHAR2(4000) Vollständiger Pfad für die logische Entity
TIME_CREATED TIMESTAMP(6) WITH TIME ZONE Datum und Uhrzeit der Erstellung der Entity.
TIME_UPDATED TIMESTAMP(6) WITH TIME ZONE Uhrzeit, zu der die letzte Änderung an der Datenentity vorgenommen wurde
UPDATED_BY_ID VARCHAR2(4000) OCID des Benutzers, der dieses Objekt in Data Catalog aktualisiert hat
URI VARCHAR2(4000) URI der Entityinstanz in der API
LIFECYCLE_STATE VARCHAR2(4000) Der aktuelle Status der Entity. Weitere Informationen zu möglichen Lebenszyklusstatus finden Sie in der Entityreferenz des Data Catalog. Dort finden Sie eine Liste der möglichen Status für lifecycleState.

Ansicht ALL_DCAT_FOLDERS

Metadaten für die Objektspeicher-Buckets mit den Datendateien für die logischen Entitys.

Spalte Datentyp Beschreibung
DCAT_CON_ID VARCHAR2(4000) Verbindungs-ID, die innerhalb der Instanz eindeutig ist
CATALOG_ID VARCHAR2(4000) OCID für den Datenkatalog, der das Asset enthält

KEY

VARCHAR2(4000)

Ordnerschlüssel

DISPLAY_NAME

VARCHAR2(4000)

Ordneranzeigename

BUSINESS_NAME VARCHAR2(4000) Ordnergeschäftsname
DESCRIPTION VARCHAR2(4000) Ordnerbeschreibung
DATA_ASSET_KEY VARCHAR2(4000) Schlüssel für das Datenasset, das den Ordner enthält
PARENT_FOLDER_KEY VARCHAR2(4000) Schlüssel für den übergeordneten Ordner (dies ist derzeit der Datenassetschlüssel)
PATH VARCHAR2(4000) Vollständiger Pfad für den Ordner
EXTERNAL_KEY VARCHAR2(4000) Objektspeicher-URI für den Bucket
TIME_EXTERNAL TIMESTAMP(6) WITH TIMEZONE Der Zeitstempel der letzten Änderung dieses Ordners
TIME_CREATED TIMESTAMP(6) WITH TIMEZONE Erstellungsdatum/-zeit des Ordners
URI VARCHAR2(4000) URI für die Ordnerinstanz in der Data Catalog-API.
LIFECYCLE_STATE VARCHAR2(4000) Der aktuelle Status des Ordners. Weitere Informationen zu möglichen Lebenszyklusstatus finden Sie in der Data Catalog-Ordnerreferenz. Dort finden Sie eine Liste der möglichen Status für lifecycleState.

Ansicht ALL_DCAT_GLOBAL_ACCESSIBLE_CATALOGS

Diese View führt alle zugänglichen Kataloge mit der Ebene der Zugriffsberechtigungen für jeden Katalog auf.

Spalte Datentyp Beschreibung

CATALOG_ID

VARCHAR2(4000)

Katalog-OCID

CATALOG_NAME VARCHAR2(4000) Name des Katalogs
CATALOG_REGION VARCHAR2(4000) Name der Katalogregion
CATALOG_SCORE NUMBER Der Katalogwert wird aus den Berechtigungen berechnet, die für die Datenkatalogzugriffszugangsdaten konfiguriert sind. Ein höherer Katalogscore bedeutet größere Berechtigungen. Dies kann eine höhere Wahrscheinlichkeit bedeuten, dass dieser Katalog für die Verwendung mit dieser Autonomous Database-Instanz vorgesehen ist.

ALL_DCAT_LOCAL_ACCESSIBLE_CATALOGS Ansicht

Diese Ansicht führt alle zugänglichen Kataloge in der aktuellen Region zusammen mit der Ebene der Zugriffsberechtigungen für jeden Katalog auf.

Spalte Datentyp Beschreibung

CATALOG_ID

VARCHAR2(4000)

Katalog-OCID

CATALOG_NAME VARCHAR2(4000) Name des Katalogs
CATALOG_SCORE NUMBER Der Katalogwert wird aus den Berechtigungen berechnet, die für die Datenkatalogzugriffszugangsdaten konfiguriert sind. Ein höherer Katalogscore bedeutet größere Berechtigungen. Dies kann eine höhere Wahrscheinlichkeit bedeuten, dass dieser Katalog für die Verwendung mit dieser Autonomous Database-Instanz vorgesehen ist.

ALL_GLUE_DATABASES Ansicht

Die AWS Glue Data Catalog-Datenbanken, für die der Datenkatalogzugriff autorisiert ist.

Spalte Datentyp Beschreibung
DCAT_CON_ID VARCHAR2(4000) Eindeutige ID der Datenkatalogverbindungs-ID.
CATALOG_ID VARCHAR2(255) Eindeutige ID des Datenkatalogs.
NAME VARCHAR2(255) Name der Datenbank.
DESCRIPTION VARCHAR2(2048) Beschreibung der Datenbank.
LOCATION_URI VARCHAR2(1024) Der Speicherort der Datenbank.
CREATE_TIME TIMESTAMP Die Zeit, zu der die Datenbank im Datenkatalog erstellt wurde.
PARAMETERS CLOB JSON-Dokument mit Schlüssel/Wert-Paaren, die Parameter und Eigenschaften der Datenbank definieren.
TARGET_DATABASE VARCHAR2(4000) JSON-Dokument, das eine Zieldatenbank für die Ressourcenverknüpfung in AWS beschreibt.

ALL_GLUE_TABLES Ansicht

In dieser Ansicht werden alle AWS Glue-Datenkatalogtabellen angezeigt, für die der Zugriff auf die Datenkatalogzugangsdaten autorisiert ist.

Spalte Datentyp Beschreibung
DCAT_CON_ID VARCHAR2(4000) Eindeutige ID der Datenkatalogverbindungs-ID.
CATALOG_ID VARCHAR2(255) Katalog-ID
DATABASE_NAME VARCHAR2(255) Datenbankname
NAME VARCHAR2(255) Tabellenname
TABLE_TYPE VARCHAR2(255) Tabellentyp
CLASSIFICATION VARCHAR2(255)  
DESCRIPTION VARCHAR2(2048) Tabellenbeschreibung
OWNER VARCHAR2(255) Tabelleneigentümer
CREATED_BY VARCHAR2(255) Tabellenersteller
CREATE_TIME TIMESTAMP Die Zeit, zu der die Tabelle im Datenkatalog erstellt wurde.
LAST_ANALYZED_TIME TIMESTAMP Die Statistik der letzten Spalte wurde für diese Tabelle berechnet.
LAST_ACCESS_TIME TIMESTAMP Der letzte Zugriff auf die Tabelle.
UPDATE_TIME TIMESTAMP Die letzte Aktualisierung der Tabelle.
IS_REGISTERED_WITH_LAKE_FORMATION NUMBER Gibt an, ob die Tabelle bei der AWS-Seeformation registriert ist.
PARAMETERS CLOB JSON-Dokument mit Schlüssel/Wert-Paaren, die Eigenschaften der Tabelle definieren.
PARTITION_KEYS CLOB JSON-Dokument mit einer Liste von Spalten, nach denen die Tabelle partitioniert ist.
RETENTION NUMBER Die Aufbewahrungszeit für diese Tabelle.
STORAGE_DESCRIPTION CLOB JSON-Dokument mit Informationen zum physischen Speicher einer Tabelle.
TARGET_TABLE VARCHAR2(4000) JSON-Dokument mit einer Zieltabelle, die für die Ressourcenverknüpfung in AWS verwendet wird.
VERSION_ID VARCHAR2(255) Die Versions-ID für die Tabelle.
VIEW_EXPANDED_TEXT CLOB Einführung durch AWS Glue für die Kompatibilität mit Hive. Nicht von AWS Glue verwendet.
VIEW_ORIGINAL_TEXT CLOB Einführung durch AWS Glue für die Kompatibilität mit Hive. Nicht von AWS Glue verwendet.

Ansicht DCAT_ATTRIBUTES

Führt die Zuordnung von logischen Entityattributen zu externen Spalten auf.

Spalte Datentyp Beschreibung
DCAT_CON_ID VARCHAR2 (4000) Verbindungs-ID, die innerhalb der Instanz eindeutig ist
ASSET_KEY VARCHAR2(4000) Data Catalog-Assetschlüssel

ENTITY_KEY

VARCHAR2(4000)

Data Catalog-Entityschlüssel

ATTRIBUTE_KEY

VARCHAR2(4000)

Data Catalog-Attributschlüssel

ORACLE_COLUMN_NAME VARCHAR2(128) Zugeordneter Spaltenname

Ansicht DCAT_ENTITIES

Beschreibung der Zuordnung von logischen Entitys zu externen Tabellen.

Spalte Datentyp Beschreibung
DCAT_CON_ID VARCHAR2(4000) Verbindungs-ID, die innerhalb der Instanz eindeutig ist
ASSET_KEY VARCHAR2(4000) Data Catalog-Assetschlüssel

ENTITY_KEY

VARCHAR2(4000)

Data Catalog-Entityschlüssel

FOLDER_KEY

VARCHAR2(4000)

Data Catalog-Ordnerschlüssel

ORACLE_TABLE_NAME VARCHAR2(128) Zugeordneter Tabellenname
ORACLE_SCHEMA_NAME VARCHAR2(128) Zugeordneter Schemaname
ENTITY_ORACLE_DB_SCHEMA VARCHAR2(4000) Die benutzerdefinierte Eigenschaft oracle-db-schema der Entität, mit der das Schema abgeleitet wird
ASSET_ORACLE_DB_SCHEMA VARCHAR2(4000) Die benutzerdefinierte Eigenschaft oracle-db-schema des Datenassets zum Ableiten des Schemas
FOLDER_ORACLE_DB_SCHEMA VARCHAR2(4000) Die benutzerdefinierte Eigenschaft oracle-db-schema des Ordners zum Abrufen des Schemas

DBMS_DCAT$SYNC_LOG Ansicht

Die View DBMS_DCAT$SYNC_LOG bietet einfachen Zugriff auf die Logtabelle für den letzten Synchronisierungsvorgang, der vom aktuellen Benutzer ausgeführt wurde.

Jeder Aufruf der Prozedur RUN_SYNC wird in einer neuen Logtabelle protokolliert, auf die im Feld LOGFILE_TABLE von USER_LOAD_OPERATIONS verwiesen wird. Die Logtabellen werden nach 2 Tagen automatisch gelöscht, und Benutzer können alle Synchronisierungslogs mit dem Typ DCAT_SYNC mit der Prozedur DELETE_ALL_OPERATIONS löschen.

In der View DBMS_DCAT$SYNC_LOG wird automatisch die neueste Logtabelle identifiziert. Das Schema für die View DBMS_DCAT$SYNC_LOG wird unten beschrieben. Die Zugriffsberechtigungen sind mit denen der einzelnen Logtabellen identisch. Standardmäßig wird READ der Rolle dbms_dcat und dem Benutzer ADMIN erteilt.

Die Logtabellen haben das folgende Format:

Spalte Datentyp Beschreibung

LOG_TIMESTAMP

TIMESTAMP

Zeitstempel für den Logeintrag.

LOG_LEVEL

VARCHAR2(32)

Die Eintragsloggingebene kann einen der folgenden Werte aufweisen: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL.

LOG_DETAILS VARCHAR2(32767) Die Lognachricht.