利用oracle控制文件实现大批量数据的入库操作

利用oracle控制文件实现大批量数据的入库操作,效率比sql脚本文件要高很多。

一个300M的数据文件,ctl文件的入库大概在20mins左右,sql脚本文件则需要2h左右。

 

使用ctl控制文件步骤如下:

 

1. 制作ctl文件

 

load   data   

infile   'E:\test.log'   --数据文件,上一片文章导出的

append   into   table   fm.tb_team_info

 

Fields terminated by ","   --字段分隔符

Optionally enclosed by '"' --定界符

trailing   nullcols   --允许跳过列

   TEAMID,

   AREA_ID,

   CREATE_PERSONNEL_ID,

   TEAM_CODE

)

 

E:\test.log: 数据文件,此例中用日志文件作为数据源

fm.tb_team_info: 需要导入的数据表

 

2. 制作数据源文件

文件中只有数据,数据列之间用“,”分隔

 

3. 执行ctl文件

cd 至oracle控制文件目录下

执行命令:sqlldr fm/zaixin@189Ericsson  control = input.ctl, ERRORS=50000 , LOAD=450000

 

4. 执行结果、

执行结果将会在oracle的控制文件下生成执行的控制文件名称对应的日志文件(input.log)详细记录了操作结果。

 

5. 当加载大量数据时(大约超过10GB),最好抑制日志的产生:   

SQL>ALTER   TABLE   RESULTXT   nologging; 

这样不产生REDO LOG,可以提高效率 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值