用于监控 DB2 z/OS 的 SQL 查询

问题描述 投票:0回答:1

我对此类问题很陌生。我正在寻找允许我监视 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 zos
1个回答
0
投票

不幸的是,这些功能是特定于平台的,但在某种程度上也是可以理解的。 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 提供的与任务相关的表函数有:

  1. DSNADM.ADMIN_TASK_LIST()
  2. DSNADM.TASK_STATUS()
  3. SYSIBMADM.BLOCKING_THREADS()

它们对您是否有用取决于您想要哪些信息。

注意: IBM i (AS400) 走了一条不同的路线,通过表函数提供了大量信息。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.