文档章节

sqlldr数据插入 vs 数据保存

William
 William
发布于 2013/02/05 17:07
字数 825
阅读 105
收藏 2


直接路径加载与常规路径加载的比较

保存数据的方法

常规路径加载使用 SQL 处理和数据库 COMMIT 操作来保存数据。插入记录数组后会执行 COMMIT 操作。每次数据加载可能涉及多个事务处理。

直接路径加载使用数据保存将数据块写入 Oracle 数据文件。这就是为什么直接路径加载比常规路径加载快很多的原因。通过以下特性可区分数据保存与 COMMIT 的差异:

•在数据保存期间,只整个数据库块写入数据库中。
•这些块是在写入表的高水位标记 (HWM) 之后写入的。
•完成数据保存后,高水位标记 (HWM) 会移动。
•完成数据保存后不会释放内部资源。
•完成数据保存不会结束事务处理。
•每次完成数据保存时不会更新索引。 (需重建索引)

注:直接路径加载与并行直接路径加载在 DML 活动方面来说非常相似,因此就不另外进行比较了。

事件记录更改

常规路径加载可生成与任何 DML 语句相似的重做项。使用直接路径加载时,如果存在以下条件,则不会生成重做项:

•数据库处于 NOARCHIVELOG 模式。
•数据库处于 ARCHIVELOG 模式,但禁用了事件记录。通过设置表的 NOLOGGING 属性或者在控制文件中使用 UNRECOVERABLE 子句可禁用事件记录。

强制约束条件

在常规路径加载过程中,按照在执行 DML 操作过程采用的相同方式强制执行所有启用的约束条件。

在直接路径加载过程中,按以下方式处理约束条件:

•构建数组时检查 NOT NULL 约束条件。
•FOREIGN KEY 和 CHECK 约束条件已禁用,加载结束时可使用控制文件中的相应命令启用这两个约束条件。FOREIGN KEY 约束条件因引用了其它行或表而禁用;CHECK 约束条件因可能使用了 SQL 函数而禁用。如果只在大型表中插入少量的行,则使用常规加载。
•加载期间及加载结束时会检查 PRIMARY KEY 和 UNIQUE 约束条件;如果违反这两个约束条件,就会禁用这两个约束条件。

触发 INSERT 触发器

在常规加载过程中会触发 WHILE INSERT 触发器;这些触发器在进行直接路径加载之前已禁用,在加载结束时会重新启用。如果运行结束时,不能访问某个被引用对象,这些触发器可能会保持为禁用状态。请考虑使用常规路径加载将数据加载到带有触发器的表中。

加载到集簇表中

不能使用直接路径加载将行加载到集簇表中。只可使用常规路径加载来加载集簇表。

锁定

直接路径加载正在进行时,其它事务处理不能更改正加载的表。此规则的唯一例外情况发生在同时使用多个并行直接加载会话时。 

© 著作权归作者所有

William
粉丝 8
博文 26
码字总数 7874
作品 0
浦东
程序员
私信 提问
SQLLDR用武之地

sqlldr专业术语就不做啰嗦,接地气的说这是为了导入或者批量导入.csv格式的数据。 打开cmd之后我们输入sqlldr就可以看到相关的信息帮助信息,有着详细的解析,必看! 那么我们多数配合脚本文...

长路慢
2018/01/22
0
0
Oracle工具应用(一):数据文件导入SQL*Loader

Oracle提供的数据加载工具SQLLoader可以将外部文件中的数据加载到Oracle数据库中,且支持多种数据类型(日期、字符、数据字符etc),可以将多种数据类型加载到数据库。导入数据准备:一个控制文...

Jacktanger
2016/12/23
336
0
关于关于序列自增实际应用

在一些业务表中原本不需要ID字段作为唯一标识,可是在后期为了方便和需求要在数据表中加ID列作为主键或者外键!那么下面总结了两种方式: 解决方案一: 序列+UPDATE,原表有数据想新增一列I...

长路慢
2018/01/21
0
0
简析将shp导入Oracle并利用geoserver将导入的数据发布

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。 1.环境准备 1.1 软件准备 首先要安装有支持空间数据的Oracle,其次有安装版或免安装版的...

李晓晖
2015/01/02
0
0
Oracle 常用查询语句

1.创建序列 2.查看建表DDL语句 同理可以更换第一个参数的名字查看其他对象的DDL。 3.查询分区表的某个分区数据 4.sqlldr 导入数据库数据文件中字段被双引号引起,ctl文件需要添加如下语句: ...

清风_
2016/09/27
22
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
昨天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部