DB2 Tools 角落: 阻止 DB2 实用程序使用不正确的参数运行

好吧,谁做了这件事?

了解 IBM® DB2® Utilities Enhancement Tool for z/OS® — Utility Monitor 中的最新特性。Utility Monitor 有助于建立和维护控制 DB2 实用程序的公司级最佳实践。通过使用 Utility Monitor,可以控制哪些 DB2 实用程序由谁运行,哪些实用程序使用您需要的语法和参数运行,从而节约您宝贵的时间和资源。

Jennifer Nelson, 产品专家兼产品经理, Rocket Software

Jennifer Nelson 的照片Jennifer Nelson 是德克萨斯州奥斯汀市的 Rocket Software 公司的几个 DB2 工具的产品专家兼产品经理。她目前的工作是作为一个 IBM 业务合作伙伴,协助技术销售团队维护已有客户并发现潜在客户。她拥有超过 14 年大型机行业经验,与大型机供应商合作开展 DB2 和大型机存储器业务。她拥有位于奥斯汀市的德克萨斯大学的政治学学士学位。



2010 年 12 月 27 日

概述

“好吧,谁做了这件事?”

您曾经根据事实意识到有人使用 LOG NO 运行过一个 REORG 吗?或者不是使用 KEEPDICTIONARY 运行一个 REORG 吗?或者针对业务关键对象运行一个 QUIESCE 并导致了一次停机吗?有时,使用某些参数运行 DB2 实用程序或在特定对象上运行上实用程序可能会在今后导致不可预见的问题。没有人会爽快地承认自己犯了错误。如果 您在第一时间就能阻止问题发生,情况又会如何呢?通过使用来自 PTF UK60173 中的 DB2 Utilities Enhancement Tool V2.1 的新 Utility Monitor,可以强制使用或不使用特定参数,或者阻止实用程序在特定的对象上运行。Utility Monitor 甚至可以跟踪实用程序活动,保存谁针对哪些对象执行了哪个工具的审计线索。现在,您知道 “谁做了这件事” 了吧!

DB2 Utilities Enhancement Tool 提供了一个策略,其中允许定义一些规则来确定要阻止和取消哪些线程。使用新的 Utility Monitor,您现在能够定义一些规则来确定要监视哪些实用程序,要更改哪些语法参数,是否要限制某个实用程序运行,以及是否要将 Utility Monitor 的所有活动记录到 DB2 表。所有这些任务都可以在一个策略内完成。

策略简介

当 DB2 Utilities Enhancement Tool 被安装和定制时,SABPSAMP 库中将创建一个默认策略。这个策略由一个 XML 文档组成。XML 是用于标记这个策略文档的元素的语言,该文档然后允许 DB2 Utilities Enhancement Tool 解析和理解策略规则。这些策略规则规定 DB2 Utilities Enhancement Tool 如何截获一个 DSNUTILB 实用程序以及它必须执行的动作。

策略包括元素、属性、值、以及元素之间的层级关系。尽管 XML 超出了本文范围,但以下定义简单介绍了策略中使用的 XML 组件:

ELEMENT
元素是定义文档特征的标记。嵌套在另一个元素中的元素称为子元素。
ATTRIBUTE
属性是与元素关联的 “名称-值” 对。属性增强了元素的指定。
VALUE
属性拥有值,或有效选项,就像参数拥有选项一样,可以在属性值使用。

通过在策略值使用 XML 标记,您可以修改文本,将文本添加到实用程序语法语句,或者从中删除文本。可以根据现有值的出现替换不同的值。甚至可以基于不同的值使实用程序失败,这些值比如:对象名称、用户 ID、或某些特定实用程序语法的出现。表明语法已更改的消息在作业输出值显示。所有这些活动可以通过向 DB2 Utilities Enhancement Tool Journal 表记录一些行来跟踪,以便今后审查。

下面的示例展示一个完整策略的一部分。在这个策略中,REORG TABLESPACE 和 LOAD 实用程序正在受到监视,监视它们是否使用特定的语法参数。

示例:Utility Monitor 使用的一个策略的样例部分
<!-- --------------------------------------------------------------- -->
<!-- DEFINE THE RULES FOR THE UTILITY MONITOR                 -->
<!-- --------------------------------------------------------------- -->

    <PRACTICE NAME="STANDARDS_1">
        <UTILITY NAME="REORG_TABLESPACE">
           <MONITOR>
             <SYNTAX VALUE="LOG NO" SUBSTITUTE="LOG YES"/>
             <SYNTAX ADD="KEEPDICTIONARY"/>
           </MONITOR>
        </UTILITY>
        <UTILITY NAME="LOAD">
           <MONITOR>
             <SYNTAX VALUE="LOG YES" SUBSTITUTE="LOG NO"/>
           </MONITOR>
        </UTILITY>
    </PRACTICE>
.
<DB2SYSTEM SSID="D91A" ACTION="MONITOR_UTILITY">
       <USE_PRACTICE NAME="STANDARDS_1"/>
        <INCLUDE>
          <RULE TABLESPACE="ABPDB1%.ABPQA2%"/>
        </INCLUDE>
</DB2SYSTEM>                              
.

Utility Monitor 如何工作

DB2 Utilities Enhancement Tool 能够监视 DB2 实用程序活动。DB2 Utilities Enhancement Tool 活动时,它将策略规则读入内存,确定要监视哪些实用程序并执行哪些动作。由于每个 DSNUTILB 程序都在一个 DB2 子系统上被调用并运行,DB2 Utilities Enhancement Tool 针对策略规则检查正在被运行的实用程序,确定它是否应该被监视。如果正在被运行的实用程序符合策略中的标准,策略规则将被执行。

通过使用上一个示例中的样例策略,DB2 Utilities Enhancement Tool 将在 DB2 子系统 D91A 上执行以下动作:

  • ACTION 值设置为 “MONITOR_UTILITY”,指示 DB2 Utilities Enhancement Tool 监视实用程序语法语句。
  • 由于 INCLUDE 规则使用模式 ABPDB1%.ABPQA2% 定义了一个表空间,Utility Monitor 只有在正在运行的 DB2 实用程序在其上操作的对象匹配那个模式时才会监视。INCLUDE 规则向策略管理员提供了一种方法来限定将被监视的作业。
  • 如果一个实用程序正针对一个对象运行,该对象的表空间名称匹配在 INCLUDE 规则中指定的模式,Utility Monitor 然后评估在 PRACTICE 元素中指定的监视标准。PRACTICE 规范确定要监视哪些实用程序和对每个实用程序执行哪些语法规则。

UTILITY 元素是限定要监视的作业的另一种方法。NAME 属性指定一个特殊的实用程序命令。只有匹配活动 PRACTICE 中的 NAME 属性的实用程序才有资格受到 DB2 Utilities Enhancement Tool 的监视。

如果正在被运行的实用程序匹配 PRACTICE 规则中的任一 UTILITY NAME,比如 REORG TABLESPACE,Utility Monitor 将根据 上一个示例 执行以下动作:

  • DB2 Utilities Enhancement Tool 将 LOG NO 更改为 LOG YES,前提是实用程序语法值指定了 LOG NO。如果 LOG NO 没有指定,则不会执行任何动作。
  • KEEPDICTIONARY 被添加,前提是实用程序语法中还没有指定它。
  • Utility Monitor 被默认写入 DB2 Utilities Enhancement Tool Journal 表,这允许 DBAs 随时查看在特定对象或特定实用程序上执行的动作。

为何监视 DB2 实用程序?

通过在 PTF UK60173 中激活新的 Utility Monitor,您现在可以确保您的 DB2 实用程序正在使用适当的实用程序语法运行。通过 Utility Monitor,您不仅可以控制运行哪些实用程序,还可以控制谁可以运行不同种类的 DB2 实用程序,以及它们必须使用哪些参数运行。如果某个 DB2 实用程序违反了策略中定义的规则,您还可以限制它的运行。您不仅能够了解 “ 谁做了这件事”,还能定义一些策略规则来防止将来出现不可预见的问题。您可以完全控制您的 DB2 实用程序。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=605160
ArticleTitle=DB2 Tools 角落: 阻止 DB2 实用程序使用不正确的参数运行
publish-date=12272010