av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

關于Oracle中SqlLoader的用法

瀏覽:113日期:2023-09-12 20:47:51
目錄簡介:寫sqlldr只需2步:1:建立一個ctl控制文件 2:在命令窗口執(zhí)行,或者在shell腳本中寫擴展: sqlldr參數(shù)簡介:

SQL*LOADER是ORACLE的數(shù)據(jù)加載工具,通常用來將操作系統(tǒng)文件(數(shù)據(jù))遷移到ORACLE數(shù)據(jù)庫中。SQL*LOADER是大型數(shù)據(jù)倉庫選擇使用的加載方法,因為它提供了最快速的途徑(DIRECT,PARALLEL)。

目前的理解就是:把文本文件,log文件,excel導入到數(shù)據(jù)庫中

寫sqlldr只需2步:1:建立一個ctl控制文件 OPTIONS (skip=1,rows=128) #sqlldr 命令顯示的 選項可以寫到這里邊來,skip=1 用來跳過數(shù)據(jù)中的第一行LOAD DATA #控制文件標識 INFILE '/app/audit/shell/monitor/inter.txt' #要導入的文件。目前搜索資料看到的可以是log文件,txt文本文件,excel文件BADFILE '/app/audit/shell/monitor/inter.dat' #BADFILE 壞數(shù)據(jù)。這里還可以使用DISCARDFILE 來指定丟棄數(shù)據(jù)的文件,truncate #操作類型,用 truncate table 來清除表中原有 記錄 ,也可以用 insert,append,replace等代替truncate,下面會詳細講解into table ts_of_ceshi_mid1 #往ts_of_ceshi_mid1中插入數(shù)據(jù)Fields terminated by '|' #用于分割一行中各個屬性值的符號(例如每個屬性值用逗號 分割 , 那么就把 '|' 改為 ',') Optionally enclosed by ''' #數(shù)據(jù)中每個字段用 ''' 框起,比如字段中有 ',' 分隔符時TRAILING NULLCOLS #表的字段沒有對應的值時允 許為空 如果不加入這行導入到數(shù)據(jù)庫的時候就會自動跳過字段是null值的那一列, 這樣數(shù)據(jù)插入后就會屬性和值對應不上(orig_name,true_name,status,rec_num number, #字段可以指定類型,否則認 為是 CHARACTER 類型, log 文件中有顯示last_rec_num,last_cycle,last_status,finsh_date DATE 'YYYY-MM-DD HH24:MI:SS' #可以指定接受日期的格式,相當用 to_date() 函數(shù)轉換)2:在命令窗口執(zhí)行,或者在shell腳本中寫nohup sqlldr 用戶名/密碼@數(shù)據(jù)庫名稱 control=/app/audit/txt/inter.ctl log=/app/audit//txt/inter.log

nohup可以不用寫,我這是掛到后臺執(zhí)行,所以用nohup。可以直接寫:

sqlldr 用戶名/密碼@數(shù)據(jù)庫名稱 control=/app/audit/txt/inter.ctl log=/app/audit//txt/inter.log擴展: sqlldr參數(shù)

有效的關鍵字:userid -- ORACLE username/passwordcontrol -- 控制文件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ù)文件,默認情況不產(chǎn)生,必須指定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/oskip_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ù),則默認為64kexternal_table -- not_used:不使用外部表,通過常規(guī)路徑或直接路徑加載數(shù)據(jù)enerate_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 : --指定直接路徑加載時流緩沖區(qū)的大小 Size of direct path stream buffer in bytes(默認256000) 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 statementresumable_timeout --會話超時,在多少時間未能執(zhí)行sqlldr則退出,設置true有效 ,wait time (in seconds) for RESUMABLE(默認7200)date_cache --日期轉換用緩存在,用于提高轉換效率.僅在直接路徑加載時有用 ,size (in entries) of date conversion cache(默認1000)

到此這篇關于關于Oracle中SqlLoader的用法的文章就介紹到這了,更多相關SqlLoader用法內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

主站蜘蛛池模板: 国产在线不卡 | 在线视频第一页 | 亚洲一区二区三区在线视频 | 午夜一区二区三区视频 | ww 255hh 在线观看 | 欧美激情在线一区二区三区 | 日韩一三区 | 成年网站在线观看 | 欧美精品一区二区三区在线播放 | 欧美一区二区三区大片 | 国产99久久精品一区二区永久免费 | 色桃网| 波多野结衣一区二区 | 久久99精品久久久久久国产越南 | 成人免费在线网 | 久久在线看| 国产精品精品视频一区二区三区 | 激情三区 | 欧美中文字幕一区二区三区亚洲 | 国产精品久久久久无码av | 亚洲黄色片免费观看 | 91免费电影 | 国产xxxx搡xxxxx搡麻豆 | 午夜欧美一区二区三区在线播放 | 国产亚洲精品久久情网 | 国产日韩欧美 | 91精品国产综合久久久久久蜜臀 | 久久久久www| 国产欧美视频一区二区三区 | 国产精品电影在线观看 | 久色网 | a成人| 日韩一区二区三区在线观看 | 久久99这里只有精品 | 亚洲入口| 97国产在线视频 | 欧产日产国产精品99 | 中文av字幕 | 最新超碰 | 国产欧美在线观看 | 久久国际精品 |