分别对应32为,64位的win和Linux平台

安装步骤

1.需要安装oracle_client

2.复制sqluldr2_linux32_10204.bin(64位系统用sqluldr2_linux64_10204.bin)到$ORACLE_HOME的bin目录,重命名为sqluldr2.bin

3.修改 $HOME目录下.bash_profile 增加如下环境变量

  1. export LD_LIBRARY_PATH=$ORACLE_HOME/bin:$ORACLE_HOME/lib:/lib:/usr/lib

4.验证

-bash-3.2$ sqluldr2.bin

SQL*UnLoader: Fast Oracle Text Unloader (GZIP, Parallel), Release 4.0.1
(@) Copyright Lou Fangxin (AnySQL.net) 2004 - 2010, all rights reserved.

License: Free for non-commercial useage, else 100 USD per server.

Usage: SQLULDR2 keyword=value [,keyword=value,...]

Valid Keywords:
   user    = username/password@tnsname
   sql     = SQL file name
   query   = select statement
   field   = separator string between fields
   record  = separator string between records
   rows    = print progress for every given rows (default, 1000000) 
   file    = output file name(default: uldrdata.txt)
   log     = log file name, prefix with + to append mode
   fast    = auto tuning the session level parameters(YES)
   text    = output type (MYSQL, CSV, MYSQLINS, ORACLEINS, FORM, SEARCH).
   charset = character set name of the target database.
   ncharset= national character set name of the target database.
   parfile = read command option from parameter file

for field and record, you can use '0x' to specify hex character code,
  \r=0x0d \n=0x0a |=0x7c ,=0x2c, \t=0x09, :=0x3a, #=0x23, "=0x22 '=0x27

LINUX下用法:

get_tables.sql为预定义导出sql

-bash-3.2$ sqluldr2.bin USER=userid/keyword@db_name sql=get_tables.sql head=no FILE=/oracle/oradata/backup/stock.csv
           0 rows exported at 2014-05-06 11:49:25, size 0 MB.
     1000000 rows exported at 2014-05-06 11:49:28, size 24 MB.
     2000000 rows exported at 2014-05-06 11:49:32, size 48 MB.
     3000000 rows exported at 2014-05-06 11:49:35, size 76 MB.
     4000000 rows exported at 2014-05-06 11:49:38, size 100 MB.
     5000000 rows exported at 2014-05-06 11:49:41, size 124 MB.
     6000000 rows exported at 2014-05-06 11:49:44, size 152 MB.
     7000000 rows exported at 2014-05-06 11:49:47, size 176 MB.
     8000000 rows exported at 2014-05-06 11:49:50, size 204 MB.
     9000000 rows exported at 2014-05-06 11:49:53, size 228 MB.
    10000000 rows exported at 2014-05-06 11:49:56, size 252 MB.
    11000000 rows exported at 2014-05-06 11:49:59, size 280 MB.
    12000000 rows exported at 2014-05-06 11:50:02, size 304 MB.
    13000000 rows exported at 2014-05-06 11:50:05, size 328 MB.
    14000000 rows exported at 2014-05-06 11:50:08, size 356 MB.
    15000000 rows exported at 2014-05-06 11:50:11, size 380 MB.
    16000000 rows exported at 2014-05-06 11:50:14, size 408 MB.
    17000000 rows exported at 2014-05-06 11:50:17, size 432 MB.
    18000000 rows exported at 2014-05-06 11:50:20, size 456 MB.
    19000000 rows exported at 2014-05-06 11:50:23, size 484 MB.
    20000000 rows exported at 2014-05-06 11:50:27, size 508 MB.
    21000000 rows exported at 2014-05-06 11:50:30, size 531 MB.
    21877116 rows exported at 2014-05-06 11:50:33, size 558 MB.
         output file /oracle/oradata/backup/f_stock.csv closed at 21877116 rows, size 558 MB.
-bash-3.2$

下为WINDOWS平台使用方法:

代码例子1:

sqluldr2.exe USER=用户/密码@tnsQUERY="select   /*+ parallel(8)  */  *from cs_XXX dt,cfg_XXX devdim105 wheredt.starttime>=to_date('2012-06-27 00:00:00','yyyy-mm-dd hh24:mi:ss') and dt.starttime<=to_date('2012-06-2700:01:59','yyyy-mm-dd hh24:mi:ss') AND dt.msc= devdim105.mapvalue(+) ANDdevdim105.deviceid=15 " head=yes FILE=F:\cs_XXX_test.csv

代码例子2(这种方式用于导出的查询sql很长,那么就把sql写在123.sql文件里 ):

sqluldr2.exe USER=用户/密码@tns  sql=123.sql head=yes FILE=F:\cs_XXX_test.csv

3.在cmd里,直接把步骤2的代码例子1 ,贴进去执行。

注:如果执行报报错,就有可能是环境变量path的问题,还有就是plsql需要的oci.dll文件等多个dll文件,请放在sqluldr2的目录下。

4.查看结果F:\cs_XXX_test.csv

5.打开csv里面的内容,就可以用sqlldr进行 入库。

字符集的控制:

默认情况下, Oracle客户端程序的字符集都由环境变量(NLS_LANG)决定, 很多时侯会因为忽略了环境变量的检查, 尤其是在Shell或Perl脚本中调用时, 导致导出的数据变成了乱码. 在OCI 8的接口中, 可以使用OCIEnvNlsCreate函数在程序中指定客户端字符集, 从而跳过环境变量的影响, 于是就在SQLULDR2工具中新增了两个选项, 用于指定导出时了字符集.

新的SQLULDR2工具命令行帮助如下所示:

SQL*UnLoader: Fast Oracle Text Unloader (GZIP, Parallel), Release 4.0.1
(@) Copyright Lou Fangxin (AnySQL.net) 2004 - 2010, all rights reserved.

Usage: SQLULDR2 keyword=value [,keyword=value,...]

Valid Keywords:
  user    = username/password@tnsname
  sql    = SQL file name
  query  = select statement
  field  = separator string between fields
  record  = separator string between records
  rows    = print progress for every given rows (default, 1000000)
  file    = output file name(default: uldrdata.txt)
  log    = log file name, prefix with + to append mode
  fast    = auto tuning the session level parameters(YES)
  text    = output type (MYSQL, CSV, MYSQLINS, ORACLEINS, FORM, SEARCH).
  charset = character set name of the target database.
  ncharset= national character set name of the target database.
  parfile = read command option from parameter file

for field and record, you can use '0x' to specify hex character code,
  \r=0x0d \n=0x0a |=0x7c ,=0x2c, \t=0x09, :=0x3a, #=0x23, "=0x22 '=0x27

在一个GBK的数据库中存入"中国"两个字, 然后以GBK和UTF8两种不同的字符集进行导出, 在命令行指定字符集设置.

C:\>sqluldr2 scott/tiger query=test charset=ZHS16GBK
      0 rows exported at 2010-06-24 09:12:27, size 0 MB.
      1 rows exported at 2010-06-24 09:12:27, size 0 MB.
        output file uldrdata.1.txt closed at 1 rows, size 0 MB.

C:\>dir uldrdata.1.txt
2010-06-24  09:12                5 uldrdata.1.txt

C:\>sqluldr2 scott/tiger query=test  charset=UTF8
      0 rows exported at 2010-06-24 09:12:42, size 0 MB.
      1 rows exported at 2010-06-24 09:12:42, size 0 MB.
        output file uldrdata.1.txt closed at 1 rows, size 0 MB.

C:\>dir uldrdata.1.txt
2010-06-24  09:12                7 uldrdata.1.txt

用GBK导出时, 文件大小为5个字节, 两个汉字(一个汉字占两个字节)再加一个换行符. 而用UTF8导出时, 文件大小为7, 两个汉字(一个汉字占三个字节)加上一个换行符. 如果用SQLULDR2为特定的数据库写脚本程序时, 在命令行指定字符集, 将使脚本更加强壮.

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

转载于:http://blog.itpub.net/28291944/viewspace-2151281/

sqluldr2用法相关推荐

  1. oracle 如何边看表中字段信息_【Oracle移行到Sqlserver完美解决案】④sqluldr2+bulk 32H=3H...

    在[Oracle移行到Sqlserver完美解决案]③执行时间改善案bcp+bulk 一文中,移行实现了,但数据600多万件,占内存3G多的操作log表,移行需要32H,这个时间我们是无法接受的. 原 ...

  2. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  3. Pandas_transform的用法

    先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...

  4. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

  5. pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

  6. python yield 和 yield from用法总结

    #例1. 简单输出斐波那契數列前 N 个数 #缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列 #要提高 fab 函数的可复用性,最好不要直接打印出数列,而 ...

  7. tf.nn.embedding_lookup()的用法

    函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...

  8. OpenMP用法大全

    OpenMP基本概念 OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C.C++和Fortran.OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的 ...

  9. Dorado用法与示例

    Dorado用法与示例 dorado用后总结 一.dorado概念 dorado的产品全名是"dorado展现中间件".从产品形态上dorado由两部分组成,第一部分是一个具有AJ ...

  10. TensorFlow用法

    TensorFlow用法 什么是TensorFlow TensorFlow是一个开源软件库,用于使用数据流图进行数值计算.图中的节点表示数学运算,而图的边缘表示流动的多维数据数组(张量).这种灵活的体 ...

最新文章

  1. Redis学习笔记02--主从数据库配置
  2. boost::mpl模块AUX_ASSERT_IS_SEQ的测试程序
  3. OData元数据在浏览器里以Feed视图显示的解决办法
  4. SQL 必知必会·笔记14更新和删除数据
  5. mysql linux 还原_linux下java还原mysql数据库
  6. 使用HTML5和JavaScript创建音乐播放列表
  7. porphet论文_Facebook 时间序列预测算法 Prophet 的研究
  8. matlab改变示波器颜色,[转载]matlab/simulink 示波器颜色设置
  9. html文件 保持在,如何保持.phtml文件的简洁和整洁?
  10. SpringBoot学习---thymeleaf模板引擎
  11. Win10 监控小软件
  12. 数据库系统概念第六版
  13. GIS应用技巧之定义图框样式
  14. MAX30102 模拟IIC读取程序(C语言)
  15. 两波形相位差的计算值_国际学科备考系列A-level物理:相位和相位差的数学解释及物理应用...
  16. 联发科处理器真有那么不堪吗?
  17. Faker的妙用---造数
  18. 获取当前日期只保留年月日
  19. 从NASA图片发现的“太阳UFO” 近似形状物体
  20. 《复杂》作者梅拉妮·米歇尔发文直指AI四大谬论,探究AI几度兴衰背后的根源...

热门文章

  1. 什么是PHP,如何快速运行PHP文件
  2. vb怎么调用oracle数据库连接,VB 连接Oracle数据库
  3. Linux Vi 文本编辑器常用命令
  4. 数据库系统原理课程设计
  5. Ubuntu下局域网内+花生壳远程调试程序
  6. hadoop提交作业到云端问题解决
  7. hls ask 调制
  8. 仿视频字幕弹幕网站 – Miko二次元动漫视频网站源码 视频播放带源码
  9. 常用装机必备 绿色免安装软件合集 破解高手菜鸟必备(每日更新总有一款适合您
  10. 清华大学范玉顺互联网与大数据_互联网+时代的互联网思维与大数据思维