在 RDS for Oracle 中使用外部資料表 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 RDS for Oracle 中使用外部資料表

Oracle 外部資料表,指的是該資料表所具有的資料不在資料庫中。反而資料是位在資料庫可以存取的外部檔案中。您可以使用外部資料表來存取資料,而不需將資料載入資料庫。如需外部資料表的詳細資訊,請參閱 Oracle 文件中的管理外部資料表

您可以使用 Amazon RDS 在目錄物件中儲存外部資料表檔案。您可以建立目錄物件,也可以使用 Oracle 資料庫中預先定義的目錄物件,例如 DATA_PUMP_DIR 目錄。如需建立目錄物件的詳細資訊,請參閱 在主要資料儲存空間中建立和捨棄目錄。您可以查詢 ALL_DIRECTORIES 檢視,來列出您 Amazon RDS Oracle 資料庫執行個體的目錄物件。

注意

目錄物件會指向您執行個體使用的主要資料儲存空間 (Amazon EBS 磁碟區)。根據配置的儲存體來計算的已使用空間 (以及資料檔案、重做日誌、稽核、追蹤和其他檔案)。

您可以使用 DBMS_FILE_TRANSFER 套件或 UTL_FILE 套件,在不同 Oracle 資料庫之間移動外部資料檔案。外部資料檔案會從來源資料庫上的目錄,移動至目的地資料庫上指定的目錄。如需使用 DBMS_FILE_TRANSFER 的相關資訊,請參閱 使用 Oracle Data Pump 匯入

移動外部資料檔案後,該檔案即可用來建立外部資料表。下列範例會建立採用 USER_DIR1 目錄中 emp_xt_file1.txt 檔案的外部資料表。

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;

假設您要將 Amazon RDS Oracle 資料庫執行個體中的資料移動至外部資料表檔案。在此情況下,您可以透過建立外部資料表並從資料庫中的資料表選取資料,來填入外部資料檔案。例如,下列 SQL 陳述式會透過查詢資料庫中的 orders_xt 資料表來建立 orders 外部資料表。

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

在此範例中,資料會填入 DATA_PUMP_DIR 目錄中的 orders_xt.dmp 檔案。