sqlloader 直接路径和常规路径_sqlloader

一、用到的文件

数据文件Data File:数据源[文本文件]

控制文件Control File:导入数据规则此控制文件非彼控制文件,是定义导如的规则!

日志文件Log File:导入数据记录情况

坏文件Bad File:插入记录出错,如违反唯一约束,非空约束...

卡片文件Discard File:没有被选择的记录

二、装载方式:直接路径和常规路径的区别

直接路径:根据控制文件转换数据为指定的数组,格式化为ORACLE数据块,将数据块直接写入数据库。

并行直接路径:多个实例直接路径装入数据。

常规路径:根据控制文件转换数据为指定的数组。使用insert语句执行数组插入。

三、常规路径装入(缺省方式)

使用INSERT语句和使用数组缓冲插入数据到数据库表中。这种方法被所有的ORACLE工具和应用程序使用。使用常规路径装入数据,和所有其它进程争夺缓冲资源。由于创建SQL语句、执行SQL语句,使得装入显著变慢。如果速度对你特别重要,应该使用直接路径装入。但下面情况无法直接装入,必须用常规路径装入:

1、装入时同时访问被索引的表或者同时插入、更新没被索引的表。因为直接路径装入(除并行装载),SQL*LOADER对表必须有排它的写访问和对索引有排它的读写访问。

2、通过SQL*NET访问不同的平台。不能用直接路径装入,除非使用相同的计算机和字符集。

3、装入数据到聚族表中。直接路径装载不支持聚族表。

4、当装相对少的记录到有索引的大表中。在直接路径装载下

需要拷贝索引,然后和合并新的索引。

5、当装相对少的行到一个有参考和列检查完整性约束。在直

接路径装载下,约束被禁用。

6、想应用SQL函数到指定的字段中。

四、直接路径装入

何时使用直接路径装入:

1、大量数据需要快速装入。

2、想使用并行装入。

3、当前会话不支持你要装入数据的字符集,或者字符集转换 将出现错误。

五、使用SQLLoader导入数据

例:

方法一:

1、编辑一个文件load.ctl(假设存放在d:oracledoc下):

load data

infile *

(append)into table department

fields terminated by ' ,' optionally enclosed by '"'

(dept_id,department,abbreviation)

begindata

data

1,农学院,农学

c:sqlldr userid=user1/user1@ora1 control=d:oracledocload.ctl log=d:oracledocload.log

未完,只是贴的人家的。来不及看书了,书上讲得更详细!

2,园艺系,园艺

3,林学院,林学

4,草业科学系,草业

5,动物科学系,动科

6,动物医学学院,动医

7,机械交通学院,机交

8,水利与土木工程学院,水利

9,经济贸易学院,经贸

10,食品科学系,食科

11,计算机及信息工程系,计算机

12,环境系,环境

13,外语系,外语

14,人文社会科学学院,人文

15,高职学院,高职[@more@]sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值