sqluldr參數(shù)?
以下是sqlldr.exe的參數(shù)說明:
有效的關鍵字:
userid -- ORACLE username/password
control - 控制文件
log - 記錄的日志文件
* 表示數(shù)據(jù)文件在控制文件之后,如果是獨立的數(shù)據(jù)文件,則把文件代替*
bad - 壞數(shù)據(jù)文件,記錄錯誤的未加載數(shù)據(jù)
data - 數(shù)據(jù)文件,* data參數(shù)只能指定一個數(shù)據(jù)文件,如果控制文件也通過infile指定了數(shù)據(jù)文件,并且指定多個,
則sqlldr在執(zhí)行時,先加載data參數(shù)指定的數(shù)據(jù)文件,控制文件中第一個infile指定的數(shù)據(jù)文件被忽略,
但后續(xù)的infile指定的數(shù)據(jù)文件繼續(xù)有效
discard - 丟棄的數(shù)據(jù)文件,默認情況不產生,必須指定
discardmax - 允許丟棄數(shù)據(jù)的最大值 (全部默認)
skip -- 跳過記錄數(shù),從數(shù)據(jù)文件中,從第一行開始要計算要跳過的行數(shù),*,對于多表加載的情況,如果有when條件
判斷的話,或者直接路徑下的多表加載,如果要加載的記錄數(shù)不同,則該參數(shù)無效.
load -- 給你一萬行的數(shù)據(jù),卻只要求你導入10行
errors - 允許的錯誤記錄數(shù),超過則終止任務 (默認50)
rows -- 常規(guī)路徑導入時:指綁定數(shù)組中的行數(shù);直接路徑導入時,指一次從數(shù)據(jù)文件只讀取的行數(shù),該參數(shù)同時
受bindsize制約,如果rows*每行實際占用大小超出bindsize最大可用值,則rows自動降低達到bindsize
最大可用值(每次提交的記錄數(shù),默認: 常規(guī)路徑 64, 所有直接路徑)
bindsize -- 為綁定數(shù)組指定的最大可用空間,用來存貯一次讀取的rows的記錄,該值不能太小,至少要放入一條邏輯記錄
但設置太大也沒什么作用。 每次提交記錄的緩沖區(qū)的大小(字節(jié)為單位,默認256000)
bind array size=(number of rows)*(sun(fixed field lengths)+sum(maximum varying field lengths)+((number of varying
length fields)*(size of length indicator)))
silent -- 禁止輸出信息 (header,feedback,errors,discards,partitions)
sqlldr scott/scott control=ldr_case9.ctl silent=header 這樣就可以不輸出頭部信息了.
direct - 使用直通路徑方式導入,不走buffer cache,通過direct path api發(fā)送數(shù)據(jù)到服務器端的加載引擎,加載
引擎按照數(shù)據(jù)塊的格式處理數(shù)據(jù)并直接寫向數(shù)據(jù)文件,因此效率較高(默認false)
parfile -- 高密度的sqlldr導入,省得寫參數(shù),就建個腳本吧
parallel -- 并行導入 僅在直接路徑加載時有效 (默認FALSE)
file -- 并行加載時會用到該參數(shù),指定file參數(shù),要加載的內容即只向指定的數(shù)據(jù)文件寫入數(shù)據(jù),減少i/o
skip_unusable_indexes-- 默認為false,如果是true,則加載完數(shù)據(jù)時,就算此表索引不可用,數(shù)據(jù)加載完不會改變此索引狀態(tài)
oracle 數(shù)據(jù)庫中也有此同名參數(shù),但順序是先看sqlldr,再數(shù)據(jù)庫
skip_index_maintenance-- 是否跳過索引維護,默認false,直接路徑加載有效,如果設置為true,因加載完數(shù)據(jù)不維護索引,
因此索引會失效.
readsize---- 緩沖區(qū)大小,默認值:1048576單位字節(jié),最大不超過20m,該參數(shù)僅當從數(shù)據(jù)文件讀取時有效,
如果是從近制文件讀取數(shù) 據(jù),則默認為64k
external_table: not_used:不使用外部表,通過常規(guī)路徑或直接路徑加載數(shù)據(jù)
generate_only:sqlldr并不執(zhí)行加載,而是生成創(chuàng)建外部表的sql和處理數(shù)據(jù)的sql,并保存在log文件中,用戶可
以修改后拿到sqlplus中執(zhí)行
execute:執(zhí)行外部表并加載數(shù)據(jù)
columnarrayrows: 指定直接路徑加載時流緩沖區(qū)的行數(shù)
-- Number of rows for direct path column array(默認5000)
streamsize : -- Size of direct path stream buffer in bytes(默認256000)
指定直接路徑加載時流緩沖區(qū)的大小
multithreading 是否啟用多線程,多cpu為true,單cpu false,直接路徑加載時有效
-- use multithreading in direct path
resumable -- 會話等待空閑空間分配,在執(zhí)行sqlldr時,如果余下空間不足,false參數(shù)則直接報錯退出,如果設置為true,
則等待,讓dba手動處理,達到resumable_timeout參數(shù)中指定的超時時間,再退出
enable or disable resumable for current session(默認FALSE)
resumable_name 會話標示名,通過查詢user_resumable或dba_resumable二個字典來獲取信息,
-- text string to help identify resumable statement
resumable_timeout: 會話超時,在多少時間未能執(zhí)行sqlldr則退出,設置true有效
-- wait time (in seconds) for RESUMABLE(默認7200)
date_cache -- 日期轉換用緩存在,用于提高轉換效率.僅在直接路徑加載時有用
size (in entries) of date conversion cache(默認1000)