WEB开发网
开发学院数据库DB2 利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL ... 阅读

利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

 2009-11-12 00:00:00 来源:WEB开发网   
核心提示:简介如果您正在学习如何使用 DB2 Express,那么您很可能有使用其他数据库(比如 MySQL)的经验,利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面,本文帮助 MySQL 数据库管理员学习 IBM DB2 Express-C GUI 管理,IBM DB2 Express

简介

如果您正在学习如何使用 DB2 Express,那么您很可能有使用其他数据库(比如 MySQL)的经验。本文帮助 MySQL 数据库管理员学习 IBM DB2 Express-C GUI 管理。IBM DB2 Express-C 提供了丰富的 GUI 管理功能,我们先概述这些功能,然后进行详细介绍。如果有 MySQL 背景,您就会发现 IBM DB2 Express-C 为管理员提供了更多的 GUI 选项。DB2 Express-C 版本基本上为所有命令提示功能都提供了对应的 GUI 选项,而开放源码的 MySQL GUI 管理功能并没有覆盖全部命令行功能。

本文主要针对 IBM DB2 Express-C 9.1 的功能,突出了 MySQL 和 IBM DB2 Express-C 版本之间的相似性和差异。

我们将研究以下主题:

一般管理

备份和恢复

与性能相关的任务

与开发相关的任务

与系统健康状态相关的任务

概述

对于 DB2 Express-C,要记住三个 F(free):

免费开发

免费部署

免费发布

每个服务器上最多允许有两个物理 CPU 和 4GB 的 RAM。另外,应该知道 DB2 Express 没有提供以下特性:

复制

数据库分区特性

Connection Concentrator

DB2 Geodetic Extender

Query Patroller

Net Search Extender

这些特性在 DB2 for Linux®, UNIX®, and Windws® 的其他版本中是可用的,比如 DB2 Workgroup and Enterprise 版本。

MySQL GUI 功能 - 快速概述

对于 MySQL,GUI 管理选项需要单独 下载 和安装。MySQL Administrator 功能可以分成几类,包括:

一般信息 - 服务器信息和服务

服务器健康状态 - 启动参数、在线健康状态指示和错误日志

管理 - 备份和恢复、用户管理、模式对象管理和连接管理

MySQL Administrator(在编写本文时是 1.1.9 版)提供以下特性:

一般信息

服务器信息:这提供服务器启动/关闭状态、服务器硬件规格说明等等。

图 1. MySQL 服务器信息
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

服务控制:这提供启动和停止 MySQL 服务的功能以及在线日志。还允许配置启动配置文件、存储引擎等等。

图 2. MySQL 服务控制
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

服务器健康状态

启动参数:这些参数包括一般内存设置、网络端口设置和存储引擎特有的参数。

图 3. MySQL 参数设置
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

健康状态指示:这允许根据预定义的参数监视数据库系统的健康状态。

图 4. MySQL 健康状态指示
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

日志:这为 MySQL 提供错误日志和一般日志。

图 5. MySQL 错误日志
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

管理 - 备份和恢复可以对数据库进行在线和离线备份,还能够恢复到特定时间点。用户管理允许创建新用户和组并分配特权。最后,还可以管理模式对象。

与 MySQL Administrator 工具一起提供的另一个工具是 MySQL Query Browser,它使管理员能够通过拖放和点击方式来管理数据库对象以及创建、管理和优化查询。与 MySQL Administrator 相似,Query Browser 也需要单独下载和安装。

MySQL 与 IBM DB2 Express-C GUI 的快速对比

回顾了 MySQL Administrator 之后,在研究 IBM DB2 Express-C GUI 功能之前,我们应该从总体上看看在这两种数据库中有什么特性,缺少什么特性。这样的话,作为 MySQL DBA,您就可以快速地了解它们的差异,发现 IBM DB2 Express-C 提供的好处,避免一些误解。

下面的表对比了 MySQL Administrator 当前版本和 IBM DB2 Express-C 中的可用特性。这个表还显示了日常管理任务所需的其他 DB2 Express-C GUI 管理特性。DB2 Control Center 提供的特性比 MySQL Administrator 多得多。看一眼这个表就可以证实这一点。

表 1. MySQL 和 IBM DB2 Express-C GUI 管理功能对比
特性/功能在 MySQL(MySQL Administrator)中是否可用在 IBM DB2 Express-C(DB2 Control Center)中是否可用备注
一般信息   
服务器和服务信息这两种数据库都提供了与服务器和服务相关的信息。
一般管理(实例级)   
创建/删除实例×这个特性在 MySQL 中不可用。
启动/停止实例×这个特性在 MySQL 中不可用。
实例静默/非静默×这个特性在 MySQL 中不可用。
设置通信协议但是,IBM DB2 Express-C 版本不只支持 TCP/IP 协议。它还支持其他网络协议,比如 NetBios 和与 GUI 工具连接的命名管道。
应用程序连接的在线状态这两种数据库都支持这个特性。
在线查看内存使用状态这两种数据库都允许实时显示内存使用情况。
实例活动监视×IBM DB2 Express-C 版本提供以下领域中的性能监视:

应用程序性能

应用程序并发性

资源消耗

SQL 性能

锁监视

一般管理(数据库级)   
创建/删除数据库×MySQL 不支持这个特性。
连接数据库/断开连接这两种数据库都包含连接管理。
启动/停止数据库这两种数据库都提供启动和停止数据库的特性。
数据库静默/非静默×IBM DB2 Express-C 可以将用户挡在数据库外以便进行维护。
特权/授权管理这两种数据库都提供用户和组管理,包括特权分配。
管理进行节流的实用程序×IBM DB2 Express-C 版本的节流特性能够根据高峰和低谷时段调整使用的资源。在高峰时段,进行节流的实用程序的 CPU 使用率会保持最低;在低谷时段则相反。进行节流的实用程序的一个例子是数据库备份。
自动维护×IBM DB2 Express-C 在以下领域提供自动维护:

数据库备份

表和索引的重组

优化的数据访问

设计顾问×IBM DB2 Express-C 版本提供设计顾问,这种内置机制的任务是帮助数据库做出正确的配置决策。尽管它在以下方面都能够发挥作用,但是我们主要关注的是索引建议。它能够指出为了优化查询需要构建哪些索引。

索引

MQT

MDC

对表进行重新分区

MQT、MDC 和表重新分区要使用数据分区特性(DPF),因此这些特性只能在 DB2 for Linux, UNIX, and Windows 的其他版本中使用。DPF 需要单独购买。

配置顾问×IBM DB2 Express-C 版本的配置顾问是一种内置机制,它选择优化的配置参数,从而帮助实现良好的数据库性能。
配置参数这两种数据库都支持手工参数配置。
配置数据库日志这两种数据库都支持数据库日志配置。
数据库备份和恢复这两种数据库都支持数据库备份和恢复。
数据库前滚这两种数据库都支持数据库前滚。
显示解释计划×IBM DB2 Express-C 版本显示图形化的解释计划、总成本和与每个访问路径相关联的成本。
为数据库对象生成 DDL×IBM DB2 Express-C 允许管理员为数据库对象生成 DDL。这些数据库对象包括:

视图

索引

触发器

序列

存储过程

主键、引用完整性和检查约束

用户定义的函数

等等 ...

存储管理MySQL 支持对 MyISAM 和 InnoDB 表进行存储管理。
应用程序连接的在线状态与实例级上一样,IBM DB2 Express-C 版本允许管理员监视连接到数据库的所有应用程序。可以迫使某些或所有应用程序断开与数据库的连接。
数据库活动监视与实例级上一样,IBM DB2 Express-C 版本在以下领域提供了数据库级性能监视:

应用程序性能

应用程序并发性

资源消耗

SQL 性能

锁监视

启用和禁用 Web 服务×到目前为止,这是 IBM DB2 Express-C(版本 9)提供的最新最重要的特性之一。这个特性允许本机存储/检索 XML 数据,而不需要任何映射或转换。
用户和组管理这两种数据库都支持用户和组管理,包括特权和授权。
模式对象管理这两种数据库都支持管理模式对象。
事件监视×IBM DB2 Express-C 版本以事件的形式跟踪连接、死锁、语句和事务。事件中收集的数据可以用来警告管理员应该注意某些异常情况。事件监视器的输出可以写入表、文件或命名管道中。
表空间管理×IBM DB2 Express-C 版本支持表空间管理,包括创建、删除以及执行备份和恢复。
缓冲池管理IBM DB2 Express-C 提供了缓冲池管理,包括创建缓冲池、修改缓冲池的值以及删除缓冲池。
健康状态指示×IBM DB2 Express-C 允许管理员通过设置健康状态指示阈值来检查数据库的健康状态。阈值可以在警告或警报级上设置。可以根据警告或警报向管理员发送通知,提醒他们采取纠正措施。另外,可以配置脚本或任务操作来解决问题,而不需要管理员的干预。这是 IBM DB2 Express-C 提供的自管理特性之一。
联邦对象管理×IBM DB2 Express-C 版本允许通过设置联邦对象与外部数据库进行通信。
XML 模式存储库(XSR)管理×从 IBM DB2 Express-C 9 开始,提供了本机 XML 存储和检索功能。

IBM DB2 Express-C GUI 功能

利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

与 MySQL 相反,IBM DB2 Express-C 版本附带了一组丰富的工具,这些工具不需要单独下载和安装。因此,在进行典型、定制或完全安装之后,管理员就可以使用全部的 GUI 管理功能。DB2 Express-C 附带的 GUI 工具可以分成以下几类(这里只提及 GUI 工具):

一般管理工具

Control Center

Journal

License Center

Replication Center

Task Center

DB2 Control Center 是 DB2 Express-C 版本提供的 GUI 工具的中心。它支持日常操作任务,比如模式对象管理、用户和组管理以及特权和授权管理。另外,它支持监视功能,比如以图形化方式显示内存使用情况和事件监视,从而可以执行各种任务来解决性能问题。DB2 Control Center 包含三个控制外观的选项。管理员可以在启动时选择 Basic、Advanced 或 Custom。尽管 DB2 Control Center 本身非常全面,对于管理员已经足够了,但是还可以使用 DB2 Express-C 附带的插件来扩展它。这些扩展使 DB2 Control Center 能够在菜单树、工具栏和弹出菜单中包含对象。

Journal 工具记录历史事件,比如任务历史、数据库活动、数据库消息和通知日志。它常常用来对过去数周的事件进行审计。

Task Center 用来创建作业或任务的调度计划。任务可以根据定义的成功或失败码运行。



图 6. 一般管理工具
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

信息

Check for DB2 updates

Information Center V9.0

监视工具

Event Analyzer

Health Center

Indoubt Transaction Manager

Memory Visualizer

Event Analyzer 工具用来分析 Event Monitor 生成的事件数据。Event Monitor 用来监视数据库的性能;它提供关于数据库对象(比如表、缓冲池、表空间)和应用程序级监视器(比如连接、SQL 语句、死锁等等)的信息。



图 7. 监视工具
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

设置工具

Activity Monitor

Configuration Assistant

Configure DB2 .Net Data Provider

Default DB2 Selection Wizard

First Steps

Register Visual Studio Add-Ins



图 8. 设置工具
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

尽管 Replication Center、DB2 .Net Data Provider 和 Visual Studio Add-Ins 是可用的,但是这里不讨论它们。现在,我们详细讨论每个类别。

一般管理工具

对于执行日常的管理任务,DB2 Express-C 提供的工具主要是 DB2 Control Center、Journal 和 Task Center。但是,DB2 Control Center 可以完成的管理任务太多了,我们无法详细地一一讲解它们。

Control Center

DB2 Control Center 可以执行许多任务,从模式对象管理、用户和组管理以及特权和授权管理等日常操作,到用来解决性能问题的监视功能,比如以图形化方式显示内存使用情况和监视各种任务。可以通过 DB2 Control Center 执行的管理任务分为两类:在实例级操作的任务和在数据库级操作的任务。

DB2 实例级管理 - 如下所示,可以使用 DB2 Control Center 进行 DB2 实例级管理:

图 9. DB2 实例管理
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

在可以使用 DB2 Control Center 执行的实例级管理任务中,我们主要关注参数配置、应用程序连接监视、内存利用率和活动监视。

参数配置 - 这是根据环境修改参数的简便方法。没有在文件级更新参数的选项。尽管这些参数可以在线修改,但是也提供了命令行处理程序(CLP)。要查询数据库实例参数,可以发出命令 GET DATABASE MANAGER CONFIGURATION;要更新它们,可以发出命令 UPDATE DATABASE MANAGER CONFIGURATION。注意,这些参数中的一部分要求实例重新启动才能生效。例如,将 Adminstration 类别下的 AUTHENTICATION 参数从默认值 Server 改为 client,页面上会出现以下输出。在这种情况下,只有在实例重新启动之后,新的值 client 才会生效。

图 10. 修改身份验证方法
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

在下面的 图 11 中可以看到,在这个页面中可以设置许多领域的配置参数。它们分为以下类别:

管理:管理级参数包括插件、授权和与连接相关的设置。

应用程序:应用程序级参数。例如,MAX_CONNECTIONS 指定每个数据库分区允许的最大客户机连接数量。在 DB2 Express-C 版本中,不能应用分区。

通信:与节点和数据库发现相关的参数。

诊断:DB2 诊断,与 db2diag.log 相关的参数。例如,DIAGLEVEL 指定在 db2diag.log 中进行哪一级诊断。它的范围是 0-4。

0 - 不捕捉诊断数据

1 - 只捕捉严重的错误

2 - 捕捉所有错误

3 - 捕捉所有错误和警告

4 - 捕捉所有错误、警告和信息性消息

环境:数据库服务器的服务器环境参数。例如,参数 JDK_PATH 提供默认路径 C:\Program Files\IBM\SQLLIB\java\jdk,参数 NUMDB(默认值是 8)允许 8 个数据库同时处于活动状态。

监视器:快照监视器的相关 开关。

并行:只在使用 DPF 的 DB2 for Linux, UNIX, and Windows 高级版本中使用。这不能应用于 DB2 Express-C 版本。

性能:与性能相关的参数。



图 11. 参数配置
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

另外,还可以从 DB2 Control Center 活动面板调用这些参数配置。



图 12. 调用参数配置 — 替代方法
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

应用程序连接监视:监视谁和哪些应用程序正在连接数据库的快速方法。可以在这个页面中获得的值是:

连接(本地或远程)

数据库名

应用程序名 - 连接同一行中列出的数据库的应用程序。

状态

应用程序处理程序

授权 ID



图 13. 应用程序连接
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

实际上,还可以监视一个应用程序获得的锁的总数以及锁链如何使多个应用程序发生关联。这样的话,就可以在线监视锁的使用情况,开发人员或管理员还可以监视可能出现的死锁。例如,下面的图形用来监视锁。



图 14. 应用程序锁链
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

最后,当发生某些情况时,可以迫使应用程序离线。这对于某些不允许连接的维护任务是必要的。迫使应用程序离线通常以异步方式完成。

查看内存使用情况:在线监视共享内存和私有内存。

图 15. 实例级内存监视
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

活动监视:通过监视资源消耗、应用程序并发性和 SQL 语句性能来监视应用程序的性能。设置活动监视需要几个步骤(取决于您选择的选项):

选择要监视的数据库。选择数据库之后,点击 Next。

图 16. 选择要执行活动监视的数据库
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

假设我们通过定制一些选择来监视四个预定义监视任务之一,Tuning the dynamic SQL cache。对于这个任务,最好复制系统定义的任务来创建一个用户定义的任务,然后点击 Continue。下图显示我们所做的操作。还要注意,根据选择的监视任务的不同,左上角列出的步骤会有所不同。

图 17. 选择要执行的监视任务
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

选择 Tuning dynamic SQL statement cache 单选按钮并点击 Next,就会进入下一个页面。为了简化,我决定只监视预定义列表中的三个选项。任何种类的监视都不是没有开销的。记住,在同时运行几个监视任务时,性能会受到损害。

图 18. 选择动态 SQL 缓存报告
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

DB2 数据库级管理:对于 DB2 Express-C 数据库,可以执行许多数据库级管理任务。例如,右击希望执行任务的目标数据库,会看以下列表:

图 19. 数据库级的任务
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

尽管这个列表很长,但是我们只关注以下几个任务,因为其他任务的作用是一目了然的:

Authorities & privileges(权力和特权):在这个页面中进行用户和组的权力管理。在默认情况下,创建数据库的用户被授予对这个数据库的最大权力。可以通过选择权力列表,将权力授予用户或组。

图 20. 管理权力
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

如果没有特权,权力就不完整。授予权力就是允许执行某一任务,而以特定方式访问数据库对象需要特权。要使用 Control Center 管理特权,应该使用 User and Group Objects,在这个图标下面有用户和组管理。点击一个用户就会显示选项;这里列出所有数据库模式对象特权,可以为每个用户或组选择或取消选择这些特权。



图 21. 管理特权
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

Utilities management(实用程序管理):进行节流的实用程序(比如备份和 runstat)可以是对资源敏感的。通过使用节流特性,甚至可以在高峰时段使用这些实用程序。它确保生产系统中高峰时段的工作负载不与进行节流的实用程序发生冲突。这些实用程序在适当的时候利用(或者说 “偷取”)CPU 周期,而不会影响当前的生产工作负载。例如,对于备份操作,可以用某一优先级设置节流特性。

图 22. 节流管理
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

Configuring automatic maintenance(配置自动维护):从 8.2 版本开始,在 DB2 for Linux, UNIX, and Windows 中就有了自动维护。它提供了自动维护备份、重组和 runstat 等活动的方法。管理员只需要打开自动开关就可以让这些活动进行自管理。通常,DB2 会根据某些条件决定是否需要进行维护。如果需要维护,就会在下一个维护时间窗中执行自动维护。也就是说,可以完全让 DB2 自己选择执行维护的时机,因为它有能力判断什么时候需要进行维护。(您不可能指望更多了,因为 DB2 知道最佳时机)。换句话说,即使指定了维护时间窗,如果 DB2 认为没有必要进行维护,它就可以选择忽略维护。最后,还可以通知负责维护活动的人。配置自动维护的步骤如下:

点击 Next 以便打开自动维护。另一个选项是禁用自动维护。

图 23. 自动维护 - 步骤 1
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

在这一步中,可以配置在线和离线维护时间窗。DB2 Express-C 提供的节流特性使在线维护时间窗成为可能。

图 24. 自动维护 - 步骤 2
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

为了添加要通知的联系人,可以搜索网络上可用的 SMTP 服务器,选择 Test 按钮来测试输入的电子邮件地址。设置了联系人之后,发生维护活动时就会通知列表中的用户。

图 25. 自动维护 - 步骤 3
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

当前,只有三种活动可以进行自动维护:备份、重组和 runstat。在这个页面上,可以选择运行在线或离线维护时间窗,选择是否进行自动维护和通知。

图 26. 自动维护 - 步骤 4
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

最后,显示一个总结页面,其中总结了前面所做的选择。

图 27. 自动维护 - 步骤 5
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

Design Advisor(设计顾问):这个工具根据一组条件部署智能化的 DB2 构建,从而提高工作负载性能。对于管理员,这个设计顾问几乎是完美的。您是否曾经花费大量时间只是为了决定创建哪些索引来优化查询访问?尽管这个特性主要用于 DB2 系列产品的其他特性(比如 MQT 和 MDC)的优化,但是对于 DB2 Express-C 来说,它可以用来优化索引的创建,比如什么时候创建索引和创建哪些索引。让设计顾问对索引进行评估的步骤如下:

选择 Indexes。

图 28. 配置设计顾问 - 步骤 1
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

输入工作负载名称和用户 id。可以通过导入、添加或修改 SQL 来改变工作负载中的 SQL。

图 29. 配置设计顾问 - 步骤 2
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

选择要更新表统计数据的表。在下一步中点击 Next,因为我们采用默认值。

图 30. 配置设计顾问 - 步骤 3
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

可以立即进行建议计算,也可以以后进行。另外,还可以限制执行这种计算所需的总时间。我们采用默认值 10 分钟。

图 31. 配置设计顾问 - 步骤 4
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

建议计算对评估前后的开销进行分析,我们可以通过其结果决定保留或取消哪些索引。

图 32. 配置设计顾问 - 步骤 5
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

不但可以发现需要哪些索引,还可以发现哪些索引对于指定的工作负载是多余的,因此可以删除它们。通常情况下,一定要删除不影响工作负载的索引。要认识到,我们有时候会创建不必要的索引,当设计顾问指出它们时就应该删除它们。

图 33. 配置设计顾问 - 步骤 6
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

Configuration Advisor(配置顾问):有时候,管理员无法决定数据库应该使用什么参数值。通过在配置顾问中执行几个简单的步骤,管理员可以获得是否需要手工调整参数的建议。配置顾问应该定期运行,因为数据库对象和系统环境会随时间变化。

选择数据库管理程序可以使用的内存。

图 34. 运行配置顾问 - 步骤 1
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

选择 OLTP 事务类型,因为这是最适合 DB2 Express-C 版本的类型。

图 35. 运行配置顾问 - 步骤 2
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

选择事务类型:长或短。另外,估计每分钟的事务总数。

图 36. 运行配置顾问 - 步骤 3
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

下一个步骤是决定要创建的日志文件的大小和数量。日志文件越大,性能越好,但是恢复时间也更长。

图 37. 运行配置顾问 - 步骤 4
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

为了与表的大小匹配,需要执行下一步骤,从而确保建议的参数是准确的。例如,如果某些表最初只有 10000 行,但是以后增长到数百万行,那么配置顾问原来建议的参数值就不再合适了。在这种情况下,建议重新运行配置顾问。

图 38. 运行配置顾问 - 步骤 5
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

下一个步骤决定 MAXAPPLS 参数。例如,允许的应用程序连接总数等等。

图 39. 运行配置顾问 - 步骤 6
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

可以在这里设置隔离级别,也可以从应用程序代码动态地设置。在这个示例中,将它设置为 Cursor Stability,因为它对于比较小的环境是最合适的。注意,DB2 Express-C 版本在本质上符合 ACID。隔离级别决定在访问数据时如何锁定数据以及如何与其他进程隔离。

图 40. 运行配置顾问 - 步骤 7
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

最后,会显示建议的值,如果与当前值不一样,就会以粗体显示。因为 IBM 正在努力使它的数据库服务器自动化,这些建议值是很可靠的。它给出了大量选项并考虑到了这些参数之间的关系,因此老练的 DBA 只需要提供少数几个配置参数。对于维护数据库的高性能,配置顾问提供了一个很好的起点。如果您只是听说过这个特性,还没有尝试过,那么最好尽快开始使用它。

图 41. 运行配置顾问 - 步骤 8
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

配置参数:这是修改配置参数的一种手工方法。与实例级参数一样,大多数数据库级参数要求数据库管理程序重新启动才能生效。在数据库级参数配置中,我们只关注以下类别(这与实例级配置相似,只是参数类别不同):

应用程序

环境

日志

维护

性能

恢复

状态



图 42. 配置参数
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

配置参数 的完整列表可以在网上获得。通常,需要断开所有应用程序的连接并重新启动数据库,参数设置才能生效。

备份和支持前滚的恢复:DB2 Control Center 允许离线和在线备份。它还允许 DBA 将数据库前滚到某一时间点或最近的状态。执行数据库离线备份的步骤如下:

在介绍页面上点击 Next。在这个页面上可以获得少量信息。例如,正在使用循环日志,没有为备份配置自动维护。

图 43. 离线备份 - 步骤 1
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

指定要将数据库备份到哪个文件系统并点击 Next。

图 44. 离线备份 - 步骤 2
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

注意,如果使用了循环日志,那么只有离线数据库备份选项是可用的,只能对数据库进行完整的备份。可以选择对备份活动进行节流和压缩备份映像。

图 45. 离线备份 - 步骤 3
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

我们可以保持性能参数为默认值。点击 Next 之后,可以立即运行备份,也可以安排在以后运行。

图 46. 离线备份 - 步骤 4
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

可以使用 DB2 Control Center 全面控制离线和在线备份,包括表空间级备份。还提供了支持前滚的恢复选项,使管理员只需几次鼠标点击就能够快速备份和恢复数据库。更好的是,还可以自动维护 备份。通过将备份设置为自动维护,管理员只需要处理异常事件,因此减轻了负担。

解释查询和语句历史:解释查询可以指出总开销和 SQL 执行时的查询路径。为了获得精确的开销数据,必须运行 runstat 来更新统计数据。过时的统计数据会使整个解释查询及其访问计划失去意义。

图 47. 解释查询
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

Web 服务:为了在数据库中使用本机 XML 功能,必须启用 Web 服务。DB2 Express-C 9 提供了本机 XML 查询和存储功能,这是 DB2 最大的 改进 之一。利用本机 XML 功能,XML 数据访问的 性能 会显著提高。为数据库启用 Web 服务支持很容易;在 DB2 Control Center 上,右击数据库并选择 Web Services 和 Enable Web Services。启用之后,出现以下屏幕。

图 48. 启用 Web 服务
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

Journal

Journal 是 DB2 Express-C GUI 管理功能的固有部分,它记录历史日志和发生的任务、数据库事件、通知等事件。换句话说,发生的活动被在线记录下来,以便进行历史分析。

可以在 Control Center 中启动 Journal,或者选择 Start -> All Programs -> IBM DB2。有四个与 Journal 相关的选项卡。我们来详细地看看它们。

Task History(任务历史):所有失败或成功的任务在任务历史中都有对应的条目。通过查看任务历史,管理员可以知道哪些任务已经成功地执行了。对于失败的任务,管理员可以在 Task Center 中重新安排它们运行。除了任务的执行状态之外,任务历史还提供启动时间、结束时间和持续时间。

图 49. 任务历史
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

还可以对显示进行排序和过滤。例如,为了显示最近执行的任务,选择 Journal 面板底部向右的箭头。可以根据您的喜好进一步定制预填充的视图列表。

图 50. 在 Journal 中选择视图
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

为了进一步定制显示的外观,点击右下角的 View 按钮。可以用以下方式定制外观:

通过过滤 - 可以选择许多过滤参数,从而只显示符合特定标准的内容。

图 51. 在 Journal 中进行过滤
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

通过排序 - 为了对排序进行定制,将排序列移动到右边的面板中。

图 52. 在 Journal 中进行排序
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

通过对列进行定制 - 与对排序进行定制相似,将需要的列移动到右边的面板中。

图 53. 在 Journal 中对列进行定制
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

最后(但并非不重要),可以对单独的任务执行几个选项,比如编辑任务的细节、显示统计数据等等。



图 54. 任务历史选项
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

例如,下图显示用来编辑任务细节的选项卡。请您自己研究它的使用方法。



图 55. 编辑任务细节
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

最后,用一个新名字(比如 Backup-July 2006)保存刚才定制的视图。对于其他的选项卡(数据库历史、消息和通知日志),我们只简单地提一下,不做详细介绍。

Database History(数据库历史):所有数据库活动都记录在数据库历史中。提供的列包括开始和结束日期、开始和结束时间等等。也可以对排序、过滤和列进行定制。

图 56. 数据库历史
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

Messages(消息):可以像前面一样对排序、过滤和列进行定制。

图 57. Journal 中的消息
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

通知日志:可以像前面一样对排序、过滤和列进行定制。

图 58. 通知日志
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

Task Center

Task Center 是用来根据任务是否成功调度某一任务或任务集的 DB2 GUI 工具。Task Center 允许管理员执行以下任务:

DB2 脚本

操作系统脚本

任务的分组

Task Center 允许管理员设置电子邮件通知或者将通知发送到 DB2 Journal(见上面的讨论)。它有分组功能,能够根据返回的成功或失败码执行多个任务。成功和失败码是使用成功码集设置的。这个编码集定义了编码范围,这个范围内的编码被认为是成功的,所以如果返回码在定义的范围之外,那么这个任务就被认为是失败的。在默认情况下,返回码集 0 被认为是成功的,而其他编码都表示失败。这样的话,就可以根据以前的返回码禁用或运行任务。


图 59. 在 Task Center 中创建新任务
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

在下图中可以看到,在创建新任务之后,管理员可以执行许多选项。例如,修改、启用或禁用调度、通知和任务操作。另外,还可以将多个任务分组在一起。最后,可以利用历史和统计数据进行审计。


图 60. DB2 Task Center 中的任务选项
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

尽管可以在 DB2 Task Center 中创建新任务,但是数据库备份这样的任务常常是用 DB2 Control Center 执行的,然后再进行任务调度。这一步骤通常会在 Task Center 中创建一项,所以对于比较简单的任务不一定非在 DB2 Task Center 中创建新任务。例如,在备份向导的末尾是下面的任务调度设置:


图 61. 在备份向导中调度任务
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

如果需要修改时间和日期,那么点击 Change 按钮。可以将它设置为重复运行或只运行一次。


图 62. 在备份向导中调度任务
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

监视工具

管理员的主要工作是确保系统的健康,所以监视系统的性能(包括网络、服务器或数据库级性能)应该是他们日常生活的一部分。即使有了适当的网络带宽和硬件,如果没有适当的数据库级调整和监视,那么一个编写得很差的 SQL 语句就可能使整个系统中断。另外,利用数据库对象监视,可以高效地使用索引并更精确地预测表的增长。

幸运的是,DB2 Express-C 通过提供监视工具解决了这个问题,这些工具包括 Event Analyzer、Health Center、InDoubt Transaction Manager 和 Memory Visualizer。这些工具在 DB2 Express-C 安装时就提供了(不需要单独下载),实现的监视详细程度足以满足大多数情况下的需求。对于运行非任务关键型应用程序的中小型数据库,这些内嵌的监视工具完全可以满足您的性能需求。要想使用更高级的工具监视 DB2 数据库,可以选择 IBM DB2 Performance Expert 等 DB2 工具。

管理员可以使用两种监视方法进行监视,即快照 和事件监视;前者就像是用相机拍照,将某一时间点的数据库状态记录下来;而事件监视记录重要的数据库日志信息,以便进行更好的分析。这两种方法都允许将输出重定向到文件或表,而且可以通过各种方式呈现,比如 GUI、CLP 或定制的代码。例如,可以使用提供的 示例代码 将快照输出重定向到标准输出。

在本文中,我们主要关注事件监视。

Event Analyzer

可以从 DB2 Control Center 创建事件监视器,而实际的分析在 Event Analyzer 中进行。Event Analyzer 可以分析事件监视器的数据,监视的目标包括数据库对象(比如表、缓冲池、表空间)和应用程序级监视器(比如连接、SQL 语句、死锁等等)。

创建事件监视器的步骤如下。

创建事件监视器很简单;右击 DB2 Control Center 菜单树中的 Event Monitors 图标,然后选择 Create。

图 63. 创建事件监视器 - 步骤 1
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

为了简单,我们选择三个要监视的事件:表、表空间和死锁。注意,显示的列表是当前可以监视的事件;其中的连接、事务和语句可以根据授权 id、应用程序 id 和应用程序名称 等参数进行过滤。

图 64. 创建事件监视器 - 步骤 2
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

创建事件监视器之后,就会在 DB2 Control Center 中登记一个项目。

图 65. 在 DB2 Control Center 中登记的事件监视器
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

至少有两种分析事件的方法:通过选择 Start->All Programs -> IBM DB2 -> Monitor Tools -> Event Analyzer 来启动 Event Analyzer,或者通过 DB2 Control Center 活动面板。启动之后,从下拉列表中选择要分析的监视器(一次只能选择一个)。

启动 Event Analyzer。

图 66. 选择要分析的事件监视器
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

可以查看事件监视器启动以来或运行期间的所有记录,也可以研究特定时间段的记录来分析问题。

图 67. 选择监视的时间段
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

选择了要查看的时间段之后,在左下角的 Navigate to 下拉列表中选择一项,比如 table。

图 68. 钻探表事件监视器
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

Table 级钻探显示以下数据元素,其中的 data_object_pages 表示基表的大小,index_object_pages、lob_object_pages 和 long_object_pages 分别代表索引、lob 和长对象空间消耗。

图 69. 表级数据元素
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

关于事件监视要注意的一点是,不要仅仅出于好奇而打开事件监视,因为进行监视会影响系统性能。

Health Center

Health Center 是与自动维护特性相关联的。IBM 正在努力实现自动化的自管理数据库环境,让管理员可以避免执行某些比较重要的任务,Health Center 就是 IBM 在这方面采取的措施之一。它通过为数据库对象设置阈值,应用 “按异常管理” 模型。在达到阈值时,会向负责的管理员发送警告。这样的话,管理员就可以让数据库系统自己运行,直到收到警报时才进行干预。Health Center 是一个复杂的组件,它知道要监视什么以及数据在 DB2 中是如何相互关联的。简单地说,在发生异常时,它会评估数据、进行适当的诊断并提出合适的解决方案建议。另外,管理员可以先阅读建议的细节,然后再接收建议。既然 Health Center 是一个至关紧要的组件,我们将多花点儿时间讨论它。

可以在 DB2 Control Center 中启动 Health Center,或者选择 Start->All Programs->IBM DB2->Montitoring Tools->Health Center。在主页面中,可以看到以下内容(见图 70):

Health Center 状态标志:左边面板上的彩色图标显示被评估对象的警报状态。从左到右依次为:

处于警报状态的对象

处于警报或警告状态的对象

处于任何警告状态的对象

所有对象

可以通过右击数据库来配置健康状态指示、自动维护(前面讨论过这个主题)和管理节流的实用程序。

可以深入每个警告。右击一个警告,就会出现三个选项:

Show Details(显示细节)这会显示警告的细节。

Recommendation Advisor(建议顾问):这让 DB2 建议适当的操作供管理员选择。

Disable Evaluation(禁用评估):这个选项关闭评估。

可以通过过滤定制这个视图,这样管理员就能够在主页面中显示特定的对象类别和列,从而更好地查看信息。

通知日志:可以在 Health Center 中查看通知日志。

警告通知:为警告通知配置要接收警告的管理员。


图 70. Health Center - 主页面
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

DB2 Express-C 附带一组预定义的健康状态指示,包括应用程序并发性、数据库、内存 等类别。在后面的讨论中,我们将纠正自动存储利用率超标问题,并将警告阈值由默认的 90 改为 85。以下步骤说明如何通过几次鼠标点击完成这个任务。

为了纠正自动存储利用率 问题,高亮显示这个警告,右击并选择 Recommendation Advisor。

图 71. 纠正健康状态指示超标 - 步骤 1
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

这个向导首先提供足够的描述,说明这个健康状态指示是关于什么的。还提供警告或警报的阈值。可以查看它捕获的历史数据(在默认情况下是 10 分钟),这样管理员就可以更好地了解这个警告的历史。还可以阅读其他信息来了解增长速度。

图 72. 纠正健康状态指示超标 - 步骤 2
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

点击 Next 会提供两个解决问题的选项。管理员可以选择显示所有建议,也可以只选择最适合自己环境的建议。在这个示例中,我们只选择第一个选项 —— 在数据库中添加额外的存储路径。

图 73. 纠正健康状态指示超标 - 步骤 3
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

点击 Launch 开始添加新的存储路径。DB2 Health Center 能够根据上下文显示适当的操作对话框。例如,在我们的示例中,将打开 add new storage path 窗口。但是,如果我们要纠正堆大小超标问题,就会启动 Memory Visualizer。DB2 Health Center 会根据管理员选择的建议解决方案显示适当的界面。这样就可以减少管理员纠正问题所需的总时间。

图 74. 纠正健康状态指示超标 - 步骤 4
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

在现有的 C:\ 中添加新的存储路径,比如 E:\。

图 75. 纠正健康状态指示超标 - 步骤 5
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

点击 OK,就会显示下面这样的成功屏。点击 Next 继续。

图 76. 纠正健康状态指示超标 - 步骤 6
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

点击 Close 接受修改。刷新健康状态指示。现在应该没有警告了。

图 77. 纠正健康状态指示超标 - 步骤 7
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

现在,我们要把警告阈值由默认的 90 改为 85。为了配置健康状态指示设置,选择 Selected->Configure->Health Indicator Settings。注意,Health Indicator Settings 旁边是 Alert Notification 配置。

图 78. 配置健康状态指示设置 - 步骤 1
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

点击 Object Settings,因为我们希望在单独的对象上修改设置。Global Settings 选项可以让设置在同一实例中全局地生效。但是,Object Settings 是优先的;如果两者都设置了,那么采用 Object Settings 中的设置。

图 79. 配置健康状态指示设置 - 步骤 2
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

在树中找到数据库 Sample。点击 OK 继续。这时会显示参数页面。

图 80. 配置健康状态指示设置 - 步骤 3
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

右击 Database Automatic Storage Utility 并选择 Edit。还要注意,在这个页面中可以看到所有参数;有些参数打开了评估,其他参数在默认情况下关闭了评估。

图 81. 配置健康状态指示设置 - 步骤 4
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

图片看不清楚?请点击这里查看原图(大图)。

将警告阈值改为 85。注意,选中了 Evaluation 框,敏感性(sensitivity)是 0 分钟。如果在发生警告或警报阈值超标时,需要运行脚本来解决问题,那么可以使用 Action 选项卡来定义一系列要运行的脚本或任务操作。最后,如果您认为需要进一步了解这个健康状态指示,那么点击 Tell Me More 按钮来获得更多的解释。

图 82. 配置健康状态指示设置 - 步骤 5
利用 MySQL 技能学习 DB2 Express: DB2 与 MySQL 图形用户界面

结束语

本文首先概述了 MySQL 的 GUI 管理功能,并通过一个对照表与 DB2 Express-C 进行了对比。其余部分介绍了 DB2 Express-C GUI 管理工具的特性和功能,向读者解释了如何在 DB2 环境中完成管理任务。DB2 Express-C 提供了丰富的智能化的 GUI 管理工具,可以执行对象管理、性能监视、自动配置等等任务,这些工具减轻了管理员的负担,使他们不必执行某些重要的任务。

Tags:利用 MySQL 技能

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接