分类:
2008-04-12 10:08:58
级别: 初级 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 被设置为 '@' 值。 在如 图 2 所示的 Run properties 标签页中,您可以定义什么是一个成功的事件。通常,如果一个任务返回的值为 0,则被认为是成功的。如果一个任务可以返回多个编码来表示成功,那么需要定义一个成功编码集。在本例中定义了两个成功编码集(只是为了演示):
在 图 3 中,注意 Group 标签是灰色的。只有在选择的任务是 'Grouping Task'时,该标签才可用。(参见 图 1 中的 'type'字段)。Group 标签可用于指定一个包含其他任务的任务。 在 Schedule 标签页上,我们指定该任务只能在 2003 年 5 月 29 日 23:00 运行一次,然后点击 Add 将该任务添加到计划任务列表中。这里还必须指定用于运行该任务的用户 id 和 密码。 接下来,在 Notification 标签页的左边面板中,指定当任务成功或失败时应该通知谁。一旦选择了通知的对象,就可以点击 Add 将一个条目添加到通知列表中( Notification 标签页的右面板). 在 图 4 中,我们选择了两条通知:如果任务成功,那么就在 Journal GUI 工具中创建一个条目;如果任务失败,那么就将一封电子邮件发送给 Raul F. Chong (从联系人名单中获得)。 从 图 5 我们可以看到, Task Actions 标签与上面的 Notification 标签类似,不同的是,在这里我们不是指定当任务成功或失败时该与谁联系,而是指定当任务成功或失败时该做些什么。对于 图 5,我们指定,当任务成功时应该执行另一个任务,即 'SecondTask';当任务失败时,应该删除任务 'MyFirstTask'。 在 Security 标签页上,可以为任务的用户指定权限。例如,用户 'db2admin' 有执行 MyFirstTask 任务的所有权限。 最后,图 7 显示了当前在本系统中建立的两个任务的概要。 一旦触发了任务,就可以使用 图 8 中所示的 Journal GUI 工具查看任务的执行结果。对于当前的例子,我们可以看到 'MyFirstTask 和 'Second_Task' 这两个任务都执行成功。 如果您选择上面列出的任何一个任务条目,并在其上双击鼠标,就可以获得有关该任务执行结果的更详细的信息。下面的图 9 和图 10 逐个显示了 Journal GUI 工具的 4 个标签在显示任务 'MyFirstTask'的细节时的情景。 9. Journal——Results 和 Command Script 标签 10. Journal——Output 和 Task actions 标签 您可以使用两个 DB2 UDB GUI 工具以最小的气力来显著地提高数据库的性能。这两个工具是:
图 11 和图 12 中显示的 Configuration Advisor,将根据它向您提出的一些与您的 DB2 UDB 服务器相关的问题(例如可用的内存,工作负荷的类型,等等)来确定一些 DB2 配置参数的最佳值。 Design Advisor 为您提供了一种轻松、快捷的方法来确定哪些指标对于工作负荷来说是最佳的。您可以先在数据库上运行应用程序,将所有要执行的 SQL 语句都放在缓存中。接下来,运行 Design Advisor,从内存中获取这些语句,并确定必需的指标。图 13 和图 14 显示了 Design Advisor。 在使用 GUI 工具时,可能会碰到 4 种常见的错误: 要解决这个问题,可以打开 Control Center,点击要针对的实例,在其上点击右键并选择 Start,如图 15 所示: 这个问题会影响到远程 GUI 管理。为了确认 DAS 正在运行,从 Command Line Processor 或者命令窗口执行 16. 故障诊断与排除:使用 Command Line Processor (CLP)测试 DB2 Admin Server 是否正在运行 如果 DAS 还没有启动,上述命令将启动它。如果 DAS 已经启动,那么您将收到如图 16 所示的信息。 如果您收到一条像 图 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 所示: 在本文中,与 第 1 部分 一样,我们向您介绍了一些用于执行基本数据库操作的 DB2 UDB Express GUI 工具。我们展示了如何自动化一些数据库任务以及如何进行一些基本的 DB2 调优。我们还展示了在使用 DB2 UDB GUI 工具时可能碰到的一些典型的错误。虽然在本文中我们使用的是 DB2 UDB Express GUI 工具,但是请注意,这些工具在整个 DB2 UDB 家族中都是一样的。通过本文我们展示了这些工具是多么的强大和易于使用。我们希望这些介绍能让您在使用 DB2 UDB 时感到更加得心应手。
|