在 DB2 V9.5 中使用 Workload Manager 管理和监控数据库
2013-03-20 23:59
295 查看
摘要
WLM 是用于在 DB2 V9.5 之后的版本中逐渐替代 Query Patroller 和 DB2 Governor 的工具,并且改进了这两者的缺点,可以实现数据库各种活动的全面监控,不仅针对 DMLSQL,也适用于存储过程,LOAD,DDL 等操作。
声明:本文中的人名和场景纯属虚构,与真实案例无涉。
回页首
从用户需求讲起
David 是一家零售公司的数据仓库管理员,最近他常常遭遇到这样的困惑:为什么一些应用程序或者 SQL 运行的时候,数据库的性能总是降低很多?当数据库用户发出一些低效率的查询或者操作时,为避免数据库长时间的响应,可不可以有预见性的阻止这种情况的发生?现在 DB2 WarehouseV9.5 中就可以实现这些需求。
图 1. 零售公司数据仓库管理员的困惑
那么,接下来 David 该如何做呢?DB2 Warehouse 最新版本 V9.5 中的 Workload Manager 可以帮助 David 以一种可视化的简便方式轻松的实现这一目标。
回页首
相关概念和术语
在 DB2V9.5 WLM 中引入了一系列新的概念和术语,在开始介绍之前,有必要先了解这些关键词:
DB2 Workload
在 DB2 数据库中,以不同的连接用户来定义的一组工作的集合,其目的是为了控制某一个或者某一类用户发出的数据库活动。Workload 这种数据库对象还包含了用户定义的一些规则,基于这些规则,不同的工作单元被组成实体,并作为一个整体来处理。
DB2 Service Class
对于 DB2 数据库中执行的工作 , Service Class 对其进行分类管理 , 并作为资源分配和监控的对象。同时,还在操作系统级也可以定义 Service Class,对使用到的外部资源进行优化管理,比如 CPU 和内存。Service Class 具有两层结构:超类(Service SuperClass)和子类(Service SubClass)。其中超类是用来定义数据库连接这一层,而子类对不同的数据库活动进行定义,一个超类中可以包含多个子类。基于 Workload 定义的信息,每个数据库连接都可以映射到一个超类。而通过该数据库连接发出的所有数据库活动都可以根据其活动类型来映射到超类下属的某个子类。
DB2 Work Action Set
一类数据库工作的集合,比如:数据量很大的读写操作或者比较消耗资源的数据库操作。
DB2 Work Class Set
类似于 Work Action Set,也是用于对不同数据库活动归类,但是它还可以对数据库活动的具体边界值进行界定,比如读写操作的估计开销大于某个值的时候归为一类 Class。
DB2 Work Action
在 Work Action Set 之下的具体的数据库活动类别,比如:读写操作,DML,DDL,LOAD, 或者调用存储过程。
DB2 Thresholds & Limits
针对数据库不同的活动定义的阀值,比如某个 DML操作返回的 SQL 行数,预计的 SQL 开销,消耗的临时表空间大小,某个数据库活动总的花费时间。统计型的阀值是对于整个数据库,某个分区,或者某个超类而言,比如,数据库中并发的数据库活动,某个 Workload 下的并发活动,所有数据库分区的连接数目等等。
DB2 Activity
指具体的某一个数据库活动,可以是一个查询,或者任何数据库操作。
数据库实体之间的关系
以上定义的这些数据库实体之间的关系可以用下图来表示:
图 2. DB2 WLM 中各个实体之间的关系
回页首
在 Design Studio 中实现 WLM 方案
定义一个 WLM 方案
在了解了 WLM 的基本概念之后,现在 David 可以开始定义一个 WLM 方案来帮助他解决困惑。虽然他可以通过 DB2 命令行的方式来完成这项工作,但是由于对 WLM 的 DDL 语句并不熟悉,而 DB2 Warehouse V9.5 的 Design Studio 正好提供了可视化的 WLM 插件来实现这一目的,David 决定使用这种更为简便的工具。
Design Studio 是以 eclipse 为基础平台的开发的一套数据仓库设计工具,在最新的 V9.5 版本中集成了众多插件以支持数据仓库对多种不同应用的设计开发,其中就包括了 WLM。在安装 Design Studio 的时候,只要选择了 WLM 插件,就可以顺利进行下面的工作。
现在,David 要解决以下 2 个问题来有效的控制数据库活动:
限制由数据库用户 db2admin 发出的读取操作,当 read 操作返回的数据行数大于 N 时,终止这个操作。
限制由数据库用户 db2admin 发出的 DML活动,当预计的 SQL COST 运行时间大于 200 秒时,将不允许该活动继续运行。
为了实现上述目标,要经过以下几个步骤:
1.安装 DB2 Warehouse V9.5
DB2 Warehouse V9.5 较之前的 DWE9.1 版本有了很大的改进和提高,WLM 是其中比较重要的一个工具。在下面的安装界面上,WLM 是以插件的形式集成在 Design Studio 中的。
图 3. DB2 Warehouse V9.5 Client 安装界面
安装成功之后,从 Start -> All Programs -> IBM DB2 Warehouse 9.5 -> DB2COPY1 -> Design Studio 来启动,会提示选择一个 workspace,使用默认的即可。
2.注册数据库
打开工作空间之后,在左下角的 Database Explorer 中连接零售数据库 DWESAMP,并确认连接成功即可。
图 4. 在 Design Studio 中连接数据库
3.创建数据仓库工程
现在开始创建一个数据仓库工程,从 Design Studio 的 File -> New -> Project 开始,选择创建如下图所示的 Project:
图 5. 创建数据仓库工程
这里用 WLM Project 作为该工程的名称。完成该向导之后,在 workspace 左边的
图 6. 数据仓库工程层次结构图
4.创建 WLM Scheme
在上述创建的工程中,可以开始定义 WLM Scheme,如下:
图 7. 创建 WLM Scheme
把该 WLM 命名为 WLM_JKSales 并选择”Create a scheme by objective”类型,如图
其最终效果都一样,用 objective 可以用 WLM Editor 来直接编辑和修改。
图 8. 创建 WLM Scheme by objective
下一步按照需求选择对数据库活动定义一些规则:
图 9. 对数据库活动定义规则
上一步的定义完成之后,就可以开始创建具体的 WLM 实体对象来解决之前提出的问题。这里,有必要结合这个具体的案例来重新解释 WLM 的相关概念。
数据库超类 (Database SuperClass):表示不同的数据源用户提交的可执行工作的集合。这个 CASE 中就是所有由 DB2ADMIN 用户提交的工作都在 SuperClass 下执行。
工作实体 (Work Identities):由连接属性来定义的代表工作提交者的实体,和一个 SuperClass 相关联。这里的 Work Identities 就是表示 DB2ADMIN 用户提交的工作集合,它和前面提到的 Work Load 是一个概念。
工作类型 (Work Type):用户会在一个工作类型集中提交一个工作类。该 CASE 中,在创建 Work Type READ 之前先要创建 Work Type Set。不同的数据库活动具备不同的属性,比如 DDL, DML等等。
限制 (Limits/Control Rules):用于强加给数据库活动的边界值或者限制。该 CASE 中,会给查询操作创建一个返回数据不超过 15 行的限制,并且当达到该阀值的时候会终止查询活动。
5.创建 SuperClass
在下图的编辑框中可以为 DB2Admin 用户定义一个 SuperClass,命名为 DB2ADMIN_SC。
图 10. 定义数据库 SuperClass
点击 OK 之后,定义的超类 DB2ADMIN_SC 会出现在 table 中。之前已有 3个数据库默认创建的 SuperClass。
6. 创建 Work Identity
点击 Work Identity tab,会看见有 2 个默认的 Work Identity 已经存在。现在 ADD 一个新的 Work Identity,如图 11:
图 11. 定义数据库 Work Identity
对该 Work Identity 的连接属性只指定了系统用户为 DB2ADMIN,这样所有来自用户 DB2ADMIN 的连接都会归属到 DB2ADMIN_WID 这个 Work Identity 之下。并且把该 Work Identity 和之前定义的 Super Class DB2ADMIN_SC 关联起来。这样,DB2ADMIN 发出的所有工作都在 Service Class DB2ADMIN_SC 下活动。
7.定义 Work Type
点击 Work Type tab 来创建一个新的工作类,向导会提示先创建一个 Work Type Sets。这里定义一个名为 DB2ADMIN_WTS 的工作类集。然后在该 Work Type Sets 之下创建一个名为 READ_WORKTYPE,类型为 READ 的 Work Type,如下图:
图 12. 定义数据库 Work Type
完成之后可以在 Work Type tab 里看到刚刚定义的 Work Type。
8.创建 Limits
最后,也是解决之前提出的问题的关键一步,就是创建 Limits。这里,需要对某一个用户源发出的某一类工作做出限制,所以创建一个如下图所示的 Limits。在这个 CASE 中用户源就是 DB2ADMIN,工作类型就是 READ。
图 13. 定义数据库 Limits (1)
ADD 之后,在 Create Limits tab 中产生一条 Domain 为 Subclass 的记录,如下:
图 14. 定义数据库 Limits (2)
然后对 Work Identity 指定上面已经定义的 DB2ADMIN_WID,Work Type 指定已定义的 READ_WORKTYPE,并创建一个 Condition 作为 Limits 如下:
图 15. 定义 Condition
这样就完成了解决第一个问题的 WLM Scheme 的定义,从 Scheme View 里可以看见刚刚定义的所有数据库实体在一个层次树里,如下图:
图 16. WLM Scheme Hierarchical Tree
从菜单上的 File -> Save All 可以保存该 Scheme。
执行并验证 WLM 方案
上一部分只是完成了定义,这部分将执行该 Scheme,并验证数据库活动如何受其影响。在下图中,先进行 validate,确认结果是成功的。然后在数据库中执行该 WLM Scheme 用于创建之前定义的所有实体。
图 17. 验证和执行 WLM Scheme
点击 Execute 后,在下述的 panel 中,Design Studio 将列出用于创建该 WLM Scheme 的所有 DDL。它有别于普通意义上的数据库 DDL 语句,也是 DB2 在 V9.5 之后新加入的 Utility。
图 18. WLM DDL 语句
在上图中选择 Execute in database,就会在实际的数据库中执行这些语句。按照向导一步步完成并执行成功后,可以在数据库验证结果。
现在,用户 DB2ADMIN 连接数据库 DWESAMP,并从 DB2 Command Line 来执行下述的 2 个语句:
DWH.CL 表中 CL_ID 是主键,但是表的总行数大于 15。当执行第一个语句时,没有任何错误产生。但是当执行第二个语句时,发生如下错误:
图 19. 验证 WLM Threshold
从上述的信息可以看出之前定义的阀值”SQL Rows Returned Rules”已经被超出,所以查询自动终止。
修改并再次执行 WLM 方案
现在,为解决之前提出的第二个问题,需要再定义一些 Limits 来实现,通过以下 3个步骤来实现这一目标:
在之前的 Super Class DB2ADMIN_SC 下创建一个 Sub Class,命名为:
在之前的 Work Type Sets :DB2ADMIN_WTS 下创建一个 DML类型的 Work Type,并且把它和第一步定义的 Sub Class:
为 Sub Class:
从下图可以简单的看出这个 CASE 中各个实体之间的关系:
图 20. WLM 中实体之间的关系
现在还是利用 Design Studio 中的可视化编辑器,通过下述的几个步骤来定义相关的实体:
1.定义 SubClass
如下图,在 WLM Scheme 树形层次视图中通过右键来创建 SubClass,通过向导可以很容易的完成。
图 21. 在 WLM 中创建 SubClass
2.定义 DML工作类型
图 22. 在 WLM 中创建 DMLWork Type
3.定义 Mapping Rule
图 23. 在 WLM 中定义 Mapping Rule(1)
然后需要添加要 Map 的 Work Type 和 SubClass:
图 24. 在 WLM 中定义 Mapping Rule(2)
4.最后需要定义 Control Rule
在 SubClass:
的目录,右键点击就可以创建一个新的
图 25. 在 WLM 中定义 Control Rule
5.执行变化的 WLM Scheme
现在,所有的定义工作都已经完成,可以验证并执行了。注意,现在不能再点击 Execute,而是 Delta Execute。因为之前已经创建了一部分 WLM 对象,现在是加入了新的实体。如下:
图 26. 在 WLM 中 Delta Execute
同样,Design Studio 会根据新的定义产生出新的 WLM DDL 语句,然后确认连接到数据库并执行成功即可。
6.验证 WLM Scheme
还是用户 DB2ADMIN 连接到数据库 DWESAMP,并从 DB2 Command Line 来执行下述的 2 个语句:
其中,第一个语句的执行时间不会超过 200 秒,但是第二个语句会消耗比较长的时间。那么,在执行后一个语句时,DB2 报告了以下的错误:
图 27. 验证 WLM Threshold
从上述的信息可以看出,新定义的 WLM 阀值”Estimated SQL Cost Rule”已经被超出,并终止了 DML语句的执行。
WLM 是用于在 DB2 V9.5 之后的版本中逐渐替代 Query Patroller 和 DB2 Governor 的工具,并且改进了这两者的缺点,可以实现数据库各种活动的全面监控,不仅针对 DMLSQL,也适用于存储过程,LOAD,DDL 等操作。
声明:本文中的人名和场景纯属虚构,与真实案例无涉。
回页首
从用户需求讲起
David 是一家零售公司的数据仓库管理员,最近他常常遭遇到这样的困惑:为什么一些应用程序或者 SQL 运行的时候,数据库的性能总是降低很多?当数据库用户发出一些低效率的查询或者操作时,为避免数据库长时间的响应,可不可以有预见性的阻止这种情况的发生?现在 DB2 WarehouseV9.5 中就可以实现这些需求。
图 1. 零售公司数据仓库管理员的困惑
那么,接下来 David 该如何做呢?DB2 Warehouse 最新版本 V9.5 中的 Workload Manager 可以帮助 David 以一种可视化的简便方式轻松的实现这一目标。
回页首
相关概念和术语
在 DB2V9.5 WLM 中引入了一系列新的概念和术语,在开始介绍之前,有必要先了解这些关键词:
DB2 Workload
在 DB2 数据库中,以不同的连接用户来定义的一组工作的集合,其目的是为了控制某一个或者某一类用户发出的数据库活动。Workload 这种数据库对象还包含了用户定义的一些规则,基于这些规则,不同的工作单元被组成实体,并作为一个整体来处理。
DB2 Service Class
对于 DB2 数据库中执行的工作 , Service Class 对其进行分类管理 , 并作为资源分配和监控的对象。同时,还在操作系统级也可以定义 Service Class,对使用到的外部资源进行优化管理,比如 CPU 和内存。Service Class 具有两层结构:超类(Service SuperClass)和子类(Service SubClass)。其中超类是用来定义数据库连接这一层,而子类对不同的数据库活动进行定义,一个超类中可以包含多个子类。基于 Workload 定义的信息,每个数据库连接都可以映射到一个超类。而通过该数据库连接发出的所有数据库活动都可以根据其活动类型来映射到超类下属的某个子类。
DB2 Work Action Set
一类数据库工作的集合,比如:数据量很大的读写操作或者比较消耗资源的数据库操作。
DB2 Work Class Set
类似于 Work Action Set,也是用于对不同数据库活动归类,但是它还可以对数据库活动的具体边界值进行界定,比如读写操作的估计开销大于某个值的时候归为一类 Class。
DB2 Work Action
在 Work Action Set 之下的具体的数据库活动类别,比如:读写操作,DML,DDL,LOAD, 或者调用存储过程。
DB2 Thresholds & Limits
针对数据库不同的活动定义的阀值,比如某个 DML操作返回的 SQL 行数,预计的 SQL 开销,消耗的临时表空间大小,某个数据库活动总的花费时间。统计型的阀值是对于整个数据库,某个分区,或者某个超类而言,比如,数据库中并发的数据库活动,某个 Workload 下的并发活动,所有数据库分区的连接数目等等。
DB2 Activity
指具体的某一个数据库活动,可以是一个查询,或者任何数据库操作。
数据库实体之间的关系
以上定义的这些数据库实体之间的关系可以用下图来表示:
图 2. DB2 WLM 中各个实体之间的关系
回页首
在 Design Studio 中实现 WLM 方案
定义一个 WLM 方案
在了解了 WLM 的基本概念之后,现在 David 可以开始定义一个 WLM 方案来帮助他解决困惑。虽然他可以通过 DB2 命令行的方式来完成这项工作,但是由于对 WLM 的 DDL 语句并不熟悉,而 DB2 Warehouse V9.5 的 Design Studio 正好提供了可视化的 WLM 插件来实现这一目的,David 决定使用这种更为简便的工具。
Design Studio 是以 eclipse 为基础平台的开发的一套数据仓库设计工具,在最新的 V9.5 版本中集成了众多插件以支持数据仓库对多种不同应用的设计开发,其中就包括了 WLM。在安装 Design Studio 的时候,只要选择了 WLM 插件,就可以顺利进行下面的工作。
现在,David 要解决以下 2 个问题来有效的控制数据库活动:
限制由数据库用户 db2admin 发出的读取操作,当 read 操作返回的数据行数大于 N 时,终止这个操作。
限制由数据库用户 db2admin 发出的 DML活动,当预计的 SQL COST 运行时间大于 200 秒时,将不允许该活动继续运行。
为了实现上述目标,要经过以下几个步骤:
1.安装 DB2 Warehouse V9.5
DB2 Warehouse V9.5 较之前的 DWE9.1 版本有了很大的改进和提高,WLM 是其中比较重要的一个工具。在下面的安装界面上,WLM 是以插件的形式集成在 Design Studio 中的。
图 3. DB2 Warehouse V9.5 Client 安装界面
安装成功之后,从 Start -> All Programs -> IBM DB2 Warehouse 9.5 -> DB2COPY1 -> Design Studio 来启动,会提示选择一个 workspace,使用默认的即可。
2.注册数据库
打开工作空间之后,在左下角的 Database Explorer 中连接零售数据库 DWESAMP,并确认连接成功即可。
图 4. 在 Design Studio 中连接数据库
3.创建数据仓库工程
现在开始创建一个数据仓库工程,从 Design Studio 的 File -> New -> Project 开始,选择创建如下图所示的 Project:
图 5. 创建数据仓库工程
这里用 WLM Project 作为该工程的名称。完成该向导之后,在 workspace 左边的
D ata Project Explore r会出现如下图的目录树:
图 6. 数据仓库工程层次结构图
4.创建 WLM Scheme
在上述创建的工程中,可以开始定义 WLM Scheme,如下:
图 7. 创建 WLM Scheme
把该 WLM 命名为 WLM_JKSales 并选择”Create a scheme by objective”类型,如图
8。这里有
3种方法可以创建
WLM Scheme:
Create a scheme by objective
Create a scheme by yourself
Create a scheme by reverse engineering
其最终效果都一样,用 objective 可以用 WLM Editor 来直接编辑和修改。
图 8. 创建 WLM Scheme by objective
下一步按照需求选择对数据库活动定义一些规则:
图 9. 对数据库活动定义规则
上一步的定义完成之后,就可以开始创建具体的 WLM 实体对象来解决之前提出的问题。这里,有必要结合这个具体的案例来重新解释 WLM 的相关概念。
数据库超类 (Database SuperClass):表示不同的数据源用户提交的可执行工作的集合。这个 CASE 中就是所有由 DB2ADMIN 用户提交的工作都在 SuperClass 下执行。
工作实体 (Work Identities):由连接属性来定义的代表工作提交者的实体,和一个 SuperClass 相关联。这里的 Work Identities 就是表示 DB2ADMIN 用户提交的工作集合,它和前面提到的 Work Load 是一个概念。
工作类型 (Work Type):用户会在一个工作类型集中提交一个工作类。该 CASE 中,在创建 Work Type READ 之前先要创建 Work Type Set。不同的数据库活动具备不同的属性,比如 DDL, DML等等。
限制 (Limits/Control Rules):用于强加给数据库活动的边界值或者限制。该 CASE 中,会给查询操作创建一个返回数据不超过 15 行的限制,并且当达到该阀值的时候会终止查询活动。
5.创建 SuperClass
在下图的编辑框中可以为 DB2Admin 用户定义一个 SuperClass,命名为 DB2ADMIN_SC。
图 10. 定义数据库 SuperClass
点击 OK 之后,定义的超类 DB2ADMIN_SC 会出现在 table 中。之前已有 3个数据库默认创建的 SuperClass。
6. 创建 Work Identity
点击 Work Identity tab,会看见有 2 个默认的 Work Identity 已经存在。现在 ADD 一个新的 Work Identity,如图 11:
图 11. 定义数据库 Work Identity
对该 Work Identity 的连接属性只指定了系统用户为 DB2ADMIN,这样所有来自用户 DB2ADMIN 的连接都会归属到 DB2ADMIN_WID 这个 Work Identity 之下。并且把该 Work Identity 和之前定义的 Super Class DB2ADMIN_SC 关联起来。这样,DB2ADMIN 发出的所有工作都在 Service Class DB2ADMIN_SC 下活动。
7.定义 Work Type
点击 Work Type tab 来创建一个新的工作类,向导会提示先创建一个 Work Type Sets。这里定义一个名为 DB2ADMIN_WTS 的工作类集。然后在该 Work Type Sets 之下创建一个名为 READ_WORKTYPE,类型为 READ 的 Work Type,如下图:
图 12. 定义数据库 Work Type
完成之后可以在 Work Type tab 里看到刚刚定义的 Work Type。
8.创建 Limits
最后,也是解决之前提出的问题的关键一步,就是创建 Limits。这里,需要对某一个用户源发出的某一类工作做出限制,所以创建一个如下图所示的 Limits。在这个 CASE 中用户源就是 DB2ADMIN,工作类型就是 READ。
图 13. 定义数据库 Limits (1)
ADD 之后,在 Create Limits tab 中产生一条 Domain 为 Subclass 的记录,如下:
图 14. 定义数据库 Limits (2)
然后对 Work Identity 指定上面已经定义的 DB2ADMIN_WID,Work Type 指定已定义的 READ_WORKTYPE,并创建一个 Condition 作为 Limits 如下:
图 15. 定义 Condition
这样就完成了解决第一个问题的 WLM Scheme 的定义,从 Scheme View 里可以看见刚刚定义的所有数据库实体在一个层次树里,如下图:
图 16. WLM Scheme Hierarchical Tree
从菜单上的 File -> Save All 可以保存该 Scheme。
执行并验证 WLM 方案
上一部分只是完成了定义,这部分将执行该 Scheme,并验证数据库活动如何受其影响。在下图中,先进行 validate,确认结果是成功的。然后在数据库中执行该 WLM Scheme 用于创建之前定义的所有实体。
图 17. 验证和执行 WLM Scheme
点击 Execute 后,在下述的 panel 中,Design Studio 将列出用于创建该 WLM Scheme 的所有 DDL。它有别于普通意义上的数据库 DDL 语句,也是 DB2 在 V9.5 之后新加入的 Utility。
图 18. WLM DDL 语句
在上图中选择 Execute in database,就会在实际的数据库中执行这些语句。按照向导一步步完成并执行成功后,可以在数据库验证结果。
现在,用户 DB2ADMIN 连接数据库 DWESAMP,并从 DB2 Command Line 来执行下述的 2 个语句:
select * from DWH.CL where CL_ID=9 select * from DWH.CL |
图 19. 验证 WLM Threshold
从上述的信息可以看出之前定义的阀值”SQL Rows Returned Rules”已经被超出,所以查询自动终止。
修改并再次执行 WLM 方案
现在,为解决之前提出的第二个问题,需要再定义一些 Limits 来实现,通过以下 3个步骤来实现这一目标:
在之前的 Super Class DB2ADMIN_SC 下创建一个 Sub Class,命名为:
DML_WORKTYPE_SUBCLASS。
在之前的 Work Type Sets :DB2ADMIN_WTS 下创建一个 DML类型的 Work Type,并且把它和第一步定义的 Sub Class:
DML_WORKTYPE_SUBCLASS映射起来。
为 Sub Class:
DML_WORKTYPE_SUBCLASS定义一个
Limit:当预计的
SQL Cost大于
200 timerons时,终止
DML语句的执行。
从下图可以简单的看出这个 CASE 中各个实体之间的关系:
图 20. WLM 中实体之间的关系
现在还是利用 Design Studio 中的可视化编辑器,通过下述的几个步骤来定义相关的实体:
1.定义 SubClass
如下图,在 WLM Scheme 树形层次视图中通过右键来创建 SubClass,通过向导可以很容易的完成。
图 21. 在 WLM 中创建 SubClass
2.定义 DML工作类型
图 22. 在 WLM 中创建 DMLWork Type
3.定义 Mapping Rule
图 23. 在 WLM 中定义 Mapping Rule(1)
然后需要添加要 Map 的 Work Type 和 SubClass:
图 24. 在 WLM 中定义 Mapping Rule(2)
4.最后需要定义 Control Rule
在 SubClass:
DML_WORKTYPE_SUBCLASS下有一个
Control Rules
的目录,右键点击就可以创建一个新的
Limit,按照需求完成对它的定义如下:
图 25. 在 WLM 中定义 Control Rule
5.执行变化的 WLM Scheme
现在,所有的定义工作都已经完成,可以验证并执行了。注意,现在不能再点击 Execute,而是 Delta Execute。因为之前已经创建了一部分 WLM 对象,现在是加入了新的实体。如下:
图 26. 在 WLM 中 Delta Execute
同样,Design Studio 会根据新的定义产生出新的 WLM DDL 语句,然后确认连接到数据库并执行成功即可。
6.验证 WLM Scheme
还是用户 DB2ADMIN 连接到数据库 DWESAMP,并从 DB2 Command Line 来执行下述的 2 个语句:
update DWH.TBL_ROWS SET NUM_ROWS=NUM_ROWS+1 WHERE ID=1 update DWH.TBL_ROWS SET NUM_ROWS=NUM_ROWS+1 |
图 27. 验证 WLM Threshold
从上述的信息可以看出,新定义的 WLM 阀值”Estimated SQL Cost Rule”已经被超出,并终止了 DML语句的执行。
相关文章推荐
- 在 DB2 V9.5 中使用 Workload Manager 管理和监控数据库
- 源码-Oracle数据库管理-第十四章-记录与集合-Part 1(使用PL/SQL记录)
- 使用Spring框架管理Oracle数据库时注意问题
- 1. 使用 MegaRAID Storage Manager 监控
- [转]使用VS2010的Database 项目模板统一管理数据库对象
- 一步步学习微软InfoPath2010和SP2010--第十二章节--管理和监控InfoPath Form Services(IPFS)(6)--使用Fiddler监控数据连接Postback
- 我是如何使用myHQ服务监控管理我的LAMP网站的?
- 使用JDBC连接mysql,db2等数据库
- Android studio,使用greenDao第三方数据库框架操作数据库(二)(升级管理,自定义数据库路径,数据库升级操作)
- Entity Framework应用:使用Code First模式管理数据库创建和填充种子数据
- oracle 数据库的管理工具 PL/SQL_Developer 的简易使用 与Java 连接并查询显示出数据
- 通过与Quickbuild和Mist.io的持续集成实现云管理和使用监控
- 使用Zabbix2.2自带的Mysql监控模板监控数据库
- 源码-Oracle数据库管理-第十二章-使用PL/SQL创建Oracle程序-Part 2(PL/SQL语言概览)
- 【SQL Server DBA】日常巡检1:数据库空间、状态、使用的监控
- 使用MySQL设计大学学籍管理数据库(后台数据库+前台程序)
- CDH使用秘籍(一):Cloudera Manager和Managed Service的数据库
- virt-manager使用非root账户远程管理
- 使用 DB2 9 pureXML 管理 ODF 和 Microsoft Office 2007 文档
- DB2 9 数据库管理(731 考试)认证指南,第 2 部分: 数据放置