db2 update dbm cfg using FEDERATED yes
與
自動維護 (AUTO_MAINT) = ON
自動資料庫備份 (AUTO_DB_BACKUP) = OFF
自動表維護 (AUTO_TBL_MAINT) = ON
自動 runstats (AUTO_RUNSTATS) = ON
自動語句統計資訊 (AUTO_STMT_STATS) = ON
自動統計資訊概要分析 (AUTO_STATS_PROF) = ON
自動概要檔案更新 (AUTO_PROF_UPD) = ON
自動重組 (AUTO_REORG) = ON
紅色的有沖突
啟用自動表和索引重組
DB2 V9 可以對表和是以進行自動重組。要進行高效率的資料通路和獲得最佳工作負載性能,具有組織良好的表資料是很關鍵的。在對表資料進行許多更改之後,邏輯上連續的資料可能會位于不連續的實體資料頁上,在許多插入操作建立了溢出記錄時尤其如此。按這種方式組織資料時,資料庫管理器必須執行其他讀操作才能通路順序資料。另外,在删除大量行後,也需要執行其他的讀操作。表重組操作會整理資料碎片來減少浪費的空間,并對行進行重新排序以合并溢出記錄,進而加快資料通路速度并最終提高查詢性能。還可以指定根據特定索引來重新排序資料,以便查詢通過最少次資料讀取操作就可以通路資料。既可重組系統目錄表,也可以重組資料庫表。由 RUNSTATS 收集的統計資訊與其他資訊一起來顯示表中的資料分發情況。特别是,通過分析這些統計資訊可以知道何時需要執行哪種類型的重組。自動重組通過使用 REORGCHK 公式來确定何時需要對表進行重組。它會定期評估已經更新了統計資訊的表,以便了解是否需要重組。如果需要重組,則它會在内部排程對表進行傳統重組。這将要求執行應用程式功能而不對正在重組的表進行寫通路。可以使用 AUTO_REORG、AUTO_TBL_MAINT 和 AUTO_MAINT 資料庫配置參數來啟用或禁用自動重組功能部件。在分區資料庫環境中,确定執行自動重組和啟動自動重組是在目錄分區上完成的。隻需要在目錄分區上啟用資料庫配置參數。将在目标表所在的所有資料庫分區上運作重組。如果您不太确定何時以及如何重組表和索引,則可以将自動重組作為整個資料庫維護方案的一部分。
統計資訊概要檔案是由 RUNSTATS 實用程式提供了一個選項來注冊并使用的,該檔案是一組選項,這些選項指定要對特定表收集的統計資訊,例如,表統計資訊、索引統計資訊或分布統計資訊。此功能部件簡化了統計資訊收集,它允許您存儲在發出 RUNSTATS 指令時指定的一些選項,進而,可以對表反複收集相同的統計資訊而不必重新輸入指令選項。無論實際上是否正在收集統計資訊,都可以注冊或更新統計資訊概要檔案。例如,要同時注冊概要檔案和收集統計資訊,可發出帶有 SET PROFILE 選項的 RUNSTATS 指令。要在實際上并沒有收集統計資訊的情況下隻注冊概要檔案,可發出帶有SET PROFILE ONLY 選項的 RUNSTATS 指令。要使用已經注冊的統計資訊概要檔案來收集統計資訊,發出 RUNSTATS 指令,并且隻指定表名和 USE PROFILE 選項。
統計資訊概要檔案還可以由 DB2 自動統計資訊概要分析自動生成。當啟用了此功能時,會收集有關資料庫活動的資訊,并将這些資訊存儲在查詢回報倉庫中。可根據此資料來生成統計資訊概要檔案。啟用此功能可以緩解統計資訊與特定工作負載相關的不确定性問題,并可以收集最少的統計資訊集來提供最佳的資料庫工作負載性能。可以将此功能與自動收集統計資訊功能配合使用,後一項功能會根據自動生成的統計資訊概要檔案中包含的資訊來自動安排統計資訊維護。要啟用此功能,需要已經通過設定适當的配置參數啟用了表的自動維護。AUTO_STATS_PROF 配置參數将激活查詢回報資料的收集,而 AOTO_PROF_UPD 配置參數将激活生成統計資訊概要檔案以供自動收集統計資訊使用。
需要注意的是,生成統計資訊概要檔案不太适合 OLTP 環境中,比較适合 OLAP(運作使用許多謂詞的大而複雜的查詢、謂詞列的資料中經常具有關聯以及對幾個表進行連接配接和分組)環境中使用。另外,自動生成統計資訊概要檔案隻能以 DB2 串行方式激活,而對于聯合環境、多分區 MPP 環境以及啟用了分區内并行性的環境中的查詢将禁用此功能。
接下來為了示範統計資訊概要檔案不能在聯合環境中使用,我們先把 DBM CFG 中的 FEDERATED 配置參數設定成 ON,打開聯合系統,送出,斷開所有連接配接,重新開機示例,在 DB2CLP 視窗環境中,輸入 UPDATE DBM CFG 等指令,具體如清單 1 所示:
清單 1. 更新 DBM CFG 參數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
接下來我們連上資料庫,對清單1中建立的示例資料庫 DB2TEST1 啟用自動統計資訊概要分析和自動概要檔案更新功能,在 DB2CLP 視窗環境中 ,連接配接上示例資料庫 DB2TEST1,通過發出 UPDATE DB CFG 指令修改自動統計資訊概要分析(AUTO_STATS_PROF)、自動概要檔案更新(AOTO_PROF_UPD)參數,将其值置為 ON,具體如清單 2 所示:
清單 2. 更新 DB CFG 參數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
指令執行失敗,報 SQL0270N 錯誤,通過查詢 DB2 幫助得知這是由于在聯合系統中自動統計資訊概要分析和自動概要檔案更功能,我們在 DB2CLP 視窗中發出“DB2 ? SQL錯誤号”指令查詢 SQL0270N(原因碼 = " 75 " )對應的錯誤,具體如清單 3 所示:
清單 3. 更新 DB CFG 參數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
通過幫助我們的使用者響應,我們需要把系統更改為非聯合的。接下來我們把我們先把DBM CFG中的FEDERATED配置參數設定成NO,關閉聯合系統,送出,斷開所有連接配接,重新開機示例,在DB2CLP視窗環境中,輸入UPDATE DBM CFG 等指令,具體如清單12所示:
清單 4. 更新 DBM CFG 參數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
接下來我們再次連上資料庫,對示例資料庫DB2TEST1啟用自動統計資訊概要分析和自動概要檔案更新功能,在 DB2CLP 視窗環境中 ,連接配接上示例資料庫 DB2TEST1,通過發出 UPDATE DB CFG 指令修改自動統計資訊概要分析(AUTO_STATS_PROF)、自動概要檔案更新(AOTO_PROF_UPD)參數,将其值置為 ON,具體如清單 13 所示:
清單 5. 更新 DB CFG 參數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
這樣我們就成功地啟用自動統計資訊概要分析和自動概要檔案更新功能,可以通過 GET DB CFG 檢視配置參數,具體如清單 6 所示:
清單 6. 檢視示例資料庫 DB2TEST1 的配置參數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
接下來繼續在DB2CLP視窗中中打開自動重組功能,輸入UPDATGE DB CFG指令,把AUTO_REORG參數置成ON,打開自動重組功能(自動維護和自動表維護等父項開關必須都打開才有效),具體如清單 7 所示:
清單 7. 更新 DB CFG 參數
1 2 | |
指令成功完成,這樣我們就打開了自動重組功能。另外,同本文的第一部分和第二部分一樣,對自動重組、自動統計資訊概要分析、自動概要檔案更新也可以在圖形化界面的配置自動維護中進行。
在控制中心在示例資料庫DB2TEST1上右鍵單擊,選擇自動維護視窗, 打開,在第五個頁面“選擇要配置的維護活動”頁面中對“整理表和索引資料碎片( REORG )”這條記錄中的“自動化”列打上勾即可,具體界面如圖12所示:
圖 1. 配置自動維護視窗選擇配置的維護活動頁面
輕按兩下“整理表和索引資料碎片( REORG )”記錄,或者選中這條記錄并單擊頁面下面的“配置設定”按鈕,就會打開“配置設定-整理資料碎片( REORG )”視窗,在其第一個标簽頁“表作用域”中,可以指定要将資料庫中的哪些表用于自動重組。要排除特定表,使用“選擇的表”選項并辨別要使用國旅排除哪些表。要限制将進行自動重組的表的大小,可以指定大小限制。具體界面如圖13所示:
圖 2. 配置設定 - - 整理資料碎片( REORG )
在其第二個标簽頁“重組選項”中,可以指定索引重組方式是使用聯機還是脫機,聯機的方式允許對索引進行寫通路,聯機索引重組将在聯機維護視窗中運作,注意,如果不允許對表進行寫通路,則将使用脫機方式并且将在脫機維護視窗中運作索引重組。脫機方式允許對索引進行讀通路。脫機索引重組将在脫機維護視窗中運作,注意,如果不允許對表進行讀通路,則将在不進行通路的情況下重試脫機索引重組。
另外,本視窗還可以指定要用于壓縮資料字典的選項,預設是保留,也可以重新選擇成重建。具體如圖14所示:
圖 3. 配置設定 - - 整理資料碎片( REORG )
關于配置自動維護視窗的其他頁面和上面所述的差不多,不再累述。