Oracle SQL Loader的详细语法

<h3>
<a href="http://csevan.javaeye.com/blog/284630"> <span class="hilite1">Oracle</span>
<span class="hilite2">SQL</span>
<span class="hilite3">Loader</span>
的详细语法 </a>
</h3>
<div class="blog_content">
<div>
<span style="font-size: 9pt;"><span class="hilite1">Oracle</span>
<span class="hilite2">SQL</span>
<span class="hilite3">Loader</span>
</span>
<span style="font-size: 9pt;">的详细语法</span>
<span style="font-size: 9pt;"> <br><span class="hilite2">SQL</span>
*<span class="hilite3">LOADER</span>
</span>
<span style="font-size: 9pt;">是</span>
<span style="font-size: 9pt;"><span class="hilite1">ORACLE</span>
</span>
<span style="font-size: 9pt;">的数据加载工具,通常用来将操作系统文件迁移到</span>
<span style="font-size: 9pt;"><span class="hilite1">ORACLE</span>
</span>
<span style="font-size: 9pt;">数据库中。</span>
<span style="font-size: 9pt;"><span class="hilite2">SQL</span>
*<span class="hilite3">LOADER</span>
</span>
<span style="font-size: 9pt;">是大型数据</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">仓库选择使用的加载方法,因为它提供了最快速的途径(</span>
<span style="font-size: 9pt;">DIRECT</span>
<span style="font-size: 9pt;">,</span>
<span style="font-size: 9pt;"><span class="hilite4">PARALLEL</span>
</span>
<span style="font-size: 9pt;">)。现在,我们抛开其理论不谈,用实例来使您快速掌握</span>
<span style="font-size: 9pt;"><span class="hilite2">SQL</span>
*<span class="hilite3">LOADER</span>
</span>
<span style="font-size: 9pt;">的使用方法。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">首先,我们认识一下</span>
<span style="font-size: 9pt;"><span class="hilite2">SQL</span>
*<span class="hilite3">LOADER</span>
</span>
<span style="font-size: 9pt;">。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">在</span>
<span style="font-size: 9pt;">NT</span>
<span style="font-size: 9pt;">下,</span>
<span style="font-size: 9pt;"><span class="hilite2">SQL</span>
*<span class="hilite3">LOADER</span>
</span>
<span style="font-size: 9pt;">的命令为</span>
<span style="color: #3366ff; font-size: 9pt;">SQLLDR</span>
<span style="font-size: 9pt;">,在</span>
<span style="font-size: 9pt;">UNIX</span>
<span style="font-size: 9pt;">下一般为</span>
<span style="color: #3366ff; font-size: 9pt;">sqlldr/sqlload</span>
<span style="font-size: 9pt;">。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">如执行:</span>
<span style="color: #3366ff; font-size: 9pt;">d:\<span class="hilite1">oracle</span>
>sqlldr</span>
<span style="font-size: 9pt;"> <br><span class="hilite2">SQL</span>
*<span class="hilite3">Loader</span>
: Release 8.1.6.0.0 - Production on </span>
<span style="font-size: 9pt;">星期二</span>
<span style="font-size: 9pt;"> 1</span>
<span style="font-size: 9pt;">月</span>
<span style="font-size: 9pt;"> 8 11:06:42 2002 <br>
(c) Copyright 1999 <span class="hilite1">Oracle</span>
Corporation. All rights reserved. <br></span>
<span style="font-size: 9pt;">用法</span>
<span style="font-size: 9pt;">: SQLLOAD </span>
<span style="font-size: 9pt;">关键字</span>
<span style="font-size: 9pt;"> = </span>
<span style="font-size: 9pt;">值</span>
<span style="font-size: 9pt;"> [,keyword=value,...] <br></span>
<span style="font-size: 9pt;">有效的关键字</span>
<span style="font-size: 9pt;">: <br><span style="color: #3366ff;"> userid -- <span class="hilite1">ORACLE</span>
username/password <br>
control -- Control file name <br>
log -- Log file name <br>
bad -- Bad file name <br>
data -- Data file name <br>
discard -- Discard file name <br>
discardmax -- Number of discards to allow (</span>
</span>
<span style="color: #3366ff; font-size: 9pt;">全部默认</span>
<span style="color: #3366ff; font-size: 9pt;">) <br>
skip -- Number of logical records to skip (</span>
<span style="color: #3366ff; font-size: 9pt;">默认</span>
<span style="color: #3366ff; font-size: 9pt;">0) <br>
load -- Number of logical records to load (</span>
<span style="color: #3366ff; font-size: 9pt;">全部默认</span>
<span style="color: #3366ff; font-size: 9pt;">) <br>
errors -- Number of errors to allow (</span>
<span style="color: #3366ff; font-size: 9pt;">默认</span>
<span style="color: #3366ff; font-size: 9pt;">50) <br>
rows -- Number of rows in conventional path bind array or between direct path data saves <br></span>
<span style="color: #3366ff; font-size: 9pt;">(默认</span>
<span style="color: #3366ff; font-size: 9pt;">: </span>
<span style="color: #3366ff; font-size: 9pt;">常规路径</span>
<span style="color: #3366ff; font-size: 9pt;"> 64, </span>
<span style="color: #3366ff; font-size: 9pt;">所有直接路径)</span>
<span style="color: #3366ff; font-size: 9pt;"> <br>
bindsize -- Size of conventional path bind array in bytes(</span>
<span style="color: #3366ff; font-size: 9pt;">默认</span>
<span style="color: #3366ff; font-size: 9pt;">65536) <br>
silent -- Suppress messages during run (header,feedback,errors,discards,partitions) <br>
direct -- use direct path (</span>
<span style="color: #3366ff; font-size: 9pt;">默认</span>
<span style="color: #3366ff; font-size: 9pt;">FALSE) <br>
parfile -- parameter file: name of file that contains parameter specifications <br><span class="hilite4">parallel</span>
-- do <span class="hilite4">parallel</span>
load (</span>
<span style="color: #3366ff; font-size: 9pt;">默认</span>
<span style="color: #3366ff; font-size: 9pt;">FALSE) <br>
file -- File to allocate extents from <br>
skip_unusable_indexes -- disallow/allow unusable indexes or index partitions(</span>
<span style="color: #3366ff; font-size: 9pt;">默认</span>
<span style="color: #3366ff; font-size: 9pt;">FALSE) <br>
skip_index_maintenance -- do not maintain indexes, mark affected indexes as unusable(</span>
<span style="color: #3366ff; font-size: 9pt;">默认</span>
<span style="color: #3366ff; font-size: 9pt;">FALSE) <br>
commit_discontinued -- commit loaded rows when load is discontinued(</span>
<span style="color: #3366ff; font-size: 9pt;">默认</span>
<span style="color: #3366ff; font-size: 9pt;">FALSE) <br>
readsize -- Size of Read buffer (</span>
<span style="color: #3366ff; font-size: 9pt;">默认</span>
<span style="color: #3366ff; font-size: 9pt;">1048576)</span>
<span style="font-size: 9pt;"> <br>
PLEASE NOTE: </span>
<span style="font-size: 9pt;">命令行参数可以由位置或关键字指定</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">。前者的例子是</span>
<span style="font-size: 9pt;"> 'sqlloadscott/tiger foo';</span>
<span style="font-size: 9pt;">后者的例子是</span>
<span style="font-size: 9pt;"> 'sqlload control=foo userid=scott/tiger'.</span>
<span style="font-size: 9pt;">位置指定参数的时间必须早于但不可迟于由关键字指定的参数。例如</span>
<span style="font-size: 9pt;">, <br>
'SQLLOAD SCott/tiger control=foo logfile=log', </span>
<span style="font-size: 9pt;">但</span>
<span style="font-size: 9pt;">'</span>
<span style="font-size: 9pt;">不允许</span>
<span style="font-size: 9pt;"> </span>
</div>
<div>
<span style="font-size: 9pt;">sqlload scott/tiger control=foo log',</span>
<span style="font-size: 9pt;">即使允许</span>
<span style="font-size: 9pt;">参数</span>
<span style="font-size: 9pt;"> 'log' </span>
<span style="font-size: 9pt;">的位置正确。</span>
<span style="font-size: 9pt;"> <br>
d:\<span class="hilite1">oracle</span>
> <br></span>
<span style="font-size: 9pt;">我们可以从中看到一些基本的帮助信息,这里,我用到的是中文的</span>
<span style="font-size: 9pt;">WIN2000</span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">ADV</span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">SERVER</span>
<span style="font-size: 9pt;">。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">我们知道,</span>
<span style="font-size: 9pt;"><span class="hilite2">SQL</span>
*<span class="hilite3">LOADER</span>
</span>
<span style="font-size: 9pt;">只能导入纯文本,所以我们现在开始以实例来讲解其用法。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">一、已存在数据源</span>
<span style="font-size: 9pt;">result.csv</span>
<span style="font-size: 9pt;">,欲倒入</span>
<span style="font-size: 9pt;"><span class="hilite1">ORACLE</span>
</span>
<span style="font-size: 9pt;">中</span>
<span style="font-size: 9pt;">FANCY</span>
<span style="font-size: 9pt;">用户下。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">    </span>
<span style="font-size: 9pt;"> result.csv</span>
<span style="font-size: 9pt;">内容:</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> 1,</span>
<span style="font-size: 9pt;">默认</span>
<span style="font-size: 9pt;"> Web </span>
<span style="font-size: 9pt;">站点</span>
<span style="font-size: 9pt;">,192.168.2.254:80:,RUNNING <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> 2,other,192.168.2.254:80:test.com,STOPPED <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> 3,third,192.168.2.254:81:thirdabc.com,RUNNING <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">从中,我们看出</span>
<span style="font-size: 9pt;">4</span>
<span style="font-size: 9pt;">列,分别以逗号分隔,为变长字符串。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">二、制定控制文件</span>
<span style="font-size: 9pt;">result.ctl <br>
result.ctl</span>
<span style="font-size: 9pt;">内容:</span>
<span style="font-size: 9pt;"> <br><span style="color: #3366ff;">load data <br>
infile 'result.csv' <br>
into table resultxt <br>
(resultid char terminated by ',', <br>
website char terminated by ',', <br>
ipport char terminated by ',', <br>
status char terminated by whitespace) <br></span>
</span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">说明:</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> infile</span>
<span style="font-size: 9pt;"> 指数据源文件 这里我们省略了默认的 </span>
<span style="font-size: 9pt;">discardfile result.dsc badfile result.bad <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> into table resultxt </span>
<span style="font-size: 9pt;">默认是</span>
<span style="font-size: 9pt;">INSERT</span>
<span style="font-size: 9pt;">,也可以</span>
<span style="font-size: 9pt;">into table resultxt APPEND</span>
<span style="font-size: 9pt;">为追加方式,或</span>
<span style="font-size: 9pt;">REPLACE <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> terminated by ','</span>
<span style="font-size: 9pt;"> 指用逗号分隔</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> terminated by whitespace</span>
<span style="font-size: 9pt;"> 结尾以空白分隔</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">三、此时我们执行加载:</span>
<span style="font-size: 9pt;"> <br><span style="color: #3366ff;">D:\>sqlldr userid=fancy/testpass control=result.ctl log=resulthis.out</span>
<br><span class="hilite2">SQL</span>
*<span class="hilite3">Loader</span>
: Release 8.1.6.0.0 - Production on </span>
<span style="font-size: 9pt;">星期二</span>
<span style="font-size: 9pt;"> 1</span>
<span style="font-size: 9pt;">月</span>
<span style="font-size: 9pt;"> 8 10:25:42 2002 <br>
(c) Copyright 1999 <span class="hilite1">Oracle</span>
Corporation. All rights reserved. <br><span class="hilite2">SQL</span>
*<span class="hilite3">Loader</span>
-941: </span>
<span style="font-size: 9pt;">在描述表</span>
<span style="font-size: 9pt;">RESULTXT</span>
<span style="font-size: 9pt;">时出现错误</span>
<span style="font-size: 9pt;"> <br>
ORA-04043: </span>
<span style="font-size: 9pt;">对象</span>
<span style="font-size: 9pt;"> RESULTXT </span>
<span style="font-size: 9pt;">不存在</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">提示出错,因为数据库没有对应的表。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">四、在数据库建立表</span>
<span style="font-size: 9pt;"> <br></span>
<span style="color: #3366ff; font-size: 9pt;"> </span>
<span style="color: #3366ff; font-size: 9pt;"> create table resultxt <br>
(resultid varchar2(500), <br>
website varchar2(500), <br>
ipport varchar2(500), <br>
status varchar2(500)) <br>
/ <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">五、重新执行加载</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"><span style="color: #3366ff;"> D:\>sqlldr userid=fancy/k1i7l6l8 control=result.ctl log=resulthis.out <br></span>
<span class="hilite2">SQL</span>
*<span class="hilite3">Loader</span>
: Release 8.1.6.0.0 - Production on </span>
<span style="font-size: 9pt;">星期二</span>
<span style="font-size: 9pt;"> 1</span>
<span style="font-size: 9pt;">月</span>
<span style="font-size: 9pt;"> 8 10:31:57 2002 <br>
(c) Copyright 1999 <span class="hilite1">Oracle</span>
Corporation. All rights reserved. <br></span>
<span style="font-size: 9pt;">达到提交点,逻辑记录计数</span>
<span style="font-size: 9pt;">2 <br></span>
<span style="font-size: 9pt;">达到提交点,逻辑记录计数</span>
<span style="font-size: 9pt;">3 <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">已经成功!我们可以通过日志文件来分析其过程:</span>
<span style="font-size: 9pt;">resulthis.out</span>
<span style="font-size: 9pt;">内容如下:</span>
<span style="font-size: 9pt;"> <br><span class="hilite2">SQL</span>
*<span class="hilite3">Loader</span>
: Release 8.1.6.0.0 - Production on </span>
<span style="font-size: 9pt;">星期二</span>
<span style="font-size: 9pt;"> 1</span>
<span style="font-size: 9pt;">月</span>
<span style="font-size: 9pt;"> 8 10:31:57 2002 <br>
(c) Copyright 1999 <span class="hilite1">Oracle</span>
Corporation. All rights reserved. <br></span>
<span style="font-size: 9pt;">控制文件</span>
<span style="font-size: 9pt;">: result.ctl <br></span>
<span style="font-size: 9pt;">数据文件</span>
<span style="font-size: 9pt;">: result.csv <br></span>
<span style="font-size: 9pt;">错误文件</span>
<span style="font-size: 9pt;">: result.bad <br></span>
<span style="font-size: 9pt;">废弃文件</span>
<span style="font-size: 9pt;">: </span>
<span style="font-size: 9pt;">未作指定</span>
<span style="font-size: 9pt;"> <br>
: <br>
(</span>
<span style="font-size: 9pt;">可废弃所有记录</span>
<span style="font-size: 9pt;">) <br></span>
<span style="font-size: 9pt;">装载数</span>
<span style="font-size: 9pt;">: ALL <br></span>
<span style="font-size: 9pt;">跳过数</span>
<span style="font-size: 9pt;">: 0 <br></span>
<span style="font-size: 9pt;">允许的错误</span>
<span style="font-size: 9pt;">: 50 <br></span>
<span style="font-size: 9pt;">绑定数组</span>
<span style="font-size: 9pt;">: 64 </span>
<span style="font-size: 9pt;">行,最大</span>
<span style="font-size: 9pt;"> 65536 </span>
<span style="font-size: 9pt;">字节</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">继续</span>
<span style="font-size: 9pt;">: </span>
<span style="font-size: 9pt;">未作指定</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">所用路径</span>
<span style="font-size: 9pt;">: </span>
<span style="font-size: 9pt;">常规</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">表</span>
<span style="font-size: 9pt;">RESULTXT <br></span>
<span style="font-size: 9pt;">已载入从每个逻辑记录</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">插入选项对此表</span>
<span style="font-size: 9pt;">INSERT</span>
<span style="font-size: 9pt;">生效</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">列名</span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">位置</span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">长度</span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">中止</span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">包装数据类型</span>
<span style="font-size: 9pt;"> <br>
------------------------------ ---------- ----- ---- ---- --------------------- <br>
RESULTID FIRST * , CHARACTER <br>
WEBSITE NEXT * , CHARACTER <br>
IPPORT NEXT * , CHARACTER <br>
STATUS NEXT * WHT CHARACTER <br></span>
<span style="font-size: 9pt;">表</span>
<span style="font-size: 9pt;">RESULTXT: <br>
3 </span>
<span style="font-size: 9pt;">行载入成功</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">由于数据错误</span>
<span style="font-size: 9pt;">, 0 </span>
<span style="font-size: 9pt;">行没有载入。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">由于所有</span>
<span style="font-size: 9pt;"> WHEN </span>
<span style="font-size: 9pt;">子句失败</span>
<span style="font-size: 9pt;">, 0 </span>
<span style="font-size: 9pt;">行没有载入。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">由于所有字段都为空的</span>
<span style="font-size: 9pt;">, 0 </span>
<span style="font-size: 9pt;">行没有载入。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">为结合数组分配的空间</span>
<span style="font-size: 9pt;">: 65016</span>
<span style="font-size: 9pt;">字节(</span>
<span style="font-size: 9pt;">63</span>
<span style="font-size: 9pt;">行)</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">除绑定数组外的内存空间分配</span>
<span style="font-size: 9pt;">: 0</span>
<span style="font-size: 9pt;">字节</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">跳过的逻辑记录总数</span>
<span style="font-size: 9pt;">: 0 <br></span>
<span style="font-size: 9pt;">读取的逻辑记录总数</span>
<span style="font-size: 9pt;">: 3 <br></span>
<span style="font-size: 9pt;">拒绝的逻辑记录总数</span>
<span style="font-size: 9pt;">: 0 <br></span>
<span style="font-size: 9pt;">废弃的逻辑记录总数</span>
<span style="font-size: 9pt;">: 0 <br></span>
<span style="font-size: 9pt;">从星期二</span>
<span style="font-size: 9pt;"> 1</span>
<span style="font-size: 9pt;">月</span>
<span style="font-size: 9pt;"> 08 10:31:57 2002</span>
<span style="font-size: 9pt;">开始运行</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">在星期二</span>
<span style="font-size: 9pt;"> 1</span>
<span style="font-size: 9pt;">月</span>
<span style="font-size: 9pt;"> 08 10:32:00 2002</span>
<span style="font-size: 9pt;">处运行结束</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">经过时间为</span>
<span style="font-size: 9pt;">: 00: 00: 02.70 <br>
CPU </span>
<span style="font-size: 9pt;">时间为</span>
<span style="font-size: 9pt;">: 00: 00: 00.10(</span>
<span style="font-size: 9pt;">可</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">六、并发操作</span>
<span style="font-size: 9pt;"><br><span style="color: #3366ff;"> sqlldr userid=/ control=result1.ctl direct=true <span class="hilite4">parallel</span>
=true <br>
sqlldr userid=/ control=result2.ctl direct=true <span class="hilite4">parallel</span>
=true <br>
sqlldr userid=/ control=result2.ctl direct=true <span class="hilite4">parallel</span>
=true</span>
<br></span>
<span style="font-size: 9pt;">当加载大量数据时(大约超过</span>
<span style="font-size: 9pt;">10GB</span>
<span style="font-size: 9pt;">),最好抑制日志的产生:</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"> <span style="color: #3366ff;"><span class="hilite2">SQL</span>
>ALTER TABLE RESULTXT nologging;</span>
<br></span>
<span style="font-size: 9pt;">这样不产生</span>
<span style="font-size: 9pt;">REDO</span>
<span style="font-size: 9pt;"> </span>
<span style="font-size: 9pt;">LOG</span>
<span style="font-size: 9pt;">,可以提高效率。然后在</span>
<span style="font-size: 9pt;">CONTROL</span>
<span style="font-size: 9pt;">文件中</span>
<span style="font-size: 9pt;">load data</span>
<span style="font-size: 9pt;">上面加一行:</span>
<span style="font-size: 9pt;">unrecoverable </span>
<span style="font-size: 9pt;">此选项必须要与</span>
<span style="font-size: 9pt;">DIRECT</span>
<span style="font-size: 9pt;">共同应用。</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;"> 在并发操作时,</span>
<span style="font-size: 9pt;"><span class="hilite1">ORACLE</span>
</span>
<span style="font-size: 9pt;">声称可以达到每小时处理</span>
<span style="font-size: 9pt;">100GB</span>
<span style="font-size: 9pt;">数据的能力!其实,估计能到</span>
<span style="font-size: 9pt;">1</span>
<span style="font-size: 9pt;">-</span>
<span style="font-size: 9pt;">10G</span>
<span style="font-size: 9pt;">就算不错了,开始可用结构</span>
<span style="font-size: 9pt;">相同的文件,但只有少量数据,成功后开始加载大量数据,这样可以避免时间的浪费。</span>
<span style="font-size: 9pt;"><br></span>
<span style="font-size: 9pt;">有关</span>
<span style="font-size: 9pt;">SQLLDR</span>
<span style="font-size: 9pt;">的问题</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">控制文件:</span>
<span style="font-size: 9pt;">input.ctl</span>
<span style="font-size: 9pt;">,内容如下:</span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">  </span>
<span style="font-size: 9pt;"><span style="color: #3366ff;"> load data</span>
</span>
<span style="color: #3366ff; font-size: 9pt;">          </span>
<span style="color: #3366ff; font-size: 9pt;"> --1</span>
<span style="color: #3366ff; font-size: 9pt;">、控制文件标识</span>
<span style="color: #3366ff; font-size: 9pt;"> <br></span>
<span style="color: #3366ff; font-size: 9pt;">  </span>
<span style="color: #3366ff; font-size: 9pt;"> infile 'test.txt'</span>
<span style="color: #3366ff; font-size: 9pt;">      </span>
<span style="color: #3366ff; font-size: 9pt;"> --2</span>
<span style="color: #3366ff; font-size: 9pt;">、要输入的数据文件名为</span>
<span style="color: #3366ff; font-size: 9pt;">test.txt <br></span>
<span style="color: #3366ff; font-size: 9pt;">  </span>
<span style="color: #3366ff; font-size: 9pt;"> append into table test</span>
<span style="color: #3366ff; font-size: 9pt;">    </span>
<span style="color: #3366ff; font-size: 9pt;">--3</span>
<span style="color: #3366ff; font-size: 9pt;">、向表</span>
<span style="color: #3366ff; font-size: 9pt;">test</span>
<span style="color: #3366ff; font-size: 9pt;">中追加记录</span>
<span style="color: #3366ff; font-size: 9pt;"> <br></span>
<span style="color: #3366ff; font-size: 9pt;">  </span>
<span style="color: #3366ff; font-size: 9pt;"> fields terminated by X'09'</span>
<span style="color: #3366ff; font-size: 9pt;">  </span>
<span style="color: #3366ff; font-size: 9pt;">--4</span>
<span style="color: #3366ff; font-size: 9pt;">、字段终止于</span>
<span style="color: #3366ff; font-size: 9pt;">X'09'</span>
<span style="color: #3366ff; font-size: 9pt;">,是一个制表符(</span>
<span style="color: #3366ff; font-size: 9pt;">TAB</span>
<span style="color: #3366ff; font-size: 9pt;">)</span>
<span style="color: #3366ff; font-size: 9pt;"> <br></span>
<span style="color: #3366ff; font-size: 9pt;">  </span>
<span style="color: #3366ff; font-size: 9pt;"> (id,username,password,sj)</span>
<span style="color: #3366ff; font-size: 9pt;">  </span>
<span style="color: #3366ff; font-size: 9pt;"> -----</span>
<span style="color: #3366ff; font-size: 9pt;">定义列对应顺序</span>
<span style="color: #3366ff; font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;"> <br></span>
<span style="font-size: 9pt;">其中</span>
<span style="font-size: 9pt;">append</span>
<span style="font-size: 9pt;">为数据装载方式,还有其他选项:</span>
<span style="font-size: 9pt;"> <br>
a</span>
<span style="font-size: 9pt;">、</span>
<span style="font-size: 9pt;">insert</span>
<span style="font-size: 9pt;">,为缺省方式,在数据装载开始时要求表为空</span>
<span style="font-size: 9pt;"> <br>
b</span>
<span style="font-size: 9pt;">、</span>
<span style="font-size: 9pt;">append</span>
<span style="font-size: 9pt;">,在表中追加新记录</span>
<span style="font-size: 9pt;"> <br>
c</span>
<span style="font-size: 9pt;">、</span>
<span style="font-size: 9pt;">replace</span>
<span style="font-size: 9pt;">,删除旧记录,替换成新装载的记录</span>
<span style="font-size: 9pt;"> <br>
d</span>
<span style="font-size: 9pt;">、</span>
<span style="font-size: 9pt;">truncate</span>
<span style="font-size: 9pt;">,同上</span>
<span style="font-size: 9pt;"> <br></span>
</div>
</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值