Arbeiten mit externen Tabellen in RDS for Oracle - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit externen Tabellen in RDS for Oracle

Externe Oracle-Tabellen sind Tabellen mit Daten, die sich nicht in der Datenbank befinden. Stattdessen befinden sich die Daten in externen Dateien, auf die die Datenbank zugreifen kann. Durch die Verwendung externer Tabellen können Sie auf die Daten zugreifen, ohne sie in die Datenbank zu laden. Weitere Informationen zu externen Tabellen finden Sie unter Managing External Tables in der Oracle-Dokumentation.

Mit Amazon RDS können Sie externe Tabellendateien in Verzeichnisobjekten speichern. Sie können ein Verzeichnisobjekt erstellen oder eines verwenden, das in der Oracle-Datenbank vordefiniert ist, z. B. das Verzeichnis DATA_PUMP_DIR. Weitere Informationen zum Erstellen von Verzeichnisobjekten finden Sie unter Erstellen und Löschen von Verzeichnissen im Hauptdatenspeicherbereich. Sie können die Ansicht ALL_DIRECTORIES abfragen, um die Verzeichnisobjekte für Ihre Amazon RDS Oracle DB-Instance aufzulisten.

Anmerkung

Verzeichnisobjekte zeigen auf den von Ihrer Instance verwendeten Datenspeicherplatz (Amazon EBS-Volume). Der belegte Speicherplatz – mit Datendateien, Redo-Logs, Audit- und Nachverfolgungsdateien sowie anderen Dateien – wird auf den zugewiesenen Speicherplatz angerechnet.

Sie verschieben eine externe Datendatei von einer Oracle-Datenbank in eine andere Datenbank, indem Sie das Paket DBMS_FILE_TRANSFER oder das Paket UTL_FILE verwenden. Die externe Datendatei wird von einem Verzeichnis auf der Quelldatenbank in das angegebene Verzeichnis auf der Zieldatenbank verschoben. Für weitere Informationen zur Nutzung von DBMS_FILE_TRANSFER siehe Importieren mit Oracle Data Pump.

Nachdem Sie die externe Datendatei verschoben haben, können Sie damit eine externe Tabelle anlegen. Im folgenden Beispiel wird eine externe Tabelle erstellt, die die emp_xt_file1.txt Datei im DIR1 Verzeichnis USER_ verwendet.

CREATE TABLE emp_xt ( emp_id NUMBER, first_name VARCHAR2(50), last_name VARCHAR2(50), user_name VARCHAR2(20) ) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY USER_DIR1 ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE FIELDS TERMINATED BY ',' MISSING FIELD VALUES ARE NULL (emp_id,first_name,last_name,user_name) ) LOCATION ('emp_xt_file1.txt') ) PARALLEL REJECT LIMIT UNLIMITED;

Angenommen, Sie möchten Daten, die sich in einer Amazon RDS Oracle DB-Instance befinden, in eine externe Datendatei verschieben. In diesem Fall können Sie die externe Datendatei füllen, indem Sie eine externe Tabelle anlegen und die Daten aus der Tabelle in der Datenbank auswählen. Die folgende SQL-Anweisung erzeugt z. B. die externe Tabelle orders_xt durch Abfrage der Tabelle orders in der Datenbank.

CREATE TABLE orders_xt ORGANIZATION EXTERNAL ( TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY DATA_PUMP_DIR LOCATION ('orders_xt.dmp') ) AS SELECT * FROM orders;

In diesem Beispiel werden die Daten in der Datei orders_xt.dmp im Verzeichnis DATA_PUMP_DIR gefüllt.