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

SQL*Loader是Oracle提供的用于数据加载的一种工具,它比较适合业务分析类型数据库(数据仓库),能处理多种格式的平面文件,批量数据装载比传统的数据插入效率更高
 

其示意图如下:

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

参数文件(可选)

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

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

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

日志文件:记录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直接路径接口的应用程序才可以使用。

时间: 2024-08-22 09:40:00

[Oracle] 常用工具集之SQL*Loader的用法的相关文章

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

其示意图如下: 控制文件:用于控制数据导入的行为方式的文件(最重要的文件). 参数文件(可选) 数据文件:放置源数据的平面文件 错误文件:在数据加载时,把无法正确加载的数据放入错误文件中(比如数据格式问题.数据类型问题等) 丢弃文件(可选):有些数据,虽然数据格式.数据类型没有问题,但它被逻辑条件过滤掉了(在控制文件中设置),会被放入丢失文件 日志文件:记录SQL*Loader的数据加载过程 直接路径加载 在SQL*Loader里,为了提高性能,一般采用直接路径加载(设置Direct = TRU

Java程序员常用工具集

    我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了.我想列下我能想到的一个Java程序员会用到的常用工具. 一.编码工具 1.IDE:Eclipse或者IDEA,熟悉尽可能多的快捷键,<Eclipse常见快捷键列表> 2.插件:  (1) Findbugs,在release之前进行一次静态代码检查是必须的 (2) Clover,关心你的单元测试覆盖率 (3) Checkstyle 代码风格检查 3.构建和部署工具:an

c++程序员 常用工具集

所谓"工欲善其事,必先利其器",从程序员的角度来讲,好工具的使用总会给人带来事半功倍的效果.面对众多工具/软件,我们应该如何取舍呢.前不久,笔者在csdn的c++论坛发了一篇贴文,以期能征求大家的广泛意见,得到了不错的反响.本文在对该贴进行整理的基础上,又做了一些补充.在这里要特别感谢网友:DanielWYO(爱上小白),redleaves(无心红叶). 有以下几点需要声明: 本文主要是针对c++程序员的,但一些综合类的通用型工具/软件,作为c++程序员而言也是不可或缺的,因此也被列入

c++程序员常用工具集

■...开发环境 ---->Turbo c DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:) ---->Visual C++ 6.0/7.0 稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色.Microsoft的经典之作,功能强大自不必言说.附带的一些工具也很不错,比如:Spy++.但编译器较之同类,支持c++标准的程度不够好,尤其6.0及以前的版本. ---->BCB Borland的C+

关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 dblink,然后用 create table B as select * from A@dblink where ...,或 insert into B select * from A@dblink where ...3. exp A 表,再 imp 到 B 表,exp 时可加查询条件4. 程序

MongoDB实战(2)工具集与特殊魔术方法

一.MongoDB启动方式 MongoDB除了支持命令行的启动方式还支持配置文件启动通过读取启动配置文件的方式来启动数据库比方说配置文件如下 则可以使用如下命令 ./mongod -f /etc/mongodb.conf MongoDB参数说明 dbpath: 数据文件存放路径每个数据库会在其中创建一个子目录用于防止同一个实例多次运行的mongod.lock也保存在此目录中. logpath 错误日志文件 logappend 错误日志采用追加模式默认是覆写模式 bind_ip 对外服务的绑定ip

MongoDB实战:工具集与特殊魔术方法

一.MongoDB启动方式 MongoDB除了支持命令行的启动方式还支持配置文件启动通过读取启动配置文件的方式来启动数据库比方说配置文件如下 则可以使用如下命令 1./mongod -f /etc/mongodb.conf MongoDB参数说明 dbpath: 数据文件存放路径每个数据库会在其中创建一个子目录用于防止同一个实例多次运 行的mongod.lock也保存在此目录中. logpath 错误日志文件 logappend 错误日志采用追加模式默认是覆写模式 bind_ip 对外服务的绑定

oracle的sql loader数据加载工具

SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中.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 Corp

Oracle 高速批量数据加载工具sql*loader使用说明_oracle

SQL*Loader(SQLLDR)是Oracle的高速批量数据加载工具.这是一个非常有用的工具,可用于多种平面文件格式向Oralce数据库中加载数据.SQLLDR可以在极短的时间内加载数量庞大的数据.它有两种操作模式. 传统路径:(conventional path):SQLLDR会利用SQL插入为我们加载数据. 直接路径(direct path):采用这种模式,SQLLDR不使用SQL:而是直接格式化数据库块. 利用直接路径加载,你能从一个平面文件读数据,并将其直接写至格式化的数据库块,而绕