oracle外部表,为你保存数据提供了另类的选择
oracle为外部表主要提供了两种驱动
1. the loader access driver, or ORACLE_LOADER
2. the import/export access driver, or ORACLE_INTERNAL
试验过程如下:
1.首先为用户scott付权限create any directory
grant create any directory to scott with admin option;
2.建默认目录
select * from all_directories ;
create directory emp_dir as 'C:\TEMP' ;
3.建外部表的语句
CREATE TABLE oldemp (
empno NUMBER, empname CHAR(20), birthdate DATE)
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY emp_dir
ACCESS PARAMETERS
(RECORDS DELIMITED BY NEWLINE
BADFILE 'bad_emp'
LOGFILE 'log_emp'
FIELDS TERMINATED BY ','
(empno CHAR,
empname CHAR,
birthdate CHAR
date_format date mask "dd-mon-yyyy"
)
)
LOCATION ('emp1.txt')
)
PARALLEL 5
REJECT LIMIT 200;
4.因为外部表是只读的,无法进行DML操作,并且无法建索引,所以我们只能直接编辑保存外部表的文件。
在emp1.txt里面加入两行,如下,注意日期的格式收nls_database_parameters里面的NLS_DATE_LANGUAGE的影响
7369,SMITH,17-DEC-1950
7499,ALLEN,20-FEB-1951
5.查询外部表
select * from oldemp ;
6.管理外部表
select * from DBA_EXTERNAL_TABLES ;
select * from DBA_EXTERNAL_LOCATIONS ;
补充一下:如果发现有错误,请查看这两个文件BADFILE 'bad_emp',LOGFILE 'log_emp'
李世侠,网名caibird2005 , initdba , 战神
MySQL DBA经验6年;
Oracle DBA经验10年;
精通MySQL HA架构,复制,备份,恢复,SQL优化;
熟悉SHELL编程、Python编程、SQL&PL/SQL编程;
MySQL OCP课程讲师;
ORACLE官方认证OCM证书;
BLOG: http://www.cnblogs.com/caibird2005
http://www.initdba.cn
Wechat: caibird2005
TEL :+86-186-5881-5300 +86-180-7290-8651

浙公网安备 33010602011771号