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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/288166/viewspace-967925/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/288166/viewspace-967925/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值