要學的東西很多,一直在努力中............! 希望佛祖赐予我智慧吧!阿门!!!

oracle sql loader 的使用

上一篇 / 下一篇  2008-01-10 10:54:59 / 个人分类:ORACLE 數據庫管理

学习oracle sql loader 的使用 - ORACLE

一:sql loader 的特点
2u$O]Fn`(H n0oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。ITPUB个人空间)\:X*D,n~
比如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样的问题,这个也许是oracle公司自己产品的兼容性的问题吧。ITPUB个人空间]^FVq:n"]-k#K
sql loader 工具却没有这方面的问题,它可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据就有点麻烦了。

二:sql loader 的帮助

C:\>sqlldr

SQL*Loader: Release 9.2.0.1.0 - Production on 星期六 10月 9 14:48:12 2004

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


D]r`*B eoq8ERa0用法: SQLLDR keyword=value [,keyword=value,...]

有效的关键字:

userid -- ORACLE username/password
Z#_].m NQ@)U/h!Q0control -- Control file name
?2k(Tl-dT` q:ba0log -- Log file name
)I(Yp|%r g?3UV0bad -- Bad file name
;xnBza5KR0data -- Data file nameITPUB个人空间VS,sUm,g$E.R HI
discard -- Discard file nameITPUB个人空间qlM-i-nZ8C2H&u~^,R
discardmax -- Number of discards to allow (全部默认)
rb F{ ZzT0skip -- Number of logical records to skip (默认0)ITPUB个人空间vH_"i)t*I8N
load -- Number of logical records to load (全部默认)ITPUB个人空间#U3@G(Q M YH
errors -- Number of errors to allow (默认50)ITPUB个人空间N2c6}8x [l
rows -- Number of rows in conventional path bind array or between direct pITPUB个人空间+L1FA%~5M
ath data saves
{V;yN p wB0(默认: 常规路径 64, 所有直接路径)ITPUB个人空间t%\)[%k5DJ
bindsize -- Size of conventional path bind array in bytes(默认256000)ITPUB个人空间Sn0Cir
silent -- Suppress messages during run (header,feedback,errors,discards,part
2VK5m5Y4e;v0itions)ITPUB个人空间2a)~}6k V A
direct -- use direct path (默认FALSE)
;v,RuQq3g.Z*R0parfile -- parameter file: name of file that contains parameter specification
0w+qDa q\0sITPUB个人空间l h {:l1F+W
parallel -- do parallel load (默认FALSE)ITPUB个人空间$?[+Aoc nK2] x$T
file -- File to allocate extents from
rr oJcO4J0skip_unusable_indexes -- disallow/allow unusable indexes or index partitions(默
] b_3Nx0认FALSE)
:p8C\?G*Z6Pq _0skip_index_maintenance -- do not maintain indexes, mark affected indexes as unusITPUB个人空间7utd)|1cKbrZ
able(默认FALSE)ITPUB个人空间.H2yW([nI*[%s
readsize -- Size of Read buffer (默认1048576)ITPUB个人空间 M(GQ|K3R6D g
external_table -- use external table for load; NOT_USED, GENERATE_ONLY, EXECUTE(
1TT[&^eh I5N0默认NOT_USED)
w}3h|w@ lS s0columnarrayrows -- Number of rows for direct path column array(默认5000)ITPUB个人空间+KE3jk!w8d:lg sn*{F
streamsize -- Size of direct path stream buffer in bytes(默认256000)ITPUB个人空间+N$AbXuHW
multithreading -- use multithreading in direct pathITPUB个人空间{)oRp T7y e}
resumable -- enable or disable resumable for current session(默认FALSE)
#J2ID3t WG A~z0resumable_name -- text string to help identify resumable statement
)k"O&I7H5R0m0resumable_timeout -- wait time (in seconds) for RESUMABLE(默认7200)
nD8p#c^:Wl/rU"r0date_cache -- size (in entries) of date conversion cache(默认1000)

PLEASE NOTE: 命令行参数可以由位置或关键字指定ITPUB个人空间)wY"st-[)k~!e_w
。前者的例子是 'sqlload
QH8I#qJ)T4se)V(@ w0scott/tiger foo'; 后一种情况的一个示例是 'sqlldr control=foo
+k7W5}%} fu1OV'|0userid=scott/tiger'.位置指定参数的时间必须早于ITPUB个人空间V-~ u*NC
但不可迟于由关键字指定的参数。例如,ITPUB个人空间lN Jzhm#H0ka
允许 'sqlldr scott/tiger control=foo logfile=log', 但是ITPUB个人空间 PCix[;@|
不允许 'sqlldr scott/tiger control=foo log', 即使
&Fqs0A{9?0参数 'log' 的位置正确。

C:\>

三:sql loader使用例子
GP.x!s+[];];S0a)SQLLoader将 Excel 数据导出到 OracleITPUB个人空间.U!i;}QG+`AB7}
1.创建SQL*Loader输入数据所需要的文件,均保存到C:\,用记事本编辑:ITPUB个人空间:bI}5e4{)g7a9Z j
控制文件:input.ctl,内容如下:

   load data           --1、控制文件标识
_2z9P7~-QB Q1e F0   infile 'test.txt'       --2、要输入的数据文件名为test.txt
&Bbo5H c-d M"X0   append into table test    --3、向表test中追加记录ITPUB个人空间F }` ZB:?m8m
   fields terminated by X'09'  --4、字段终止于X'09',是一个制表符(TAB)ITPUB个人空间4H?jG rH#t | c
   (id,username,password,sj)   -----定义列对应顺序

a、insert,为缺省方式,在数据装载开始时要求表为空
uO&p_.\:Y%f0b、append,在表中追加新记录
SQ f:nEs~U0c、replace,删除旧记录,替换成新装载的记录ITPUB个人空间7L!cS(Uw cK
d、truncate,同上

在DOS窗口下使用SQL*Loader命令实现数据的输入

C:\>sqlldr userid=system/manager control=input.ctlITPUB个人空间j zn%Lx!w
默认日志文件名为:input.log
.V2[;o su;Ptf0默认坏记录文件为:input.bad

2.还有一种方法ITPUB个人空间$|"{3H+ysG;S;C
可以把EXCEL文件另存为CSV(逗号分隔)(*.csv),控制文件就改为用逗号分隔ITPUB个人空间.]*~M3E ~/?U+E,k
LOAD DATAITPUB个人空间;~D3{L'v}
INFILE 'd:\car.csv'ITPUB个人空间AD0FG np o5{%@
APPEND INTO TABLE t_car_temp
Gi/t^0E^%?0FIELDS TERMINATED BY ","
En!wc r+p6]l3b0(phoneno,vip_car)

b)在控制文件中直接导入数据

1、控制文件test.ctl的内容
s;Zh3C0w#]0-- The format for executing this file with SQL Loader is:
&l,al8fV0-- SQLLDR control=<filename> Be sure to substitute yourITPUB个人空间.?'|\{V(BvX4lc s$S
-- version of SQL LOADER and the filename for this file.
R U&j2O-Z)c!?0LOAD DATA
ZI*JD@0INFILE *ITPUB个人空间#[6O2Q$j&n3q
BADFILE 'C:\Documents and Settings\Jackey\桌面\WMCOUNTRY.BAD'ITPUB个人空间K'PZ2?s$mM
DISCARDFILE 'C:\Documents and Settings\Jackey\桌面\WMCOUNTRY.DSC'ITPUB个人空间:w/O(C"F8e-}
INSERT INTO TABLE EMCCOUNTRY
j6H2E)i{0Fields terminated by ";" Optionally enclosed by '"'ITPUB个人空间(_'^0t jp1K'{.U
(ITPUB个人空间B7Kr!Itg
COUNTRYID NULLIF (COUNTRYID="NULL"),ITPUB个人空间"~;od!Q j:VQ&tN
COUNTRYCODE,ITPUB个人空间`Eo \}+Uuj
COUNTRYNAME,
C$N)i^(M6^A.Z0CONTINENTID NULLIF (CONTINENTID="NULL"),
kh8O,I.lo`1z0MAPID NULLIF (MAPID="NULL"),ITPUB个人空间-g#d2M1C"?#C T
CREATETIME DATE "MM/DD/YYYY HH24:MI:SS" NULLIF (CREATETIME="NULL"),ITPUB个人空间RZ,X#NqC
LASTMODIFIEDTIME DATE "MM/DD/YYYY HH24:MI:SS" NULLIF (LASTMODIFIEDTIME="NULL")
/B{skQ)g:P0)ITPUB个人空间;s:O[YE+L8?
BEGINDATA
cDkE6I01;"JP";"Japan";1;9;"09/16/2004 16:31:32";NULLITPUB个人空间`NR#[i0L oX%AaP
2;"CN";"China";1;10;"09/16/2004 16:31:32";NULL
-h {-[E-M$rLz)s03;"IN";"India";1;11;"09/16/2004 16:31:32";NULL
F ?3r1bzf:cm*LY04;"AU";"Australia";6;12;"09/16/2004 16:31:32";NULLITPUB个人空间H5yAI0wg7W]
5;"CA";"Canada";4;13;"09/16/2004 16:31:32";NULLITPUB个人空间v*M&k%^I5`*}gF
6;"US";"United States";4;14;"09/16/2004 16:31:32";NULL
{.F`8\p}07;"MX";"Mexico";4;15;"09/16/2004 16:31:32";NULL
o3{q(cX Q%n08;"GB";"United Kingdom";3;16;"09/16/2004 16:31:32";NULL
V\?G{+_oZ}"t09;"DE";"Germany";3;17;"09/16/2004 16:31:32";NULLITPUB个人空间{8W$e0B O
10;"FR";"France";3;18;"09/16/2004 16:31:32";NULL
K#TU_8a;Xw011;"IT";"Italy";3;19;"09/16/2004 16:31:32";NULLITPUB个人空间(`pG9R"?
12;"ES";"Spain";3;20;"09/16/2004 16:31:32";NULLITPUB个人空间X(kQ7CNnB,i Z
13;"FI";"Finland";3;21;"09/16/2004 16:31:32";NULLITPUB个人空间LQtqqgt
14;"SE";"Sweden";3;22;"09/16/2004 16:31:32";NULLITPUB个人空间m8g~ ~![;^6h
15;"IE";"Ireland";3;23;"09/16/2004 16:31:32";NULLITPUB个人空间}8O)iIA
16;"NL";"Netherlands";3;24;"09/16/2004 16:31:32";NULLITPUB个人空间[(Cqe m4rG q
17;"DK";"Denmark";3;25;"09/16/2004 16:31:32";NULLITPUB个人空间 Pu] g S
18;"BR";"Brazil";5;85;"09/30/2004 11:25:43";NULLITPUB个人空间._#C(}n+t+~1yl9j
19;"KR";"Korea, Republic of";1;88;"09/30/2004 11:25:43";NULL
1t@7J5KBEi'iSO020;"NZ";"New Zealand";6;89;"09/30/2004 11:25:43";NULLITPUB个人空间 @+UB!EN-a&\
21;"BE";"Belgium";3;79;"09/30/2004 11:25:43";NULLITPUB个人空间E#T K&h~Q4r
22;"AT";"Austria";3;78;"09/30/2004 11:25:43";NULLITPUB个人空间Y8RJ$^4}l4J1aOG;_
23;"NO";"Norway";3;82;"09/30/2004 11:25:43";NULL
x zED4[c&W(o'uP;j024;"LU";"Luxembourg";3;81;"09/30/2004 11:25:43";NULL
&B0vTV$X025;"PT";"Portugal";3;83;"09/30/2004 11:25:43";NULL
"`U@Z%~,R026;"GR";"Greece";3;80;"09/30/2004 11:25:43";NULLITPUB个人空间 tP k8p7\1za/g%g~
27;"IL";"Israel";1;86;"09/30/2004 11:25:43";NULLITPUB个人空间-QA3W@D u!z KTG
28;"CH";"Switzerland";3;84;"09/30/2004 11:25:43";NULLITPUB个人空间p0eG m]W5Pt
29;"A1";"Anonymous Proxy";0;0;"09/30/2004 11:25:43";NULLITPUB个人空间 \5D&Bw,V*o*L"U
30;"A2";"Satellite Provider";0;0;"09/30/2004 11:25:43";NULL
cH.cr]*he u031;"AD";"Andorra";3;0;"09/30/2004 11:25:43";NULLITPUB个人空间 XwZ8` k,Bc2i
32;"AE";"United Arab Emirates";1;0;"09/30/2004 11:25:43";NULLITPUB个人空间s-U`:UnR
33;"AF";"Afghanistan";1;0;"09/30/2004 11:25:43";NULLITPUB个人空间"u#hF![vzF
34;"AG";"Antigua and Barbuda";7;0;"09/30/2004 11:25:43";NULLITPUB个人空间H+|p2EYL J
35;"AI";"Anguilla";7;0;"09/30/2004 11:25:43";NULLITPUB个人空间ulGU:}
36;"AL";"Albania";3;0;"09/30/2004 11:25:43";NULL
n)o)b:@ x:k8X5U037;"AM";"Armenia";3;0;"09/30/2004 11:25:43";NULLITPUB个人空间 BR0N)m ]yx4DU
38;"AN";"Netherlands Antilles";3;0;"09/30/2004 11:25:43";NULLITPUB个人空间/z)OniJ#rO
39;"AO";"Angola";2;0;"09/30/2004 11:25:43";NULLITPUB个人空间qsm*tN0DC'O
40;"AP";"Asia/Pacific Region";2;0;"09/30/2004 11:25:43";NULL
&O6^$M/J f |041;"AQ";"Antarctica";8;0;"09/30/2004 11:25:43";NULL
|m@y:d Roh042;"AR";"Argentina";5;0;"09/30/2004 11:25:43";NULLITPUB个人空间ymQ7h+k*R.ZM'qU
43;"AS";"American Samoa";6;0;"09/30/2004 11:25:43";NULL
)t{e.aw){044;"AW";"Aruba";5;0;"09/30/2004 11:25:43";NULL
hn:N PM3s1o)X045;"AZ";"Azerbaijan";1;0;"09/30/2004 11:25:43";NULLITPUB个人空间Y(nl%I SWf
46;"BA";"Bosnia and Herzegovina";3;0;"09/30/2004 11:25:43";NULLITPUB个人空间I#jv:O3WZ%cT Y/ME
47;"BB";"Barbados";5;0;"09/30/2004 11:25:43";NULL
c aqTy WJI048;"BD";"Bangladesh";1;0;"09/30/2004 11:25:43";NULL
~'` Q:Tr q"Qu2iVq:F049;"BF";"Burkina Faso";2;0;"09/30/2004 11:25:43";NULL
g H1X#\ ^n050;"BG";"Bulgaria";3;0;"09/30/2004 11:25:43";NULLITPUB个人空间3Af0}(SL#v,m
51;"BH";"Bahrain";1;0;"09/30/2004 11:25:43";NULLITPUB个人空间j#cHtVN
52;"BI";"Burundi";2;0;"09/30/2004 11:25:43";NULL
] E^7O)a q8j053;"BJ";"Benin";2;0;"09/30/2004 11:25:43";NULL
3sA&y)[ I054;"BM";"Bermuda";4;0;"09/30/2004 11:25:43";NULLITPUB个人空间mr@Cf3k p-K9VE
55;"BN";"Brunei Darussalam";1;0;"09/30/2004 11:25:43";NULL
mx?m&T/Bz]L ]056;"BO";"Bolivia";5;0;"09/30/2004 11:25:43";NULL
6sv;B u_8H057;"BS";"Bahamas";7;0;"09/30/2004 11:25:43";NULL
W4cq*c M/I8m058;"BT";"Bhutan";1;0;"09/30/2004 11:25:43";NULL
RlN-ch/^? g059;"BV";"Bouvet Island";5;0;"09/30/2004 11:25:43";NULL
QoVV&D:h060;"BW";"Botswana";2;0;"09/30/2004 11:25:43";NULL
f,^)P2gC^q061;"BY";"Belarus";3;0;"09/30/2004 11:25:43";NULLITPUB个人空间q7PFO{'r#x
2、执行导入命令
]4X{'YE @(t0C:\>sqlldr userid=system/manager control=test.ctl

c)复杂格式的导入

本文来自: 书部落-电子书下载(www.shubulo.com) 详细出处参考:http://www.shubulo.com/viewthread.php?tid=20304


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-08-29  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 5993
  • 日志数: 423
  • 图片数: 1
  • 影音数: 1
  • 建立时间: 2007-12-13
  • 更新时间: 2008-08-20

RSS订阅

Open Toolbar