首页 > IT职业 > IT生活 > ★★External Tables★★
1.创建sqlldr驱动的External Tables
默认情况下,oracle会采用sqlldr驱动的external table
SQL> CREATE TABLE test_ext
2 (employee_id NUMBER(4),
3 first_name VARCHAR2(20),
4 last_name VARCHAR2(25),
5 job_id VARCHAR2(10),
6 manager_id NUMBER(4),
7 hire_date DATE,
8 salary NUMBER(8,2),
9 commission_pct NUMBER(2,2),
10 department_id NUMBER(4),
11 email VARCHAR2(25)
12 )
13 ORGANIZATION EXTERNAL
14 (
15 TYPE ORACLE_LOADER
16 DEFAULT DIRECTORY dir_test
17 ACCESS PARAMETERS
18 (
19 records delimited by newline
20 badfile admin_bad_dir:'test.bad'
21 logfile admin_log_dir:'test.log'
22 fields terminated by ','
23 missing field values are null
24 ( employee_id, first_name, last_name, job_id, manager_id,
25 hire_date char date_format date mask "dd-mm-yyyy",
26 salary, commission_pct, department_id, email
27 )
28 )
29 LOCATION ('test.txt')
30 )
31 PARALLEL
32 REJECT LIMIT UNLIMITED;
表已创建。
SQL> select count(1) from test_ext;
COUNT(1)
----------
4
可以看到,已经可以从external table中查到数据。
如果有问题,可以通过查看d:/test.log和d:/test.bad发现错误原因,
已经未能进入external table的数据。如果要记录log和bad数据行,
对对应的directiry需要有write权限。
上面建表语句中,允许使用并行来load数据,但是还需要在session
或者system级允许并行
SQL> alter session enable parallel dml;
会话已更改。
2.利用ata pump驱动的external table导出数据到文件
data pump驱动的external需要基于data dump导出的文件,而不是普通
的文本文件。同时使用data pump驱动的external可以将数据从数
据库碇械汲龅轿募??/font>
SQL> CREATE TABLE test_ext2
2 ORGANIZATION EXTERNAL
3 (
4 TYPE oracle_datapump
5 DEFAULT DIRECTORY dir_test
6 LOCATION ('test.dump')
7 )
8 PARALLEL
9 as
10 select * from test_ext;
表已创建。
SQL> select count(1) from test_ext;
COUNT(1)
----------
4
3.利用data pump驱动的external table读取dmp文件
SQL> CREATE TABLE test_ext3
2 (employee_id NUMBER(4),
3 first_name VARCHAR2(20),
4 last_name VARCHAR2(25),
5 job_id VARCHAR2(10),
6 manager_id NUMBER(4),
7 hire_date DATE,
8 salary NUMBER(8,2),
9 commission_pct NUMBER(2,2),
10 department_id NUMBER(4),
11 email VARCHAR2(25)
12 )
13 ORGANIZATION EXTERNAL
14 (
15 TYPE oracle_datapump
16 DEFAULT DIRECTORY dir_test
17 LOCATION ('test.dmp')--必须存在!!
18 );
表已创建。
SQL> select count(1) from test_ext3;
COUNT(1)
----------
4
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9879835/viewspace-1000344/ ,如需转载,请注明出处,否则将追究法律责任。