MONREPORT 模块

MONREPORT 模块提供用于检索各种监视数据和生成文本报告的一组过程。

此模块的模式为 SYSIBMADM。

MONREPORT 模块包含以下内置例程。

表 1. MONREPORT 模块中的内置例程
例程名称 描述
CONNECTION 过程 “连接”报告显示每个连接的监视器数据。
CURRENTAPPS 过程 “当前应用程序”报告显示每个连接的工作单元、代理程序和活动的当前瞬时处理状态。 报告状态以连接总计状态信息开头,后跟对应每个连接的详细信息部分。
CURRENTSQL 过程 “当前 SQL”报告列示按各种度量计算的当前运行最频繁的活动。
DBSUMMARY 过程 “摘要”报告包含整个数据库以及每个连接、工作负载、服务类和数据库成员的关键性能指标的深入监视器数据。
LOCKWAIT 过程 “锁定等待”报告包含有关当前正在进行的每个锁定等待的信息。 详细信息包括锁定持有者和请求者详细信息以及所持有锁定和所请求锁定的特征。
PKGCACHE 过程 “程序包高速缓存”报告列示按各种度量计算的程序包高速缓存中累积的最常用语句。

使用说明

监视元素名称以大写显示(如 TOTAL_CPU_TIME)。 要了解有关监视元素的更多信息,请在产品文档中搜索监视名称。

对于带有 monitoring_interval 输入的报告,报告中的负值不准确。 这可能会在源数据计数器滚动期间发生。 要确定准确的值,请在滚动完成后重新运行该报告。

注: 报告是使用模块中的 SQL 过程实现的,因此可能会受到程序包高速缓存配置的影响。 如果发现运行报告时性能不佳,请检查程序包高速缓存配置以确保它对于您的工作负载而言是够用的。 有关更多信息,请参阅 pckcachesz - 程序包高速缓存大小配置参数
以下示例演示调用 MONREPORT 例程的各种方法。 这些示例显示 MONREPORT.CONNECTION(monitoring_interval, application_handle) 过程。 可通过以下方式处理不想对其输入值的可选参数:
  • 可始终指定 NULL 或 DEFAULT。
  • 对于字符输入,可指定空字符串(“ ”)。
  • 如果是最后一个参数,那么可省略。
要生成包括对应每个连接的部分的报告(使用缺省监视时间间隔 10 秒),请对 MONREPORT.CONNECTION 过程执行以下调用:
call monreport.connection() 
要生成仅包括与应用程序句柄为 32 的连接对应的部分的报告(使用缺省监视时间间隔 10 秒),可对 MONREPORT.CONNECTION 过程执行以下调用之一:
call monreport.connection(DEFAULT, 32)
call monreport.connection(10, 32)
要生成包括对应每个连接的部分的报告(使用监视时间间隔 60 秒),可对 MONREPORT.CONNECTION 过程执行以下调用之一:
call monreport.connection(60) 
call monreport.connection(60, null)
缺省情况下,此模块中的报告以英语生成。 要更改用于生成报告的语言,请更改 CURRENT LOCALE LC_MESSAGES 专用寄存器。 例如,要以法语生成 CONNECTION 报告,请发出以下命令:
SET CURRENT LOCALE LC_MESSAGES = 'CLDR 1.5:fr_FR'
CALL MONREPORT.CONNECTION

确保数据库代码页支持生成报告时所用的语言。 如果数据库代码页为 Unicode,那么可使用任何语言生成这些报告。