oracle大批量数据导出,sqluldr2工具的使用

1.sqluldr2不属于官方工具,因此需要下载sqluldr2工具到本地方可使用
工具下载地址
http://www.onexsoft.com/zh/download
及工具使用说明:
http://www.onexsoft.com/software/sqluldr2.pdf
2、新建控制文件parfile.ctl,新建export.sql文件,常见的控制文件如下:
---------------------------------------------------------------------
user=gpsdata/gpsdata@its0
sql=export.sql               
file=D:\我的软件\oracle_win\gpsdata\gpsdata%b.txt
log=D:\我的软件\oracle_win\gpsdata\gpsdatalog.txt
fast=yes
batch=yes
rows=200000
quote=0x22
field=,
record=0x0d0x0a
charset=AL32UTF8
safe=yes
------------------------------------------------------------------------
参数解释:
user:数据库的访问方式
sql:这里使用指定sql文件的方式,文件里面写查询语句,来输出需要导出的数据
file:导出的文件目录及文件名,%b表示根据数据量自动按序号生成多个文件,需要指定batch才能生成多个文件
log:导出日志
fast:自动设定会话级数据库调优参数,比如 db file multiple block read, sort area size, hash area size 等。
相当于同时设定了参数:read=128 sort=128 hash=128 array=2000 serial=yes。
batch:为每个批次生成一个文件,如果不指定rows,默认每个批次100万条记录
rows:表示每个文本设置为20万条记录
field:指定字段分隔符,默认为逗号
record:指定记录分隔符,默认回车换行,windows为换行,具体请查看ASCII,0x0d:回车,0x0a:换行
charset:指定导出的文本格式(ZHS16GBK、 AL32UTF8)
safe:如果从中文字符集中导出数据到UTF-8格式的数据库中,有可能出现现 ORA-24345错误,表示导出的文本中的字符串的长度大于程序中声明的长度
使用safe参数表示安全模式,客户端缓冲区加倍
3、执行,可以在cmd下输入sqluldr2 parfile=parfile.ctl,也可以新建cmd执行
如新建000.bat批处理文件:
------------------------------------
@echo off
sqluldr2 parfile=parfile.ctl
if ERRORLEVEL 6 (
 echo error ) ELSE (
 echo Success )
pause
-------------------------------------
其中 ERRORLEVEL表示执行后产生的错误码,可以根据错误定位错误原因
返回值 含义
0 操作成功
1 不能登录数据库
2 不能创建 Cursor
3 不能分析 SQL
4 不能执行 SQL
5 不能解释返回的记录结果集
6 不能生成输出文件
7 在导出过程中遇到数据库错误,如 ORA-01555 
----------------------------------------------------------------------------------------
4、设置自动生成文件时的一些参数解释
格式码 作用 例子
%Y、%y 表示当前时间的四位年份
%M、%m 表示当前时间的两位月份 File=A%y%m%d.txt
%D、%d 表示当前时间的两位日份
%W、%w 表示当前时间的一星期中的天数 File=A%w.txt
%B、%b 在多个文件导出时,表示文件序号 File=A%b.txt  
5、常见的一些ASCII对应表
字符 ASCII 代码
回车 0x0d
换行 0x0a
TAB 键 0x09
| 0x7c
& 0x26
双引号 0x22
单引号 0x27

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29399342/viewspace-2141181/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29399342/viewspace-2141181/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容来自互联网,如有侵权通知后删除 sqluldr2是一款Oracle数据快速导出工具,包含32、64位程序,sqluldr2大数据导出方面速度超快,能导出亿级数据为excel文件,另外它的导入速度也是非常快速,功能是将数据以TXT/CSV等格式导出,有需要的赶快下载吧! oracle数据导出工具sqluldr2 基本简介   下载完sqluldr解压后,文件夹内容如下:   sqluldr2.exe 用于32位windows平台;   sqluldr2_linux32_10204.bin 适用于linux32位操作系统;   sqluldr2_linux64_10204.bin 适用于linux64位操作系统;   sqluldr264.exe 用于64位windows平台。 使用方法   1、首先将sqluldr2.exe复制到执行目录下,即可开始使用   2、查看help 帮助 sqluldr2 官方下载   3、执行数据导出命令   3.1、常规导出   sqluldr2 test/test@127.0.1.1/orcl query="select * from temp_001" head=yes file=d:\tmp001.csv   说明:head=yes 表示输出表头 oracle数据导出工具sqluldr2   3.2、使用sql参数   sqluldr2 test/test@127.0.1.1/orcl sql=test_sql.sql head=yes file=d:\tmp001.csv   test_sql的内容为:   select * from temp_001 sqluldr2 官方下载   3.3、使用log参数   当集成sqluldr2在脚本中时,就希望屏蔽上不输出这些信息,但又希望这些信息能保留,这时可以用“LOG”选项来指定日志文件名。   sqluldr2 test/test@127.0.1.1/orcl sql=test_sql.sql head=yes file=d:\tmp001.csv log=+d:\tmp001.log oracle数据导出工具sqluldr2   3.4、使用 table 参数   当使用 table 参数时,在目录下会生成对应的ctl控制文件,如下语句会生成temp_001_sqlldr.ctl文件。   sqluldr2 test/test@127.0.1.1/orcl query="select * from temp_001" table=temp_001 head=yes file=d:\tmp001.csv sqluldr2 官方下载   生成的控制文件temp_001_sqlldr.ctl的内容如下: oracle数据导出工具sqluldr2   4、主要参数说明   Field 分隔符 指定字段分隔符,默认为逗号   record 分隔符 指定记录分隔符,默认为回车换行,Windows下的换行   quote 引号符 指定非数字字段前后的引号符   例如现在要改变默认的字段分隔符,用“#”来分隔记录,导出的命令如下所示:   sqluldr2 test/test sql=tmp.sql field=#   在指定分隔符时,可以用字符的ASCII代码(0xXX,大写的XX为16进制的ASCII码值)来指定一个字符,常用的字符的ASCII代码如下:   回车=0x0d,换行=0x0a,TAB键=0x09,|=0x7c,&=0x26,双引号=0x22,单引号=0x27   在选择分隔符时,一定不能选择会在字段值中出现的字符

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值