程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 使用DB2look重新創建優化器訪問計劃(6)

使用DB2look重新創建優化器訪問計劃(6)

編輯:DB2教程

示例 3:

 

您需要在單分區的環境中模擬生產中的整個數據庫以進行測試。

 

注意:如果測試中的數據庫名與生產中的不同,那麼可能需要修改每個 db2look 輸出中的數據庫名。

 

步驟 1:

使用 -l 選項收集 db2look,以收集表空間/緩沖池/數據庫節點組信息。

 

db2look -d <dbname> -l -o storage.out

 

 

 

修改表空間信息以適應您的測試環境。例如:在生產中,您具有下列表空間:

 

------------------------------------ 

-- DDL Statements for TABLESPACES -- 

------------------------------------ 

CREATE REGULAR TABLESPACE DMS1 IN DATABASE 
PARTITION GROUP IBMDEFAULTGROUP 

PAGESIZE 4096 MANAGED BY DATABASE 

USING ( FILE ’/data/dms1’20000, 

FILE ’/data/dms2’20000, 

FILE ’/data/dms3’20000) 

EXTENTSIZE 32 

PREFETCHSIZE 32 

BUFFERPOOL IBMDEFAULTBP 

OVERHEAD 12.670000 

TRANSFERRATE 0.180000 

DROPPED TABLE RECOVERY ON;

 

 

如果測試上沒有設置相同的路徑,那麼就要修改上面的位置。如果您僅僅計劃模擬環境,而不要復制整個數據,那麼就減小文件的大小,並在必要時使用較少容器。如果沒有創建相同的緩沖池,那麼您還可能修改緩沖池名稱。緩沖池必須具有相同的頁面大小(pagesize)。不要修改表空間的頁面大小。一旦處理了這些並創建了數據庫,就運行 storage.out 文件:

 

db2 -tvf storage.out

 

 

 

如果需要,就重新定向輸出以確保都成功運行了。例如:

 

db2 -tvf storage.out > storage_results.out

 

 

 

步驟 2:從生產中收集配置和環境變量信息,並在測試系統上運行它:

 

db2look -d sample -f -fd -o config.out

 

 

 

請記住,在 MPP 環境中,這將為運行該命令的節點收集該信息。如果不同的數據庫分區上的 DB2 注冊表和數據庫以及數據庫管理器配置不同,您將需要為每個節點分別收集該信息。然而,如果測試中無法具有與生產中相同的分區,那麼就從生產中執行該查詢的節點中收集該信息,然後在測試中使用該信息。

 

請注意:如果測試中具有不同的分區數目,那麼您的模擬將有所欠缺。

 

在測試系統上,運行 config.out 文件,如下:

 

db2 -tvf config.out

 

上面考慮到優化器將使用 db2fopt 信息來查看所分配的總的緩沖池和排序堆,現在將成為測試環境中的設置。而且,這也是在測試中由於內存約束而不具有與生產中相同的緩沖池以及排序堆時所使用的技術。同時,本文前面所討論的配置參數以及環境變量也將進行更新。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved