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

 更新时间:2012年12月16日 15:31:07   作者:  
SQL*Loader(SQLLDR)是Oracle的高速批量数据加载工具,这是一个非常有用的工具,可用于多种平面文件格式向Oralce数据库中加载数据
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表空间的实现步骤

    六分钟学会创建Oracle表空间的实现步骤

    这里介绍创建Oracle表空间的步骤,首先查询空闲空间、增加Oracle表空间、修改文件大小语句如下、创建Oracle表空间,最后更改自动扩展属性
    2013-06-06
  • 深入浅析Orcale的nvl函数和SQL Server的isnull函数

    深入浅析Orcale的nvl函数和SQL Server的isnull函数

    这篇文章主要介绍了Orcale的nvl函数和SQL Server的isnull函数的相关资料,需要的朋友可以参考下
    2017-10-10
  • Oracle数据库由dataguard备库引起的log file sync等待问题

    Oracle数据库由dataguard备库引起的log file sync等待问题

    这篇文章主要介绍了Oracle数据库由dataguard备库引起的log file sync等待,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • oracle中文乱码解决的办法

    oracle中文乱码解决的办法

    oracle中文乱码解决的办法,需要的朋友可以参考一下
    2013-02-02
  • oracle DBMS_SQL.PARSE的使用方法和示例

    oracle DBMS_SQL.PARSE的使用方法和示例

    DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/SQL块,并将其存储在动态游标中,示例展示了如何使用该过程,资源管理、错误处理和权限是使用DBMS_SQL包时应注意的事项,感兴趣的朋友一起看看吧
    2025-02-02
  • Oracle捕获问题SQL解决CPU过渡消耗

    Oracle捕获问题SQL解决CPU过渡消耗

    本文通过实际业务系统中调整的一个案例,试图给出一个常见CPU消耗问题的一个诊断方法.
    2007-03-03
  • Oracle数据库tnsnames.ora文件的作用和配置

    Oracle数据库tnsnames.ora文件的作用和配置

    这篇文章主要给大家介绍了关于Oracle数据库tnsnames.ora文件的作用和配置,tnsnames.ora 是一个oracle数据库网络配置文件,通过这个配置文件才能建立对数据库的连接,需要的朋友可以参考下
    2024-06-06
  • ORACLE数据库查看执行计划的方法

    ORACLE数据库查看执行计划的方法

    基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对SQL进行优化做相应说明
    2012-05-05
  • ORACLE创建DBlink的过程及使用方法

    ORACLE创建DBlink的过程及使用方法

    这篇文章主要介绍了ORACLE DBlink的创建和使用,本文通过实例代码给大家给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • 解决Oracle ORA-01017:invalid username/password:logon denied的问题

    解决Oracle ORA-01017:invalid username/password:logon

    这篇文章主要介绍了解决Oracle ORA-01017:invalid username/password:logon denied的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05

最新评论