您的位置:首页 > 数据库 > Oracle

oracle数据导出工具sqluldr2使用总结

2013-12-11 12:40 399 查看
1.下载
http://www.anysql.net/tools/sqluldr2-non-free-features.html 右侧下载SQLULDR2



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

2.linux安装

1.需要安装oracle_client

2.复制sqluldr2_linux32_10204.bin到$ORACLE_HOME的bin目录,重命名为sqluldr2.bin

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

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/client_2
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:$ORACLE_HOME/lib:/lib:/usr/lib

4.验证

[sybase@SQMSIF01 /]$ ociuldr.bin

Usage: ociuldr.bin user=... query=... field=... record=... file=...

(@) Copyright Lou Fangxin 2004/2008, all rights reserved.

Notes:

-si = enable logon as SYSDBA

user = username/password@tnsname

sql = SQL file name

query = select statement

field = seperator string between fields

record= seperator string between records

head = print row header(Yes|No)

file = output file name(default: uldrdata.txt)

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)

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

mode = sqlldr option, INSERT or APPEND or REPLACE or TRUNCATE

log = log file name, prefix with + to append mode

long = maximum long field size

array = array fetch size

buffer= sqlldr READSIZE and BINDSIZE, default 16 (MB)

form = display rows as form (yes or no)

for field and record, you can use '0x' to specify hex character code,

\r=0x0d \n=0x0a |=0x7c ,=0x2c \t=0x09

3.应用

ociuldr.bin user="${SOUR_USER_NAME}/${SOUR_PASSWORD}${SOUR_DB_LINK}" query="${QUERY_STR}" field="@|@" file=${DATA_FILE_DIR}/${TAR_TABLE_NAME}.txt

| tee ${LOG_FILE_DIR}/${TAR_TABLE_NAME}.log

4.效率



注:read用的sqluldr从ORACLE导出,wirte用的BCP导入到SYBASE数据库,可以看到和BCP性能比较还是差很多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: