[Oracle]常用工具集之SQL*Loader的用法

秋天,大雁南飞,草木枯荣,掉落下的依依不舍的树叶随着瑟瑟的秋风飞动。尽管田园一片荒凉,但金灿灿的干草已覆盖了整个大地,几颗松树笔直的立在大地上,天空是多么广阔,多么蔚蓝!地是多么浩瀚,多么无边!天和地连在了一起,已分不清地平线在哪里,秋天的原野拥抱着蓝天,广阔的蓝天拥抱着田野!

其示意图如下:


控制文件:用于控制数据导入的行为方式的文件(最重要的文件)。

参数文件(可选)

数据文件:放置源数据的平面文件

错误文件:在数据加载时,把无法正确加载的数据放入错误文件中(比如数据格式问题、数据类型问题等)

丢弃文件(可选):有些数据,虽然数据格式、数据类型没有问题,但它被逻辑条件过滤掉了(在控制文件中设置),会被放入丢失文件

日志文件:记录SQL*Loader的数据加载过程


直接路径加载
在SQL*Loader里,为了提高性能,一般采用直接路径加载(设置Direct = TRUE)。

Oracle提供两种类型的插入语句:常规插入(conventional insert)和直接路径插入(direct-path insert),直接路径插入以牺牲部分功能为代价,换取高效加载大量数据。


直接路径加载把数据直接插入到要修改的段的高水位(HWM)以上,从而生成了最少量的undo(只生成数据字典的undo,不生成块中数据的undo),且不通过高速缓存(SGA),因此它的性能比常规插入要好。

直接路径加载的限制有:
1)一张表同时只能有一个直接路径插入,因此不适合小数据量的插入,只适合大批量的数据加载;
2)在HWM下的空闲空间不会被利用;
3)一张表在做直接路径插入的同时,同一会话不能对其做任何操作(select都不可以);
4)只有insert inot ... select ... 语句、merge语句和使用OCI直接路径接口的应用程序才可以使用。

以上就是[Oracle]常用工具集之SQL*Loader的用法。心是最大的骗子,别人能骗你一时,而它却会骗你一辈子。更多关于[Oracle]常用工具集之SQL*Loader的用法请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
Oracle缩表空间的完整如何解决实例

详解Oracle控制文件及日志文件的管理问题

oracle指定类型和指定位数创建序列号的代码详解

Oracle官方工具SQLDeveloper的简单如何使用

Oracle中锁(lock)的用法