日期:2014-05-16  浏览次数:20593 次

Oracle LOAD批量写入数据
生产线数据库只有查询权限,需要从生产线下50W数据导入研发线,以下技巧可能使导入速度加快.

1.用PL/SQL连接上数据库,执行查询语句,导出数据格式为csv.

2.新建控制文件:input.ctl
LOAD DATA 
INFILE 'F:\Users\xxxxx\Desktop\aa\tt.csv' 
truncate    --操作类型,用truncate table来清除表中原来记录 
INTO TABLE OS_BATCH_USER_his 
FIELDS TERMINATED BY ","    --数据中每行记录用","分隔 
Optionally enclosed by '"'  --数据中每个字段用"框起,比如字段中有","分隔符时 
--trailing nullcols     --表的字段没有对应的值时允许为空 
(id FILLER, --这是一个虚拟字段,用来跳过由 PL/SQL Developer 生成的第一列序号 
name, 
createtime DATE "YYYY-MM-DD HH24:MI:SS"  --日期类型的字段必须这样声明
) 


3.在cmd命令行下执行命令:
sqlldr userid=xxxxxx/xxxxxx@xxxxxx control=e:\test\load.ctl log=e:\test\1.log skip=1 


速度还可以.有错误请查看日志文件e:\test\1.log . skip=1为跳过第一行表头