« ociuldr企业版, sqluldr »
Tools » http://www.anysql.net/tools/sqluldr_comming.html 2009-03-23ociuldr导出文本已经够快了, 也有很多人在用了, 为了不影响现有的使用者, 给这段时间优化过(提速25%以上)的版本取了一个新的名字: sqluldr, 和Oracle的sqlldr相对应. 其实一直都想用这个名字的, 但因为性能不够, 不好意思使用, 在测试性能后, 现在敢用了, 作为ociuldr的企业版.
新版本的命令行帮助输出, 改成了如下所示.
SQL*UnLoader: Fast Oracle Text Unloader Release 3.0.0
(@) Copyright Lou Fangxin 2004/2008, all rights reserved.
Usage: SQLULDR keyword=value [,keyword=value,...]
Valid Keywords:
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)
width = customized max column width (w1:w2:...)
for field and record, you can use '0x' to specify hex character code,
\r=0x0d \n=0x0a |=0x7c ,=0x2c \t=0x09
Windows版本提供下载, 但仅供个人使用, 商业使用则需要付费. ociuldr的源代码仍可下载, 但sqluldr则不再提供源代码下载, 其他操作系统平台的也不提供下载. 此外还增加了一个网友要求的选项(width), 可在导出固定长度文本时, 精确控制各个列的宽度.
sqluldr scott/tiger sql=emp.sql width=5:20:20 ...
如果对性能没有极端要求, 没有必要换到sqluldr. 有些数据仓库的应用, 或是抽取数据给搜索引挚, 或是用文本方式来归档保存巨量数据的情况下, 则可以考虑升级到sqluldr来导出文本.


建议: 给个30天试用期, 然后再付款.
比如发布流行平台上的可执行代码, 比如Liunx, AIX, HP-UX, Sun.
问一下, sqluldr是如何定价的?
不做技术限制了. 试用的话,现在的ociuldr很好啊.
sqluldr能否提供HP-UX版
我没有HP-UX的编译环境啊, 正在努力找.
我这里有环境,但是不会做@_@
请问怎么用sys连接?
D:\>sqluldr2 “sys/sys@orcl as sysdba” query=”select text from dba_source where name=’KUPF$FILE’” file=k.plb
ORA-12154: TNS: 无法解析指定的连接标识符
D:\>sqluldr2 “oo/oo@orcl ” query=”select * from dual” file=k.plb
0 rows exported at 2009-06-23 15:05:14
1 rows exported at 2009-06-23 15:05:14
output file k.plb closed at 1 rows.
sys只能在本地登录, 指定用户名为sys(不提供密码)就可以了, 如:
sqluldr2 sys query=”select * from tab”
可以留个联系方式不,有点问题请教下,发我EMAIL也行
我首页有啊, MSN: anysql@live.com, QQ: 37223884
D:\>sqluldr2 sys query=”select * from dual” file=k.plb field=0×0a
ORA-12560: TNS: 协议适配器错误
btw
我的本地装了2个数据库。
sqlplus必须用@orcl访问
D:\>set oracle_sid=orcl
D:\>sqluldr2 sys query=”select * from dual” file=k.plb field=0×0a
ORA-01005: 给出空口令; 登录被拒绝
D:\>sqlplus sys/sys as sysdba
SQL*Plus: Release 10.2.0.3.0 – Production on 星期二 6月 23 16:35:18 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
With the Partitioning, OLAP and Data Mining options
SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
With the Partitioning, OLAP and Data Mining options 断开
D:\>sqluldr2 “sys/sys as sysdba” query=”select text from dba_source where name=’KUPF$FILE’” file=k.plb
ORA-01017: invalid username/password; logon denied
你重新下载一下吧, 上周有过改进的.
C:\>sqluldr2 sys query=”select * from dual”;
0 rows exported at 2009-06-23 18:28:49, size 0 MB.
1 rows exported at 2009-06-23 18:28:49, size 0 MB.
output file uldrdata.txt closed at 1 rows, size 0 MB.
Pretty good post. I just stumbled upon your site and wanted to say
that I’ve really liked reading your blog posts. Anyway
I’ll be subscribing to your feed and I hope you post again soon!
下载了6月17日的版本,仍然无法使用sys用户导出
C:\AA>sqluldr2 sys query=”select * from dual” file=sys.txt
ORA-12560: TNS: 协议适配器错误
C:\AA>set oracle_sid=orcl
C:\AA>sqluldr2 sys query=”select * from dual” file=sys.txt
ORA-01031: insufficient privileges
C:\AA>sqluldr2 oo/oo query=”select * from dual” file=sys.txt
0 rows exported at 2009-06-24 09:20:56, size 0 MB.
1 rows exported at 2009-06-24 09:20:56, size 0 MB.
output file sys.txt closed at 1 rows, size 0 MB.
你的机器只有一个Oracle Home, 还是有两个?
oracle_home只有一个,但是装了2个数据库,一个orcl,另一个second,注册表的sid是second
“ORACLE_HOME”=”D:\\oracle\\product\\10.2.0\\db_1″
“ORACLE_HOME_NAME”=”OraDb10g_home1″
“ORACLE_GROUP_NAME”=”Oracle – OraDb10g_home1″
“NLS_LANG”=”SIMPLIFIED CHINESE_CHINA.ZHS16GBK”
…
“ORACLE_SID”=”second”
用sys连second这个库行不行?就一个实例时,我测了一下,是可以连接的。
second和orcl的效果一样
D:\>sqlplus sys/sys@second as sysdba
SQL*Plus: Release 10.2.0.3.0 – Production on 星期四 6月 25 08:52:40 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
With the Partitioning, OLAP and Data Mining options
SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
With the Partitioning, OLAP and Data Mining options 断开
D:\>c:\aa\sqluldr2 “sys/sys@second as sysdba” query=”select * from dual” file=sys.txt
ORA-01031: insufficient privileges
D:\>set oracle_sid=second
D:\>c:\aa\sqluldr2 “sys/sys@second as sysdba” query=”select * from dual” file=sys.txt
ORA-01031: insufficient privileges
D:\>c:\aa\sqluldr2 sys query=”select * from dual” file=sys.txt
ORA-01031: insufficient privileges
在windows下怎么把unload结果重定向
比如:
sqlunldr “select text from user_text where name=’DBMS_OUTPUT’”
file=in
另一软件的参数
base in out
现在想base < ??? out,一个命令,中间的结果不存入磁盘,不知道能否实现
这些问题就是技术支持的范畴了.
能否提供一个aix编译的
是否支持并行处理?比如一个分区表一个文件?
不支持并行的, 要并行可以同时跑多个导出进程,手工指定where条件。
今天是圣诞节啊,祝大家节日快乐。呵呵