Zugangsdaten erstellen und Daten in eine vorhandene Tabelle kopieren

Zum Laden von Daten aus Dateien in der Cloud müssen Sie zuerst Ihre Object Storage-Zugangsdaten in Autonomous Database speichern und dann mit der Prozedur DBMS_CLOUD.COPY_DATA Daten laden.

Die Quelldatei in diesem Beispiel channels.txt enthält die folgenden Daten:

S,Direct Sales,Direct
T,Tele Sales,Direct
C,Catalog,Indirect
I,Internet,Indirect
P,Partners,Others
  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.

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

    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/channels.txt',
        format => json_object('delimiter' value ',')
     );
    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 Quelldateien, die Sie laden möchten.

    • format: Definiert die Optionen, die Sie angeben können, um das Format der Quelldatei zu beschreiben, einschließlich der Angabe, ob die Datei den Typ Text, ORC, Parquet oder Avro aufweist.

      Wenn die Daten in den Quelldateien verschlüsselt sind, entschlüsseln Sie die Daten, indem Sie den Parameter format mit der Option encryption angeben. Weitere Informationen zum Entschlüsseln von Daten finden Sie unter Daten beim Importieren aus Object Storage entschlüsseln.

    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

    Autonomous Database unterstützt verschiedene Quellformate, einschließlich komprimierte Datenformate. Die unterstützten Komprimierungstypen finden Sie unter DBMS_CLOUD-Paketformatoptionen und der Formatoption DBMS_CLOUD compression.

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