Zugangsdaten erstellen und Data Pump-Dumpdateien in eine vorhandene Tabelle laden
Zum 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 in externen Tabellen aus dem Quellsystem exportiert werden. Weitere Informationen zum Exportieren mit dem Zugriffstreiber ORACLE_DATAPUMP finden Sie unter Daten mit dem Zugriffstreiber ORACLE_DATAPUMP entladen und laden.
Um die Daten zu laden, verschieben Sie zuerst die Dumpdateien, die mit dem Zugriffstreiber ORACLE_DATAPUMP exportiert wurden, in den Objektspeicher, und verwenden dann DBMS_CLOUD.COPY_DATA, um die Dumpdateien in eine vorhandene Tabelle in der Datenbank zu laden.
Die Quelldateien in diesem Beispiel sind die Oracle Data Pump-Dumpdateien exp 01.dmp und exp02.dmp.
-
Speichern Sie die Zugangsdaten für den Objektspeicher mit der Prozedur
DBMS_CLOUD.CREATE_CREDENTIAL. Beispiel: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.
Ausführliche Informationen über die Parameter finden Sie unter Prozedur CREATE_CREDENTIAL.
Hinweis
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 BefehlSET DEFINE OFFin diesen Tools, wie im Beispiel gezeigt, um das Sonderzeichen zu deaktivieren und die Zugangsdaten ordnungsgemäß zu erstellen. -
Laden Sie Daten mit der Prozedur
DBMS_CLOUD.COPY_DATAin eine vorhandene Tabelle. Beispiel: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; /Die Parameter sind:
-
table_name: Der Name der Zieltabelle. -
credential_name: Der Name der Zugangsdaten, die im vorherigen Schritt erstellt wurden. Der Parametercredential_namemuss den Benennungskonventionen von Oracle-Objekten entsprechen. Weitere Informationen finden Sie unter Benennungsregeln für Datenbankobjekte. -
file_uri_list: Eine kommagetrennte 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 Sietypeals'datapump'angeben, ist der einzige andere gültige Formatparameter'rejectlimit'.
In diesem Beispiel ist
namespace-stringder Oracle Cloud Infrastructure-Objektspeicher-Namespace undbucketnameder 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.
-