この記事ではORACLE_LOADERを使用した外部表の作成について解説します。
ORACLE_LOADERを使用した外部表の作成
外部表の作成にはORACLE_LOADERとORACLE_DATAPUMPの2種類のドライバから選択して作成できます。
ORACLE_LOADERを使用するとテキスト形式のデータファイルを使用して。外部表を作成できます。
作成方法
外部表の作成に当たり、データファイルを格納するディレクトリオブジェクトを作成し、READ、WRITE権限を付与します。
$ sqlplus / as sysdba
SQL> alter session set container=pdb2;
SQL> CREATE DIRECTORY ext_tab AS '/home/oracle/external/';
Directory created.
SQL> GRANT READ,WRITE ON DIRECTORY ext_tab TO TEST;
Grant succeeded.
外部表として使用するデータファイルを作成したディレクトリオブジェクトに配置します。
データファイルは下記のようなものを使用します。
10,Accounting,New York
20,Research,Chicago
30,Sales,Los Angeles
40,Operations,Dallas
50,Marketing,San Francisco
これを外部表deptとして作成します。
$ sqlplus test@pdb2
SQL> CREATE TABLE DEPT (
DEPTNO NUMBER,
DNAME VARCHAR2(20),
LOC VARCHAR2(20))
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_tab
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','
)
LOCATION (
'dept.csv'
)
);
Table created.
作成した外部表を確認します。
SQL> SELECT * FROM dept;
DEPTNO DNAME LOC
---------- -------------------- --------------------
10 Accounting New York
20 Research Chicago
30 Sales Los Angeles
40 Operations Dallas
50 Marketing San Francisco
正しく外部表が作成できました。