电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

DB2中的數(shù)據(jù)移動——裝入(1)

瀏覽:3日期:2023-11-10 17:10:59
裝入(Load)裝入命令格式與導(dǎo)入類似,命令要害字是Load,但是后面的參數(shù)比導(dǎo)入命令多的多,具體用法可以自行參考DB2文檔。裝入與導(dǎo)入類似,都是將輸入文件中的數(shù)據(jù)移入到目標(biāo)表中,二者的不同點(diǎn)將在實(shí)例中逐步解釋。在裝入之前,目標(biāo)表必須已經(jīng)存在。裝入的性能比導(dǎo)入高,原因在后面結(jié)合實(shí)例具體解釋。裝入操作不記錄到日志中,所以不能使用日志文件進(jìn)行前滾操作。裝入分為4個(gè)階段:1. 裝入階段在這個(gè)階段發(fā)生兩件事:數(shù)據(jù)存儲在表中,收集索引鍵并排序。在裝入時(shí),DBA可以指定多長時(shí)間生成一致點(diǎn)。它是裝入工具的檢查點(diǎn)。假如裝入在執(zhí)行期間被打斷,它可以從最后一個(gè)一致點(diǎn)處開始繼續(xù)重新執(zhí)行。2. 構(gòu)建階段在構(gòu)建階段,基于在裝入階段收集的索引鍵信息創(chuàng)建索引。假如在構(gòu)建階段發(fā)生錯(cuò)誤,裝入工具就重啟,它將從構(gòu)建階段開始處重新開始構(gòu)建。3. 在刪除階段,所有違反唯一或主鍵約束的行都被刪除并拷貝到一個(gè)異常表(假如在語句中指定相應(yīng)選項(xiàng))中。當(dāng)輸入行被拒絕,消息文件中就生成消息。4. 索引拷貝階段假如在裝入操作期間為索引創(chuàng)建指定了系統(tǒng)臨時(shí)表空間,并且選擇了 READ ACCESS 選項(xiàng),該索引數(shù)據(jù)將從系統(tǒng)臨時(shí)表空間拷貝到原來的表空間。裝入過程的所有四個(gè)階段都是操作的一部分,只有在所有的四個(gè)階段都完成之后,該裝入操作才算完成。在每個(gè)階段都將生成消息,一旦其中的某個(gè)階段發(fā)生錯(cuò)誤,這些消息可以幫助DBA分析并解決問題。導(dǎo)入操作每次插入一行數(shù)據(jù)時(shí)都要檢查是否滿足約束條件,并且記入日志文件中。下面我們看一些LOAD命令特有的功能,IMPORT命令也能做的就不再具體說了。 123456下一頁 例十二:從光標(biāo)類型文件中進(jìn)行裝入定義一個(gè)cursordeclare mycur cursor for select * from org創(chuàng)建一個(gè)新表,結(jié)構(gòu)與cursor相容create table org2 like org從cursor中裝入load from mycur of cursor insert into org2除了可以從cursor中裝入,還可以從文件、管道、設(shè)備中進(jìn)行裝入。而導(dǎo)入命令只能從文件中導(dǎo)入。例十三:關(guān)于異常表由用戶定義的異常表可以用于存儲不遵循唯一約束和主碼約束的行。假如裝入的時(shí)候沒有指定異常表,則違反唯一約束的行將被丟棄并且將不再有機(jī)會恢復(fù)或修改。用SAMPLE數(shù)據(jù)庫中的STAFF表做實(shí)驗(yàn)1. 創(chuàng)建一個(gè)結(jié)構(gòu)與STAFF表相同的表STAFF1CREATE TABLE STAFF1 LIKE STAFF2. 把STAFF表中的一部分?jǐn)?shù)據(jù)插入到STAFF1中INSERT INTO STAFF1 SELECT * FROM STAFF WHERE ID<=1603. 再創(chuàng)建一個(gè)結(jié)構(gòu)與STAFF1相同的表STAFFEXP,作為異常表CREATE TABLE STAFFEXP LIKE STAFF14. 給該異常表添加一列,因?yàn)楫惓1砗推胀ū硐啾龋懊娴慕Y(jié)構(gòu)都相同,就是最后多出一列或兩列(列名任意),第一列是時(shí)間戳類型,記錄異常記錄插入的時(shí)間,第二列是大文本類型(至少為32K大小),保存導(dǎo)致該條記錄被拒絕的特定約束信息。本例中只添加一個(gè)時(shí)間戳列。ALTER TABLE STAFFEXP ADD COLUMN TIME TIMESTAMP5. 為STAFF1表創(chuàng)建一個(gè)唯一索引CREATE UNIQUE INDEX IDXSTAFF ON STAFF1(ID)6. 先運(yùn)行導(dǎo)出命令做出一個(gè)文本文件EXPORT TO D:STAFF.TXT OF DEL SELECT * FROM STAFF7. 然后運(yùn)行裝入命令把數(shù)據(jù)再裝入到STAFF1表中LOAD FROM D:STAFF.TXT OF DEL INSERT INTO STAFF1 FOR EXCEPTION STAFFEXP 上一頁123456下一頁 由于表STAFF1中有唯一索引,所以會有一部分?jǐn)?shù)據(jù)因?yàn)檫`反這個(gè)約束條件而不能插入到STAFF1表中,這些記錄就會插入到異常表STAFFEXP中。注重一點(diǎn),異常表必須自己先定義好,裝入命令不能夠自動生成異常表,假如找不到指定的異常表,就會報(bào)錯(cuò)。例十四:關(guān)于DUMP文件格式不正確的行會被拒絕。通過指定DUMPFILE文件類型修飾符可以使這些被拒絕的記錄單獨(dú)放在指定的文件里。用SAMPLE數(shù)據(jù)庫中的STAFF表做實(shí)驗(yàn)1. 創(chuàng)建一個(gè)結(jié)構(gòu)與STAFF表相同的表STAFF1CREATE TABLE STAFF1 LIKE STAFF2. 把STAFF表中的一部分?jǐn)?shù)據(jù)插入到STAFF1中INSERT INTO STAFF1 SELECT * FROM STAFF WHERE ID<=1603. 再創(chuàng)建一個(gè)結(jié)構(gòu)與STAFF1相同的表STAFFEXP,作為異常表CREATE TABLE STAFFEXP LIKE STAFF14. 給該異常表添加一列ALTER TABLE STAFFEXP ADD COLUMN TIME TIMESTAMP5. 為STAFF1表創(chuàng)建一個(gè)唯一索引CREATE UNIQUE INDEX IDXSTAFF ON STAFF1(ID)6. 先運(yùn)行導(dǎo)出命令做出一個(gè)文本文件EXPORT TO D:STAFF.TXT OF DEL SELECT * FROM STAFF到D盤上打開STAFF.TXT文件,把第一列等于320的行替換為:"abcf","aaa","sdfg"7. 然后運(yùn)行裝入命令把數(shù)據(jù)再裝入到STAFF1表中LOAD FROM D:STAFF.TXT OF DEL MODIFIED BY DUMPFILE=d:dump INSERT INTO STAFF1 FOR EXCEPTION STAFFEXP裝入的結(jié)果報(bào)告中會有如下一條:SQL3118W 在行 "32" 列 "1" 中的字段值不能轉(zhuǎn)換為 SMALLINT 值,但是目標(biāo)列不可為空。未裝入該行。SQL3185W 當(dāng)處理輸入文件的第 "32" 行中的數(shù)據(jù)時(shí)發(fā)生先前的錯(cuò)誤。 上一頁123456下一頁 打開D盤的dump.000文件,會看到造成異常的那一行數(shù)據(jù):"abcf","aaa","sdfg"通過這個(gè)例子,我們可以理解,假如一行數(shù)據(jù)的格式不正確,在裝入的時(shí)候會遭到拒絕,該行記錄會放到DUMP文件中;而假如數(shù)據(jù)格式正確,但是不滿足表的約束條件,該行記錄會放到異常表中。例十五:限制裝入行數(shù)用ROWCOUNT選項(xiàng)可以指定從文件開始處裝入的記錄數(shù)LOAD FROM D:STAFF.TXT OF DEL ROWCOUNT 3 INSERT INTO STAFF1例十六:出現(xiàn)警告信息時(shí)強(qiáng)令裝入操作失敗在某些情況下,文件中的數(shù)據(jù)必須全部成功輸入到目標(biāo)表中才算成功,即使有一條記錄出錯(cuò)也不行。在這種情況下,可以使用WARNINGCOUNT選項(xiàng)。到D盤上打開STAFF.TXT文件,把第一列等于320的行替換為:"abcf","aaa","sdfg"LOAD FROM D:STAFF.TXT OF DEL WARNINGCOUNT 1 INSERT INTO STAFF1運(yùn)行結(jié)果包含下面的警告:SQL3118W 在行 "32" 列 "1" 中的字段值不能轉(zhuǎn)換為 SMALLINT值,但是目標(biāo)列不可為空。未裝入該行。SQL3185W 當(dāng)處理輸入文件的第 "32" 行中的數(shù)據(jù)時(shí)發(fā)生先前的錯(cuò)誤。SQL3502N 實(shí)用程序碰到了 "1" 個(gè)警告,它超過了答應(yīng)的最大警告數(shù)。此時(shí)無法對表STAFF1進(jìn)行操作,例如SELECT * FROM STAFF1會返回:ID NAME DEPT  JOB  YEARS SALARYCOMM------ --------- ------ ----- ------ --------- ---------SQL0668N 由于表 "USER.STAFF1" 上的原因代碼 "3",所以不答應(yīng)操作。SQLSTATE=57016 上一頁123456下一頁 原因是:表處于“裝入掛起狀態(tài)。對此表的先前的 LOAD 嘗試失敗。在重新啟動或終止 LOAD 操作之前不答應(yīng)對表進(jìn)行存取。解決方法為:通過分別發(fā)出帶有 RESTART 或 TERMINATER 選項(xiàng)的 LOAD 來重新啟動或終止先前失敗的對此表的 LOAD 操作。包含TERMINATER的LOAD命令可以終止裝入進(jìn)程,使目標(biāo)表恢復(fù)正常可用狀態(tài):LOAD FROM D:STAFF.TXT OF DEL TERMINATE INTO STAFF1包含RESTART的LOAD命令可以在源文件修改正確的時(shí)候使用,使裝入進(jìn)程重新開始:LOAD FROM D:STAFF.TXT OF DEL RESTART INTO STAFF1例十七:防止產(chǎn)生警告信息使用NOROWWARNINGS文件類型修飾符可以禁止產(chǎn)生警告信息,當(dāng)裝入過程可能出現(xiàn)大量警告信息,而用戶對此又不感愛好的時(shí)候,可以使用該選項(xiàng),這樣可以大大提高裝入的效率到D盤上打開STAFF.TXT文件,把第一列等于320的行替換為:"abcf","aaa","sdfg"LOAD FROM D:STAFF.TXT OF DEL MODIFIED BY NOROWWARNINGS INSERT INTO STAFF1運(yùn)行完的結(jié)果中,第32行出錯(cuò),該行無法裝入,但是不產(chǎn)生警告信息。例十八:生成統(tǒng)計(jì)數(shù)據(jù)使用STATISTICS選項(xiàng)可以在裝入的過程中生成統(tǒng)計(jì)數(shù)據(jù),這些統(tǒng)計(jì)數(shù)據(jù)可以供優(yōu)化器確定最有效的執(zhí)行SQL語句的方式。可以對表和索引產(chǎn)生不同具體程度的統(tǒng)計(jì)數(shù)據(jù):① 對表和索引產(chǎn)生最具體的統(tǒng)計(jì)數(shù)據(jù):LOAD FROM D:STAFF.TXT OF DEL REPLACE INTO STAFF1 STATISTICS YES WITH DISTRIBUTION AND DETAILED INDEXES ALL② 對表和索引都產(chǎn)生簡略的統(tǒng)計(jì):LOAD FROM D:STAFF.TXT OF DEL REPLACE INTO STAFF1 STATISTICS YES AND INDEXES ALL 上一頁123456下一頁 其它組合可以參考DB2文檔。注重:STATISTICS選項(xiàng)只能和REPLACE兼容,與INSERT選項(xiàng)不兼容。另外,通過STATISTICS選項(xiàng)做完統(tǒng)計(jì),我們看不到任何直接的結(jié)果,假如想查看其結(jié)果,需要到系統(tǒng)表中自己查詢。例十九:解除檢查掛起狀態(tài)1. 連接到SAMPLE數(shù)據(jù)庫上:Connect to sample2. 創(chuàng)建一個(gè)結(jié)構(gòu)與staff表相同的表:CREATE TABLE STAFF1 LIKE STAFF3. 給該表添加一個(gè)檢查約束:alter table staff1 add constraint chk check(dept<100)4. 到D盤上打開STAFF.TXT文件,把最后一行數(shù)據(jù)的第三列改為150,這樣該條數(shù)據(jù)就不滿足第3步加上的檢查約束條件了,然后用Load命令從文件中裝入數(shù)據(jù)到staff1表中:LOAD FROM D:STAFF.TXT OF DEL INSERT INTO STAFF15. 此時(shí)運(yùn)行查詢命令:Select * from staff1會得到錯(cuò)誤信息:SQL0668N 由于表 "USER.STAFF1" 上的原因代碼 "1",所以不答應(yīng)操作。SQLSTATE=57016原因是裝入時(shí)有數(shù)據(jù)違反了檢查約束,造成表處于檢查掛起狀態(tài)。6. 解除表的檢查掛起狀態(tài),使用:set integrity for staff1 check immediate unchecked再次運(yùn)行查詢命令:Select * from staff1發(fā)現(xiàn)表可以正常使用了,其中的違反檢查規(guī)則的數(shù)據(jù)也存在。例二十:性能因素在從文件向表導(dǎo)入數(shù)據(jù)的時(shí)候,當(dāng)數(shù)據(jù)量非凡大的情況下,裝入命令會明顯體現(xiàn)出優(yōu)勢,原因是它不像導(dǎo)入命令每次插入一行,并且在每行都要檢查是否滿足約束條件,裝入命令從輸入文件讀出數(shù)據(jù)構(gòu)建頁,把這些頁直接寫入數(shù)據(jù)庫,并且在每一行數(shù)據(jù)裝入時(shí)不判定是否滿足約束,另外裝入命令不寫日志,所有這些因素都導(dǎo)致裝入的效率高于導(dǎo)入。另外,裝入命令還有一些選項(xiàng)可以控制性能因素:1. COPY YES/NO和Nonrecoverable① Nonrecoverable(不可恢復(fù)的):指定裝入操作不可恢復(fù),并且不能由后續(xù)的前滾操作恢復(fù)。前滾操作忽略事務(wù)并且標(biāo)記正在裝入數(shù)據(jù)的表為“無效。② Copy No(默認(rèn)選項(xiàng)):在這種情況下,假如表所在數(shù)據(jù)庫的歸檔日志處于啟用狀態(tài),則裝入完成后,表所在的表空間將處于備份掛起狀態(tài),直到數(shù)據(jù)庫或表空間備份完畢,該表空間才成為可寫表空間。原因是裝入操作造成的變化沒有被記錄,所以要恢復(fù)裝入操作完成后發(fā)生的故障,備份數(shù)據(jù)庫或表空間是必要的。③ Copy Yes:在這種情況下,假如數(shù)據(jù)庫的歸檔日志啟用,裝入操作的改變將被保存到磁帶、目錄或TSM服務(wù)器,并且表空間將不再處于備份掛起狀態(tài)。2. Fastparse該文件類型修飾符用于減少數(shù)據(jù)檢查次數(shù)。它只能用于在數(shù)據(jù)已知正確的情況下,尤其適用于DEL和ASC類型的文件。3. Anyorder假如SAVECOUNT選項(xiàng)沒有使用,該參數(shù)答應(yīng)不遵照輸入文件中的數(shù)據(jù)順序進(jìn)行裝入,在SMP(對稱多處理機(jī))系統(tǒng)上CPU_PARALLELISM選項(xiàng)大于1的時(shí)候,該參數(shù)會提高裝入的性能。4. Data Buffer該參數(shù)用于指定從堆棧分配得到的4K大小的內(nèi)存頁面的數(shù)目,作為裝入的內(nèi)部緩沖區(qū),指定一個(gè)大緩沖區(qū)有助于提高裝入的性能。5. CPU_PARALLELISM該選項(xiàng)只能用于SMP系統(tǒng)上,可以指示使用多少進(jìn)程或線程解析、轉(zhuǎn)換、格式化數(shù)據(jù)。6. Disk_Parallelism該選項(xiàng)指定寫數(shù)據(jù)到磁盤的進(jìn)程或線程的數(shù)目。 上一頁123456
標(biāo)簽: DB2 數(shù)據(jù)庫
主站蜘蛛池模板: 档案密集架,移动密集架,手摇式密集架,吉林档案密集架-厂家直销★价格公道★质量保证 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | 全自动真空上料机_粉末真空上料机_气动真空上料机-南京奥威环保科技设备有限公司 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 精准猎取科技资讯,高效阅读科技新闻_科技猎 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 油漆辅料厂家_阴阳脚线_艺术漆厂家_内外墙涂料施工_乳胶漆专用防霉腻子粉_轻质粉刷石膏-魔法涂涂 | 飞行者联盟-飞机模拟机_无人机_低空经济_航空技术交流平台 | 衬四氟_衬氟储罐_四氟储罐-无锡市氟瑞特防腐科技有限公司 | 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 浙江宝泉阀门有限公司 | 北京三友信电子科技有限公司-ETC高速自动栏杆机|ETC机柜|激光车辆轮廓测量仪|嵌入式车道控制器 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 数控走心机-走心机价格-双主轴走心机-宝宇百科 | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 造价工程师网,考试时间查询,报名入口信息-网站首页 | 贵阳用友软件,贵州财务软件,贵阳ERP软件_贵州优智信息技术有限公司 | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | 吸音板,隔音板,吸音材料,吸音板价格,声学材料 - 佛山诺声吸音板厂家 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 隆众资讯-首页_大宗商品资讯_价格走势_市场行情 | 四川成人高考_四川成考报名网 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | UV固化机_UVLED光固化机_UV干燥机生产厂家-上海冠顶公司专业生产UV固化机设备 | 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 | IIS7站长之家-站长工具-爱网站请使用IIS7站长综合查询工具,中国站长【WWW.IIS7.COM】 | 模具ERP_模具管理系统_模具mes_模具进度管理_东莞市精纬软件有限公司 | 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 台湾Apex减速机_APEX行星减速机_台湾精锐减速机厂家代理【现货】-杭州摩森机电 | 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 |