明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

使用DB2look 重新創(chuàng)建優(yōu)化器訪問(wèn)計(jì)劃(5)

[摘要]示例 3: 您需要在單分區(qū)的環(huán)境中模擬生產(chǎn)中的整個(gè)數(shù)據(jù)庫(kù)以進(jìn)行測(cè)試。 注意:如果測(cè)試中的數(shù)據(jù)庫(kù)名與生產(chǎn)中的不同,那么可能需要修改每個(gè) db2look 輸出中的數(shù)據(jù)庫(kù)名。 步驟 1:使用 -l 選項(xiàng)收集 db2look,以收集表空間/緩沖池/數(shù)據(jù)庫(kù)節(jié)點(diǎn)組信息。 db2look -d <...
示例 3: 
您需要在單分區(qū)的環(huán)境中模擬生產(chǎn)中的整個(gè)數(shù)據(jù)庫(kù)以進(jìn)行測(cè)試。 
注意:如果測(cè)試中的數(shù)據(jù)庫(kù)名與生產(chǎn)中的不同,那么可能需要修改每個(gè) db2look 輸出中的數(shù)據(jù)庫(kù)名。 
步驟 1:使用 -l 選項(xiàng)收集 db2look,以收集表空間/緩沖池/數(shù)據(jù)庫(kù)節(jié)點(diǎn)組信息。 

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

修改表空間信息以適應(yīng)您的測(cè)試環(huán)境。例如,在生產(chǎn)中,您具有下列表空間: 

------------------------------------ 
-- 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; 

如果測(cè)試上沒(méi)有設(shè)置相同的路徑,那么就要修改上面的位置。如果您僅僅計(jì)劃模擬環(huán)境,而不要復(fù)制整個(gè)數(shù)據(jù),那么就減小文件的大小,并在必要時(shí)使用較少容器。如果沒(méi)有創(chuàng)建相同的緩沖池,那么您還可能修改緩沖池名稱(chēng)。緩沖池必須具有相同的頁(yè)面大。╬agesize)。不要修改表空間的頁(yè)面大小。一旦處理了這些并創(chuàng)建了數(shù)據(jù)庫(kù),就運(yùn)行 storage.out 文件: 

db2 -tvf storage.out 

如果需要,就重新定向輸出以確保都成功運(yùn)行了。例如: 
     
db2 -tvf storage.out > storage_results.out 

步驟 2:從生產(chǎn)中收集配置和環(huán)境變量信息,并在測(cè)試系統(tǒng)上運(yùn)行它: 

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

請(qǐng)記住,在 MPP 環(huán)境中,這將為運(yùn)行該命令的節(jié)點(diǎn)收集該信息。如果不同的數(shù)據(jù)庫(kù)分區(qū)上的 DB2 注冊(cè)表和數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)管理器配置不同,您將需要為每個(gè)節(jié)點(diǎn)分別收集該信息。然而,如果測(cè)試中無(wú)法具有與生產(chǎn)中相同的分區(qū),那么就從生產(chǎn)中執(zhí)行該查詢的節(jié)點(diǎn)中收集該信息,然后在測(cè)試中使用該信息。 
請(qǐng)注意,如果測(cè)試中具有不同的分區(qū)數(shù)目,那么您的模擬將有所欠缺。 
在測(cè)試系統(tǒng)上,運(yùn)行 config.out 文件,如下:  
db2 -tvf config.out  

上面考慮到優(yōu)化器將使用 db2fopt 信息來(lái)查看所分配的總的緩沖池和排序堆,現(xiàn)在將成為測(cè)試環(huán)境中的設(shè)置。而且,這也是在測(cè)試中由于內(nèi)存約束而不具有與生產(chǎn)中相同的緩沖池以及排序堆時(shí)所使用的技術(shù)。同時(shí),本文前面所討論的配置參數(shù)以及環(huán)境變量也將進(jìn)行更新。 
步驟 3:當(dāng)模擬整個(gè)數(shù)據(jù)庫(kù)時(shí),從生產(chǎn)中收集所有對(duì)象的 DDL 信息,并在測(cè)試中運(yùn)行 db2look。 

在生產(chǎn)中: 

db2look -d sample -e -a -m -o db2look.out 

在測(cè)試中: 

db2 -tvf db2look.out 

為了看到輸出結(jié)果,可發(fā)出: 

db2look -tvf db2look.out > db2look.results 

一旦完成了以上步驟,就請(qǐng)確保在測(cè)試中將 dbheap 數(shù)據(jù)庫(kù)配置參數(shù)設(shè)置為與生產(chǎn)中相同的值。 
步驟 4:使用 db2exfmt 從測(cè)試和生產(chǎn)中獲得訪問(wèn)計(jì)劃,并確保下列內(nèi)容與生產(chǎn)中的相同: 

     Database Context: 
---------------- 
        Parallelism:            None 
        CPU Speed:              4.762804e-07 
        Comm Speed:             100 
        Buffer Pool size:       128500 
        Sort Heap size:         128 
        Database Heap size:     5120 
        Lock List size:         12250 
        Maximum Lock List:      10 
        Average Applications:   4 
        Locks Available:        78400 

Package Context: 
--------------- 
        SQL Type:               Dynamic 
        Optimization Level:     3 
        Blocking:               Block All Cursors 
        Isolation Level:        Cursor Stability 


---------------- STATEMENT 1  SECTION 201 ---------------- 
        QUERYNO:                1 
        QUERYTAG:               CLP 
        Statement Type:         Select 
        Updatable:              No 
        Deletable:              No 
        Query Degree:           1 

[1] [2]  下一頁(yè)