我对此类问题很陌生。我正在寻找允许我监视 DB2 z/OS 上的进程的 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
这个查询:
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
但它们仅适用于 DB2 LUW。任何建议将不胜感激!
我尝试监视 DB2 z/OS 上的活动进程。
不幸的是,这些功能是特定于平台的,但在某种程度上也是可以理解的。 DB2 LUW、DB2 for z/OS、DB2 for i。它们在数据和 SQL 语言方面非常兼容,但与任务相关的表函数不同。
DB2 V11 for z/OS 表函数记录在 https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-list-supported-built-in 中。这里还有一篇好文章 Db2 for z/OS: Long-Running Transactions Revisited.
您将无权访问 z/OS 上的 SQL 语句本身。提供了完全不同的信息集。简而言之,DB2 for z/OS 提供的与任务相关的表函数有:
它们对您是否有用取决于您想要哪些信息。
注意: IBM i (AS400) 走了一条不同的路线,通过表函数提供了大量信息。
希望这有帮助。