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

来源:http://www.prospettivedarte.com 作者:计算机教程 人气:178 发布时间:2020-05-07
摘要:SQL*Loader是Oracle的高速批量数据加载工具。这是一个非常有用的工具,可用于多种平面文件格式向Oralce数据库中加载数据。SQLLDR可以在极短的时间内加载数量庞大的数据。它有两种操作模

SQL*Loader是Oracle的高速批量数据加载工具。这是一个非常有用的工具,可用于多种平面文件格式向Oralce数据库中加载数据。SQLLDR可以在极短的时间内加载数量庞大的数据。它有两种操作模式。 传统路径::SQLLDR会利用SQL插入为我们加载数据。 直接路径(direct path):采用这种模式,SQLLDR不使用SQL;而是直接格式化数据库块。 利用直接路径加载,你能从一个平面文件读数据,并将其直接写至格式化的数据库块,而绕过整个SQL引擎和undo生成,同时还可能避开redo生成。要在一个没有任何数据的数据库中充分加载数据,最快的方法就是采用并行直接路径加载。 要使用SQLLDR,需要有一个控制文件。 控制文件中包含描述输入数据的信息,另外还包含有关目标表的信息。控制文件甚至还可以包含要加载的数据。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要把数据加载到哪个表中。 FIELDS TERMINATED BY ‘,':这会告诉SQLLDR数据的形式应该是用逗号分隔的值。 (DEPTNO, DNAME, LOC) :这会告诉SQLLDR所要加载的列、这些列在输入数据中的顺序以及数据类型。这是指输入流中数据的数据类型,而不是数据库中的数据类型。在这个例子中,列的数据类型默认为CHAR(255),这已经足够了。 BEGINDATA :这会告诉SQLLDR你已经完成对输入数据的描述,后面的行是要加载到DEPT表的具体数据。

  1. 创建一个空表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 高速批量数据加载工具sql*loader使用说明

关键词:

上一篇:皇牌天下投注网存储过程

下一篇:没有了

最火资讯