DB2數(shù)據(jù)庫動態(tài)SQL和存儲過程與查看
此文講述的是DB2數(shù)據(jù)庫動態(tài)SQL和存儲過程SQL的正確查看,我們大家都知道動態(tài)SQL可以用snapshot查看,對于存儲過程里SQL語句的執(zhí)行情況用event monitor對其進(jìn)行查看。(先挖個坑,以后補(bǔ)充)以下就是文章的主要內(nèi)容的詳細(xì)描述。
補(bǔ)充1:event monitor(轉(zhuǎn)載)
運(yùn)行事件監(jiān)視器
與snapshot不同,事件監(jiān)視器對 DB2 的性能影響極大。這是由于為每個事件對象寫的信息的數(shù)量造成的。語句監(jiān)視器對性能的影響極大,因為數(shù)據(jù)庫引擎必須為每個查詢執(zhí)行所有額外的工作:不只是能夠執(zhí)行查詢,DB2 引擎還必須寫出這條查詢的所有特征和運(yùn)行時信息。該信息必須寫入文本文件,這樣會進(jìn)一步降低性能。
首先,必須創(chuàng)建事件監(jiān)視器,運(yùn)行監(jiān)視器來收集將要分析的數(shù)據(jù)。 rkmon是事件監(jiān)視器的名稱
打開一個新的 DB2 命令行處理器會話,然后執(zhí)行以下 DB2 UDB 命令:
- db2 => connect to dbname
- db2 => update monitor switches using statement on
- db2 => create event monitor rkmon for statements write to file '/db2'
- db2 => set event monitor rkmon state=1
使該會話一直處于打開狀態(tài),直到這些數(shù)據(jù)庫活動完成。請確保 /db2 目錄有足夠大的空間來保存跟蹤文件。這里選擇 /db2目錄是因為所有用戶都可以訪問該目錄;但也可以選擇使用其它目錄(請確保對于該目錄,DB2 有訪問權(quán)限)。目錄的大小取決于用戶想要捕獲的 SQL 語句的數(shù)目。一開始,***設(shè)為 500 MB。
執(zhí)行正常的數(shù)據(jù)庫活動,直到您想監(jiān)控的時段結(jié)束。這一監(jiān)控階段可以是問題產(chǎn)生時期,也可以是通常的數(shù)據(jù)庫活動過程。在 /db2 目錄下,您應(yīng)該可以看到一組擴(kuò)展名為“ .evt ”的文件。
回到在步驟 1 中所打開的會話,然后發(fā)出以下語句:
- db2 => set event monitor rkmon state=0
- db2 => terminate
在平常的命令提示符下,執(zhí)行以下命令:
$ db2evmon -path /db2 > sqltrace.txt
刪除rkmon
- drop event monitor rkmon
以上的相關(guān)內(nèi)容就是對DB2數(shù)據(jù)庫動態(tài)SQL和存儲過程SQL查看的介紹,望你能有所收獲。
上述的相關(guān)內(nèi)容就是對DB2數(shù)據(jù)庫動態(tài)SQL和存儲過程SQL查看的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】