如何检查长时间运行的DB2查询的状态?

时间:2017-01-18 14:56:21

标签: db2 status db2-luw

我正在运行一个db2查询,它将两个非常大的表联合起来。我在10小时前开始查询,但它似乎还没有结束。

但是,当我使用top检查流程状态时,会显示状态为' S'。这是否意味着我的查询停止运行?但我无法找到任何错误信息。

enter image description here

如何查看查询的内容?

2 个答案:

答案 0 :(得分:2)

在DB2 for LUW 11.1中,有一个基于文本的dsmtop utility,它允许您实时监视DB2实例,直到单个执行语句。它是11.1之前的等价物称为db2top

还有一个基于Web的应用程序IBM Data Server Manager,它有一个带有基本监控功能的免费版。

最后,您可以查询提供的SQL监视器接口之一,例如SYSIBMADM.MON_CURRENT_SQL视图:

SELECT session_auth_id,
       application_handle,
       elapsed_time_sec,
       activity_state,
       rows_read,
       SUBSTR(stmt_text,1,200)
FROM sysibmadm.mon_current_sql
ORDER BY elapsed_time_sec DESC
FETCH FIRST 5 ROWS ONLY

答案 1 :(得分:0)

您也可以尝试使用此命令

db2 "SELECT agent_id, 
            Substr(appl_name, 1, 20) AS APPLNAME, 
            elapsed_time_min, 
            Substr(authid, 1, 10)    AS AUTH_ID, 
            agent_id, 
            appl_status, 
            Substr(stmt_text, 1, 30) AS STATEMENT 
     FROM   sysibmadm.long_running_sql 
     WHERE  elapsed_time_min > 0 
     ORDER  BY elapsed_time_min desc 
     FETCH first 5 ROWS only"