sqluldr2批量导出Oracle的数据

1.sqluldr2设置参数查看。

       基本命令:sqluldr2


2.导出实例

     2.1当前oracle数据库就在当前服务器上(示例)

     $sqluldr2  smart/smart  query="select * from advice"  

     即sqluldr2  用户名/密码  query=”查询语句,查询语句一定在带分号


     2.2当前Oracle不在当前服务器上

    $sqluldr2 smart/smart@10.45.47.16/ora16  query="select* from advice" field=0x7c file="export.txt"

    导出数据到当前文件夹的export.txt,并且用”|”来分隔字段(注意|是特殊字符,要转义)


    2.3使用tablec参数生成控制文件(控制文件的作用是可以将导出的文件用sqluldr导入用)

    示例:$ sqluldr2 smart/smart@10.45.47.16/ora16 query="select * from advice" field=0x7c table=control      file="export.txt"



     2.4批量导出重命名

     批量导出重名,batch=1为50W,batch=2为100W, %y%m%d%b依次对应动态文件年、月、日、批次。field=0x20,分隔符空隔,默认让文本对齐。Sqluldr4.0.0不支持%用法。

$/home/weblogic/oratools/sqluldr2.bin4.0.0smart/smart@10.45.47.16/ora16 query='select ID,NAME,AGE,ADDRDSS,HIRE_DATE from MY_TEST' field=0x20NULL='\\N' charset=AL32UTF8 batch=2 file=A%y%m%d%b.txt



3.导出性能测试

     导出一千多万条数据测试性能,不到一分钟的时间:

     $/home/weblogic/oratools/sqluldr2.bin4.0.0smart/smart@10.45.47.16/ora16 query='select ID,NAME,AGE,ADDRDSS,HIRE_DATE  from MY_TEST' field=0x7c NULL='\\N'charset=AL32UTF8 table=MY_TEST file=export.txt



4.其他总结


Field  分隔符  指定字段分隔符,默认为逗号  

record 分隔符  指定记录分隔符,默认为回车换行,Windows下的换行 

quote  引号符  指定非数字字段前后的引号符

 

例如现在要改变默认的字段分隔符,用“#”来分隔记录,导出的命令如下所示:

sqluldr2  test/test sql=tmp.sqlfield=# 

 

在指定分隔符时,可以用字符的ASCII代码(0xXX,大写的XX为16进制的ASCII码值)来指定一个字符,常用的字符的ASCII代码如下:

回车=0x0d,换行=0x0a,TAB键=0x09,|=0x7c,&=0x26,双引号=0x22,单引号=0x27

 

在选择分隔符时,一定不能选择会在字段值中出现的字符组合,如常见的单词等,很多次导入时报错,回过头来找原因时,都发现是因为分隔符出现在字段值中了。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值