1:首先是ctl文件
load data
infile *
APPEND into table tmp_ver.xugang
fields terminated by X'09' optionally enclosed by '"'
TRAILING NULLCOLS
(busi_key,dev_num ,STAT,BUSI_KEY2,ADDR)
注意:by后面的是以什么进行分隔的,X'09'是指tab进行分隔的。
以下是4种装入表的方式
APPEND // 原先的表有数据 就加在后面
// INSERT // 装载空表 如果原先的表有数据 sqlloader会停止 默认值
// REPLACE // 原先的表有数据 原先的数据会全部删除
// TRUNCATE // 指定的内容和replace的相同 会用truncate语句删除现存数据
2:sqlldr 语法
sqlldr a/a@odspd1 data=flatflie.txt control=ctl.ctl log=log.log
sqlldr userid=a/a@odspd1 data=flatflie.txt control=ctl.ctl log=log.log direct=true parallel=true
3:这个如果在unix中执行shell的话,也是不错的选择
记得当在shell执行前,要赋予一定的权限的 :chmod +x shellname
当然在导多个相同格式文件的时候,做好将文件进行合并 cat命令即可 cat *.* > newfilename
然后进行sqlldr而且如果服务器上有很多处理器,就要用并行执行---parallel=true;这样会很快的
这个是给电信作数据迁移的时候多次使用到的,与大家分享一下,也是从网上查询资料,和同事探讨进行学习的。