Posted on 2009-08-07 00:34
Prayer 閱讀(890)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
DB2
打開(kāi)和關(guān)閉快照
缺省情況不打開(kāi) DB2 監(jiān)控,必須在連接或?qū)嵗?jí)別上進(jìn)行設(shè)置。有一系列監(jiān)視器開(kāi)關(guān)來(lái)決定是否監(jiān)控某種數(shù)據(jù)元素。還預(yù)留了一個(gè)內(nèi)存堆,用于包含為監(jiān)控而存儲(chǔ)的信息。
1:在instance級(jí)別上設(shè)置監(jiān)視器開(kāi)關(guān)
在實(shí)例級(jí)別上設(shè)置監(jiān)視器開(kāi)關(guān)會(huì)影響連接到該實(shí)例中任何數(shù)據(jù)庫(kù)的所有用戶。
下面是監(jiān)視器開(kāi)關(guān)
DFT_MON_STMT:語(yǔ)句監(jiān)視器(用于動(dòng)態(tài) SQL)
DFT_MON_TABLE:表監(jiān)視器
DFT_MON_LOCK:鎖監(jiān)視器
DFT_MON_BUFPOOL:緩沖池監(jiān)視器
DFT_MON_SORT:排序監(jiān)視器
DFT_MON_UOW:工作單元信息
DFT_MON_TIMESTAMP:跟蹤時(shí)間戳記信息
這些開(kāi)關(guān)的值存儲(chǔ)在數(shù)據(jù)庫(kù)管理器配置信息中(都是聯(lián)機(jī)配置參數(shù))
例:db2 update dbm cfg using DFT_MON_LOCK ON
2:在應(yīng)用程序級(jí)別上設(shè)置監(jiān)視器開(kāi)關(guān)
也可以在應(yīng)用程序級(jí)別上設(shè)置監(jiān)視器開(kāi)關(guān);用這種方法設(shè)置開(kāi)關(guān)只適用于特定的應(yīng)用程序。如果您在命令提示符或命令窗口中使用下面列出的方法,所做的更改將只適用于這個(gè)特定的提示符窗口。
開(kāi)關(guān)名稱(chēng):
Bufferpool
Lock
Sort
Statement
Table
Timestamp
UOW
列出開(kāi)關(guān):
db2 get monitor switches
設(shè)置開(kāi)關(guān):
db2 update monitor switches using switchName [ON | OFF]
復(fù)位開(kāi)關(guān)
可將監(jiān)視器開(kāi)關(guān)的所有值復(fù)位成空值或 0:
db2 reset monitor [ALL | for database databaseName] [at dbpartitionnum partitionNum]
使用動(dòng)態(tài) SQL 快照來(lái)查找執(zhí)行速度較慢的 SQL
可以用它來(lái)查找數(shù)據(jù)庫(kù)中最耗時(shí)的 SQL 語(yǔ)句:
SELECT stmt_text, total_exec_time, num_executions FROM TABLE( SNAPSHOT_DYN_SQL('DREW_DB', -1)) as dynSnapTab ORDER BY total_exec_time desc FETCH FIRST 1 ROW ONLY
第二個(gè)示例查找平均執(zhí)行時(shí)間最長(zhǎng)的五條 SQL 語(yǔ)句:
SELECT stmt_text, CASE WHEN num_executions = 0 THEN 0 ELSE (total_exec_time / num_executions) END avgExecTime,num_executions FROM TABLE( SNAPSHOT_DYN_SQL('DREW_DB', -1)) as dynSnapTab ORDER BY avgExecTime desc FETCH FIRST 5 ROWS ONLY