ORACLE_LOADERを使用した外部表の作成

この記事では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

正しく外部表が作成できました。