Oracle 高速批量数据加载工具sql*loader使用说明
枪王传奇,冬季孕妇装图片,hg0088开户
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
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
-
快速向表插入大量数据
当需要对一个非常大的表INSERT的时候,会消耗非常多的资源,因为update表的时候,oracle需要生成 redo log和undo log;此时最...
[阅读全文]
-
-
-
Oracle入门学习五
学习视频: https://www.bilibili.com/video/BV1tJ411r7EC?p=55 数据的完整性:保证插入表格的数据必须正确。...
[阅读全文]
-
Oracle入门学习六
事务:把一组操作看做一个工作单元,要么都执行,要么都不执行。dml操作才有事务,查询没有事务。 开始事务:从上一次的事务结束之后,从第一次dml操作,就...
[阅读全文]
-
-
-
Oracle入门学习一
oracle的安装,用户授权,表格操作,数据类型,ddl表格,dml数据。 下一篇:Oracle入门学习二 学习视频:https://www.bilib...
[阅读全文]
-
Oracle入门学习二
上一篇:Oracle入门学习一 学习视频:https://www.bilibili.com/video/BV1tJ411r7EC?p=15 算术运算符:...
[阅读全文]
网友评论