[Oracle] SQL*Loader 详细使用教程(2)- 命令行参数

sqlldr工具


SQL*Loader的客户端工具是sqlldr,在操作系统的命令行下输入sqlldr,后面不接任何参数,将显示帮助信息如下所示(所有命令行参数的简单描述及其默认值),所以你并不需要对下面的参数死记硬背,当你忘记它们时,可以通过这个方式快速查询。

Valid Keywords:
userid -- ORACLE username/password           

control – control file name
log – log file name
bad – bad file name
data – data file name
discard – discard file name
discardmax – number of discards to allow (Default all)
skip – number of logical records to skip (Default 0)
load – number of logical records to load (Default all)
errors – number of errors to allow (Default 50)
rows – number of rows in conventional path bind array or between direct path data saves
(Default: Conventional path 64, Direct path all)
bindsize – size of conventional path bind array in bytes (Default 256000)
silent – suppress messages during run (header,feedback,errors,discards,partitions)
direct – use direct path (Default FALSE)
parfile – parameter file: name of file that contains parameter specifications
parallel – do parallel load (Default FALSE)
filefile to allocate extents from
skip_unusable_indexes – disallow/allow unusable indexes or index partitions (Default FALSE)
skip_index_maintenance – do not maintain indexes, mark affected indexes as unusable (Default FALSE)
commit_discontinued – commit loaded rows when load is discontinued (Default FALSE)
readsize – size of read buffer (Default 1048576)
external_table – use external table for load; NOT_USED, GENERATE_ONLY, EXECUTE (Default NOT_USED)
columnarrayrows – number of rows for direct path column array (Default 5000)
streamsize – size of direct path stream buffer in bytes (Default 256000)
multithreading – use multithreading in direct path
resumable – enable or disable resumable for current session (Default FALSE)
resumable_name – text string to help identify resumable statement
resumable_timeout – wait time (in seconds) for RESUMABLE (Default 7200)
date_cache – size (in entries) of date conversion cache (Default 1000)
no_index_errors – abort load on any index errors (Default FALSE)


另外两种配置命令行参数的方法


如果每次都必须在sqlldr中输入参数,一定烦不胜烦,因此Oracle提供了两种方式用来存储通用的参数,方便重用。

第一种方法是使用参数文件,把通用的参数写在参数文件中,然后在sqlldr中用parfile指定该参数文件。

第二种方法是把通用参数写在控制文件的OPTIONS字句中,并在sqlldr中用control指定控制文件。

我通常采用第二种方法,因为这样可以省了参数文件,比较方便。

那如果上面三个地方都配置了同一个参数,谁的优先级大呢?sqlldr命令行 > 参数文件 > 控制文件。


导入数据到远程数据库


SQL*Loader默认是导入到本地数据库,但也支持导入到远程数据库,只要在username后面“@远程数据库连接字符串”即可,如下所示:

> sqlldr CONTROL=ulcase1.ctl
Username: scott@inst1
Password: password


命令行参数详细说明


1. 指定文件名:control, bad, log, data, discard, parfile

2. 传统路径加载:direct=false(默认);直接路径加载:direct=true

3. 最大允许错误的记录数:errors;最大允许丢弃的记录数:discardmax;最大允许加载的记录数:load

4. 只有在直接路径加载下才能用的参数:no_index_errors(默认为false,如果为true表示在加载过程中不会把index设为unusable);parallel(默认为false,如果为true表示启用并行加载);skip_index_maintenance(默认为false,如果为true表示在加载过程中停止索引的维护)

5. rows:表示达到多少行将提交,默认(传统路径加载64,直接路径加载all)

6. skip:省略最前面的记录数


[Oracle] SQL*Loader 详细使用教程(4)- 字段列表




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值