sqlldr 命令的诸多参数!
[oracle@linux ~]$ sqlldr
SQL*Loader: Release 11.2.0.1.0 - Production on 星期四 3月 1 13:15:47 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
用法: SQLLDR keyword=value [,keyword=value,...]
有效的关键字:
userid -- ORACLE 用户名/口令
control -- 控制文件名
log -- 日志文件名
bad -- 错误文件名
data -- 数据文件名
discard -- 废弃文件名
discardmax -- 允许废弃的文件的数目 (全部默认)
skip -- 要跳过的逻辑记录的数目 (默认 0)
load -- 要加载的逻辑记录的数目 (全部默认)
errors -- 允许的错误的数目 (默认 50)
rows -- 常规路径绑定数组中或直接路径保存数据间的行数
(默认: 常规路径 64, 所有直接路径)
bindsize -- 常规路径绑定数组的大小 (以字节计) (默认 256000)
silent -- 运行过程中隐藏消息 (标题,反馈,错误,废弃,分区)
direct -- 使用直接路径 (默认 FALSE)
parfile -- 参数文件: 包含参数说明的文件的名称
parallel -- 执行并行加载 (默认 FALSE)
file -- 要从以下对象中分配区的文件
skip_unusable_indexes -- 不允许/允许使用无用的索引或索引分区 (默认 FALSE)
skip_index_maintenance -- 没有维护索引, 将受到影响的索引标记为无用 (默认 FALSE)
commit_discontinued -- 提交加载中断时已加载的行 (默认 FALSE)
readsize -- 读取缓冲区的大小 (默认 1048576)
external_table -- 使用外部表进行加载; NOT_USED, GENERATE_ONLY, EXECUTE (默认 NOT_USED)
columnarrayrows -- 直接路径列数组的行数 (默认 5000)
streamsize -- 直接路径流缓冲区的大小 (以字节计) (默认 256000)
multithreading -- 在直接路径中使用多线程
resumable -- 启用或禁用当前的可恢复会话 (默认 FALSE)
resumable_name -- 有助于标识可恢复语句的文本字符串
resumable_timeout -- RESUMABLE 的等待时间 (以秒计) (默认 7200)
date_cache -- 日期转换高速缓存的大小 (以条目计) (默认 1000)
no_index_errors -- 出现任何索引错误时中止加载 (默认 FALSE)
PLEASE NOTE: 命令行参数可以由位置或关键字指定
。前者的例子是 'sqlldr
scott/tiger foo'; 后一种情况的一个示例是 'sqlldr control=foo
userid=scott/tiger'。位置指定参数的时间必须早于
但不可迟于由关键字指定的参数。例如,
允许 'sqlldr scott/tiger control=foo logfile=log', 但是
不允许 'sqlldr scott/tiger control=foo log', 即使
参数 'log' 的位置正确。
下面介绍一些性能方面比较重要的参数:
rows —— 加载的行数,默认值:常规路劲:64,直接路径:全部。常规路径导入时,指定绑定数组中的行数。直接路径导入时,指一次从数据文件只读取的行数。该参数同时受bindsize制约,如果rows每行实际占用大小超出bindsize的最大可用值,则rows自动降低到bindsize最大可用值。
bindsize —— 默认值:256000,以字节为单位。为绑定数组指定最大可用空间,用来存储一次读取的rows的记录,该值不能太小,至少要能放入一条逻辑记录,不然有可能造成加载失败,但是设置一个超大值也没有意义,浪费空间而且起不到任何效果。
direct ——直接路径。默认值是false。直接路径加载并不是通过insert语句的方式提交数据,直接路径的加载甚至不走db_buffer,因为不会存在缓冲区争用,直接路径加载直接向数据文件写数据,因此效率较高。
parallel —— 并行度。默认值false。仅仅在直接路径加载时有效。
file —— 指定写入的表空间数据文件。通常是并行加载时应该会用到该参数,指定file文件后,要加载的内容即只向指定的数据文件写入数据,通过这种方式某些情况下可以减小磁盘间的竞争。
skip_unusable_indexes —— 是否跳过不可用的索引。默认值:默认为false。如果设置为true。在加载数据的时候,如果没加载的表中索引为unusable,则该索引数据不维护,数据加载完以后也不会改变索引的状态。在oracle中也有一个参数叫skip_unusable_indexes,但是sqlldr中的这个参数优先级比oracle数据库内部的这个参数优先级高。如果sqlldr中未设置这个参数,则以oracle中的skip_unusable_indexes参数为准。
skip_index_maintenance —— 是否跳过索引维护。默认值为false。该参数仅在直接路径加载时有效,如果设置为true,则数据加载过程中并不会维护索引,因此数据加载完后会导致索引无效。
readsize —— 缓冲区大小。默认值1048576字节。最大不超过20M。该参数设置的值仅当从数据文件中读取数据时有效,如果数据包含在控制文件中则为64K,并不可修改。
streamsize —— 流缓冲区大小。默认值是256000字节。指定直接路径加载时流缓冲区大小。
multithreading —— 是否启用多线程。默认值:多cpu系统默认为true,单cpu的系统默认则为false。该参数仅仅在直接路径加载时有效。
date_cache —— 日期转换缓存。默认值为1000条。指定一个专门用于日志转换的缓存区,如果处理的日期在其中,则不需要转换,直接取出来使用。
更多推荐
所有评论(0)