[Oracle] SQL*Loader详细使用教程(2)- 命令行参数
[Oracle] SQL*Loader详细使用教程(2)- 命令行参数
输入sqlldr,后面不接任何参数,将显示所有的命令行参数的简单描述及其默认值(当你忘记某些参数时,也可以通过这个方式快速查询):
[plain] 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) file -- file 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)
为了不用每次都在命令行中输入同样的参数,你也可以使用参数文件或把参数写在控制文件的OPTIONS字句里,当然命令行参数的优先级最高,可以覆盖参数文件和控制文件里的参数配置。
SQL*Loader默认是导入到本地数据库,但也支持导入到远程数据库,只要在username后面加上“@远程数据库连接字符串”即可,如下所示:
> sqlldr CONTROL=ulcase1.ctl Username: scott@inst1 Password: password
下面是命令行参数的具体解释:
BAD - 坏文件名 (.bad)
CONTROL - 控制文件名 (.ctl)
DATA - 数据文件名(.dat),等同于控制文件里的INFILE,可以指定多个数据文件
DIRECT - true表示使用直接路径加载,false表示使用传统路径加载
DISCARD - 丢失文件名(.dsc)
DISCARDMAC - 最多允许多少条记录可以被丢失,如果超过该数字,将停止加载
ERRORS - 最多预习多少条记录insert失败,如果超过该数字,将停止加载
EXTERNAL_TABLE - 是否使用外部表加载方式
FILE - 该参数只在直接路径并行加载时有用
LOAD - 最多允许多少条记录可以被加载
LOG - 日志文件名(.log)
PARALLEL - true or false,直接路径加载是否使用并行模式
PARFILE - 参数文件名(.par)
ROWS - 指定达到多少条记录时提交
SKIP - 指定忽略最开始的多少条记录
SKIP_INDEX_MAINTENANCE - true表示在直接路径加载过程中不维护索引,导致索引状态变为unusable