Db2
DB2 LUW 伺服器上洩漏/未關閉的游標/語句的概述?
我們在 DB2/LUW 上遇到了“打開的游標過多問題”。
有沒有辦法獲得與這些打開的游標相關的相應 SELECT 語句的(數據庫伺服器端)列表?
我們一直在 Oracle 上這樣做。
我知道我們可以審查應用程序邏輯,但在我們的特定情況下要困難得多。所以我想先解決這個問題。謝謝。
SELECT application_handle , uow_id, activity_id, activity_type, activity_state , timestampdiff(2, char(current timestamp - entry_time)) elapsed_sec , stmt_text FROM TABLE(MON_GET_ACTIVITY(null, -2)) order by elapsed_sec desc;
作為對馬克的回答的補充,您可以檢查長期執行的交易:
select x.agent_id, substr(z.corr_TOKEN,1,14) as ip, cast(y.stmt_text as varchar(800)) as stmt, x.locks_held, x.APPL_IDLE_TIME, x.UOW_START_TIME from sysibmadm.SNAPAPPL x join sysibmadm.snapstmt y on x.agent_id = y.agent_id join sysibmadm.SNAPAPPL_INFO z on x.agent_id = z.agent_id where UOW_STOP_TIME is null and TIMESTAMPDIFF(2,CHAR(current_timestamp - UOW_START_TIME)) > 10 order by UOW_START_TIME ;
請注意,聲明為 WITH HOLD 的游標可能在送出後打開