主页 > 知识库 > Oracle 高速批量数据加载工具sql*loader使用说明

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

热门标签:服务外包 网站排名优化 呼叫中心市场需求 地方门户网站 百度竞价排名 AI电销 Linux服务器 铁路电话系统
SQL*Loader(SQLLDR)是Oracle的高速批量数据加载工具。这是一个非常有用的工具,可用于多种平面文件格式向Oralce数据库中加载数据。SQLLDR可以在极短的时间内加载数量庞大的数据。它有两种操作模式。
传统路径:(conventional path):SQLLDR会利用SQL插入为我们加载数据。
直接路径(direct path):采用这种模式,SQLLDR不使用SQL;而是直接格式化数据库块。
利用直接路径加载,你能从一个平面文件读数据,并将其直接写至格式化的数据库块,而绕过整个SQL引擎和undo生成,同时还可能避开redo生成。要在一个没有任何数据的数据库中充分加载数据,最快的方法就是采用并行直接路径加载。

要使用SQLLDR,需要有一个控制文件(control file)。 控制文件中包含描述输入数据的信息(如输入数据的布局、数据类型等),另外还包含有关目标表的信息。控制文件甚至还可以包含要加载的数据。

1. 新建一个控制文件demo1.ctl,内容如下:
复制代码 代码如下:

LOAD DATA
INFILE *
INTO TABLE DEPT
FIELDS TERMINATED BY ','
(DEPTNO, DNAME, LOC )
BEGINDATA
10,Sales,Virginia
20,Accounting,Virginia
30,Consulting,Virginia
40,Finance,Virginia

LOAD DATA :这会告诉SQLLDR要做什么(在这个例子中,则指示要加载数据)。SQLLDR还可以执行CONTINUE_LOAD,也就是继续加载。
INFILE * :这会告诉SQLLDR所要加载的数据实际上包含在控制文件本身上,如第6~10行所示。也可以指定包含数据的另一个文件的文件名。
INTO TABLE DEPT :这会告诉SQLLDR要把数据加载到哪个表中(在这个例子中,数据要加载到DEPT表中)。
FIELDS TERMINATED BY ‘,':这会告诉SQLLDR数据的形式应该是用逗号分隔的值。
(DEPTNO, DNAME, LOC) :这会告诉SQLLDR所要加载的列、这些列在输入数据中的顺序以及数据类型。这是指输入流中数据的数据类型,而不是数据库中的数据类型。在这个例子中,列的数据类型默认为CHAR(255),这已经足够了。
BEGINDATA :这会告诉SQLLDR你已经完成对输入数据的描述,后面的行(第7~10行)是要加载到DEPT表的具体数据。
2. 创建一个空表dept
复制代码 代码如下:

create table dept
( deptno number(2) constraint dept_pk primary key,
dname varchar2(14),
loc varchar2(13)
)
/

3. 加载数据
复制代码 代码如下:

sqlldr userid=lwstest/netjava control=d:\demo1.ctl
您可能感兴趣的文章:
  • Oracle批量插入数据的三种方式【推荐】
  • C# Oracle批量插入数据进度条的实现代码
  • Oracle + Mybatis实现批量插入、更新和删除示例代码
  • MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)
  • Oracle两张表关联批量更新其中一张表的数据
  • Oracle批量查询、删除、更新使用BULK COLLECT提高效率
  • mybatis执行批量更新batch update 的方法(oracle,mysql两种)
  • Oracle批量导入文本文件快速的方法(sqlldr实现)
  • Oracle+Mybatis的foreach insert批量插入报错的快速解决办法
  • Java实现mybatis批量插入数据到Oracle
  • Oracle批量执行sql语句之禁用所有表的外键
  • oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
  • Oracle数据库更新大批量数据案例

标签:崇左 黄山 仙桃 湖南 湘潭 衡水 铜川 兰州

巨人网络通讯声明:本文标题《Oracle 高速批量数据加载工具sql*loader使用说明》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266