ORACLE 使用sqluldr2和sqlldr进行导入导出


            当需要大数据量的导入导出的数据迁移操作时,效率变得极其重要


oracle数据导出工具sqluldr2可以将数据以csv、txt等格式导出,适用于大批量数据的导出,

导出速度非常快。导出后可以使用oracle loader工具将数据导入。

下载完sqluldr2,文件夹内容如下:
sqluldr2_linux32_10204.bin和sqluldr2_linux64_10204.bin分别适用于与linux32位和linux64位操作系统;

sqluldr2.exe用于windows平台。


导出:在sqluldr2.exe所在的文件夹路径打开命令行,输入sqluldr2,回车,可查看相关参数


sqluldr2.exe USER=hh/hh@tiod QUERY="select /*+ parallel(2) */  *from hh.ent_person"

 table=ent_person head=yes FILE=C:\ent_person.txt

p.s. head=yes表示第一行为表头;并且query也可以写入一个文件然后使用sql选项。

默认分隔字符为逗号,如果列中有特殊字符,可使用field选项指定新的分隔字符。

数据已经导入到C:\ent_person.txt,几十万数据秒速。

使用sqlldr进行导入,首先找到$ORACLE_HOME的bin目录生成的ctl文件,

当sqluldr2输入了table='XXXXX 参数时会默认生成ctl文件,以用于导入。

将数据加载到数据库中:

sqlldr jms/jms@tiod control=ent_person_sqlldr.ctl 

log=ent_person_sqlldr.log bad=ent_person_sqlldr_bad.log skip=1  

errors=5000 rows=5000 bindsize=335542

p.s. skip=1表示跳过第一行,从第二行开始导入。

注意:默认生成的ctl控制文件,数据入库方式为insert,要求要插入

的表里没有数据,如果有数据可以将ctl文件中的insert方式修改为

append。

还有一点当数据量过大时,执行命令就不要设置rows,使用ctl自己配置的行数

(rows= 50000 指五万条数据提交一次)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值