新聞中心
在DB2調(diào)優(yōu)過程中經(jīng)常希望能夠獲取當(dāng)前生產(chǎn)環(huán)境中執(zhí)行緩慢的sql,獲取后可以針對特定慢的sql進(jìn)行精確調(diào)優(yōu)。以下腳本可以利用,操作還是比較繁瑣,需要手動運(yùn)行。
成都創(chuàng)新互聯(lián)公司擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶提供定制化的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)、服務(wù)器托管解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、商城系統(tǒng)網(wǎng)站開發(fā)、政府網(wǎng)站等各類型客戶群體,為全球1000+企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。
db2 connect to tablename;
db2 -x "
select current timestamp ||'|'|| stmt_text ||'|'|| member
||'|'|| NUM_EXEC_WITH_METRICS ||'|'|| TOTAL_ACT_TIME ||'|'|| TOTAL_ACT_WAIT_TIME ||'|'|| TOTAL_CPU_TIME
||'|'|| POOL_READ_TIME ||'|'|| LOCK_WAIT_TIME ||'|'|| TOTAL_SECTION_SORT_TIME ||'|'|| TOTAL_SECTION_SORTS
||'|'|| ROWS_READ ||'|'|| ROWS_RETURNED ||'|'|| POOL_DATA_L_READS ||'|'|| POOL_TEMP_DATA_L_READS
||'|'|| POOL_INDEX_L_READS ||'|'|| POOL_TEMP_INDEX_L_READS ||'|'|| POOL_DATA_P_READS
||'|'|| POOL_TEMP_DATA_P_READS ||'|'|| POOL_INDEX_P_READS ||'|'|| POOL_TEMP_INDEX_P_READS
||'|'|| SORT_OVERFLOWS ||'|'|| TOTAL_SECTION_TIME ||'|'|| TOTAL_SECTION_PROC_TIME
||'|'|| FCM_RECV_WAIT_TIME ||'|'|| FCM_SEND_WAIT_TIME
FROM
(SELECT * FROM TABLE(MON_GET_PKG_CACHE_STMT(NULL , NULL, '5 ', -2))
WHERE NUM_EXEC_WITH_METRICS > 0 AND TOTAL_ACT_WAIT_TIME> 5000)
WHERE TOTAL_ACT_WAIT_TIME/(NUM_EXEC_WITH_METRICS*1.0) > 5000" >> sqllist.txt
db2 connect reset;
腳本說明
這段腳本是抓取慢SQL的腳本,需要在數(shù)據(jù)庫服務(wù)器上每5分鐘執(zhí)行一次。
- 腳本每次執(zhí)行會抓取過去5分鐘里平均執(zhí)行時(shí)間大于5秒的SQL語句
- 抓取的SQL會輸出到文件sqllist.txt中,監(jiān)控該文件的大小,避免文件過大導(dǎo)致磁盤空間相關(guān)問題
- 因?yàn)槟_本每次運(yùn)行抓取的只是過去5分鐘執(zhí)行過的SQL語句,在白天工作時(shí)間執(zhí)行就可以了,w無人值守的時(shí)間將腳本執(zhí)行關(guān)閉掉。
參數(shù)說明
具體的監(jiān)控內(nèi)容,可以通過ibm官網(wǎng)進(jìn)行查詢
例如 TOTAL_ACT_TIME
網(wǎng)頁名稱:DB2調(diào)優(yōu)(一)監(jiān)控執(zhí)行緩慢的SQL
瀏覽路徑:http://fisionsoft.com.cn/article/ghsspp.html