Zugangsdaten erstellen und Data Pump-Dumpdateien in eine vorhandene Tabelle laden

Beim Laden von Daten können Sie auch Oracle Data Pump-Dumpdateien als Quelldateien verwenden.

Die Quelldateien für diesen Ladetyp müssen mit dem Zugriffstreiber ORACLE_DATAPUMP aus dem Quellsystem in externe Tabellen exportiert werden. Weitere Informationen zum Exportieren mit dem ORACLE_DATAPUMP-Zugriffstreiber finden Sie unter Daten mit dem ORACLE_DATAPUMP-Zugriffstreiber entladen und laden.

Um die Daten zu laden, verschieben Sie zuerst die Dumpdateien, die mit dem Zugriffstreiber ORACLE_DATAPUMP exportiert wurden, in den Objektspeicher. Anschließend laden Sie die Dumpdateien mit DBMS_CLOUD.COPY_DATA in eine vorhandene Tabelle in der Datenbank.

Die Quelldateien in diesem Beispiel sind die Oracle Data Pump-Dumpdateien exp01.dmp und exp02.dmp.

  1. Speichern Sie Ihre Objektspeicherzugangsdaten mit der Prozedur DBMS_CLOUD.CREATE_CREDENTIAL. Beispiele:
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /

    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.

    Weitere Informationen zu den Parametern finden Sie unter Prozedur CREATE_CREDENTIAL.

    Hinweis

    Einige Tools wie SQL*Plus und SQL Developer verwenden das Et-Zeichen (&) als Sonderzeichen. Wenn das Et-Zeichen in Ihrem Kennwort enthalten ist, verwenden Sie den Befehl SET DEFINE OFF in diesen Tools, wie im Beispiel gezeigt, um das Sonderzeichen zu deaktivieren und die Zugangsdaten korrekt zu erstellen.
  2. Laden Sie Daten mit der Prozedur DBMS_CLOUD.COPY_DATA in eine vorhandene Tabelle. Beispiele:
    CREATE TABLE CHANNELS
       (channel_id CHAR(1),
        channel_desc VARCHAR2(20),
        channel_class VARCHAR2(20)
       );
    /
    
    BEGIN
     DBMS_CLOUD.COPY_DATA(
        table_name =>'CHANNELS',
        credential_name =>'DEF_CRED_NAME',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp01.dmp,
                         https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp02.dmp',
        format => json_object('type' value 'datapump')
     );
    END;
    /
    

    Parameter:

    • table_name: Der Name der Zieltabelle.

    • credential_name: Der Name der Zugangsdaten, die im vorherigen Schritt erstellt wurden. Der Parameter credential_name muss den Benennungskonventionen für Oracle-Objekte entsprechen. Weitere Informationen finden Sie unter Benennungsregeln für Datenbankobjekte.

    • file_uri_list: Eine durch Komma getrennte Liste der Data Pump-Dumpdateien, die Sie laden möchten.

    • format: Definiert die Optionen, die Sie zur Beschreibung des Formats der Quelldatei angeben können. Wenn Sie type als 'datapump' angeben, ist der einzige andere gültige Formatparameter 'rejectlimit'.

    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.

    Ausführliche Informationen zu den Parametern finden Sie unter Prozedur COPY_DATA und Prozedur COPY_DATA für Avro-, ORC- oder Parkettdateien.