sqluldr2抽数

转载:http://blog.itpub.net/20893244/viewspace-2150202/

转载:https://blog.youkuaiyun.com/howie_zhw/article/details/53491692

sqluldr2是一个基于OCI的文本导出工具,小巧方便,使用方法类似于Oracle自带的exp,支持自定义SQL、本地和客户端的导出,速度快,效率高。

下载地址,最下面有个小工具里面就有

 

  1. http://www.onexsoft.com/download.html

也可以直接在系统上wget
 

  1. wget http://www.onexsoft.com/software/sqluldr2linux64.zip

解压之后就是一个bin文件

 

  1. -rwxrwxrwx 1 oracle oinstall 185894 1月 27 2016 sqluldr2linux64.bin

直接执行就能显示帮助
 

  1. [oracle@hecomoracleserver2 sqluldr2]$ ./sqluldr2linux64.bin 
  2.  
  3. SQL*UnLoader: Fast Oracle Text Unloader (GZIP, Parallel), Release 4.0.1
  4. (@) Copyright Lou Fangxin (AnySQL.net) 2004 - 2010, all rights reserved.
  5.  
  6. License: Free for non-commercial useage, else 100 USD per server.
  7.  
  8. Usage: SQLULDR2 keyword=value [,keyword=value,...]
  9.  
  10. Valid Keywords:
  11.    user = username/password@tnsname
  12.    sql = SQL file name
  13.    query = select statement
  14.    field = separator string between fields
  15.    record = separator string between records
  16.    rows = print progress for every given rows (default, 1000000) 
  17.    file = output file name(default: uldrdata.txt)
  18.    log = log file name, prefix with + to append mode
  19.    fast = auto tuning the session level parameters(YES)
  20.    text = output type (MYSQL, CSV, MYSQLINS, ORACLEINS, FORM, SEARCH).
  21.    charset = character set name of the target database.
  22.    ncharset= national character set name of the target database.
  23.    parfile = read command option from parameter file 
  24.  
  25.   for field and record, you can use '0x' to specify hex character code,
  26.   \r=0x0d \n=0x0a |=0x7c ,=0x2c, \t=0x09, :=0x3a, #=0x23, "=0x22

上面的参数中,比较常用的是:
    
    query:用这个参数可以自定义导出语句
    file:导出的文件名字和目录
    log:日志
    parfile:可以把参数放到parfile文件里,这个参数对于复杂sql很有用。
    field:设置导出文件里的分隔符

连接数据的方法:

        本地连接方式:
 

  1. ./sqluldr2linux64.bin user=gltest/gltest query="select * from T_H_BK_CUSTOMER_20180114_0;" file=/home/oracle/sqluldr2/T_H_BK_CUSTOMER_20180114_0.csv

       客户端连接:TNS方式
 

  1. ./sqluldr2linux64.bin user=gltest/gltest@orcl query="select * from T_H_BK_CUSTOMER_20180114_0;" file=/home/oracle/sqluldr2/T_H_BK_CUSTOMER_20180114_0.csv

      客户端连接:直接连接方式
 

  1. ./sqluldr2linux64.bin user=gltest/gltest@192.168.128.98:1521/orcl query="select * from T_H_BK_CUSTOMER_20180114_0;" file=/home/oracle/sqluldr2/T_H_BK_CUSTOMER_20180114_0.csv


测试导出速度:

        因为我的sql比较长,所以用了parfile:
 

  1. [oracle@gloracleserver2 sqluldr2]$ more customer.txt
  2. user=gltest/gltest
  3. query=select ent_code,code,name,cust_levels,dept_code,poi_id,status,createon,createby,lastupdateon from v30_md_customer;

       看看导出输出,1100万数据不到30秒,速度很快。
 

  1. [oracle@gloracleserver2 sqluldr2]$ ./sqluldr2linux64.bin parfile=/home/oracle/sqluldr2/customer.txt file=/home/oracle/sqluldr2/customer.csv
  2.            0 rows exported at 2018-01-16 20:25:09, size 0 MB.
  3.      1000000 rows exported at 2018-01-16 20:25:11, size 96 MB.
  4.      2000000 rows exported at 2018-01-16 20:25:14, size 196 MB.
  5.      3000000 rows exported at 2018-01-16 20:25:16, size 296 MB.
  6.      4000000 rows exported at 2018-01-16 20:25:18, size 392 MB.
  7.      5000000 rows exported at 2018-01-16 20:25:21, size 492 MB.
  8.      6000000 rows exported at 2018-01-16 20:25:23, size 592 MB.
  9.      7000000 rows exported at 2018-01-16 20:25:26, size 692 MB.
  10.      8000000 rows exported at 2018-01-16 20:25:28, size 788 MB.
  11.      9000000 rows exported at 2018-01-16 20:25:31, size 888 MB.
  12.     10000000 rows exported at 2018-01-16 20:25:34, size 988 MB.
  13.     11000000 rows exported at 2018-01-16 20:25:36, size 1088 MB.
  14.     11317061 rows exported at 2018-01-16 20:25:37, size 1121 MB.
  15.          output file /home/oracle/sqluldr2/customer.csv closed at 11317061 rows, size 1121 MB.


遇到的错误:

        1. 导出文件里有中文显示乱码,需要设置参数charset=UTF8

        2. ORA-24345: A Truncation or null fetch error occurred,设置参数safe=yes

内容来自互联网,如有侵权通知后删除 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   在选择分隔符时,一定不能选择会在字段值中出现的字符
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值