SQLLDR的使用

SQLLDR的使用,有两种方法:

1、使用一个控制文件,在控制文件中加入数据;

2、使用一个控制文件,加上一个或多个数据文件。

为了使控制和数据的分离,主要用的是第二种方式

控制文件的格式(Test.CTL):

UNRECOVERABLE -- 关闭数据库日志   
  1. INFILE 'd:/ctltest/data1.txt' -- 指定外部数据文件   
  2. INFILE 'd:/ctltest/data_new.txt' --可以指定多个外部数据文件   
  3. -- 这里还可以使用 BADFILE、DISCARDFILE 来指定坏数据和丢弃数据的文件   
  4. Append  -- 操作类型,这里还可以用INSERT、TRUNCATE、REPLACE   
  5. INTO TABLE basechannelvisittab -- 要插入记录的表   
  6. Fields terminated by ","  -- 数据中每行记录用 "," 分隔   
  7. trailing nullcols   
  8. (   
  9.   USER_ ,   
  10.   IP ,   
  11.   TIME_ Date 'yyyy-mm-dd hh24:mi:ss',   
  12.   CHANNEL ,   
  13.   COUNT_ ,   
  14.   VERS ,   
  15.   PART_VAL   
  16. )  

 

 

操作类型的区别如下:

1) insert     --为缺省方式,在数据装载开始时要求表为空
2) append  --在表中追加新记录
3) replace  --删除旧记录(用 delete from table 语句),替换成新装载的记录
4) truncate --删除旧记录(用 truncate table 语句),替换成新装载的记录

执行命令如下:

sqlldr userid=ganwu/ganwu@ora_98 control=test.ctl log=test.out direct=true  

 

UNRECOVERABLE keyword may be used only in direct path

UNRECOVERABLE(关闭数据库日志)只能在direct方式下使用

posted @ 2009-08-16 12:26  DANNY  阅读(4033)  评论(0)    收藏  举报