数据批量导入Oracle数据库[Oracle防范]
本文“数据批量导入Oracle数据库[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
SQL*LOADER是大型数据
仓库挑选利用的加载办法,因为它供应了最快速的途径(DIRECT,PARALLEL).目前,我们抛开其理论不谈,用实例来使
您快速掌握SQL*LOADER的利用办法.
首先,我们熟习一下SQL*LOADER.
在NT下,SQL*LOADER的号令为SQLLDR,在UNIX下普通为sqlldr/sqlload.
如履行:d:\oracle>sqlldr
SQL*Loader: Release 8.1.6.0.0 - Production on 星期二 1月 8 11:06:42 2002
(c) Copyright 1999 Oracle Corporation. All rights reserved.
用法: SQLLOAD 关键字 = 值 [,keyword=value,...]
有效的关键字:
userid -- ORACLE username/password
control -- Control file name
log -- Log file name
bad -- Bad file name
data -- Data file name
discard -- Discard file name
discardmax -- Number of discards to allow (全部默许)
skip -- Number of logical records to skip (默许0)
load -- Number of logical records to load (全部默许)
errors -- Number of errors to allow (默许50)
rows -- Number of rows in conventional path bind array or between direct p
ath data saves
(默许: 通例途径 64, 全部直接途径)
bindsize -- Size of conventional path bind array in bytes(默许65536)
silent -- Supdivss messages during run (header,feedback,errors,discards,part
itions)
direct -- use direct path (默许FALSE)
parfile -- parameter file: name of file that contains parameter specification
s
parallel -- do parallel load (默许FALSE)
file -- File to allocate extents from
skip_unusable_indexes -- disallow/allow unusable indexes or index partitions(默许FALSE)
skip_index_maintenance -- do not maintain indexes, mark affected indexes as unusable(默许FALSE)
commit_discontinued -- commit loaded rows when load is discontinued(默许FALSE)
readsize -- Size of Read buffer (默许1048576)
PLEASE NOTE: 号令行参数可以由位置或关键字指定.
前者的例子是 'sqlload scott/tiger foo';
后者的例子是 'sqlload control=foo userid=scott/tiger'.
位置指定参数的时间必须早于但不可迟于由关键字指定的参数.比方,
'SQLLOAD SCott/tiger control=foo logfile=log',
但'不答应 sqlload scott/tiger control=foo log',
即便答应参数 'log' 的位置精确.
d:\oracle>
我们可以从中看到一些基本的帮忙信息,这里,我用到的是中文的WIN2000 ADV SERVER.
我们知道,SQL*LOADER只能导入纯文本,所以我们目前开始以实例来说授其用法.
1、已存在数据源result.csv,欲倒入ORACLE中FANCY用户下.
result.csv内容:
1,默许 Web 站点,192.168.2.254:80:,RUNNING
2,other,192.168.2.254:80:test.com,STOPPED
3,third,192.168.2.254:81:thirdabc.com,RUNNING
从中,我们看出4列,辨别以逗号脱离,为变长字符串.
2、拟定掌握文件result.ctl
result.ctl内容:
load data
infile 'result.csv'
into table resultxt
(resultid char terminated by ',',
website char terminated by ',',
ipport char terminated by ',',
status char terminated by whitespace)
阐明:
infile 指数据源文件 这里我们省略了默许的 discardfile result.dsc badfile result.bad
into table resultxt 默许是INSERT,也可以into table resultxt APPEND为追加方法,或REPLACE
terminated by ',' 指用逗号脱离
terminated by whitespace 末尾以空白脱离
3、此时我们履行加载:
D:\>sqlldr userid=fancy/testpass control=result.ctl log=resulthis.out
SQL*Loader: Release 8.1.6.0.0 - Production on 星期二 1月 8 10:25:42 2002
(c) Copyright 1999 Oracle Corporation. All rights reserved.
SQL*Loader-941: 在描写表RESULTXT时呈现错误
ORA-04043: 对象 RESULTXT 不存在
提醒出错,因为数据库没有对应的表.
4、在数据库成立表
create table resultxt
(resultid varchar2(500),
website varchar2(500),
ipport varchar2(500),
status varchar2(500))
/
以上是“数据批量导入Oracle数据库[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |