如果需要查看DB2動態SQL用snapshot查看,下面就為您介紹這種DB2動態SQL的查看方法,希望可以對您學習DB2動態SQL方面有所幫助。
存儲過程裡SQL語句的執行情況用event monitor查看。
(先挖個坑,以後補充)
補充1:event monitor(轉載)
運行事件監視器
與snapshot不同,事件監視器對DB2的性能影響極大。這是由於為每個事件對象寫的信息的數量造成的。語句監視器對性能的影響極大,因為數據庫引擎必須為每個查詢執行所有額外的工作:不只是能夠執行查詢,DB2 引擎還必須寫出這條查詢的所有特征和運行時信息。該信息必須寫入文本文件,這樣會進一步降低性能。
首先,必須創建事件監視器,運行監視器來收集將要分析的數據。 rkmon是事件監視器的名稱
打開一個新的 DB2 命令行處理器會話,然後執行以下 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
使該會話一直處於打開狀態,直到這些數據庫活動完成。請確保 /db2 目錄有足夠大的空間來保存跟蹤文件。這裡選擇 /db2目錄是因為所有用戶都可以訪問該目錄;但也可以選擇使用其它目錄(請確保對於該目錄,DB2 有訪問權限)。目錄的大小取決於用戶想要捕獲的 SQL 語句的數目。一開始,最好設為 500 MB。
執行正常的數據庫活動,直到您想監控的時段結束。這一監控階段可以是問題產生時期,也可以是通常的數據庫活動過程。在 /db2 目錄下,您應該可以看到一組擴展名為“ .evt ”的文件。
回到在步驟 1 中所打開的會話,然後發出以下語句:
db2 => set event monitor rkmon state=0
db2 => terminate
在平常的命令提示符下,執行以下命令:
$ db2evmon -path /db2 > sqltrace.txt
刪除rkmon
drop event monitor rkmon
以上DB2動態SQL的查看方法介紹。