Query Patroller

查询类行为更新

在通过 Query Patroller 中心或 Query Patroller 命令行执行下列其中一个任务后,将返回一条警告消息:

警告消息为:

DQP1024W 只有重新启动 Query Patroller 服务器,针对查询类的创建、

更改或除去操作才会起作用。

同样,DB2 Query Patroller(TM) Guide: Installation, Administration, and Usage版本 8.2 指出,在创建、更改或除去查询类后必须重新启动 Query Patroller 服务器,更改才会生效。

这一消息和指南中的陈述不再准确。先前列出的三个查询类任务将即时生效,除非存在正在排队或运行的查询。如果存在正在排队的或运行的查询(包括新提交的查询),则查询类更改将在正在排队的或运行的查询完成时生效。如果不想等待所有正在排队和运行的查询完成,则必须重新启动 Query Patroller 服务器。

注:
对于之前版本的 Query Patroller,更新查询类的最大查询数目总时即时生效。

受管查询状态的定义更新

已取消完成这两种查询状态的含义已更新,如下所示:

已取消
查询已被管理员、提交者或概要文件设置了带编辑权限的 MONITORING 特权的操作员通过 Query Patroller 中心或 Query Patroller 命令行取消。只有正在运行挂起已释放已排队的查询才能够已取消
完成
成功地完成了查询。
注:
尽管查询本身完成并且没有任何错误,但如果完成是由于外部事件(如 DB2 force 应用程序)导致的,则应用程序可能会接收到错误。

在运行 Query Patroller 历史数据生成器之前创建说明表

在对 Query Patroller 运行历史数据生成器时,如果说明表已不存在,生成器将创建它们。但是, 强烈建议在运行历史数据生成器之前创建说明表。当创建说明表时,确保在同一分区上创建它们。在同一分区上活动地创建说明表将提高“说明”设施的性能。此改进会提高历史数据生成器的性能。

检查 Query Patroller 日志文件以进行历史分析

如果“随时间的推移查询活动”(历史分析)报告的说明运行列显示查询的状态为未成功运行,则尚未生成有关该查询的历史数据。因此,该查询将不会显示在任何历史分析报告或图中。如版本 8 中所述,要确定查询未成功的原因,可以检查 qpuser.log 文件。

除了检查 qpuser.log 文件之外,还应检查 qpdiag.log 文件。

历史数据生成器的异常关闭

如果运行历史数据生成器并以异常方式关闭它,将在下一次尝试运行历史数据生成器时接收到错误。异常关闭的示例有:

当历史数据生成器异常关闭时,必须在尝试重新运行历史数据生成器之前发出以下命令:

    qp -d database generate historical_data stop

其中 database 标识要对其运行命令的数据库。

动态查询类更新

某些查询类操作不再需要停止 Query Patroller 然后重新启动它就可以生效。

在下表中,活动查询是状态为“正在运行”或“已排队”的查询。

表 38. 查询类更改生效的条件
更改的性质 更改生效的条件
添加、除去或更新查询类。 如果没有活动查询,则更改立即生效。
更新只涉及对最大查询数的更改的查询类。 立即生效,即使存在活动查询也不例外。
更新只涉及对最大查询成本的更改的查询类。 如果存在活动查询,则在下列任一情况下更新生效:
  • 停止 Query Patroller 然后重新启动它。
  • 没有其他活动查询。
注:
当存在针对最大查询成本的更改暂挂时,任何种类的后续查询类更新在满足前面两个条件的其中一个之前都不会生效。
添加或除去查询类。 如果存在活动查询,则添加或除去在下列任一情况下生效:
  • 停止 Query Patroller 然后重新启动它。
  • 没有其他活动查询。

嵌套的查询行为

不能对嵌套的查询进行排队。取而代之,如果嵌套的查询超出通常会导致对它进行排队的阈值时,它将立即运行。

SQL 语句类型造成的局限性

与前面的文档相反,可对带有以下语句的查询进行排队:

使用终端服务客户机时的分辨率局限性

使用分辨率为 640x480 的终端服务客户机连接至运行 Query Patroller 中心的远程桌面时,“提交首选项”窗口可能显示为空白。要使“提交首选项”窗口正常显示,必须使用高于 640x480 的分辨率。

新的查询提交的组支持

从版本 8.2 开始,DB2 通用数据库(UDB)支持操作系统组之外的用户组。因此,Query Patroller 中心的“查询提交首选项”窗口中的要使用的提交者概要文件下拉列表中有一点变化。

如果已登录但没有对应 Query Patroller 用户管理的 DBADM 权限或编辑特权,则只能为您自己添加或更新提交首选项。在此情况下,要使用的提交者概要文件下拉列表包含您所属的 DB2(R) UDB 组(而不仅仅是您所属的操作系统组)的现有提交者概要文件。

如果已登录并具有对应 Query Patroller 用户管理的 DBADM 权限或编辑特权,可为其他用户添加或更新提交首选项。在此情况下,要使用的提交者概要文件下拉列表包含所有现有组提交者概要文件。

Query Patroller 调度局限性

在 Query Patroller 中心中使用调度时,可使用“调度”窗口将调度保存至文件并在以后导入它们。如果有使用修订包 6 或较早版本保存的调度,则不能使用版本 8.2 或更新版本来导入该调度。此局限性是由于随 DB2 UDB 版本 8.2 引入的 JDK 级别之间的序列化中的更改造成的。

使用 RUN IN BACKGROUND QUERY 命令所需的权限

要运行 RUN IN BACKGROUND QUERY 命令,您必须是一开始提交查询的提交者。

为结果表创建别名

从 Query Patroller V8.1 修订包 5 开始,Query Patroller 停止在与查询提交者的授权标识相匹配的模式中创建结果表。Query Patroller 转而开始在公共 DB2QPRT 模式中创建结果表。为允许使用提交者的模式引用结果表,Query Patroller V8.2 引入了一个选项,用于自动为 Query Patroller 新创建的每个结果表创建别名。该结果表是在 DB2QPRT 模式中创建的,而该别名是在与提交者的授权标识相匹配的模式中创建的。

要打开或关闭此选项,使用 CREATE_RESULT_TABLE_ALIASES 选项发出 UPDATE QP_SYSTEM 命令:

阅读语法图跳过直观语法图>>-UPDATE QP_SYSTEM USING--------------------------------------->
 
>--+-DEFAULT------------------------------+--------------------><
   '-CREATE_RESULT_TABLE_ALIASES--+-'Y'-+-'
                                  '-'N'-'
 

除去孤线程结果表别名

使用 CREATE_RESULT_TABLE_ALIASES 选项创建的别名将在废弃结果表时自动废弃。但是,在两种情况下可能会废弃结果表而不废弃相应的别名。

为清除没有对应结果表的别名,已经创建了新命令 REMOVE RESULT_TABLE_ALIASES。每当结果表作为 Query Patroller 调度结果表清除过程的一部分被清除时,此命令将自动执行。REMOVE RESULT_TABLE_ALIASES 命令使用以下查询获取要清除的别名的列表:

with a as (select tabschema, tabname from syscat.tables 
           where type = 'A' and tabname like 'QUERY%_RESULTS'), 
     t as (select tabname from syscat.tables 
           where type = 'T' and tabname like 'QUERY%_RESULTS')
  select all tabschema, tabname from a 
  where not exists (select * from t where t.tabname=a.tabname)
先决条件

您必须具有 DBADM 权限。

过程

  1. 发出 REMOVE RESULT_TABLE_ALIASES 命令

此命令除去废弃其对应结果表之后仍然存在的所有别名。这些别名一开始是由 Query Patroller 为结果表创建的。

命令语法

阅读语法图跳过直观语法图>>-REMOVE RESULT_TABLE_ALIASES---------------------------------><
 

注:
有关使用命令行界面输入 Query Patroller 命令以及 Query Patroller 命令的一般语法的信息,请参阅 Query Patroller 命令行界面。

受防护用户标识需要对 qpdiag.log 文件和路径具有写访问权

Query Patroller 使用一些受防护的存储过程,它们可能会将条目记入 qpdiag.log 文件。因此,受防护的用户标识必须具有写入 qpdiag.log 文件以及 qpdiag.log 文件驻留的路径的访问权。

[ 页的顶部 |上一页 | 下一页 | 目录 ]