Daten mit Oracle Data Pump und CREDENTIAL-Parameter (Version 19.9 oder höher) in Objektspeicher exportieren

Zeigt die Schritte zum Exportieren von Daten aus Autonomous Database in den Cloud-Objektspeicher mit Oracle Data Pump-Export mit dem Parameter credential an.

Oracle empfiehlt, die neueste Oracle Data Pump-Version für den Export von Daten aus Autonomous Database in andere Oracle-Datenbanken zu verwenden, da diese 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.

Hinweis

Database Actions stellt einen Link für Oracle Instant Client bereit. Um über Database Actions auf diesen Link zuzugreifen, klicken Sie unter Downloads auf Oracle Instant Client herunterladen.

Wenn Sie Oracle Data Pump Version 19.9 oder höher verwenden, können Sie den Parameter credential verwenden, wie in diesen Schritten gezeigt. Anweisungen zur Verwendung von Oracle Data Pump Versionen 19.8 und früher finden Sie unter Daten mit Oracle Data Pump in Objektspeicher exportieren - Einstellung der Eigenschaft DEFAULT_CREDENTIAL.

  1. Stellen Sie eine Verbindung zu Ihrer Datenbank her.
  2. Speichern Sie die Zugangsdaten für den Cloudobjektspeicher mit DBMS_CLOUD.CREATE_CREDENTIAL. Beispiele:
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'user1@example.com',
        password => 'password'
      );
    END;
    /

    Die Werte, die Sie für username und password angeben, hängen vom verwendeten Cloud-Objektspeicherservice ab.

    Wenn Sie in Oracle Cloud Infrastructure Object Storage exportieren, können Sie die nativen Oracle Cloud Infrastructure-URIs oder Swift-URIs verwenden. Die Zugangsdaten müssen jedoch Authentifizierungstoken sein. Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL.

  3. 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. Er endet mit einem Dateinamen oder einem Dateinamen mit einer Ersetzungsvariable wie exp%L.dmp, und setzen Sie den Parameter credential auf den Namen der Zugangsdaten, die Sie im vorherigen Schritt erstellt haben. Beispiele:
    expdp admin/password@db2022adb_high \
         filesize=5GB \
         credential=def_cred_name \
         dumpfile=https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/exp%L.dmp \
         parallel=16 \
         encryption_pwd_prompt=yes \
         logfile=export.log \
         directory=data_pump_dir
    

    Hinweise zu Oracle Data Pump-Parametern:

    • Wenn Sie während des Exports mit expdp den Parameter encryption_pwd_prompt=yes verwendet haben, verwenden Sie encryption_pwd_prompt=yes, und geben Sie dasselbe Kennwort beim impdp-Prompt ein, den Sie beim Export angegeben haben.

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

    • Wenn sich der Bucket und die Daten nicht in einer kommerziellen Realm (OC1) befinden, in der dedizierte OCI-Endpunkte nicht unterstützt werden, verwenden Sie das folgende URI-Format für dumpfile:

      https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname/o/filename
    Für dumpfile verwendet dieses Beispiel das empfohlene URI-Format mit OCI Dedicated Endpoints für die kommerzielle Realm (OC1). namespace-string ist der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname der Bucket-Name. Weitere Informationen finden Sie unter Dedizierte Object Storage-Endpunkte, Regionen und Availability-Domains und Object Storage-Namespaces.

    Der Parameter credential kann kein OCI-Ressourcen-Principal, Azure-Service-Principal, Amazon-Ressourcenname (ARN) oder ein Google-Serviceaccount sein. Weitere Informationen zur Resource Principal-basierten Authentifizierung finden Sie unter Auf Cloud-Ressourcen durch Konfigurieren von Policys und Rollen zugreifen.

    Um die beste Exportperformance zu erzielen, verwenden Sie den Datenbankservice HIGH für die Exportverbindung, und setzen Sie den Parameter parallel auf ein Quartal mit der Anzahl der ECPUs (.25 x ECPU-Anzahl). Wenn Sie das OCPU-Compute-Modell verwenden, setzen Sie den parallelen Parameter auf die Anzahl der OCPUs (1 x OCPU-Anzahl).

    Informationen dazu, welcher Datenbankservicename für die Ausführung des Data Pump-Exports verbunden werden soll, finden Sie unter Datenbankservicenamen für Autonomous Database.

    Informationen zum URL-Format der Dumpdatei für verschiedene Cloud-Object Storage-Services finden Sie unter DBMS_CLOUD URI-Formate.

    In diesem Beispiel werden die empfohlenen Parameter für den Export aus Autonomous Database gezeigt. Beachten Sie bei diesen expdp-Parametern Folgendes:

    • Der maximale Wert des Parameters filesize beträgt 100000 MB für Oracle Cloud Infrastructure Object Storage-Exporte.

    • Der maximale Wert des Parameters filesize beträgt 20 GB für Oracle Cloud Infrastructure Object Storage Classic-Exporte.

    • Wenn die angegebene filesize zu groß ist, wird beim Export folgende Fehlermeldung angezeigt:

      ORA-17500: ODM err:ODM HTTP Request Entity Too Large
    • Der Parameter directory gibt das Verzeichnis data_pump_dir für die angegebene Logdatei export.log an. Weitere Informationen finden Sie unter Logdateien für Data Pump-Export aufrufen.

    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. Beispiele:

    exp100.dmp
    exp100.dmp_aaaaaa
    exp101.dmp
    exp101.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. Beispiele:

    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp100.dmp

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

    Wenn Sie DBMS_CLOUD.DELETE_OBJECT verwenden, werden die Chunks automatisch von der Prozedur erkannt und gelöscht, wenn die Prozedur die primäre Datei löscht.

  4. Führen Sie die erforderlichen Schritte aus, um den Oracle Data Pump-Import auszuführen und die Bereinigung vorzunehmen.
Hinweis

Um einen vollständigen Export durchzuführen oder Objekte zu exportieren, deren Eigentümer andere Benutzer sind, müssen Sie die Rolle DATAPUMP_CLOUD_EXP verwenden.

Weitere Informationen zu Oracle Data Pump Export-Parameter finden Sie unter Oracle Database-Utilitys.