Daten mit Oracle Data Pump exportieren

Oracle Data Pump bietet ein sehr schnelles Bulkverschiebung von Daten und Metadaten zwischen Autonomous AI Database und anderen Oracle-Datenbanken.

Oracle empfiehlt, die neueste Oracle Data Pump-Version für das Exportieren von Daten aus Autonomous AI Database in andere Oracle-Datenbanken zu verwenden, da dies Verbesserungen und Fixes für eine bessere Erfahrung enthält. Laden Sie die neueste Version von Oracle Instant Client herunter, und laden Sie das Toolpackage, das Oracle Data Pump enthält, für Ihre Plattform von Oracle Instant Client-Downloads herunter. Die Installationsschritte, die nach dem Herunterladen von Oracle Instant Client und dem Toolpackage erforderlich sind, finden Sie in den Installationsanweisungen auf der Downloadseite für die Plattforminstallation.

Um Daten mit Oracle Data Pump aus einer autonomen KI-Datenbank in andere Oracle-Datenbanken zu verschieben, verwenden Sie eine der folgenden Optionen:
  • Option 1: Daten mit Data Pump-Export in ein Autonomous AI Database-Verzeichnis verschieben

    Exportieren Sie die Daten mit Oracle Data Pump in ein Verzeichnis in der Datenbank. Verschieben Sie die Daten dann aus dem Verzeichnis in den Cloud-Objektspeicher. Diese Methode kann von Vorteil sein, wenn Sie Daten aus Ihrer autonomen KI-Datenbank in mehrere Zieldatenbanken verschieben möchten. Anstatt die Daten in mehrere Cloud-Objektspeicher zu exportieren, können Sie ein einzelnes Dumpdateiset erstellen und für mehrere Zieldatenbanken verwenden.

    Um Daten aus autonomen KI-Datenbank zu verschieben, indem sie in ein Verzeichnis in Ihrer Datenbank exportiert werden:
    1. Exportieren Sie Daten in ein Verzeichnis in Autonomous AI Database, und verschieben Sie das Dumpdateiset aus dem Verzeichnis in den Cloud-Objektspeicher. Weitere Informationen finden Sie unter Daten mit einem Verzeichnis in Autonomous AI Database exportieren.
    2. Laden Sie die Dumpdateien aus dem Cloud-Objektspeicher herunter, importieren Sie die Daten in die Zieldatenbank, und bereinigen Sie den Cloud-Objektspeicher. Weitere Informationen finden Sie unter Dumpdateien herunterladen, Data Pump-Import ausführen und Objektspeicher bereinigen.
  • Option 2: Daten mit Data Pump-Export in Objektspeicher verschieben

    Bei dieser Exportmethode exportieren Sie Daten mit Oracle Data Pump direkt in den Objektspeicher. Diese Exportmethode wird mit Oracle Cloud Infrastructure Object Storage und Oracle Cloud Infrastructure Object Storage Classic unterstützt. Dadurch wird der Overhead vermieden, wenn Sie ein Dumpdateiset in einem Verzeichnis in Ihrer autonomen KI-Datenbank erstellen und das Dumpdateiset dann in den Cloud-Objektspeicher verschieben. Wenn Sie beabsichtigen, Daten in eine einzelne Zieldatenbank zu verschieben, spart diese Methode Aufwand und beschleunigt den Exportprozess.

    Um Daten aus autonomen KI-Datenbank zu verschieben, indem sie direkt in Ihren Objektspeicher exportiert werden:
    1. Exportieren Sie Daten direkt aus Autonomous AI Database in einen Cloud-Objektspeicher. Siehe Daten aus autonomer KI-Datenbank direkt in den Objektspeicher exportieren.
    2. Laden Sie die Dumpdateien aus dem Cloud-Objektspeicher herunter, importieren Sie die Daten in die Zieldatenbank, und bereinigen Sie den Cloud-Objektspeicher. Weitere Informationen finden Sie unter Dumpdateien herunterladen, Data Pump-Import ausführen und Objektspeicher bereinigen.

Daten mit einem Verzeichnis in Autonomous AI Database exportieren

Um Daten mit einem Verzeichnis in einer autonomen KI-Datenbank zu exportieren, müssen Sie zunächst ein Dumpdateiset mit den exportierten Daten im Verzeichnis in Ihrer Datenbank erstellen und diese Dateien dann aus dem Datenbankverzeichnis im Cloud-Objektspeicher hochladen.

Mit Data Pump ein Dumpdateiset in Autonomous AI Database erstellen

  1. Erstellen Sie ein Verzeichnis, in dem die Dumpdateien mit den exportierten Daten gespeichert werden. Beispiel:
    CREATE DIRECTORY data_export_dir as 'data_export';
  2. Führen Sie den Data Pump-Export aus, wobei der Parameter dumpfile festgelegt ist, der Parameter filesize auf einen Wert unter 50G gesetzt und der Parameter directory festgelegt ist. Das folgende Beispiel zeigt, wie Sie ein Schema namens SALES in einer autonomen KI-Datenbank namens ATPC1 mit 64 ECPUs exportieren:
    expdp sales/password@ATPC1_high 
    directory=data_export_dir 
    dumpfile=exp%L.dmp 
    parallel=16
    encryption_pwd_prompt=yes
    filesize=1G
    logfile=export.log
    Hinweise zu Data Pump-Parametern:
    • Bei ECPUs muss parallel auf das 0,25-fache der ECPU-Anzahl gesetzt werden. Im obigen Beispiel mit 64 ECPUs ist parallel also auf 0,25 x 64 gesetzt, d.h. auf 16 mit expdp.

    • Bei OCPUs muss parallel auf denselben Wert wie die OCPU-Anzahl gesetzt werden. Im obigen Beispiel mit 16 OCPUs wird parallel auf 16 gesetzt, mit expdp.

    • Wenn Sie während des Exports mit expdp den Parameter encryption_pwd_prompt=yes verwenden, müssen Sie encryption_pwd_prompt=yes mit dem Import verwenden und dasselbe Kennwort beim impdp-Prompt eingeben, um die Dumpdateien zu entschlüsseln (merken Sie sich das Kennwort, das Sie beim Export angeben). Die maximale Länge des Verschlüsselungskennworts beträgt 128 Byte.

    • Der Parameter dumpfile unterstützt die Platzhalter %L und %l zusätzlich zu den Legacy-Platzhaltern %U und %u. Beispiel: dumpfile=export%L.dmp.

      Verwenden Sie den Platzhalter %L oder %l für Exporte aus Oracle Database Release 12.2 und höher. Dieser Platzhalter erweitert den Namen der Dumpdatei in eine 3-stellige, inkrementierende Ganzzahl mit variabler Breite, die bei 100 beginnt und bei 2147483646 endet.

    Um die beste Exportperformance zu erreichen, verwenden Sie den Datenbankservice HIGH für Ihre Exportverbindung und setzen den Parameter PARALLEL auf die Anzahl der CPUs in einer Datenbank. Informationen dazu, welcher Datenbankserviceiname für die Ausführung des Data Pump-Exports verbunden werden soll, finden Sie unter Vordefinierte Datenbankservicenamen für Autonome KI-Datenbanken.

    Nach Abschluss des Exports können Sie die generierten Dumpdateien anzeigen, indem Sie eine Abfrage wie die Folgende ausführen:
    SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_EXPORT_DIR');
    Die Ausgabe dieser Beispielabfrage zeigt die generierten Dumpdateien und die Exportlogdatei an:
    
    OBJECT_NAME                 BYTES  CHECKSUM                   CREATED          LAST_MODIFIED  
    ---------------------- ---------- ----–---- –------------------------–----- --------------------
    exp01.dmp                   12288               12-NOV-19 06.10.47.0 PM GMT       12-NOV-19...
    exp02.dmp                    8192               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    exp03.dmp                 1171456               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    exp04.dmp                  348160               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    export.log                   1663               12-NOV-19 06.10.50.0 PM GMT       12-NOV-19...
    

Hinweise:

  • Um einen vollständigen Export durchzuführen oder Objekte zu exportieren, deren Eigentümer andere Benutzer sind, benötigen Sie die Rolle DATAPUMP_CLOUD_EXP.

  • Die API, mit der Sie die Dumpdateien in den Objektspeicher verschieben, unterstützt Dateigrößen bis zu 50 GB. Stellen Sie daher sicher, dass Sie keine höhere Größe als die im Argument filesize angegebene angeben.

  • Weitere Informationen finden Sie unter Oracle Data Pump Export in Oracle Database 19c-Utilitys oder Oracle Database 26ai-Utilitys.

Dumpdateiset aus autonomen KI-Datenbank in Cloud-Objektspeicher verschieben

  1. Stellen Sie eine Verbindung zu Ihrer autonomen KI-Datenbank her.

  2. Speichern Sie die Zugangsdaten für den Cloud-Objektspeicher mit der Prozedur DBMS_CREDENTIAL.CREATE_CREDENTIAL. Beispiel:
    BEGIN
      DBMS_CREDENTIAL.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@oracle.com',
        password => 'password'
      );
    END;
    /
    Die Werte, die Sie für username und password angeben, hängen vom verwendeten Cloud-Objektspeicherservice ab:
    • Oracle Cloud Infrastructure Object Storage: username ist Ihr Oracle Cloud Infrastructure-Benutzername, und password ist Ihr Oracle Cloud Infrastructure-Auth-Token. Siehe Mit Authentifizierungstoken arbeiten.

    • Oracle Cloud Infrastructure Object Storage Classic: username ist Ihr Oracle Cloud Infrastructure Classic-Name. password ist Ihr Oracle Cloud Infrastructure Classic-Kennwort.

      Dieser Vorgang speichert die Zugangsdaten in einem verschlüsselten Format in der Datenbank. Sie können einen beliebigen Namen als Zugangsdatenname verwenden. Beachten Sie, dass dieser Schritt nur einmal erforderlich ist, es sei denn, Ihre Objektspeicherzugangsdaten werden geändert. Nachdem Sie die Zugangsdaten gespeichert haben, können Sie denselben Zugangsdatennamen für alle Dataloads verwenden.

  3. Verschieben Sie die Dumpdateien aus der autonomen KI-Datenbank in den Cloud-Objektspeicher, indem Sie DBMS_CLOUD.PUT_OBJECT aufrufen.

    Beispiel:
    BEGIN
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp01.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp01.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp02.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp02.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp03.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp03.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp04.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp04.dmp');
    END;
    /

    Informationen zu PUT_OBJECT finden Sie unter PUT_OBJECT-Prozedur.

Daten aus Autonomous AI Database direkt in den Objektspeicher exportieren

Hier erfahren Sie, wie Sie Daten mit Oracle Data Pump direkt aus Autonomous AI Database in den Cloud-Objektspeicher exportieren.

  1. Herstellen Sie eine Verbindung zu Ihrer autonomen KI-Datenbank.
  2. Speichern Sie die Zugangsdaten für den Cloud-Objektspeicher mit der Prozedur DBMS_CREDENTIAL.CREATE_CREDENTIAL. Beispiel:
    BEGIN
      DBMS_CREDENTIAL.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
               username => 'adb_user@oracle.com',
        password => 'password'
        );
    END;
    /
    Die Werte, die Sie für username und password angeben, hängen vom verwendeten Cloud-Objektspeicherservice ab:
    • Oracle Cloud Infrastructure Object Storage: username ist Ihr Oracle Cloud Infrastructure-Benutzername, und password ist Ihr Oracle Cloud Infrastructure-Auth-Token. Siehe Mit Authentifizierungstoken arbeiten.
    • Oracle Cloud Infrastructure Object Storage Classic: username ist Ihr Name für Oracle Cloud Infrastructure Classic. password ist Ihr Oracle Cloud Infrastructure Classic-Kennwort.

    Dieser Vorgang speichert die Zugangsdaten in einem verschlüsselten Format in der Datenbank. Sie können einen beliebigen Namen als Zugangsdatenname verwenden. Beachten Sie, dass dieser Schritt nur einmal erforderlich ist, es sei denn, Ihre Objektspeicherzugangsdaten werden geändert. Nachdem Sie die Zugangsdaten gespeichert haben, können Sie denselben Zugangsdatennamen für alle Dataloads verwenden.

  3. Legen Sie als ADMIN-Benutzer die im obigen Schritt definierten Zugangsdaten als Standardzugangsdaten für Ihre autonome KI-Datenbank fest.
    Beispiel:
    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'DEF_CRED_NAME';
  4. Führen Sie den Data Pump-Export aus, wobei der Parameter dumpfile auf die URL für einen vorhandenen Bucket in Ihrem Cloud-Objektspeicher gesetzt ist (mit einem Dateinamen oder einem Dateinamen mit einer Ersetzungsvariable, wie exp%U.dmp).
    • Oracle Data Pump-Version 19.9 oder höher:
      Stellen Sie den Parameter credential auf den Namen der Zugangsdaten ein, die Sie in Schritt 2 erstellt haben. Beispiel:
      expdp admin/password@ADBD_high \
      SCHEMAS=SOE3 \
      filesize=5GB \
      credential=DEF_CRED_NAME \
      dumpfile=https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \
      parallel=16 \
      encryption_pwd_prompt=yes \
      logfile=export.log \
      directory=data_pump_dir \
      EXCLUDE=statistics,index
      In diesem Beispiel ist dumpfile eine Oracle Cloud Infrastructure-Swift-URI, die alle Dateien angibt, deren Namen mit export<number>.dmp im Bucket mybucket in der Region us-ashburn-1 übereinstimmen. (adbdpreview1 ist der Objektspeicher-Namespace, in dem sich der Bucket befindet.)
    • Oracle Data Pump-Versionen vor 19.9:
      Beginnen Sie den Wert des Parameters dumpfile mit dem Schlüsselwort default_credential und einem Doppelpunkt. Beispiel:
      expdp admin/password@ADBD_high \
      SCHEMAS=SOE3 \
      filesize=5GB \
      dumpfile=DEF_CRED_NAME:https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \ 
      parallel=16 \
      encryption_pwd_prompt=yes \
      logfile=export.log \
      directory=data_pump_dir \
      EXCLUDE=statistics,index 
      In diesem Beispiel ist das Schlüsselwort default_credential im Parameter dumpfile erforderlich.
    Hinweise zu Oracle Data Pump-Parametern:
    • Standardmäßig komprimiert Oracle Data Pump-Export nur Metadaten, bevor er in das Dumpdateiset geschrieben wird. Sie können den Parameter compression auf ALL setzen, um Metadaten und Daten zu komprimieren, bevor sie in das Dumpdateiset geschrieben werden. Weitere Informationen finden Sie unter COMPRESSION in Oracle Database 19c-Utilitys oder Oracle Database 26ai-Utilitys.

    • Der Parameter dumpfile unterstützt die Platzhalter %L und %l zusätzlich zu den Legacy-Platzhaltern %U und %u. Beispiel: dumpfile=export%L.dmp.

      Verwenden Sie den Platzhalter %L oder %l für Exporte aus Oracle Database Release 12.2 und höher. Dieser Platzhalter erweitert den Namen der Dumpdatei in eine 3-stellige, inkrementierende Ganzzahl mit variabler Breite, die bei 100 beginnt und bei 2147483646 endet.

      Weitere Informationen finden Sie unter Parameter im Befehlszeilenmodus für Data Pump-Export in Oracle Database 19c-Utilitys oder Oracle Database 26ai-Utilitys.

    • Um die beste Exportperformance zu erreichen, verwenden Sie den Datenbankservice high für Ihre Exportverbindung und setzen den Parameter parallel auf die 0,25-fache Anzahl der ECPUs oder auf die Anzahl der OCPUs in Ihrer autonomen KI-Datenbank. Informationen dazu, welcher Datenbankserviceiname für die Ausführung des Data Pump-Exports verbunden werden soll, finden Sie unter Vordefinierte Datenbankservicenamen für Autonome KI-Datenbanken.

    • Informationen zum URL-Format der Dumpdatei für verschiedene Cloud-Objektspeicherservices finden Sie unter URI-Formate für Cloud-Objektspeicher.

    Informationen zu nicht zulässigen Objekten in Autonomous AI Database finden Sie unter Einschränkungen bei der Verwendung von SQL-Befehlen.

  5. Validieren Sie die Ergebnisse.
    Oracle Data Pump unterteilt jeden Teil der Dumpdatei in kleinere Chunks, um schnellere Uploads zu ermöglichen. In der Oracle Cloud Infrastructure Object Storage-Konsole werden für jeden exportierten Teil der Dumpdatei mehrere Dateien angezeigt. Die Größe der tatsächlichen Dumpdateien wird als null (0) angezeigt und die Größe der zugehörigen Datei-Chunks als 10 MB oder weniger. Beispiel:
    exp01.dmp
    exp01.dmp_aaaaaa
    exp02.dmp
    exp02.dmp_aaaaaa

    Hinweis:

    Wenn Sie die Null-Byte-Dumpdatei aus der Oracle Cloud Infrastructure-Konsole oder mit der Oracle Cloud Infrastructure-CLI herunterladen, erhalten Sie nicht die vollständigen Dumpdateien. Um die vollständigen Dumpdateien aus dem Objektspeicher herunterzuladen, verwenden Sie ein Tool wie cURL, das Swift unterstützt. Geben Sie Ihre Benutzeranmeldung und Ihr Swift-Authentifizierungstoken an. Beispiel:
    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/export01.dmp

Dumpdateien herunterladen, Data Pump Import ausführen und Objektspeicher bereinigen

Laden Sie bei Bedarf die Dumpdateien aus dem Cloud-Objektspeicher herunter, und importieren Sie das Dumpdateiset mit Oracle Data Pump Import in die Zieldatenbank. Führen Sie dann eine Bereinigung durch, wenn erforderlich.

  1. Laden Sie die Dumpdateien aus dem Cloud-Objektspeicher herunter.

    Hinweis:

    Dieser Schritt ist nicht erforderlich, wenn Sie die Daten in eine andere autonome KI-Datenbank importieren.
    Wenn Sie mit Oracle Data Pump direkt in den Objektspeicher exportiert werden, wie in Daten aus autonomer KI-Datenbank direkt in den Objektspeicher exportiert beschrieben, wird die Größe der Dumpdateien im Objektspeicher 0 angezeigt. Oracle Data Pump unterteilt jeden Teil der Dumpdatei in kleinere Chunks, um schnellere Uploads zu ermöglichen. In der Oracle Cloud Infrastructure Object Storage-Konsole werden für jeden exportierten Teil der Dumpdatei mehrere Dateien angezeigt. Die Größe der tatsächlichen Dumpdateien wird als null (0) angezeigt und die Größe der zugehörigen Datei-Chunks als 10 MB oder weniger. Beispiel:
    exp01.dmp
    exp01.dmp_aaaaaa
    exp02.dmp
    exp02.dmp_aaaaaa
    Wenn Sie die Null-Byte-Dumpdatei aus der Oracle Cloud Infrastructure-Konsole oder mit der Oracle Cloud Infrastructure-CLI herunterladen, erhalten Sie nicht die vollständigen Dumpdateien. Um die vollständigen Dumpdateien aus dem Objektspeicher herunterzuladen, verwenden Sie ein Tool wie cURL, das Swift unterstützt. Geben Sie Ihre Benutzeranmeldung und Ihr Swift-Authentifizierungstoken an. Beispiel:
    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmp

    Der cURL-Befehl unterstützt in seiner URL weder Platzhalter noch Ersetzungszeichen. Sie müssen mehrere cURL-Befehle verwenden, um das Dumpdateiset aus dem Objektspeicher herunterzuladen. Alternativ können Sie ein Skript verwenden, das Ersetzungszeichen unterstützt, um alle Dumpdateien aus dem Objektspeicher mit einem einzigen Befehl herunterzuladen. Ein Beispiel finden sie unter How To: Download all files from an export to object store job in Autonomous AI Database using cURL.

  2. Führen Sie Data Pump Import aus, um das Dumpdateiset in die Zieldatenbank zu importieren.

    Hinweis:

    Wenn Sie die Daten in eine andere autonome KI-Datenbank importieren, lesen Sie Daten mit Oracle Data Pump laden.

    Wenn Dateien mit Oracle Data Pump direkt in den Objektspeicher exportiert werden, wie in Daten aus autonomer KI-Datenbank direkt in den Objektspeicher exportieren beschrieben, und Sie eine Datei mit den DBMS_CLOUD-Prozeduren importieren, die den format-Parameter type mit dem Wert 'datapump' unterstützen, müssen Sie nur den primären Dateinamen angeben. Die Prozeduren, die den Formattyp 'datapump' unterstützen, ermitteln die Chunks und laden sie automatisch herunter.

  3. Führen Sie Bereinigungsaufgaben nach dem Import aus. Wenn Sie die Dumpdateien in die Zieldatenbank(en) importiert haben, löschen Sie den Bucket mit den Daten, oder entfernen Sie die Dumpdateien aus dem Cloud-Objektspeicher-Bucket. Entfernen Sie außerdem die Dumpdateien aus dem Speicherort, in den Sie die Dumpdateien für die Ausführung von Data Pump Import heruntergeladen haben.

Ausführliche Informationen finden Sie unter In Oracle Data Pump-Importbefehlszeilenmodus verfügbare Parameter in Oracle Database 19c-Utilitys oder Oracle Database 26ai-Utilitys.