热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracel学习之:sqluldr2使用

sqluldr2简单介绍:简介:Sqluldr2:专业用于大数据量导出工具之一,效率比普通导出快70%。(Sqlldr&#x
                                                                                       sqluldr2

  

简单介绍:

简介:

Sqluldr2:专业用于大数据量导出工具之一,效率比普通导出快70%。 ( Sqlldr:专业用于导入的工具之一,请注意两个工具的区别。),在使用时,最好用磁盘写入速度快,网络好,网速快的做。


内部实现:


[sql] view plaincopyprint?
  1. #include   
  2. #include "sqluldr2.h"  
  3.    
  4. void main()  
  5. {  
  6.  void *h = NULL;  
  7.  SQLULDR2HandleAlloc(&h);  
  8.   if(h != NULL)  
  9.   {  
  10.      SQLULDR2HandleSetAttr(h, "USER=SYS");  
  11.      SQLULDR2HandleSetAttr(h, "QUERY=SELECT * FROM TAB");  
  12.      SQLULDR2HandleExecute(h);  
  13.      SQLULDR2HandleFree(h);  
  14.   }  
  15. }  
  16.    

#include
#include "sqluldr2.h"
void main()
{
void *h = NULL;
SQLULDR2HandleAlloc(&h);
if(h != NULL)
{
SQLULDR2HandleSetAttr(h, "USER=SYS");
SQLULDR2HandleSetAttr(h, "QUERY=SELECT * FROM TAB");
SQLULDR2HandleExecute(h);
SQLULDR2HandleFree(h);
}
}







工具列表:

针对不同平台用不同的导出工具:

Windows:     sqluldr2.exe

Linux(32位): sqluldr2_linux32_10204.bin

Linux(64位):   sqluldr2_linux64_10204.bin


使用说明 (Windows平台):

使用sqluldr2的步骤:

1.打开运行àcmd进入到sqluldr2.exe的当前目录



2.参数介绍

User=用户/密码@tns

Query=”查询语句”

File= 导出的路径

Head= 输出信息时,yes表示要表头,no表示不要表头


注意:想查看更多参数,请输入 sqluldr2 help=yes



[sql] view plaincopyprint?
  1. C:\Users\meng\Desktop\sqluldr2>sqluldr2.exe help=yes  
  2.   
  3.   
  4. SQL*UnLoader: Fast Oracle Text Unloader (GZIP, Parallel), Release 4.0.1  
  5. (@) Copyright Lou Fangxin (AnySQL.net) 2004 - 2010, all rights reserved.  
  6.   
  7.   
  8. License: Free for non-commercial useage, else 100 USD per server.  
  9.   
  10.   
  11. Usage: SQLULDR2 keyword=value [,keyword=value,...]  
  12.   
  13.   
  14. Valid Keywords:  
  15.    user    = username/password@tnsname  
  16.    sql     = SQL file name  
  17.    query   = select statement  
  18.    field   = separator string between fields  
  19.    record  = separator string between records  
  20.    rows    = print progress for every given rows (default, 1000000)  
  21.    file    = output file name(default: uldrdata.txt)  
  22.    log     = log file name, prefix with + to append mode  
  23.    fast    = auto tuning the session level parameters(YES)  
  24.    text    = output type (MYSQL, CSV, MYSQLINS, ORACLEINS, FORM, SEARCH).  
  25.    charset = character set name of the target database.  
  26.    ncharset= national character set name of the target database.  
  27.    parfile = read command option from parameter file  
  28.    read    = set DB_FILE_MULTIBLOCK_READ_COUNT at session level  
  29.    sort    = set SORT_AREA_SIZE at session level (UNIT:MB)  
  30.    hash    = set HASH_AREA_SIZE at session level (UNIT:MB)  
  31.    array   = array fetch size  
  32.    head    = print row header(Yes|No)  
  33.    batch   = save to new file for every rows batch (Yes/No)  
  34.    size    = maximum output file piece size (UNIB:MB)  
  35.    serial  = set _serial_direct_read to TRUE at session level  
  36.    trace   = set event 10046 to given level at session level  
  37.    table   = table name in the sqlldr control file  
  38.    control = sqlldr control file and path.  
  39.    mode    = sqlldr optionINSERT or APPEND or REPLACE or TRUNCATE  
  40.    buffer  = sqlldr READSIZE and BINDSIZE, default 16 (MB)  
  41.    long    = maximum long field size  
  42.    width   = customized max column width (w1:w2:...)  
  43.    quote   = optional quote string  
  44.    data    = disable real data unload (NOOFF)  
  45.    alter   = alter session SQLs to be execute before unload  
  46.    safe    = use large buffer to avoid ORA-24345 error (Yes|No)  
  47.    crypt   = encrypted user information only (Yes|No)  
  48.    sedf/t  = enable character translation function  
  49.    null    = replace null with given value  
  50.    escape  = escape character for special characters  
  51.    escf/t  = escape from/to characters list  
  52.    format  = MYSQL: MySQL Insert SQLs, SQL: Insert SQLs.  
  53.    exec    = the command to execute the SQLs.  
  54.    prehead = column name prefix for head line.  
  55.    rowpre  = row prefix string for each line.  
  56.    rowsuf  = row sufix string for each line.  
  57.    colsep  = separator string between column name and value.  
  58.    presql  = SQL or scripts to be executed before data unload.  
  59.    postsql = SQL or scripts to be executed after data unload.  
  60.    lob     = extract lob values to single file (FILE).  
  61.    lobdir  = subdirectory count to store lob files .  
  62.    split   = table name for automatically parallelization.  
  63.    degree  = parallelize data copy degree (2-128).  
  64.    hint    = MySQL SQL hint for the Insertfor example IGNORE.  
  65.    unique  = Unique Column List for the MySQL target table.  
  66.    update  = Enable MySQL ON DUPLICATE SQL statement(YES/NO).  
  67.   
  68.   
  69.   for field and record, you can use '0x' to specify hex character code,  
  70.   \r=0x0d \n=0x0a |=0x7c ,=0x2c, \t=0x09, :=0x3a, #=0x23, "=0x22 '=0x27  
  71.   
  72. C:\Users\meng\Desktop\sqluldr2>  
  73.    

C:\Users\meng\Desktop\sqluldr2>sqluldr2.exe help=yes
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
read = set DB_FILE_MULTIBLOCK_READ_COUNT at session level
sort = set SORT_AREA_SIZE at session level (UNIT:MB)
hash = set HASH_AREA_SIZE at session level (UNIT:MB)
array = array fetch size
head = print row header(Yes|No)
batch = save to new file for every rows batch (Yes/No)
size = maximum output file piece size (UNIB:MB)
serial = set _serial_direct_read to TRUE at session level
trace = set event 10046 to given level at session level
table = table name in the sqlldr control file
control = sqlldr control file and path.
mode = sqlldr option, INSERT or APPEND or REPLACE or TRUNCATE
buffer = sqlldr READSIZE and BINDSIZE, default 16 (MB)
long = maximum long field size
width = customized max column width (w1:w2:...)
quote = optional quote string
data = disable real data unload (NO, OFF)
alter = alter session SQLs to be execute before unload
safe = use large buffer to avoid ORA-24345 error (Yes|No)
crypt = encrypted user information only (Yes|No)
sedf/t = enable character translation function
null = replace null with given value
escape = escape character for special characters
escf/t = escape from/to characters list
format = MYSQL: MySQL Insert SQLs, SQL: Insert SQLs.
exec = the command to execute the SQLs.
prehead = column name prefix for head line.
rowpre = row prefix string for each line.
rowsuf = row sufix string for each line.
colsep = separator string between column name and value.
presql = SQL or scripts to be executed before data unload.
postsql = SQL or scripts to be executed after data unload.
lob = extract lob values to single file (FILE).
lobdir = subdirectory count to store lob files .
split = table name for automatically parallelization.
degree = parallelize data copy degree (2-128).
hint = MySQL SQL hint for the Insert, for example IGNORE.
unique = Unique Column List for the MySQL target table.
update = Enable MySQL ON DUPLICATE SQL statement(YES/NO).
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
C:\Users\meng\Desktop\sqluldr2>





代码例子1:

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


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

sqluldr2.exe USER&#61;用户/密码&#64;tns  sql&#61;123.sqlhead&#61;yes FILE&#61;F:\cs_XXX_test.csv



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



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


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



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


转自&#xff1a;http://blog.csdn.net/shushugood/article/details/7725984

推荐阅读
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • win10系统搭建Java开发环境的操作方法
    本文介绍了win10系统搭建Java开发环境的详细操作方法,包括下载Windows10系统和Java SE,安装Java开发环境,设置变量等步骤。操作简单,只需按照指导进行即可。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
author-avatar
胃热额外_522
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有