sqluldr2批量导出Oracle的数据

1.sqluldr2设置参数查看。

       基本命令:sqluldr2

sqluldr2批量导出Oracle的数据_第1张图片

2.导出实例

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

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

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


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

    $sqluldr2 smart/[email protected]/ora16  query="select* from advice" field=0x7c file="export.txt"

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

sqluldr2批量导出Oracle的数据_第2张图片

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

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

sqluldr2批量导出Oracle的数据_第3张图片


     2.4批量导出重命名

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

$/home/weblogic/oratools/sqluldr2.bin4.0.0smart/[email protected]/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/[email protected]/ora16 query='select ID,NAME,AGE,ADDRDSS,HIRE_DATE  from MY_TEST' field=0x7c NULL='\\N'charset=AL32UTF8 table=MY_TEST file=export.txt

sqluldr2批量导出Oracle的数据_第4张图片


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

 

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


你可能感兴趣的:(Oracle数据库)