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 einer autonomen KI-Datenbank 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:

Daten mit einem Verzeichnis in einer autonomen KI-Datenbank 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 autonomer KI-Datenbank 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 unterhalb 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 angeben, um die Dumpdateien zu entschlüsseln (merken Sie das Kennwort, das Sie bei Export angeben). Die maximale Länge des Verschlüsselungskennworts beträgt 128 Byte.

    • Der Parameter dumpfile unterstützt zusätzlich zu den Legacy-Platzhaltern %U und %u die Platzhalter %L und %l. 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 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 Ihrer 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...
    

Hinweis:

Dumpdateiset aus autonomem KI-Databaseto in Ihren 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 Ihr Oracle Cloud Infrastructure-Authentifizierungstoken. Siehe Mit Authentifizierungstoken arbeiten.

    • Oracle Cloud Infrastructure Object Storage Classic: username ist Ihr Oracle Cloud Infrastructure Classic-Benutzername und password 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 autonomer KI-Datenbank 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. 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 Ihr Oracle Cloud Infrastructure-Authentifizierungstoken. Siehe Mit Authentifizierungstoken arbeiten.

    • Oracle Cloud Infrastructure Object Storage Classic: username ist Ihr Oracle Cloud Infrastructure Classic-Benutzername und password 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 die autonome KI-Datenbank fest.

    Beispiel:

     ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'DEF_CRED_NAME';
    
  4. Führen Sie Data Pump Export aus, wobei der Parameter dumpfile auf die URL für einen vorhandenen Bucket in Ihrem Cloud-Objektspeicher gesetzt sind (mit einem Dateinamen oder einem Dateinamen mit einer Substitutionsvariable, 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 Utilities.

    • Der Parameter dumpfile unterstützt zusätzlich zu den Legacy-Platzhaltern %U und %u die Platzhalter %L und %l. 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 Ganzzahl mit variabler Breite, die bei 100 beginnt und bei 2147483646 endet.

      Weitere Informationen finden Sie unter Parameter verfügbar im Data Pump-Export-Befehlszeilenmodus 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 das 0,25-fache der 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 autonomer KI-Datenbank 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 von der Konsole oder über die 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.

  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.