级别: 初级 Raul F. Chong, DB2 Universal Database Consulting Services, IBM 多伦多实验室
2003 年 7 月 01 日 Raul Chong 继续对与 DB2 UDB Express 一起提供的 GUI 工具进行介绍。在第 2 部分,他讲到了如何利用这些 GUI 工具自动化数据库任务和进行基本的性能调优,他还讲到了与这些 GUI 工具本身相关的故障诊断与排除。
简介
在对 DB2 UDB Express GUI 工具简介的
第 1 部分 中,我描述了如何使用一些工具来执行基本的数据库操作、控制对数据库对象的访问以及建立连接性。在第
2 部分,我将向您展示如何自动化数据库任务,如何执行一些基本的性能调优,以及如何解决在使用 DB2 UDB GUI 工具时经常碰到的一些问题。与第 1 部分一样,我假设您要么是关系数据库管理系统(RDBMS)的新手,要么虽然使用过其他的数据库产品,例如 MS Access、MS Fox Pro 或 MS SQL Server,但是还没有使用过
DB2 UDB。
自动化数据库任务
任务只不过是包含了 DB2、SQL
或者操作系统命令的脚本,它与时间表和通知(notification)相关联。利用 Task Center
可以自动化一般数据库任务的执行和实现一些条件逻辑。
要使用 Task Center,必须有一个 'Tools
Catalog'。这个 tools catalog 包含了有关管理任务的信息,这里管理任务指的是使用 Task Center
和 Control Center
进行配置的任务。如果遇到与 Tools Catalog
相关的错误,请参考
GUI 工具故障诊断与排除部分。
还应注意的是,为了通过任务中心发送邮件或者页面,必须在机器中设立一个 SMTP Server
。
下面的图提供了一个例子,展示了如何建立一个在 2003 年 5 月 29 日 23:00 自动执行一次的任务。这个任务将被称为 'MyFirstTask',假设任务
'SecondTask 事先已创建好。MyFirstTask 任务将运行在服务器 'RAULCHONG' 的实例 'DB2' 上,在用户 'db2admin'
的名下。该任务执行到示例数据库的连接,接着对 department 表进行查询。如果该任务成功,它将把一个条目写入到日志 GUI 工具中,如果失败,它将通过发送邮件通知
'Raul F. Chong'。除了进行通知外,当任务成功时,它将调用 'SecondTask' 任务,当任务失败时,它将删除自己。至于对这个任务的授权,用户
'db2admin' 可以读、写以及执行(运行)这个任务。
注意,在下面的图 1
中,每条语句都使用 '@'
隔开。之所以使用这个终结符,是因为域
DB2 statement termination character
被设置为 '@' 值。
图
1. 使用 Task Center
自动化数据库操作
——
Task
和 Command Script 标签
在如
图
2
所示的
Run properties
标签页中,您可以定义什么是一个成功的事件。通常,如果一个任务返回的值为
0,则被认为是成功的。如果一个任务可以返回多个编码来表示成功,那么需要定义一个成功编码集。在本例中定义了两个成功编码集(
只是为了演示):
- My_Success_Code (条件是返回编码为 0,图中没有显示)和
- My_Second_Success_Code(条件是返回编码大于 100)
图
2. 使用 Task Center
自动化数据库操作
——
Run properties
标签
在
图
3
中,注意
Group
标签是灰色的。只有在选择的任务是 'Grouping
Task'时,该标签才可用。(参见
图 1 中的 'type'字段)。Group
标签可用于指定一个包含其他任务的任务。
在
Schedule
标签页上,我们指定该任务只能在 2003 年 5 月 29 日 23:00 运行一次,然后点击
Add
将该任务添加到计划任务列表中。这里还必须指定用于运行该任务的用户
id 和 密码。
图
3. 使用 Task Center
自动化数据库操作
——
Group
和 Schedule 标签
接下来,在
Notification
标签页的左边面板中,指定当任务成功或失败时应该通知谁。一旦选择了通知的对象,就可以点击
Add
将一个条目添加到通知列表中(
Notification
标签页的右面板). 在
图
4
中,我们选择了两条通知:如果任务成功,那么就在
Journal GUI
工具中创建一个条目;如果任务失败,那么就将一封电子邮件发送给 Raul F. Chong
(从联系人名单中获得)。
图
4. 使用 Task Center
自动化数据库操作
——
Notification
标签
从
图
5
我们可以看到,
Task Actions
标签与上面的
Notification
标签类似,不同的是,在这里我们不是指定当任务成功或失败时该与谁联系,而是指定当任务成功或失败时该做些什么。对于
图
5,我们指定,当任务成功时应该执行另一个任务,即
'SecondTask';当任务失败时,应该删除任务 'MyFirstTask'。
图
5. 使用 Task Center
自动化数据库操作
——
Task Actions
标签
在
Security
标签页上,可以为任务的用户指定权限。例如,用户 'db2admin'
有执行 MyFirstTask 任务的所有权限。
图
6. 使用 Task Center
自动化数据库操作
——
Security
标签
最后,图 7
显示了当前在本系统中建立的两个任务的概要。
图
7. 使用 Task Center
自动化数据库操作(续)
一旦触发了任务,就可以使用
图
8
中所示的 Journal GUI 工具查看任务的执行结果。对于当前的例子,我们可以看到 'MyFirstTask
和 'Second_Task' 这两个任务都执行成功。
图
8. Journal
——
Task History 标签
如果您选择上面列出的任何一个任务条目,并在其上双击鼠标,就可以获得有关该任务执行结果的更详细的信息。下面的图 9
和图 10 逐个显示了 Journal GUI 工具的 4
个标签在显示任务 'MyFirstTask'的细节时的情景。
图
9. Journal——Results
和 Command Script 标签
图
10. Journal——Output
和 Task actions 标签
基本性能调优
您可以使用两个 DB2 UDB GUI
工具以最小的气力来显著地提高数据库的性能。这两个工具是:
- Configuration Advisor
- Design Advisor
图 11 和图 12 中显示的 Configuration Advisor,将根据它向您提出的一些与您的
DB2 UDB 服务器相关的问题(例如可用的内存,工作负荷的类型,等等)来确定一些 DB2
配置参数的最佳值。
图
11. Configuration Advisor
图
12. Configuration Advisor
(续)
Design Advisor
为您提供了一种轻松、快捷的方法来确定哪些指标对于工作负荷来说是最佳的。您可以先在数据库上运行应用程序,将所有要执行的
SQL 语句都放在缓存中。接下来,运行 Design Advisor,从内存中获取这些语句,并确定必需的指标。图 13
和图 14 显示了 Design Advisor。
图
13. Design Advisor
图
14. Design Advisor
(续)
GUI 工具故障诊断与排除
在使用 GUI 工具时,可能会碰到 4
种常见的错误:
数据库所在的实例没有启动
要解决这个问题,可以打开 Control Center,点击要针对的实例,在其上点击右键并选择
Start,如图
15 所示:
图
15. 故障诊断与排除:启动一个实例
DB2 Administration Server (DAS) 没有启动
这个问题会影响到远程 GUI
管理。为了确认 DAS 正在运行,从 Command Line Processor
或者命令窗口执行
db2admin start
命令,如图 16 所示:
图
16. 故障诊断与排除:使用 Command Line Processor (CLP)测试 DB2 Admin Server
是否正在运行
如果 DAS
还没有启动,上述命令将启动它。如果 DAS
已经启动,那么您将收到如图 16
所示的信息。
tools catalog 数据库还没有创建
如果您收到一条像
图
17 中那样的消息,那么很可能您的 Tools Catalog
数据库还没有创建。一般来说这个数据库是在安装的时候创建的。
图
17. 故障诊断与排除:Tools Catalog 还没有创建
要使用 GUI 工具创建 Tools Catalog
,请从任意一个 GUI Tool 中选择
Tools -> Tools Settings -> Scheduler Settings,如图
18 所示。接下来,在
Defining Tools Catalog
区域下点击
Create New按钮,您将得到如
图
19所示的一个窗口。
图
18. 故障诊断与排除:创建 Tools Catalog 数据库
图
19. 故障诊断与排除:创建 Tools Catalog 数据库(续)
注意,大多数 GUI 工具都会提供一个
Show Command
按钮,通过这个按钮可以显示发送给 DB2
的实际命令。这些命令可以从 Command Center
执行。
您没有连接到您想要使用的实例
如果您收到这样一条错误消息,它指出您需要连接到(attach
to)一个实例,那么选择要针对的实例,在其上点击右键并选择 'Attach',如图
20 所示:
图
20. 故障诊断与排除:连接到一个实例
结束语
在本文中,与
第
1 部分 一样,我们向您介绍了一些用于执行基本数据库操作的 DB2 UDB Express GUI 工具。我们展示了如何自动化一些数据库任务以及如何进行一些基本的
DB2 调优。我们还展示了在使用 DB2 UDB GUI
工具时可能碰到的一些典型的错误。虽然在本文中我们使用的是 DB2 UDB Express GUI 工具,但是请注意,这些工具在整个 DB2 UDB
家族中都是一样的。通过本文我们展示了这些工具是多么的强大和易于使用。我们希望这些介绍能让您在使用
DB2 UDB 时感到更加得心应手。
参考资料
关于作者  | |  |
Raul F. Chong是 IBM
多伦多实验室的数据库顾问,主要与
IBM 业务伙伴进行合作。Raul
已经在 IBM 任职了 5
年,其中有 3 年是在 DB2
技术支持部(Technical Support)工作,另两年担任顾问,专门从事数据库应用程序开发和从其它
RDBMS 迁移到 DB2
方面的工作。可以通过
rfchong@ca.ibm.com
与他联系。
|
对本文的评价
|