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

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 21:09 点击:

利用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,可以提高效率

作者“zzhangyongjie”
 

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Table函数使用简介
      • Oracle数据库Constraint约束的常用操作及异常处理
      • Bulk Collect性能分析(zz)
      • export/import的使用
      • OCP043第十五讲 Database Security
      • ORACLE10gr2数据导入MySQL方案
      • oracle 让sys用户可以使用isqlplus
      • 在oracle数据库下使用iSQL*Plus DBA访问数据库
      • Oracle行列转换小结
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1