DB2效能調優

sqysl發表於2016-06-09

1、更新統計資訊

--更新資料庫所有表統計資訊

    --連線到資料庫(-v選項,表示要回顯命令,以下同)

    db2 -v connect to DB_NAME

    --檢視是否收集過統計資訊,什麼時候更新的
    db2 -v "select tbname, nleaf, nlevels, stats_time from sysibm.sysindexes"

    --更新所有表統計資訊
    db2 -v reorgchk update statistics on table all

    --再次檢視統計資訊狀態
    db2 -v "select tbname, nleaf, nlevels, stats_time from sysibm.sysindexes"

    --中斷會話使統計資訊起作用
    db2 -v terminate

  --更新單表統計資訊

    db2 -v runstats on table TAB_NAME and indexes all

2、配置緩衝池引數,以確定緩衝池大小

    --連線資料庫

    db2 -v connect to DB_NAME

    --檢視緩衝池
    db2 -v select * from syscat.bufferpools

    --更改預設緩衝池大小
    db2 -v alter bufferpool IBMDEFAULTBP size -1

    --斷開資料庫連線
    db2 -v connect reset

    --修改資料庫BUFFPAGE引數
    db2 -v update db cfg for dbname using BUFFPAGE bigger_value

    --斷開資料庫連線
    db2 -v terminate

3、生成快照,計算緩衝池命中率

    --開啟緩衝池監視開關

    db2 -v update monitor switches using bufferpool on

    --檢視是否緩衝池見識開關是否開啟
    db2 -v get monitor switches

    --重置監視器
    db2 -v reset monitor all  
    -- 執行應用程式

    --獲取所有資料庫快照,並輸出到snap.out檔案
   db2 -v get snapshot for all databases > snap.out

    --獲取資料庫管理器快照,並輸出到snap.out檔案
    db2 -v get snapshot for dbm >> snap.out

    --獲取所有緩衝池快照,並輸出到snap.out檔案
    db2 -v get snapshot for all bufferpools >> snap.out

    --重置監視器
    db2 -v reset monitor all

    --斷開資料庫連線
    db2 -v terminate

    --在快照檔案snap.out裡查詢相應指標:logical reads及physical reads

    --計算緩衝區命中率

    (1 - ((buffer pool data physical reads + buffer pool index physical reads) /(buffer pool data logical reads + pool index logical reads))) * 100%

4、配置日誌緩衝相關引數LOGBUFSZ(預設值8*4k)

    --更改引數LOGBUFSZ

    db2 -v update database cfg for DB_NAME using LOGBUFSZ 256

    --斷開資料庫連線

    db2 -v terminate

5、配置應用堆大小引數APPHEAPSZ(DB2 EE為128*4K,DB2 EEE為64*4K)

    --更改引數APPHEAPSZ

    db2 -v update db cfg for DB_NAME using applheapsz 256

    --斷開資料庫連線

    db2 -v terminate

6、配置排序引數SORTHEAP(預設256*4k) 和 SHEAPTHRES

    --修改SORTHEAP引數(資料庫引數)

    db2 -v update db cfg for DB_NAME using SORTHEAP a_value

    --修改SHEAPTHRES引數(資料庫管理器引數)
    db2 -v update dbm cfg using SHEAPTHRES b_value
    db2 -v terminate

7、配置代理程式引數MAXAGENTS,NUM_POOLAGENTS和NUM_INITAGENTS

    --更改MAXAGENTS引數

    db2 -v update dbm cfg using MAXAGENTS a_value

    --更改NUM_POOLAGENTS引數

    db2 -v update dbm cfg using NUM_POOLAGENTS b_value

    --更改NUM_INITAGENTS引數
    db2 -v update dbm cfg using NUM_INITAGENTS c_value

    --斷開資料庫連線以使引數更改生效

    db2 -v terminate

8、配置鎖相關引數LOCKLIST,MAXLOCKS(百分比)及LOCKTIMEOUT(秒)

    --更改引數LOCKLIST

    db2 -v update db cfg for DB_NAME using LOCKLIST a_number

    --更改引數MAXLOCKS

    db2 -v update db cfg for DB_NAME using MAXLOCKS b_number

    --更改引數LOCKTIMEOUT

    db2 -v update db cfg for DB_NAME using LOCKTIMEOUT c_number

    --斷開資料庫連線

    db2 -v terminate

9、配置應用相關引數MAXAPPLS

    --更改引數MAXAPPLS

    db2 -v update db cfg for DB_NAME using MAXAPPLS a_number

    --斷開資料庫連線

    db2 -v terminate

10、配置頁清除程式相關引數NUM_IOCLEANERS

    --更改引數NUM_IOCLEANERS

    db2 -v update db cfg for DB_NAME using NUM_IOCLEANERS a_number

    --斷開資料庫連線

    db2 -v terminate

9、配置按組提交相關引數MINCOMMIT(預設為1)

    --更改引數MINCOMMIT

    db2 -v update db cfg for DB_NAME using MINCOMMIT a_number

    --斷開資料庫連線

    db2 -v terminate

以上為DB2調優經常調整的引數及用到的語句,供大家參考,如需轉載,請註明出處。

 


 


 

 

 

 

 

 

 


        


 

 


 


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-2117805/,如需轉載,請註明出處,否則將追究法律責任。

相關文章