本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Oracle 外部資料表
Oracle 外部資料表,指的是該資料表所具有的資料不在資料庫中。反而資料是位在資料庫可以存取的外部檔案中。您可以使用外部資料表來存取資料,而不需將資料載入資料庫。如需外部資料表的詳細資訊,請參閱 Oracle 文件中的管理外部資料表
透過 Amazon RDS,您可以將外部資料表檔案存放在目錄物件中。您可以建立目錄物件,也可以使用 Oracle 資料庫中預先定義的物件,例如 DATA_PUMP_DIR 目錄。如需建立目錄物件的詳細資訊,請參閱 在主要資料儲存空間中建立和捨棄目錄。您可以查詢 ALL_DIRECTORIES 檢視來列出 Amazon RDS Oracle 資料庫執行個體的目錄物件。
注意
目錄物件會指向執行個體使用的主要資料存放空間 (Amazon EBS磁碟區)。根據配置的儲存體來計算的已使用空間 (以及資料檔案、重做日誌、稽核、追蹤和其他檔案)。
您可以使用 DBMS_FILE_ TRANSFER
移動外部資料檔案後,該檔案即可用來建立外部資料表。下列範例會建立使用 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
檔案中。