- 論壇徽章:
- 0
|
DB2 日常監(jiān)控--SQL語(yǔ)句快照監(jiān)控DB2
以前,只能通過(guò)使用API來(lái)訪(fǎng)問(wèn)快照的輸出或使用命令行將輸出傳入文本文件,F(xiàn)在所有不同的快照都有表函數(shù),它們包含快照的所有字段。表函數(shù)獲取快照的輸出,并將其解析成表,然后可以使用SQL對(duì)表進(jìn)行訪(fǎng)問(wèn)。
快照監(jiān)視器SQL表函數(shù)有很多,其中的每一個(gè)表函數(shù)都捕獲一種特定類(lèi)型的監(jiān)視器數(shù)據(jù)。
所有的快照表函數(shù)都返回一張監(jiān)視器數(shù)據(jù)表,其中的每一行代表一個(gè)正被監(jiān)控的數(shù)據(jù)庫(kù)對(duì)象實(shí)例,而每一列代表一個(gè)監(jiān)視器元素。監(jiān)視器元素代表數(shù)據(jù)庫(kù)系統(tǒng)狀態(tài)的特定屬性。
使用快照表函數(shù)捕獲快照的前提,需要完成以下步驟:
1.連接至數(shù)據(jù)庫(kù)。
2.打開(kāi)需要監(jiān)控的快照類(lèi)型的開(kāi)關(guān)。
dbm cfg ...
***************************************************
Default database monitor switches
Buffer pool (DFT_MON_BUFPOOL) = OFF
Lock (DFT_MON_LOCK) = ON
Sort (DFT_MON_SORT) = OFF
Statement (DFT_MON_STMT) = OFF
Table (DFT_MON_TABLE) = OFF
Timestamp (DFT_MON_TIMESTAMP) = ON
Unit of work (DFT_MON_UOW) = OFF
Monitor health of instance and databases (HEALTH_MON) = ON
***************************************************
3.使用快照表函數(shù)發(fā)出查詢(xún)。
例如:select * from table(SNAPSHOT_TABLE('db2fxs',-1)) as B
該例子中的SQL語(yǔ)句是獲取當(dāng)時(shí)表快照的信息。其中有兩個(gè)參數(shù),一個(gè)是數(shù)據(jù)庫(kù)的名稱(chēng),本例中'sample',數(shù)據(jù)類(lèi)型是VARCHAR(255)。如果輸出NULL,那么就用當(dāng)前已連接的數(shù)據(jù)庫(kù)名稱(chēng)。另一個(gè)參數(shù)用于分區(qū)號(hào),數(shù)據(jù)類(lèi)型是SMALLINT.對(duì)于這個(gè)參數(shù),輸入一個(gè)整數(shù)(0-999)以對(duì)應(yīng)需要監(jiān)控的分區(qū)號(hào)。如果要捕獲當(dāng)前已連接分區(qū)的快照,請(qǐng)輸入值-1或NULL,要捕獲全局快照,請(qǐng)輸入值-2.
介紹一些常用的快照表函數(shù):
SNAPSHOT_DBM 獲得數(shù)據(jù)庫(kù)管理器信息
SNAPSHOT_DATABASE 數(shù)據(jù)庫(kù)信息。只有當(dāng)至少一個(gè)應(yīng)用程序連接至數(shù)據(jù)庫(kù)時(shí),才會(huì)返回信息。
SNAPSHOT_APPL 連接至分區(qū)上數(shù)據(jù)庫(kù)的應(yīng)用程序上有關(guān)鎖等待的應(yīng)用程序信息。
SNAPSHOT_APPL INFO 每個(gè)連接至分區(qū)上數(shù)據(jù)庫(kù)的應(yīng)用程序的常規(guī)應(yīng)用程序標(biāo)識(shí)信息。
SNAPSHOT_LOCKWAIT 有關(guān)鎖等待連接至分區(qū)上數(shù)據(jù)庫(kù)的應(yīng)用程序信息。
SNAPSHOT_STATMENT 有關(guān)應(yīng)用程序的語(yǔ)句的信息
SNAPSHOT_TABLE 有關(guān)表活動(dòng)的信息
SNAPSHOT_LOCK 數(shù)據(jù)庫(kù)級(jí)別上的鎖信息
SNAPSHOT_TBS 表空間活動(dòng)信息
SNAPSHOT_BP 緩沖池活動(dòng)信息
SNAPSHOT_DYN 來(lái)自于數(shù)據(jù)庫(kù)的SQL語(yǔ)句高速緩存的某個(gè)時(shí)間點(diǎn)語(yǔ)句的信息。
某些快照表函數(shù)只有一個(gè)參數(shù),第一個(gè)參數(shù)表示數(shù)據(jù)庫(kù)名稱(chēng)的參數(shù)有時(shí)是不需要的。例如SNAPSHOT_DBM參數(shù)只有一個(gè)分區(qū)號(hào)參數(shù)。
還有一種方法是通過(guò)文件訪(fǎng)問(wèn)捕獲監(jiān)視器數(shù)據(jù)快照。其是通過(guò)執(zhí)行SNAPSHOT_FILEW這個(gè)存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn)的。這樣可以讓多個(gè)用戶(hù)可以得到監(jiān)視器數(shù)據(jù)快照的信息。具體方法不細(xì)說(shuō)了,可以自己查一查。估計(jì)用處不如上面介紹的直接通過(guò)SQL語(yǔ)句的方法普遍。 |
|