Daten mit EXPORT_DATA als Oracle Data Pump-Dateien in den Objektspeicher verschieben

Sie können Daten in Oracle Data Pump-Dumpdateien exportieren, indem Sie eine Abfrage angeben.

Mit dieser Exportmethode geben Sie mit der Prozedur DBMS_CLOUD.EXPORT_DATA wie folgt eine Abfrage an, um die zu exportierenden Daten auszuwählen:

  1. Stellen Sie eine Verbindung zu Ihrer Datenbank her.
  2. Speichern Sie die Zugangsdaten für den Objektspeicher mit der Prozedur DBMS_CLOUD.CREATE_CREDENTIAL.

    Beispiel:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /
    

    Das Erstellen von Zugangsdaten für den Zugriff auf den Oracle Cloud Infrastructure-Objektspeicher ist nicht erforderlich, wenn Sie Resource-Principal-Zugangsdaten aktivieren. Weitere Informationen finden Sie unter Resource Principal für den Zugriff auf Oracle Cloud Infrastructure-Ressourcen nutzen.

    Bei diesem Vorgang werden die Zugangsdaten in der Datenbank in einem verschlüsselten Format gespeichert. Sie können einen beliebigen Namen für den Zugangsdatennamen verwenden. Beachten Sie, dass dieser Schritt nur einmal erforderlich ist, wenn sich die Zugangsdaten des Objektspeichers nicht ändern. Nachdem Sie die Zugangsdaten gespeichert haben, können Sie denselben Zugangsdatennamen verwenden.

    Informationen zu den Parametern username und password für verschiedene Objektspeicherservices finden Sie unter Prozedur CREATE_CREDENTIAL.

  3. Exportieren Sie Daten aus Autonomous Database in den Cloud-Objektspeicher als Oracle Data Pump-Dumpdatei(en), indem Sie DBMS_CLOUD.EXPORT_DATA aufrufen, wobei der Parameter format type auf den Wert datapump gesetzt ist. Beispiel:
    BEGIN
     DBMS_CLOUD.EXPORT_DATA(
        credential_name =>'DEF_CRED_NAME',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp01.dmp',
        format => json_object('type' value 'datapump'),
        query => 'SELECT warehouse_id, quantity FROM inventories'
     );
    END;
    /
    

    Die Parameter sind:

    • credential_name: Der Name der Zugangsdaten, die im vorherigen Schritt erstellt wurden.

    • file_uri_list: ist eine durch Komma getrennte Liste der Exportdateien. Die Verwendung von Platzhaltern und Ersetzungszeichen wird in file_uri_list nicht unterstützt.

    • format: Gibt den erforderlichen Parameter type mit dem Wert datapump an und definiert optional die Optionen, die Sie für den Export mit dem ORACLE_DATAPUMP-Zugriffstreiber angeben können.

    • query: Gibt eine SELECT-Anweisung an, sodass nur die erforderlichen Daten exportiert werden. Die Abfrage bestimmt den Inhalt der Dumpdatei(en).

    In diesem Beispiel ist namespace-string der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.

    Hinweis

    Mit der Prozedur DBMS_CLOUD.EXPORT_DATA werden die Dumpdateien erstellt, die Sie in file_uri_list angeben. Die Prozedur überschreibt keine Dateien. Wenn eine Dumpdatei in der Datei file_uri_list vorhanden ist, meldet DBMS_CLOUD.EXPORT_DATA einen Fehler. DBMS_CLOUD.EXPORT_DATA erstellt keine Buckets.

    Ausführliche Informationen zu den Parametern finden Sie unter Prozedur EXPORT_DATA.

  4. Führen Sie die erforderlichen Schritte aus, um den Oracle Data Pump-Import und die Bereinigung zu verwenden. Weitere Informationen finden Sie unter Dumpdateien herunterladen, Data Pump-Import ausführen und Objektspeicher bereinigen.

Hinweise zum Exportieren von Daten mit DBMS_CLOUD.EXPORT_DATA:

  • Die Dumpdateien, die Sie mit DBMS_CLOUD.EXPORT_DATA erstellen, können nicht mit Oracle Data Pump impdp importiert werden. Je nach Datenbank können Sie diese Dateien wie folgt verwenden:

    • In einer Autonomous Database können Sie die Dumpdateien mit den DBMS_CLOUD-Prozeduren verwenden, die den Parameter format type mit dem Wert "datapump" unterstützen. Sie können die Dumpdateien mit DBMS_CLOUD.COPY_DATA importieren, oder Sie können DBMS_CLOUD.CREATE_EXTERNAL_TABLE aufrufen, um eine externe Tabelle zu erstellen.

    • In jeder anderen Oracle Database, wie Oracle Database 19c On-Premise, können Sie die mit der Prozedur DBMS_CLOUD.EXPORT_DATA erstellten Dumpdateien mit dem Zugriffstreiber ORACLE_DATAPUMP importieren. Weitere Informationen finden Sie unter Daten mit dem Zugriffstreiber ORACLE_DATAPUMP entladen und laden.

  • Die Anzahl der Dumpdateien, die DBMS_CLOUD.EXPORT_DATA generiert, wird bei der Ausführung der Prozedur bestimmt. Die Anzahl der generierten Dumpdateien hängt von der Anzahl der Dateinamen ab, die Sie im Parameter file_uri_list angeben, sowie von der Anzahl der für die Instanz verfügbaren ECPUs, dem Servicelevel und der Größe der Daten.

    Beispiel: Wenn Sie eine 2-ECPU-Autonomous Database-Instanz oder den low-Service verwenden, wird eine einzelne Dumpdatei ohne Parallelität exportiert, selbst wenn Sie mehrere Dateinamen angeben. Wenn Sie eine 8-ECPU-Autonomous Database-Instanz mit dem Service medium oder high verwenden, können die Jobs parallel ausgeführt werden, und mehrere Dumpdateien werden exportiert, wenn Sie mehrere Dateinamen angeben.

  • Der angegebene Parameterwert query kann bei Bedarf eine erweiterte Abfrage sein, z.B. eine Abfrage, die Joins oder Unterabfragen enthält.