sqlldr 所有命令及用法

2026/4/25 6:17:08

SQL*Loader使用说明

Sqlldr直接路径与普通装载区别图

2.2. sqlldr功能描述

1. 可以通过网络客户端连接到服务器,实现远程数据装载。 2. 可以在同一个session装载数据入多个表 3. 可以在同一个session装载多个数据文件 4. 5. 6. 7.

可以指定数据字符集,从而实现不同编码的转化 可以实现对数据选择性的转载

可以通过sql函数来操作数据,实现数据操作性的装载 可以实现唯一序列转载通过制定列

8. 装载数据可以从磁盘,磁带或者命名管道来获取 9. 完整的错误报告描述,可以方便找到出错原因 10. 可以装载复杂的对象关系数据如XML格式数据 11. 提供多种装载方式,insert,apend,direct

5/28

SQL*Loader使用说明

2.3. 命令结构

Sqlldr命令使用比较简单,主要就是程序加参数,就可以实现数据的装载。Sqlldr通过返回值来判断是否装载成功。

在UNIX/LINUX系统下,sqlldr返回值如下: 返回值宏 EX_SUCC EX_FAIL EX_WARN EX_FTL

在Windows NT系统下,sqlldr返回值如下: 返回值宏 EX_SUCC EX_WARN EX_FAIL EX_FTL

各宏值对应的说明: 值宏 EX_SUCC EX_WARN 说明 数据在制定控制范围内成功装载 数据装载存在警告,可能是reject记录数到达等原因,通常出现警告需要查对应的装载日志文件,找出警告原因,查看是否需要重新装载数据 EX_FAIL EX_FTL

语法错误,导致sqlldr无法装载 在装载过程中遭遇到致命错误,可以通过log可以确定发生此种错误的原因 返回值 0 2 3 4 返回值 0 1 2 3 2.3.1. 程序参数

Sqlldr命令参数组要有以下:

userid – 装载使用到的帐号信息,包括数据库信息,格式如:userid=user/passwd@dbname control – 指定装载使用到的控制文件

log - 指定装载使用到的日志文件

bad -指定装载使用到的BAD文件

data -指定装载使用到的数据文件,如果在控制文件中也制定infile文件,那么将优先使用命 令行的data文件,control文件中的第一个infile文件将忽略,如果control文件中只有 一个data文件那么sqlldr将给出一个警告。

discard – discard 文件,不符合转载条件的记录文件 discardmax – 允许discards 数目,默认是全部

6/28

SQL*Loader使用说明

skip – 跳过记录数

load – 指定装载数据的逻辑数目,默认是说有记录。

注:逻辑记录和物理记录的区别:逻辑记录是指导入数据库的记录,物理记录数指文 件中存在的记录。一般情况下逻辑记录跟物理记录相等,但是有些情况下,如,多条 物理记录联合装载,这样可能出现不相等的情况。

errors – 允许出错数目,如果达到出错数就退出装载,默认50

rows – 装载提交数目,普通装载默认64,在直接路径如果没有指定默认为全部记录,通过 这个特性可以用来控制sqlldr的事务一致性。

bindsize – 指定普通转载绑定数组的值,默认256000,该值之适用于普通装载,而不适用于

直接路径装载,因为直接路径装载使用的是直接路径API,而不是普通装载的 insert。设置大的bindsize可以提供每次insert的记录数目。

silent – 提示在装载时候终端上显示的内容,有以下几种可以选择。 Header:禁止sqlldr装载标题提示信息,但在log文件依然出现。 Feedback:禁止\提示信息。

Errors:禁止数据错误信息写在log日志文件,但是rejected records依然会写入。 Discards:禁止在log日志里面的记录信息写入discard文件。

Partitions:在采用直接路径装载的时候,取消写每个分区统计信息入日志文件。 ALL:包含以上所有的值 direct – 使用直接路径装载

parfile – 参数文件指定。

parallel – 并行装载 ,默认为FALSE,只能用于direct装载方式。

file – 指定装载过程中使用的数据库中的数据文件,该选项只适用于并行装载,通过该选项 可以提高磁盘的读写速度。不同的装载可以存放不同的数据库文件。 skip_unusable_indexes –该值跟数据库配置文件中的skip_unusable_indexes类似,在装载过程 中遇到无效索引的时候,不停下来继续进行装载。 skip_index_maintenance –停止索引的维护,在直接路径转载的时候。使用该选项将插入一个 没用的索引键值代替把索引制成无效。这样不会因为前面的转载使 索引无效而影响后面的装载。默认为FALSE。

commit_discontinued – 提交已经装载的行数,如果装载失败的时候。默认为FALSE。 readsize – 该参数用于设置读取数据的大小,如果读控制文件中的值就使用64K大小不变的

值,readsize默认值为1048576,最大可设置的值为20M,在普通装载的情况下, bindsize的大小受限制与readsise的设置,如果readsize的值小于bindsize的值,

sqlldr将会自动让readsize等于bindsize的值。

external_table –使用sqlldr来使用外部表的功能; 本选项提供三个可选项:

NOT_USED:默认为不使用外部表装载功能

GENERATE_ONLY:通过该选项可以生成需要通过外部表装载的所有步骤

EXECUTE:直接使用外部表功能装载

具体说明参见外部表装载

columnarrayrows –该选项适用于direct路径装载,默认为5000。该选项sqlldr将不做技术,如 果使用该选项则需要用户设置正确,或者接受默认的值。 streamsize –该选项为直接路径装载所用,需要跟columnarrayrows配对使用。

multithreading - 在多cpu的系统中默认为TRUE,在单cpu的系统中默认为FALSE。使用多 线程装载在direct path的情况下。推荐使用FALSE,因为在对于大数 据量的转载中,可能出现中途挂起的情况。

7/28

SQL*Loader使用说明

resumable -设定可恢复的空间分配,默认为FALSE。通过该选项可以用于转载过程中空间不足

引起的错误。

resumable_name –该值定义空间使用的语句。默认

'User USERNAME (USERID), Session SESSIONID, Instance INSTANCEID' resumable_timeout – 空间处理时间,默认7200秒。如果在这个时间内没有处理好空间,那

么sqlldr将因为空间不足,而错误退出。该选项需要首先设resumable 为TRUE。

date_cache –用于数据转化的临时空间 默认是1000。本选项只能用于direct路径装载。在需 要数据转化,如date,timestamp类新装载上可以使用,当然如果转换的数据唯

一性很高,可能就很难有作用,对于很多重复的需要转换的比较有用,可以大 大提高转化的时间。

sqlldr的命令行参数可以直接放在命令行,也可以放在控制文件,也可以直接放在参数文件PARFILE (parameter file)里面。

注意:在重复指定的参数里面,命令行的参数凌驾于任何写在参数文件和控制参数文件之上的参数。

2.4. 控制文件

控制文件是用一种规定语言写的文本文件,这个文本文件能被sqlldr读取。sqlldr根据控制文件可以找到需要加载的控制参数及其数据。并且根据控制参数分析和解释这些数据,从而实现数据的装载。

控制文件由三个部分组成:

1,全局选项,即可以用于命令行输入的sqlldr选项,rows,skip 等; 2,INFILE子句指定的输入数据; 3,数据特性说明。

以下将详细讨论控制文件的结构。

2.4.1. 控制文件语法

控制文件编写的语法格式如下:

OPTIONS ( { [SKIP=integer] [ LOAD = integer ] [ERRORS = integer] [ROWS=integer]

[BINDSIZE=integer] [SILENT=(ALL|FEEDBACK|ERROR|DISCARD) ] ) LOAD[DATA] [ { INFILE | INDDN } {file | * }

[STREAM | RECORD | FIXED length [BLOCKSIZE size]| VARIABLE [length] ]

[ { BADFILE | BADDN } file ] {DISCARDS | DISCARDMAX} integr ] [ {INDDN | INFILE} . . . ]

[ APPEND | REPLACE | INSERT ]

8/28


sqlldr 所有命令及用法.doc 将本文的Word文档下载到电脑
搜索更多关于: sqlldr 所有命令及用法 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219