irobot_w
作者irobot_w·2011-12-27 15:09
系统运维工程师·临商银行

DB2 9 基础(730 考试)认证指南,第 1 部分: DB2 规划

字数 41119阅读 6927评论 0赞 0
DB2 9 基础(730 考试)认证指南,第 1 部分: DB2 规划

Paul Zikopoulos (paulz_ibm@msn.com), 数据库专家, EMC

简介:  本教程介绍 DB2 9 产品和工具的基本知识,以及描述不同类型的数据应用程序、数据仓库和 OLAP 的概念。这是 分 7 部分的系列教程 中的第 1 部分,这个系列的目的是帮助读者准备 DB2 9 for Linux, UNIX, and Windows Fundamentals 考试 730。

关于本系列

如果您正准备参加 DB2 基础认证(考试 730),那您就来对地方了。这个 共分 7 部分的 DB2 认证指南系列教程 涵盖了为参加考试而必须理解的所有基础知识。即使您不打算马上参加认证考试,本系列教程也可以帮助您了解 DB2 9 中的新特性。

关于本教程

本教程介绍 DB2 9 产品和工具的基本知识,以及描述不同类型的数据应用程序、数据仓库和 OLAP 的概念。讨论如何使用 DB2 数据服务器的中心管理工具 Control Center。本教程还讲解如何使用 Configuration Assistant 轻松地操作现有的数据库、添加新的数据库、绑定应用程序、设置客户机配置和注册表参数以及导入和导出配置文件。

这是共分 7 部分的系列教程中的第 1 部分,这个系列的目的是帮助读者准备 DB2 9 Family Fundamentals Certification(考试 730)。本教程的内容主要涉及考试第 1 部分 “规划” 中的目标。可以在 http://www-03.ibm.com/certify/tests/obj730.shtml 查看这些目标。

目标

在学完本教程之后,您应该会了解:

  • DB2 的不同版本和各种 DB2 产品。
  • DB2 中包含的工具。
  • 如何使用 Control Center 管理系统、DB2 实例、数据库、数据库对象等等。
  • 如何使用 Configuration Assistant 维护一组可以由应用程序连接和管理的数据库。
  • Control Center 和 Configuration Assistant 中的所有独立工具。
  • 什么是数据仓库,以及有哪些可以帮助实现数据仓库的 DB2 产品。

先决条件

本教程不讨论安装 DB2 的过程。如果您还没有安装 DB2,我们强烈建议下载并安装一份 DB2 Express - C 的拷贝。安装 DB2 能帮助您理解 DB2 9 Family Fundamentals Certification 考试中考查的许多概念。在 DB2 Technical Support Web 站点中,Technical Information 标题下面的 Quick Beginnings 图书记录了安装过程。

DB2 产品

DB2 的不同版本

DB2 9 提供了适于所有企业的数据管理解决方案。没有其他数据库管理系统能够在性能、可用性、可伸缩性和可管理性方面达到 DB2 9 的水平。但是,DB2 有不同的版本,每种版本适合市场的不同部分。DB2 基础考试要求您了解不同的 DB2 产品和版本,所以本节讨论这个问题。

下面的图显示了所有可用的 DB2 发行版。从图中可以看出 DB2 的发展:每个版本都包含低一级版本的所有功能和特性,并添加了新的特性和功能。Linux、UNIX 和 Windows(luw)平台上的代码有大约 90% 是相同的,在每种操作系统上有 10% 的专用代码,用于使数据库与底层操作系统紧密地集成。例如,使用 AIX 上的 Huge Pages 或 Windows 上的 NTFS 文件系统。

DB2 系列中还有两个成员没有显示在下图中:DB2 for System i 和 DB2 for System z。这些数据库基于不同的代码基础,专门针对运行它们的底层操作系统和硬件架构做了调整,它们的 SQL 可移植度达到 95%,这使它们成为 DB2 系列的成员。例如,DB2 for System i 构建在 i5/OS 操作系统中。DB2 for z/OS 利用了 System z 服务器上的硬件耦合器(Coupling Facility),因此与使用 “shared-nothing” 方式的 DB2 luw 相反,它采用 “shared-everything” 的方式。


DB2 版本
DB2 有许多不同的版本 —— 必有一款适合您

这些版本的详细许可协议超出了本系列教程探讨的范围,但是需要注意在您所购买的 DB2 Enterprise 中有一些可以免费使用的 DB2 9 功能特性。如果 DB2 Express 或 DB2 Workgroup 中没有免费包含某一功能,那么(在大多数情况下)可以通过附加的 Feature Pack 购买这一功能。

例如,在 DB2 Express 9 和 DB2 Workgroup 9 中,可以通过购买以下 Feature Pack 向数据服务器中添加功能:

纯 XML(pureXML) 提供 DB2 9 新的 XML 数据列类型和索引。DB2 9 提供一种混合型引擎,它既可以按照关系方式操作和存储基于 SQL 的数据,又可以按照层次化方式操作和存储基于 XML 的数据。 高可用性 提供在线表重组、Tivoli System Automation for AIX and Linux 以及高可用性灾难恢复(High Availability Disaster Recovery, HADR)功能。这在 DB2 Enterprise 中是免费提供的。 性能优化 这是使用多维聚集表(Multidimensional Clustering, MDC)、物化查询表(Materialized Query Tables, MQT)和查询并行性所需要的特性。这在 DB2 Enterprise 中是免费提供的。 负载管理 提供 Connection Concentrator、DB2 Query Patroller 和 DB2 Governor。Connection Concentrator 和 DB2 Governor 特性在 DB2 Enterprise 中是免费提供的。

DB2 Enterprise 9 附带以下附加特性来扩展这个 DB2 版本的功能:

纯 XML(pureXML) 提供 DB2 9 新的 XML 数据列类型和索引。DB2 9 提供一种混合型引擎,它既可以按照关系方式操作和存储基于 SQL 的数据,又可以按照层次化方式操作和存储基于 XML 的数据。 高级访问控制(LBAC) 用于提供扩展的安全架构,在这个架构中基于角色对数据进行访问。 地理数据管理特性 用于对各种应用程序中使用的空间和球面数据模式进行建模,比如气候分析、国防以及在分析中需要考虑地球曲率的应用程序。 存储优化特性 用于行级和备份/恢复压缩,可以显著提高操作的速度并使数据的存储开销最小化。 性能优化特性 提供在 DB2 Enterprise 服务器环境中使用的 DB2 Performance Expert 和 DB2 Query Patroller 产品。

DB2 Everyplace

移动计算的真正力量并不在于移动设备本身,而是在于能够利用来自其他来源的数据。DB2 Everyplace 将 DB2 的强大力量注入了移动设备,能够与其他系统进行数据同步,从而让企业数据进入移动员工的口袋,让他们能够从远程位置更新企业数据。

DB2 Everyplace 不仅仅是一种移动计算基础设施。它是一个完整的环境,包含了构建、部署和支持强大的电子商务应用程序所需的工具。DB2 Everyplace 提供一个 “指纹” 引擎(大约 200 KB),其中包含所有的安全特性,比如表加密和提供高性能的高级索引技术。它可以在当今最常见的各种手持设备上顺利地运行(提供多线程支持),比如:Palm OS、Microsoft Windows Mobile Edition、任何基于 Windows 的 32 位操作系统、Symbian、QNX Neutrino、Java 2 Platform Micro Edition(J2ME)设备(比如 RIM 的 Blackberry pager)、嵌入式 Linux 发布版(比如 BlueCat Linux)等等。

如果需要在资源有限的设备上使用关系引擎和同步服务,就应该使用 DB2 Everyplace。对于偶尔连接的笔记本电脑用户,如果他们的应用程序不需要 DB2 Everyplace 引擎中没有的特性(比如触发器),那么也可以考虑这个产品。

在 DB2 8 中,DB2 Everyplace 是作为 Mobility-on-Demand 特性提供的。在 DB2 8 或 DB2 9 中遇到这个特性时,可以认为这两个产品提供的功能是相同的。尽管在版本之间打包方式不同,但是 DB2 Everyplace 和 DB2 Mobility-on-Demand 为环境提供相同的功能、特性和能力。

在 DB2 9 中,Mobility on Demand 由 DB2 Enterprise 免费提供。DB2 Express 和 DB2 Workgroup 用户需要购买 DB2 Everyplace Enterprise Edition 来获得这些功能。

DB2 Personal Edition

DB2 Personal Edition(DB2 Personal)是单用户 RDBMS,运行于低价的商用硬件桌面计算机上。DB2 Personal 可以用在基于 Windows 和 Linux 的工作站上。DB2 Personal 包含 DB2 Express 的所有特性,但是有一个例外:远程客户机无法连接运行这个 DB2 版本的数据库(但是,具有 Control Center 的工作站可以连接这些数据库来执行远程管理)。因为 “DB2 就是 DB2”,为 DB2 Personal 开发的应用程序也可以在 DB2 的任何其他版本上运行。例如,可以使用 DB2 Personal 开发 DB2 应用程序,然后将它们部署到运行 DB2 Enterprise 9 for AIX 的生产环境中。

DB2 Personal 既适用于不连接网络的 PC,也适用于连接网络的 PC。在这两种情况下,它为用户提供了强大的数据存储,或者提供了数据库存储设施并能够连接到远程 DB2 服务器。

偶尔连接的用户可以利用 DB2 内置的复制特性和 DB2 Control Server 设置一个同步的环境,让移动员工可以与企业保持联系。当然,这只适合笔记本和某些工作站的用户,比如那些运行销售点(point-of-sale,POS)应用程序的用户。

DB2 Express - C

DB2 Express - C 其实 不算是 DB2 系列的一个版本,但是它提供了 DB2 Express 的大多数功能。2006 年 1 月,IBM 发布了这个特殊的 DB2 免费版本,可以用于基于 Linux 和 Windows 的操作系统。DB2 Express-C 是为合作伙伴和开发社区设计的,但是正如您知道的,它几乎可以应用于任何地方。DB2 Express - C 引人注目的一个特点是:它没有其他厂商发布免费版本时通常会设置的限制。在有限制的方面,它也比其他厂商的免费系统宽松得多。

例如,DB2 Express - C 没有数据库大小限制,而且可以处理 64 位内存模型。DB2 Express-C 非常适合开发人员和中小型应用部署、学校社区等等。DB2 Express-C 具有 DB2 Express 的全部灵活性和健壮性,但是没有 DB2 Express 付费版本的一些扩展特性。DB2 Express-C 中 包含的特性包括:

  • DB2 Express Feature Pack 中的特性 —— 例如,高可用性灾难恢复(HADR)
  • 数据复制捕获
  • 24x7 IBM Passport Advantage 支持模型

如果希望在自己的环境中利用这些特性,那么至少需要购买 DB2 Express。

DB2 Express Edition

DB2 Express Edition(DB2 Express)是一种功能全面的支持 Web 的客户机/服务器 RDBMS。DB2 Express 可以用于基于 Windows 和 Linux 的工作站。DB2 Express 提供一个低价的入门级服务器,主要用于小型企业和部门的计算任务。它的功能与 DB2 Workgroup 相同,但是在服务器上可以安装的内存和价值单元(等于一个服务器处理器核心的能力)数量方面与 DB2 Workgroup 有区别。

可以添加额外特性来提供扩展的功能(比如 DB2 Enterprise 中的一些功能),而不需要购买相应的版本。本教程前面描述了 DB2 Express 9 可用的 Feature Pack。

DB2 Express 可根据由运行应用程序的处理器决定的价值单元发放许可证,或者以授权用户数量为标准发放许可证。授权用户是 DB2 9 的一个新概念,它代表经过注册能访问环境中单一数据服务器上的服务或数据的用户。例如,如果有一个用户需要访问两个不同的 DB2 Express 9 数据服务器,而且这个环境要求按照授权用户发放许可,那么这个用户需要两个 DB2 Express 授权用户许可证(每个服务器一个)。

DB2 Express 在企业中可以扮演许多角色。它非常适合那些需要完全成熟的关系数据库的小型企业。他们可能不需要某些更成熟或更重要的应用程序那样的可伸缩性,但是他们希望存在一个企业级数据库来支撑其应用程序,在需要时,可以轻松地扩展此应用程序而不必进行任何修改。注意,针对 DB2 的任何版本编写的应用程序都可以轻松地移植到任何分布式平台上的另一个版本。

DB2 Workgroup Edition

DB2 Workgroup Edition(DB2 Workgroup)是一种功能全面的支持 Web 的客户机/服务器 RDBMS。它可以用于所有支持的 UNIX 版本、Linux 和 Windows。

DB2 Workgroup 提供了一种低价的入门级服务器,主要用于小型企业和部门的计算任务。在功能方面,它支持与 DB2 Express 相同的所有特性。可以添加额外特性来提供扩展的功能,比如 DB2 Enterprise 中的那些功能,而不需要购买 DB2 Enterprise。可选的 DB2 Workgroup 的许可方式与 DB2 Express 相同。

在 DB2 8 中,有两种 Workgroup Edition:DB2 Workgroup Server Edition(DB2 WSE)和 DB2 Workgroup Unlimited Edition(DB2 WSUE)。DB2 WSE 只能按照命名用户许可证和基础服务器许可证进行许可。DB2 WSUE 只能按照处理器进行许可。在 DB2 9 中,这两个版本合成了一个版本 —— DB2 Workgroup。命名用户和服务器许可被替换为简化的授权用户。处理器许可仍然存在,但是根据 IBM 订价策略,它转换成了按价值单元付费的形式。

DB2 Workgroup 在企业中可以扮演多种角色。它非常适合中小企业(SMB),可为其提供完全成熟的可伸缩的关系数据库存储,且可以通过广域网(WAN)或局域网(LAN)来访问。它还适合需要 silo server 的企业环境,或者需要在未来进行扩展的部门。正如前面提到的,针对 DB2 的任何版本编写的应用程序可以轻松地移植到任何分布式平台上的另一个版本。

DB2 Enterprise Edition

DB2 Enterprise Edition(DB2 Enterprise)是一种功能全面的支持 Web 的客户机/服务器 RDBMS。它可以用于所有支持的 UNIX 版本、Linux 和 Windows。DB2 Enterprise 适合作为大型和中型的部门服务器。DB2 Enterprise 包含 DB2 Express 和 DB2 Workgroup 的所有功能,还添加了其他功能。某些 DB2 9 特性只在这个版本中可用,比如新的 DB2 9 Storage Optimization 特性。

与 DB2 Express 和 DB2 Workgroup 一样,DB2 Enterprise 可根据由运行应用程序的处理器架构决定的价值单元发放许可证,或者以授权用户数量为标准发放许可证。授权用户是 DB2 9 的一个新概念(但是这种度量方式在 DB2 8 Enterprise Server Edition 中就有了),它代表注册的能够访问环境中单一数据服务器上的服务或数据的用户。例如,如果有一个用户需要访问两个不同的 DB2 Enterprise 9 数据服务器,而且这个环境要求按照授权用户进行许可,那么这个用户需要两个 DB2 Enterprise 授权用户许可证(每个服务器一个)。一些特性(比如 Database Partitioning 特性)不能使用授权用户度量方式。DB2 Enterprise 还正式提供了子容量许可方式,比如 LPAR 和动态 LPAR。

由于具有数据库分区特性(DPF),DB2 Enterprise 能够对单一服务器、多个数据库服务器(所有服务器必须运行同样的操作系统)或大型 SMP 机器中的数据进行开箱即用的数据分区。

可以将 DPF 作为 DB2 Enterprise 处理器许可的一部分购买,它也可会转换成价值单元。有了 DPF,数据库的大小就只受到您拥有的计算机数量的限制。具有 DPF 特性的 DB2 Enterprise 适合于大型数据仓库,还可以满足高性能在线事务处理(OLTP)需求。具有 DPF 特性的 DB2 Enterprise 还可以将多个 SMP 机器聚集在一起,形成一个数据库映像,从而支持非常大的事务量。

Data Enterprise Developer Edition

Data Enterprise Developer Edition(DEDE)是为应用程序开发人员提供的特殊版本。这个版本提供了几个信息管理产品,使应用程序开发人员可以对应用程序进行设计、构建和建立原型,产生的应用程序可以部署在任何 IBM 信息管理软件客户机或服务器平台上。这个全面的开发人员工具集包括:

  • DB2 Workgroup 9 和 DB2 Enterprise 9
  • IDS Enterprise Edition
  • IBM Cloudscape/Apache Derby
  • DB2 Connect Unlimited Edition
  • 以及本教程前面描述的所有 DB2 9 附加特性

这使用户能够使用价格更低的版本构建出使用最新数据服务器技术的解决方案。DEDE 中的产品只能用于对应用程序进行开发、评估、演示和测试。

DB2 8 有免费的 DB2 Personal Developer's Edition,它提供 DB2 8 Personal Edition 和 DB2 8 Connect Personal Edition 的特性。在 DB2 9 中,这个软件包已经取消了,由 DB2 Express - C 取代。

DB2 客户机

DB2 9 大大简化了将应用程序连接到 DB2 数据库所需的基础设施的部署。DB2 9 提供以下客户机:

DB2 9 Runtime Client 如果只需要让应用程序能够访问 DB2 9 数据服务器,那么这就是最佳选择。它们提供了执行此任务所需的 API,但是这种客户机没有提供管理工具。 DB2 9 Client 包含 DB2 Runtime Client 中的所有功能,还增加了 通过一组图形化工具进行客户机 - 服务器配置、数据库管理和应用程序开发的功能。DB2 9 Client 取代了 DB2 8 Application Development DB2 8 Administration Client 中的功能。 Java Common Client(JCC) 这是一个 2 MB 的可重新发布的客户机,它提供了对 DB2 数据服务器的 JDBC 和 SQLJ 应用程序访问,而不需要安装和维护 DB2 客户机代码。如果要连接 DB2 for System i 或 DB2 for System z 数据服务器,那么仍然需要购买 DB2 Connect 产品。 DB2 9 Client Lite 这个客户机是 DB2 9 中新增的,它执行与 JCC 客户机相似的功能,但不是支持对 DB2 数据服务器进行基于 Java 的访问,而是用于 CLI/ODBC 应用程序。这个客户机尤其适合于那些希望将连接功能嵌入应用程序,而不需要重新发布和维护 DB2 客户机代码的 ISV。

DB2 扩展器(Extender)

本节讨论的 DB2 扩展器使数据库应用程序能够超越传统的数字和字符数据,为底层数据服务器提供额外的功能。

XML Extender

DB2 的 XML Extender 提供 XML 数据类型,支持在 DB2 数据库中存储 XML 文档,并添加了帮助在数据库中操作这些 XML 文档的功能。

可以在 DB2 中存储完整的 XML 文档,也可以将它们存储为由数据库管理的外部文件。这个方法称为 XML 列。还可以将 XML 文档分解存储进关系表中,从数据库中取出时再将信息重新组合成 XML。这基本上意味着 DB2 数据库可以将 XML 文档拆解,只取得数据,从数据库中取出时用数据重新创建 XML 文档。这个方法称为 XML 集合

与 DB2 9 中新增的 pureXML 特性的关系
您可能会把 XML Extender 和所有 DB2 9 版本中都有的 pureXML 附加特性混淆在一起。DB2 XML Extender 提供了 DB2 8 中就有的 XML 功能。pureXML 特性使 DB2 服务器能够利用新的混合型存储引擎在 DB2 9 中原生存储 XML。pureXML 的性能、易用性、灵活性和总体的 XML 体验不是原有的 XML Extender 技术能够相提并论的;但是,在 DB2 9 中仍然免费提供了 XML Extender。如果您打算在自己的数据环境中使用 XML,那么强烈建议使用 pureXML 特性。

pureXML 特性允许将 XML 存储在磁盘上经过解析的树中,而不必将 XML 存储在大对象中或者将它分解存储进关系列中(就像 XML Extender 所要求的)。这对于需要使 XML 数据持久化的应用程序非常有好处。

在 XML Extender 中,您需要使用函数,它不支持 XQuery。如果要检索 XML 数据,可以只访问 XML 文档的一些部分,而不需要读取整个文档(如果它存储在 LOB 中)并拆分它,也不必执行连接(如果它存储在关系表中),只有 XML Extender 支持这种方法。

在使用 pureXML 特性提供的功能时,访问数据是非常顺畅的体验。例如,可以使用 SQL 或 XQuery 分别访问关系或 XML 数据。

DB2 9 支持按照与 XML Extender 相同的方式将 XML 数据分解成关系数据,但是它使用一种出色得多的不同技术来执行这一任务。可能由于许多原因希望将 XML 数据分解成关系数据,比如在 XML 数据本身是表格性的情况下。要使用 DB2 XML Extender 将 XML 数据分解成关系数据,必须手工生成 Document Access Definition 文档,这些文档用于把节点映射到列。在 DB2 9 中(即使没有 pureXML 特性),可以使用 DB2 Developer Workbench 对数据进行分解并自动地发现这些映射。DB2 9 中的新机制也比 XML Extender 方法快得多。

DB2 Net Search Extender

这个扩展器帮助企业在搜索数据库中的数据时获得更高的性能。对于电子贸易和其他需要高性能且可伸缩的文本搜索的应用程序,高性能的内存中搜索是不可或缺的。在互联网应用程序中很可能使用这个扩展器,这些应用程序需要在大索引上有很好的搜索性能,而且需要并发查询的可伸缩性。还可以使用这个扩展器搜索大型 XML 文档。如果需要高速度的内存中搜索,那么这个扩展器正好适合您。在 DB2 8 中,Text Information Extender 与 Net Search Extender 结合使用。这个扩展器在 DB2 9 中是免费的(在 DB2 8 中,它是付费特性)。

DB2 Spatial Extender

这个扩展器可以在 DB2 中与文本和数字等传统数据一起存储、管理和分析空间数据 —— 关于地理特征位置的信息。可以利用这个功能生成、分析和研究关于地理特征的空间信息,比如办公大楼的位置或洪灾区的大小。DB2 Spatial Extender 用一组高级的空间数据类型扩展了 DB2 的功能,这些类型代表点、线和多边形等几何形状。它还包含许多操作这些数据类型的功能和特性。这些功能允许将空间信息与业务数据结合在一起,给数据库添加了另一个智能元素。这个扩展器在 DB2 9 中是免费提供的(自从 DB2 8.2 开始)。

DB2 Geodetic Extender

这个扩展器可以增强用 DB2 Spatial Extender 构建的应用程序类型。DB2 9 Geodetic Extender 可以将地面作为球体对待,从而消除投影等操作造成的不精确。在使用 DB2 Spatial Extender 中提供的空间数据类型和功能时,可以使用 DB2 Geodetic Extender 对跨国际日期变更线的地面位置和数据进行无缝的查询。可以维护精确引用地面位置的数据。

DB2 Geodetic Extender 是按照测地学的原理设计的,考虑到了地球(或用椭圆体建模的任何实体,比如太阳或其他天体)的大小和形状。设计 DB2 Geodetic Extender 的目的是高精度地处理在地球表面上定义的物体。DB2 Geodetic Extender 只能在 DB2 Enterprise 9 中使用。

DB2 Connect

许多大型组织中的大量数据由 DB2 for i5/OS、DB2 for MVS/ESA、DB2 for z/OS 或 DB2 for VSE and VM 数据服务器进行管理。有了 DB2 Connect 的帮助,在任何支持的 DB2 分布式平台上运行的应用程序都可以透明地操作这些数据,就像是本地数据服务器在管理数据一样。还可以将 DB2 Connect 及其相关工具与许多现成的或定制开发的数据库应用程序一起使用。DB2 Connect 提供了从 Windows、Linux 和 UNIX 平台连接大型机和 中端数据库的能力。

有许多 DB2 Connect 版本:Personal Edition、Enterprise Edition、Application Server Edition 和两个 Unlimited Editions(一个用于 i5/OS 环境,一个用于 z/OS 环境)。DB2 Connect 可以添加进现有的 DB2 数据服务器中,也可以作为单独的网关。无论是哪种形式,都要独立购买(但是 DB2 Enterprise 中提供了一些附赠的用户许可证)。关于 DB2 Connect 的更多信息请参阅 参考资料

DB2 附加工具

有两类 DB2 工具:一类是免费的,另一类是可以单独购买的附加工具。免费工具随 DB2 一起安装,可以从 Control Center 或 Configuration Assistant 启动,或者单独启动(在本教程的下一节中会介绍这些工具)。

单独购买的工具可以帮助数据库管理员(DBA)简化管理和恢复数据等任务,并可以对 DB2 的分布式版本执行这些任务:

工具 说明
DB2 Change Management Expert 通过对复杂的 DB2 结构性变化进行自动化和管理,改进 DBA 的工作效率并减少人为错误。
Data Archive Expert 帮助 DBA 将很少使用的数据转移到低成本的存储介质中而不需要进行额外的编程,从而满足 Sarbanes-Oxley 等法规的要求。
DB2 High Performance Unload 减小数据卸载和重新分区的维护时间窗,从而改进 DBA 的工作效率。
DB2 Performance Expert 帮助 DBA 更好地进行性能管理,维护最佳的数据库性能。
DB2 Recovery Expert 提供快速且精确的恢复功能来保护数据。
DB2 Table Editor 允许终端用户轻松安全地创建、更新和删除数据,从而保持业务数据的及时性。
DB2 Test Database Generator 快速创建测试数据,并避免在测试中使用敏感的生产数据,从而避免与数据私密性法律相关联的损失。
DB2 Web Query Tool 帮助终端用户使用 Web 和手持设备访问 DB2 数据。

这些工具并非在 DB2 9 的所有版本中都可用。但是,许可方式的细微差异超出了本教程的范围。

DB2 工具

工具概述

DB2 中包含的工具(本文后面将它们称为 DB2 工具,不要与 前一节 中讨论的可购买的 DB2 工具混淆)为大多数 DB2 特性提供了图形界面,可以节省时间并减少错误。利用这些工具,可以从图形用户界面(GUI)执行与命令行或 API 相同的任务。但是,在使用 DB2 工具时,不必记住复杂的语句或命令,还可以通过在线帮助和向导获得额外的帮助,所以我们来研究一下 DB2 工具。

DB2 工具是 DB2 Client 的组成部分。在安装 DB2 服务器时,实际上也安装了 DB2 Client 的所有组件(尽管大多数人没有意识到这一点)。DB2 Client 允许在任何工作站上安装 DB2 工具,使您能够管理远程数据库服务器。DB2 Client 还提供了设置应用程序开发环境所需的组件。

DB2 工具实际上分成两大类:

Control Center(CC) 主要用来管理 DB2 服务器。有其他几个集成的中心,可以从 Control Center 启动。 Configuration Assistant(CA) 用来设置客户机/服务器通信和维护注册表变量等等。稍后我们会进一步了解 CA。

基本工具功能

在任何 DB2 工具中都应该能够找到 6 种基本特性:Wizards、Generate DDL、Show SQL/Show Command、Show Related、Filter 和 Help。

向导

向导对于初学者和专家级 DB2 用户都非常有用。向导带领用户每次一步地执行每个任务,并在适当的时候对设置提出建议,从而帮助用户完成特定的任务。向导可以通过 Control Center 和 Configuration Assistant 启动。

向导可以用来在系统中添加数据库(对数据库进行编目)、创建数据库、备份和恢复数据库、创建表、创建表空间、配置两阶段提交、配置数据库日志、更新文档、设置高可用性灾难恢复(HADR)、调优性能等等。下图显示 DB2 9 中 Create Database 向导的一些面板。


使用向导创建数据库
使用向导创建数据库

如果使用这个向导创建数据库,那么也可以自动执行许多后期管理步骤。例如,在前面的图中,可以看到创建 TESTME 数据库时设置了自动维护。还要注意 Enable database for XML(Code set will be set to UTF-8) 复选框。如果要在 DB2 9 中使用 pureXML 特性,那么需要以 UTF-8 unicode 格式创建数据库;这是向导可以帮助管理员提高工作效率的另一个例子。在从命令行处理程序创建数据库时,如果忘了指定这个选项,就不得不删除并重新创建数据库,因为这个数据库特征是不能修改的。

顾问
一些特殊的向导不只是对完成任务提供帮助。传统的向导一步步地带领用户完成一个任务,通过提出重要的问题或者为希望执行的操作生成复杂的命令语法来简化操作过程。如果向导不只是帮助完成任务,还能够提供建议型的功能,DB2 就将它们称为顾问(advisor)。它们的操作方式就像是向导,但是非常智能化(具有非常复杂的算法),能够根据一些输入要素(比如工作负载或统计数据)提出建议。顾问收集信息并指出您可能没有考虑到的选项,从而帮助您执行比较复杂的活动,比如性能调优。然后,您可以接受或拒绝顾问的建议。可以从 GUI、API 或命令行界面调用顾问。

顾问是 IBM 推进自动化计算的措施之一,其目标是使软件和硬件更加 “聪明”(自己进行管理和资源调优)!与某些厂商不同,DB2 中的顾问在每个 版本中都是免费提供的,包括 DB2 Express - C。

DB2 Cube Views 产品也附带一个 Optimization Advisor,但是这个主题超出了 DB2 Fundamentals Certification 的范围。

在 DB2 9 中有两个主要的顾问:Configuration Advisor 和 Design Advisor。DB2 附带的另一个顾问称为 DB2 Recommendation Advisor。这个顾问只能从 DB2 Health Center 访问,当对 DB2 实例和数据库进行常规检查发现问题时可以使用这个顾问(稍后会进一步介绍)。

Configuration Advisor 可以用来为 DB2 环境设置实例和数据库级配置参数。它会提出几个高层问题,从而描述您的环境;比如您更关心数据库的性能还是可用性,或者对这两者同样关心,有多少用户会同时访问数据库,希望有多少内存专门供 DB2 使用,等等。将回答转换为输入参数并传递给底层算法之后,DB2 会智能化地考虑您给出的回答,并根据这些回答提出几个配置建议。Configuration Advisor 尤其适合 OLTP 工作负载,但是对于基于智能的业务工作负载也是有效的。

DB2 9 引入了一个称为 Self Tuning Memory Manager(STMM)的新特性,用于自动调优共享的数据库内存工作集(在所有 DB2 9 版本中也都是免费的)。可以结合使用 Configuration Advisor 和 STMM 建立优化的无需干涉的动态调优的数据库系统。

Configuration Advisor 非常出色,在用 Control Center 创建数据库之后(在某些情况下)它会在 DB2 9 中自动启动。即使您是专家级的 DBA,也建议使用这个工具。DB2 提供的应用程序优化建议可能会给您节省数小时的时间。然后,可以在此基础上将性能手工调优到专家级的水平(如果您有把握的话)!Configuration Advisor 的一个示例如下。



Design Advisor 以工作负载作为输入,这可以在文件、缓存、DB2 Query Patroller 存储库等地方提供。Design Advisor 可以根据这个提交的工作负载对底层数据库模式提出修改建议,帮助管理员获得优化的性能。Design Advisor 还可以建议新建(或修改)索引、MQT、MDC 和分区键(在安装了 Database Partitioning 特性的情况下)。它还能够识别出未被使用的索引并建议删除它们。

但是,在使用这个顾问时要记住,建议仅仅基于提交的工作负载。这是一个重点。Design Advisor 可能会建议删除一个索引或者根据一个查询创建 MDC 表,但是这可能会影响其他查询的性能。在使用这个工具时,一定要分析出应用程序最重要的部分。Design Advisor 的一个示例如下。



Design Advisor 与向导的不同之处在于,向导会帮助您创建索引,但是顾问实际上只建议创建特定的索引。顾问可以帮助 DBA 提高工作效率,还可能会提高他们的技能(因为它可以作为一种学习工具),由此降低了 DB2 解决方案的实施难度和总拥有成本。

笔记本
另一种辅助工具是笔记本(notebook),它与向导的不同之处是,它并不引导用户通过特定的过程(比如创建表)。笔记本通过减少完成任务所花费的时间来简化任务。从本质上说,笔记本使管理员不需要记住复杂的语法。设置事件监视器、创建索引、缓冲池、触发器、别名、模式、视图等任务有对应的笔记本。下图显示 Create View 笔记本。


使用笔记本创建视图
使用笔记本完成任务 —— 在这个示例中是创建视图

在参加考试时,您应该知道所有向导、顾问和笔记本及其使用方法。建议您研究 Control Center 和 Configuration Assistant,试着使用这些辅助工具执行各种任务。在各处右击并用测试数据库进行试验:记住,实践出真知!

Generate DDL

Generate DDL 功能允许您重新生成数据定义语言(Data Definition Language,DDL)、在对象上重建特权所需的授权语句、存储对象的表空间、节点组、缓冲池、数据库统计信息和其他许多构成数据库基础的东西(除了数据之外),还可选择将它们保存到一个脚本文件中。

通过使用 Generate DDL 特性保存 DDL,可以在另一个数据库中以同样的方式定义表、数据库和索引 —— 它就像是一个蛋糕模子。管理员可以使用这个选项创建一个模拟生产环境的测试环境。由于可以手工更新统计数据(当然,在生产环境中决不应该这么做),DB2 的出色特性之一是可以用 Generate DDL 功能创建一个测试数据库,而不需要 在表中装载数据。在点击 Generate DDL 选项时,实际上是运行 db2look DB2 系统命令。

如果希望将数据转移进新的数据库对象,从而快速建立测试数据库,那么可以使用传统的 LOADIMPORT 实用程序,或 db2move 命令。这个工具简化了在分布式工作站上的 DB2 数据库之间移动大量表的过程。db2move 查询特定数据库的系统编目表并编译所有用户表的列表。然后以 PC/IXF 格式导出这些表。

Show SQL/Show Command

如果一个工具生成 SQL 语句或 DB2 命令,那么在这个工具的界面中 Show SQL 或 Show Command 按钮就可用了。选择这个按钮就会显示 DB2 用来执行您请求的任务的实际语句或命令。可以将这个特性返回的信息保存为脚本,以便在以后重用(这样就不必重新输入它)或者调度它在以后执行,还可以利用它更好地理解界面背后发生的情况。还可以使用操作系统的复制和粘贴功能在另一个应用程序中使用生成的语法。

下面的图显示 Create Database 向导在创建 CHLOE 数据库时生成的 CREATE DATABASE 命令(当然,如果向导生成 SQL,那么这个选项会显示为任务生成的 SQL):

  • 将使用 pureXML 特性
  • 具有自动维护计划,因此可以在每周六和周日早上 1 点到 5 点之间执行离线维护
  • 它的容器将使用 DB2 自动存储管理特性分布在 C: 和 D: 驱动器上
  • 将通过 4fddew.ibmcanada.com 邮件服务器向 DBA 发送电子邮件通知

Show Command 选项能够显示要执行的任务的语法;这样就可以避免手工编写大量 DDL。


Show Command 选项
Show Command 选项能够显示要执行的任务的语法 - 这样就可以避免手工编写大量 DDL

Show Related

Show Related 特性显示表、索引、视图、别名、触发器、表空间、用户定义的函数(UDF)和用户定义的类型(UDT)之间的直接关系。例如,如果选择一个表并选择显示相关的视图,那么只会看到直接基于这个基表的视图。不会看到基于相关视图的视图,因为这些视图不是直接从这个表创建的。

通过查看相关的对象,可以更好地理解数据库的结构,了解数据库中现有的对象以及它们之间的关系。例如,如果想删除一个有相关视图的表,Show Related 特性会识别出在删除这个表之后哪些视图会失效。

下面的图显示在视图上使用 Show Related 特性的结果。正如您看到的,VIPER.PATIENTDOCTOR 视图依赖于 VIPER.PATIENTS 和 VIPER.DOCTORS 表。利用这个信息,应该能够判断出如果删除了这两个表之一,VIPER.PATIENTDOCTOR 视图就会失效。Show Related 选项显示数据库对象之间的关系 —— 在这个示例中,是一个视图与它的基表的关系。



Filter

可以对任何 DB2 工具的内容面板中显示的信息进行过滤。还可以对查询返回的信息进行过滤(比如限制结果集中的行数)。

这个工具允许保存并命名过滤器,在以后重新调用它。在突出显示数据库对象的 Control Center 面板上,如果选择右下角的 View 按钮,就会看到一个弹出对话框,可以在这里创建、保存和编辑过滤器。现在花些时间为在您自己的用户 ID 下创建的所有数据库对象创建一个过滤器。在本教程的后面,可以使用这个过滤器快速轻松地找到您希望操作的数据库对象。您可以想像得出这些过滤器有多么重要,尤其是在操作供应链管理(SCM)或企业资源计划(ERP)应用程序(比如 SAP)时,您要知道这些应用程序会有数以千计的表。

Help

DB2 工具使用 Eclipse 帮助引擎提供了丰富的帮助信息。在大多数对话框和菜单栏上都有 Help 按钮。它们能够提供一般性帮助,以及指导如何填写字段和执行特定工具的任务。在 Help 菜单中,还可以访问在对话或引用信息中使用的术语的词汇表或索引,以及产品手册中提供的信息。

DB2 帮助是面向任务的,因此应该很容易找到执行特定任务(例如,创建数据库)所需的信息。DB2 还提供一个更新向导,它可以通知用户有了文档更新。

DB2 处理程序:简介

DB2 Command Line Processor(DB2 CLP)是所有 DB2 产品中都有的,可以使用这个应用程序运行 DB2 命令、操作系统命令或 SQL 语句。用这个工具调用 DB2 命令有点儿麻烦。但是,DB2 CLP 可以成为强大的工具,因为它能够将经常使用的命令或语句序列存储在批处理文件中,可以在必要的时候运行这些批处理文件。

DB2 的某些实现可以使用操作系统的本机命令行界面来输入 DB2 命令;其他则不能。因此,我们将讨论 DB2 中的两种处理程序:DB2 Command Line Processor(DB2 CLP)和 DB2 Command Window(DB2 CW)。有人喜欢用同样的名字称呼它们,因为它们的图标是一样的。有一种模式允许用户不必在命令前面加上关键字 db2,在这个教程中将这种模式称为交互 模式的 DB2 CLP。

DB2 CLP 允许交互地输入 DB2 命令,而不必使用 db2 前缀来告诉操作系统您打算输入 DB2 命令。但是,如果希望输入操作系统命令,那么就必须在前面加上惊叹号(!),也称为 bang 键。例如,在 DB2 CLP 中,如果想运行 dir 命令,就输入 !dir

对于除 Windows 之外的所有操作系统,DB2 CW 是在操作系统的本机 CLP 中内置的。在 Windows 环境中,可以在 Windows 命令提示中输入 db2cmd 命令来启动 DB2 CW,或者在 Start 菜单中选择适当的选项。

可以输入 db2 命令从 DB2 CW 启动 DB2 CLP。下图显示通过 DB2 CW 输入的一个命令。


用 DB2 CW 输入命令

注意,为了运行这个 DB2 命令,必须输入关键字 db2。如果不这么做,操作系统就会认为这是一个操作系统命令,会返回错误。如果正在使用 DB2 CLP,就不需要这么做,如下图所示。


用 DB2 CW 以交互模式输入命令

使用 DB2 处理程序

在使用 DB2 处理程序时,可以使用命令行选项修改处理过程或处理中输入的语句和命令的行为方式。在调用 DB2 命令时,可以指定一个或多个处理程序选项。可以控制的一些选项如下:

  • 可以使用 c 标志定义每个语句的自动提交。
  • 可以使用 f 标记定义提供 DB2 命令和 SQL 语句的输入文件。
  • t 标记定义语句末尾的结束字符(默认字符是 ;)。

在 DB2 处理程序中输入 list command options 可以获得所有有效选项的列表(不要忘记必须包含 db2 前缀)。现在运行这个命令,会看到超过 15 个选项,如下所示。


各种 DB2 CLP 选项
各种 DB2 CLP 选项

有两种修改 DB2 处理程序选项的方法。可以通过设置 DB2OPTIONS 注册表变量(必须大写)为一个会话设置命令选项,或者在输入 DB2 命令时指定命令行标志。后一种方法会覆盖在注册表级建立的任何设置。如果修改单一语句的行为,这将覆盖会话和注册表中的任何设置。

要打开选项,应该在对应的选项字母前面加上减号(-);例如,要打开自动提交特性(这是默认的),应该输入:

db2 -c command or statement...

要关闭选项,可以在选项字母前后加上减号(-c-),或者在前面加上加号(+)。再解释一下前两句话,因为这可能有点儿混乱:在标志前面 放上减号会打开 选项;在标志前面后面 都放上减号,或者在标志前面放上加号关闭 选项。不,这么说还是不太明确(嗨,我没有写出代码)。因为这可能导致混淆,我们用自动提交选项举个例子。

一些命令行选项是默认打开的,其他的是默认关闭的。前面的解释(和后面的示例)描述默认打开的命令行选项的行为和效果。如果命令行选项是默认关闭的,那么使用相反的逻辑。

在默认情况下,自动提交特性是打开的(-c)。这个选项指定每个语句是否自动提交或回滚。

如果一个语句成功了,它就和它前面执行的关闭了自动提交(+c-c-)的所有成功语句一起提交。但是,如果它失败了,它就和它前面执行的关闭了自动提交的所有成功语句一起回滚。如果这个语句关闭了自动提交,就必须显式地执行提交或回滚命令。

在下图中,在命令行上修改了自动提交特性的值来演示这个过程。


在运行时修改命令行选项
在运行时修改命令行选项

那么,发生了什么情况?首先,我创建了一个称为 A 的表,但是在执行这个任务时使用 +c 选项关闭了默认的自动提交选项。(也可以在这个标志前后加上减号[-c-],效果是一样的。)在创建表 A 之后(请记住,没有提交这个操作),我创建了另一个称为 B 的表,这一次也关闭了自动提交特性。然后对这两个表进行 Cartesian 联结,同样动态地关闭 DB2 CLP 的自动提交特性。最后,做一次回滚并再次运行同样的 SELECT 语句,这一次这个语句失败了。

如果您看看这个事务,就会发现我没有执行提交操作。如果第一个 SELECT 没有包含 +c 选项,那么就会提交创建表 A 和 B 的结果(因为这个 SELECT 成功了);因此后面的回滚不会影响这两个已经提交的表,第二个 SELECT 语句会成功地返回与第一个 SELECT 语句相同的结果。

试一下相同的命令序列,但是这一次使用 -c- 选项。应该会看到同样的结果。在此之后,再试一次,这一次在第一个 SELECT 语句中不使用任何选项,看看第二个 SELECT 是否会返回结果。

您的操作系统可能对在一个语句中可以读取的最大字符数量有限制(即使命令行在显示器上转入下一行)。为了在输入长语句时解决这个限制,可以使用续行字符()。当 DB2 遇到续行字符时,它读取下一行并在处理时将两行合并。在两种 DB2 处理程序中都可以使用这个字符;但是,要知道 DB2 对一个语句的限制是 2 MB(这对于命令行应该足够了)。下图演示了它在 DB2 CLP 中的使用方法。


在 DB2 CLP 中使用续行字符
在 DB2 CLP 中使用续行字符

如果使用 DB2 CW 输入命令,那么下面这些特殊字符会导致问题:

$ & *( ) ; < > ? ' "

操作系统 shell 可能会错误地解释这些字符。(当然,在 DB2 CLP 中不存在这个问题,因为它是为 DB2 命令专门设计的应用程序。)

可以将整个语句或命令放在引号中,从而表示希望由 DB2 解释系统操作符,而不是由操作系统进行解释,如下所示:

db2 "select * from staff where dept > 10"

试着在 DB2 CW 中输入前面的命令,但是不加引号。会发生什么?看看发出这个命令时您所在的目录的内容。我打赌会找到一个称为 10 的文件,其中包含一个 SQL 错误。为什么呢?DB2 解释 SQL 语句

select * from staff where dept

并将产生的内容放进文件 10 > 符号是一个操作系统指令,表示将来自标准显示的输出管道连接到指定的文件(在这个示例中,是 10)。select * from staff where dept 语句当然是一个不完整的 SQL 语句;因此会产生错误。不正确的结果是由于操作系统错误地解释了特殊字符。

应该试试这两个 DB2 处理程序,看看哪一个最适合自己的环境。现在花一些时间在 DB2 CLP 和 DB2 CW 中输入命令。

Control Center

Control Center 概述

Control Center(CC)是 DB2 数据服务器的中心管理工具。可以使用 CC 管理系统、DB2 实例、数据库、数据库对象等等。在 CC 中,还可以打开其他中心和工具,帮助对查询进行优化、对作业进行调度、编写和保存脚本、创建存储过程和用户定义的函数、执行 DB2 命令、监视 DB2 系统的健康状态等等。(这些功能的一部分由从 CC 启动的工具提供。)

可以在操作系统的命令提示中输入 db2cc 命令来启动 CC,或者在操作系统的 GUI 中找到 Control Center

除了其他任务,DBA 可以使用 CC:

  • 将 DB2 系统、联邦系统、DB2 for z/OS 子系统、IMS 系统以及本地和远程实例和数据库添加到对象树中进行管理(根据要执行的操作不同,有些目标受到限制)。
  • 管理数据库对象。可以创建、修改和删除数据库、表空间、表、视图、索引、触发器和模式。还可以管理用户。
  • 管理数据。可以装载、导入、导出和重组数据以及收集关于数据的统计信息。
  • 通过备份和恢复数据库或表空间来执行保护性维护。
  • 调度作业在无人看守的情况下运行。要通过 CC 调度任务,首先必须创建一个 TOOLS 编目数据库。如果在安装 DB2 时没有创建这个数据库(这是安装过程的可选部分),那么可以从 Tools 操作菜单栏选择 Tools Settings 选项。如果还没有创建这个数据库,现在就创建它。
  • 配置和调优实例和数据库。
  • 管理数据库连接。
  • 监视和调优性能。可以运行统计数据、查看查询的执行路径、启动事件和快照监视、生成数据库对象或命令的 SQL 或 DDL 以及查看 DB2 对象之间的关系。
  • 故障排除。
  • 管理数据复制。
  • 管理应用程序。
  • 管理 DB2 系统的健康状态。
  • 启动其他 DB2 中心。
  • 等等

CC 如下所示。您应该能够轻松地使用这个工具,因为它的界面与市场上的许多其他工具相似;对象在左边,这些对象的细节在右边。


DB2 Control Center

请注意在连接到数据库时出现的数据库面板。这向 DBA 提供了一个快速查看 DB2 数据库健康状态的中心位置。例如,在前面的图中可以看到,这个数据库没有数据库备份,自动维护也只是部分启用了。这里没有其他类别的信息,这可能意味着我禁用了它们,或者 DB2 还没有时间返回关于这些对象的信息。

为了看到可以使用 CC 进行哪些操作,右击对象树中的任何对象。一个弹出菜单显示可以在选中的对象上执行的所有功能。例如,在 Tables 文件夹上,可以创建新表(还可以通过 IMPORT 操作创建表)、为内容面板中显示的内容创建过滤器或者刷新视图。可以执行的任务取决于选择的对象。强烈建议逐一查看每个文件夹和对象并右击,从而熟悉 CC 提供的功能。

CC 允许对导航树中显示的内容进行定制,从而显示更简单的视图或定制的视图。下图给出这个过程的一个示例。


定制 DB2 Control Center
定制 DB2 Control Center

在上图中可以看到,我选择了 Basic 视图,这会大大简化对象树。可以定制文件夹和在右击对象时看到的选项。例如,可以定制 CC,让它只显示 Tables 文件夹,或者定制在右击这个文件夹时显示的操作,从而只允许创建新表,而不能修改现有的表。

下面几节详细描述可以从启动面板启动的 CC 工具。启动的每个工具都包含启动面板,所以可以从任何其他 DB2 工具启动任何 DB2 工具。本节讨论最常用的 DB2 工具和中心。本教程的其他几节将讨论本节没有讨论到的可以从启动面板启动的其他工具。

DB2 Replication Center

使用 DB2 Replication Center(DB2 RC)管理 DB2 数据服务器和其他关系数据库(DB2 或非 DB2)之间的复制。在 DB2 RC 中,可以定义复制环境,将来自一个位置的指定的修改应用于另一个位置,以及对两个或多个位置中的数据进行同步。

可以通过 Start 菜单、DB2 工具的启动面板或者在命令行上输入 db2rc 命令来启动 DB2 RC。下图显示 RC 的外观。


DB2 Replication Center

上面显示的与复制相关的启动面板可以引导用户执行一些基本的复制功能。可以使用 RC 控制 DB2 环境中支持的所有复制类型。但是,一些功能需要其他产品。例如,Q 复制是在 WebSphere MQ 系列产品上构建的,是 WebSphere Information Integrator 系列产品的一部分。

可以用 RC 执行的一些主要任务包括:

  • 创建复制控制表
  • 注册复制资源
  • 创建订阅集
  • 操作 Capture 程序
  • 操作 Apply 程序
  • 监视复制过程
  • 对复制进行基本的故障排除

DB2 Satellite Administration Center

使用 Satellite Administration Center(DB2 SAC)来设置和管理执行同样业务功能的 DB2 服务器组。这些服务器称为卫星,它们都运行同一个应用程序并采用同样的 DB2 配置(数据库定义)来支持这个应用程序。可以使用 DB2 SAC 让几个 DB2 数据服务器利用一个主服务器来同步和维护它们的配置和数据。可以从任何 DB2 工具的启动面板启动 DB2 SAC。

DB2 Command Editor

使用 DB2 Command Editor 构造和执行 DB2 命令和 SQL 语句,以及查看 SQL 语句的访问计划的图形表示。

可以从 CC、操作系统的命令提示或者操作系统图形界面的 Start 菜单启动 Command Editor。Command Editor 也能够作为可以从 Web 浏览器访问的 Web 应用程序,但是在这种模式下它的功能没有从本地安装的 DB2 客户机运行时那么丰富。Command Editor 的 Query Results 页面如下所示。


DB2 Command Editor

DB2 Command Editor 上的不同选项卡提供不同的特性:

Commands 允许执行 SQL 语句或 DB2 命令。(在 Command Editor 中输入 DB2 命令的方式就像是交互式 DB2 CLP 模式:不需要使用 db2 前缀。)要运行输入的命令或语句,应该选择绿色的 Play 按钮或按 Ctrl+Enter。还可以在命令前面加上 bang 符号(! ),从而在 DB2 CC 中输入操作系统命令。例如,要列出当前目录的内容,输入 !dir

这个选项卡还提供进行以下操作的选项:获得自从编辑器启动以来运行的命令的历史,指定会话的终止字符,轻松地添加要用来运行语句的数据库连接。

Query Results 如上图所示,这个选项卡显示查询的结果。还可以保存查询的结果或者直接编辑表的内容(假设您有编辑表的特权)。 Access Plan 允许查看在这个编辑器中运行过的任何可解释语句的访问计划。在 DB2 编译 SQL 语句时,它会自动地生成访问计划。可以使用这些信息调优查询来获得最好的性能。如果在一个操作中指定多个语句,那么只为第一个语句创建访问计划。

DB2 Command Editor 还附带 SQL Assist 工具,这将在下一节中详细讨论。要调用 SQL Assist 工具,应该选择 Commands 选项卡中的 SQL Assist 按钮。

DB2 Command Editor 还可以以基于 Web 的模式运行。在这种模式中,任何 Web 浏览器、PDA、移动设备或可以访问互联网的其他设备都可以对 DB2 服务器执行命令。这使 DBA 可以与他们的 DB2 系统保持联系。在 Web 模式中,Command Editor 没有 Visual Explain 或 SQL Assist 特性。

DB2 Task Center

使用 DB2 Task Center(DB2 TC)运行任务(立即运行或者根据调度计划运行)以及通知相关人员任务完成了。可以通过 Windows 环境中的 Start 菜单、DB2 工具的启动面板或者在命令提示中输入 db2tc 命令来启动 DB2 TC。

任务 是一种附带相关的失败或成功条件、调度计划和通知的脚本。可以在 DB2 TC 中创建任务,在另一个工具中创建脚本并将它保存到 DB2 TC 中,导入现有的脚本,或者将 DB2 对话框或向导(比如 Load 向导)中的选项保存为脚本。脚本可以包含 DB2、SQL 或操作系统命令。

对于每个任务,可以:

  • 调度任务
  • 指定成功和失败条件
  • 指定在这个任务成功完成时或失败时应该执行的操作
  • 指定在这个任务成功完成时或失败时应该通知的电子邮件地址(包括传呼机)

还可以创建任务组,任务组将几个任务组合成单一的逻辑工作单元。当任务组满足定义的成功或失败条件时,运行后续任务。例如,可以将三个备份脚本组合成一个任务组,然后指定一个重组作为在所有备份脚本成功执行的情况下执行的后续任务。这些特性使 DB2 TC 成为负责管理 DB2 环境的 DBA 必不可少的工具。

DB2 Health Center

使用 DB2 Health Center(DB2 HC)监视 DB2 环境的状态并对它做必要的修改。可以通过 Windows 环境中的 Start 菜单、任何 DB2 工具的启动面板或者在命令提示中输入 db2hc 命令来启动 DB2 HC。

在使用 DB2 时,监视器会连续跟踪一组健康状态指示。如果健康状态指示的当前值超过了警告(warning)或警报(alarm)所定义的可接受操作范围,健康状态监视器会产生健康状态警报。DB2 附带一组预定义的阈值,可以对这些阈值进行定制。例如,可以定制分配给特定堆的内存量的警报或警告阈值,或者在排序溢出到硬盘时进行通知,等等。

根据 DB2 实例的配置,在健康状态监视器产生警报时,会发生以下所有或部分操作:

  • 在管理通知日志中写入一个条目,可以从 Journal 读取这些条目。
  • 在 DB2 工具窗口的右下角显示 DB2HC 状态信号。
  • 执行脚本或任务。
  • 向指定的联系人发送电子邮件或传呼消息。

下图显示 DB2 HC 和对它探测到的状况的解决方案建议。


DB2 Health Center 对问题提出处理建议

可以看到,Windows 上运行的 DB2 实例使用 Windows 中集成的消息传递服务来通知 DBA 排序出现了问题。

可以用 DB2 HC 执行许多重要的任务。例如,可以:

  • 查看 DB2 环境的状态。在导航树中每个对象的旁边,有一个图标表示这个对象(或这个对象包含的任何对象)的状态。例如,实例旁边的绿色菱形图标意味着这个实例以及其中包含的数据库没有任何警报。

  • 查看实例或数据库的警报。在选择导航树中的一个对象时,这个对象的警报显示在右边的面板中。

  • 查看关于警报和建议的操作的详细信息。在双击警报时,出现一个笔记本。一个页面显示警报的细节;另一个页面显示任何建议的操作,等等。(前面的图显示这个顾问的第二个页面。)

  • 配置特定对象的健康状态监视器设置,或者配置某种对象类型或一个实例中所有对象的默认设置。

  • 选择将通过电子邮件或传呼消息通知或警告的联系人。

  • 查看实例或数据库的警报历史。

可以用 DB2 HC 执行的一些操作见前面的图。在打开 Health Center 时,可以看到 DB2 识别出的几个不健康问题。DBA 可以选择一个问题并让 DB2 建议解决这个问题的最佳方法。Recommendation Advisor 将问许多问题并根据您的回答建议解决这个问题的最佳操作。

DB2 Journal

DB2 Journal 显示关于任务、数据库活动和操作、Control Center 操作、消息、出现的健康状态警报等等的历史信息。可以从 Windows 环境中的 Start 菜单或任何 DB2 工具的启动面板启动 DB2 Journal。

下图显示 DB2 Journal,其中显示了过去一些事件的信息。


DB2 Journal

这个工具中有四个选项卡,它们都向 DBA 提供有价值的信息:

Task History 显示以前执行过的任务的结果。可以使用这些信息估计未来的任务将运行多长时间。这个页面对于任务的每次执行包含一行。

对于完成的每次任务执行,可以执行以下操作:

  • 查看执行结果
  • 查看执行过的任务
  • 编辑执行过的任务
  • 查看任务的执行统计数据
  • 从 Journal 中删除任务执行对象
Database History 显示来自恢复历史文件的信息。这个文件在执行以下操作时更新:备份、恢复、前滚、装载和重组等等。在需要恢复数据库或表空间时,这些信息会很有用。 Messages 显示以前从 Control Center 和其他 GUI 工具发出的消息。 Notification Log 显示来自管理通知日志的信息。

DB2 License Center

DB2 License Center 显示系统上安装的 DB2 产品的 DB2 许可证和使用信息。还允许配置系统来进行适当的许可证监视。可以使用 DB2 License Center 添加新的许可证、设置授权用户策略、将试用许可证升级到生产许可证等等。还可以在命令行上使用 db2licm 命令控制 DB2 许可证。

DB2 Information Center

使用 Information Center 寻找关于任务、参考资料、故障排除、示例程序和相关 Web 站点的信息。这个中心会提供丰富的 DB2 信息。可以通过 Control Center、Windows 环境中的 Start 菜单或者输入 db2ic 命令来启动 Information Center。

Configuration Assistant

概述

Configuration Assistant(CA)允许维护应用程序可以连接和管理的数据库的列表。它主要用来进行客户机配置。可以在命令提示中输入 db2ca 命令,或者通过 Windows 环境中的 Start 菜单来启动 CA。CA 中可用的一些功能见下图。


Configuration Assistant
Configuration Assistant

对于希望从 CA 访问的每个数据库,必须在 DB2 客户机上进行编目,然后才能使用它。可以使用 CA 配置和维护您或应用程序将使用的数据库连接。Add Database 向导(如上所示)将帮助您自动地对节点和数据库进行编目,同时隐藏了这些任务的复杂性。

在 CA 中,可以操作现有的数据库、添加新数据库、绑定应用程序、设置客户机配置和注册表参数(如上所示)以及导入和导出配置文件。CA 的图形界面通过以下措施使这些复杂的任务得以简化:

  • 帮助执行某些任务的向导
  • 根据输入选择激活的动态字段
  • 帮助做出配置决策的提示
  • 发现特性,它可以提供关于网络上存在的数据库的信息

正如在上图中看到的,CA 显示一个数据库列表,应用程序可以从启动它的工作站连接这些数据库。每个数据库首先由它的数据库别名识别,然后是它的名称。可以使用 Change Database 向导更新与列表中数据库相关联的信息。CA 还有一个 Advanced 视图,它使用一个笔记本按照以下对象组织连接信息:

  • 系统
  • 实例节点
  • 数据库
  • System i 和 System z 数据库的 Database Connection Services(DCS)
  • 数据源

可以使用 CA 对数据库和数据源进行编目(比如 CLI 和 ODBC 参数)、配置实例以及导入和导出客户机配置文件。

现在,花时间将您已经创建的数据库添加到连接列表中。如果可能的话,使用发现特性添加另一个服务器上的数据库。现在,逐一查看 CA 中的每个其他特性,了解 CA 提供这些特性的方式。尤其应该注意配置文件;任何 DBA 都应该好好理解配置文件,因为它们可以大大简化 DB2 客户机的部署(包括数据库连接和配置设置)。

其他 DB2 工具

还有许多其他 DB2 工具,它们可以使 DBA 的工作更轻松。这些工具是免费的,可以作为 Control Center 或 Configuration Assistant 中的独立工具。不要将这些工具与单独使用的附加 DB2 工具混淆在一起,后者在 DB2 附加工具 中学过。

Visual Explain

Visual Explain 可以将解释的 SQL 语句的访问计划显示为图形。可以使用从图中获得的信息调优 SQL 查询来获得更好的性能。Visual Explain 还允许动态地解释 SQL 语句并查看产生的访问计划图。Visual Explain 可以作为从 Control Center 或与 Command Editor 和 Developer Workbench 相关联的界面启动的独立工具。

DB2 优化器选择访问计划,Visual Explain 显示这个计划。在计划图中,表和索引(以及对它们的操作)表示为节点,数据流表示为节点之间的链接。要获得关于查询计划的任何步骤的更多信息,应该在解释输出中双击这个对象。

Visual Explain 最出色的地方是,甚至不必运行查询就能够获得需要的信息。例如,假设您怀疑某个查询编写得很差;可以使用 Visual Explain 以图形化方式查看这个查询的开销,而不需要实际运行它。

通过在 Control Center 中输入查询,可以获得查询的图形化访问计划,而不需要运行它。在 Control Center 树视图中,选择要操作的数据库,右击并选择 Explain SQL。输入希望解释的 SQL 语句并选择 OK。以图形方式解释的一个查询示例如下所示。


使用 Visual Explain 以图形方式显示查询的访问计划

Snapshot 和 Event Monitor

DB2 中提供的两个实用程序可以帮助您更好地了解自己的系统以及操作对它的影响。

Snapshot Monitor 捕捉特定时间点上的数据库信息。您可以决定这些时间点之间的间隔和将捕捉的数据。Snapshot Monitor 可以帮助分析性能问题、调整 SQL 问题并根据限制或阈值识别异常情况。在 DB2 中,可以使用 SQL UDF 或动态地使用 C API 将快照信息放进 DB2 表。

Event Monitor 允许记录特定事件发生时的数据库状态,从而分析资源使用情况。例如,可以使用 Event Monitor 了解完成一个事务花费了多长时间,或者一个 SQL 语句使用的可用 CPU 资源的百分数。

Tool Settings

Tools Settings 笔记本可以用来定制 DB2 图形工具以及它们的一些选项。可以使用这个笔记本:

  • 设置一般属性设置,比如终止字符、DB2 Tools 的自动启动、鼠标停留帮助和信息弹出特征、结果集中的最大行数等等
  • 修改菜单和文本的字体
  • 设置 DB2 for z/OS Control Center 属性
  • 配置 Health Center 通知首选项
  • 设置文档首选项
  • 设置用来维护调度的任务的默认 DB2 调度数据库

DB2 Governor

DB2 Governor 可以监视针对数据库运行的应用程序的行为,并可以根据在 Governor 的配置文件中指定的规则修改某些行为。

Governor 实例由一个配置文件和一个或多个守护进程组成。启动的每个 Governor 实例专门针对数据库管理程序的一个实例。在默认情况下,在启动 Governor 时,在数据库上启动一个 Governor 守护进程。每个 Governor 守护进程收集关于针对数据库运行的应用程序的信息。然后,它根据在 Governor 配置文件中为这个数据库指定的规则检查这些信息。

Governor 按照配置文件中的规则管理应用程序事务。例如,可以应用一个规则来表示应用程序是否使用了太多的某种资源。在一个查询运行了特定的时间或者消耗了特定数量的 CPU 周期之后,规则可能会指定要采取的操作(比如修改应用程序的优先级,或者迫使它与数据库断开连接)。

DB2 Governor 在 DB2 Enterprise 中是免费提供的,还可以通过购买 DB2 Workload Management Feature 添加到 DB2 Express 或 DB2 Workgroup 中。

DB2 Developer Workbench

DB2 9 有一个全新的集成开发环境(IDE),它称为 DB2 Developer Workbench(DB2 DWB),是专门为帮助 DBA 和开发人员为数据库开发业务逻辑而设计的。DB2 9 DWB 替代了 DB2 8 Development Center(DB2 DC),而 DB2 DC 是 DB2 7 Stored Procedure Builder(DB2 SPB)的后续版本。DB2 DWB 是一个在 Eclipse 基础上构建的完全不同的工具,所以界面与使用这种架构的其他 DB2 产品相同,比如 DB2 SQL Warehousing Tool、Rational Application Developer、Rational Data Architect 等等。

DB2 DWB 是一个快速迭代开发环境,可以用来构建存储过程(SP)、用户定义函数(UDF)和结构化数据类型。它还有助于创建 XQuery 语句、注册 XML 模式、对 XML 模式文档进行标注以便进行分解、开发 SQLJ 等等。

DB2 DWB 是在 Eclipse 平台上完全重新编写的,而 DB2 DC 是基于 Java-Swing 类的。这种新的架构提高了这个工具的可伸缩性和生产效率。与 DB2 DC 不同,DB2 DWB 是一个可单独安装的产品(它是免费的)。必须用 DB2 客户机单独下载和安装它。DB2 DWB 在 DB2 9 中是单独安装的,所以它可以更新得比数据服务器本身更频繁。

除了 DB2 8 DC 中提供的特性(主要是构建使用 Java 和 SQL/PL 的存储过程、用户定义函数和类型),DB2 DWB 还支持:

  • Data Development Project,可以在这里按照逻辑对例程、SQL 语句、脚本和 XQuery 语句的开发进行分组。
  • 管理 Data Development Project 中对象的生命周期的工具。例如,可以将例程从 Database Explorer 视图复制或拖动到 Data Project Explorer 视图中的 Data Development Project。(还可以在项目之间复制和粘贴或拖放例程。)
  • 一个内容助手,在进行 UDF、存储过程和 SQL 语句开发的各种编辑器中,它可以提供上下文敏感的 SQL 语句补全特性。例如,在输入一个模式名和一个点号(.)时,DB2 DWB 会自动地列举出这个模式中的对象以供选择。
  • 将例程导入 Data Development Project。通过使用这个特性,可以导入包含例程代码的源文件,或者从工作空间中的一个项目选择一个或多个现有的例程,从而创建存储过程或用户定义函数。
  • 将例程部署到不在同一平台上的不同数据服务器上。可以使用 Deploy Wizard 从 Database Explorer 或 Data Project Explorer 将例程部署到 DB2 数据服务器上。例如,可以在 DB2 for Windows 服务器上创建一个例程,然后将它部署到 DB2 for z/OS 平台上。甚至可以将例程从 Apache Derby/IBM Cloudscape 数据服务器转移到 DB2 for Linux, UNIX, Windows, and z/OS 数据服务器。还可以指定部署选项,比如如何处理重复的例程名称、错误处理等等。
  • 一个对比实用程序,它可以在两个例程之间对比源代码和属性,还可以对 Data Development Project 中包含的代码进行同步。
  • 性能调优。在 DB2 z/OS 和 DB2 for Linux, UNIX, and Windows 中,可以在例程体或单独的 SQL 语句中启动 Visual Explain 实用程序。(Visual Explain 作为独立的应用程序启动。)
  • 开发 SQLJ 应用程序,包括用向导生成 SQLJ 模板、自动转换和编译、用向导进行定制、打印配置文件、用代码助手和模板编辑 SQLJ 应用程序以及调试 SQLJ 文件。
  • 一整套 SQL 开发工具,包括 SQL Query Wizard、SQL Query Builder、SQL Script Editor、SQL Query Model 和一个 SQL DML 分析器。可以使用 SQL Query Builder 创建 SQL 语句,这个工具会以图形化方式帮助用户构建查询。
  • 对 DB2 8 Development Center 项目进行迁移。
  • Teaming Support,它帮助用户将在 DB2 DWB 中构建的对象与团队软件(比如 CVS 或 IBM Rational ClearCase)进行共享。在共享对象之后,可以使用项目的菜单操作管理所有修改、更新历史以及与存储库进行同步。
  • 编辑和浏览 XML 和关系数据。
  • 在 DB2 XML Schema Repository(.XSR)中创建、注册和编辑 XML 模式文档。
  • 用 XQuery Builder 构建 XQuery 语句。

DB2 DWB 的一个示例如下。



Memory Visualizer

Memory Visualizer 帮助 DBA 逐个实例地了解系统的内存分配情况。可以在 Control Center 中右击希望了解的实例并选择 View Memory Usage 来启动这个工具。还可以从 Windows 环境中的 Start 菜单直接选择这个工具。下图显示 Memory Visualizer 正在监视一个称为 DB2 的实例。


Memory Visualizer

Memory Visualizer 的顶部面板显示组织为导航树的内存成分。历史值、警报和警告阈值显示在每个成分的右边。下面的面板显示内存使用图。

这个工具监视的高层内存成分包括:数据库管理程序共享的内存、数据库全局内存、应用程序全局内存、代理/应用程序共享的内存和代理私有内存。每个高层成分划分为低层成分,这些成分决定内存如何分配和释放。例如,在数据库管理程序启动时、数据库被激活时以及应用程序连接数据库时分配和释放内存。

可以用 Memory Visualizer 执行的一些关键任务包括:

  • 查看总体内存使用情况。
  • 指定对于一个 DB2 实例及其数据库要显示的内存信息和要隐藏的信息。
  • 更新单独的内存成分的配置参数,以防止它使用的内存过多或过少。
  • 保存内存分配数据。
  • 将内存分配数据从文件装载进 Memory Visualizer 窗口。

Storage Management

DB2 有一个 Storage Management 工具,它帮助 DBA 了解他们的存储需求和可能需要考虑的事项。DB2 9 提供了自动化的存储管理,可以自动地使需要更多空间的容器增长,甚至管理表空间(这个特性只能用于基于 DMS FILE 的表空间)。如果使用 DB2 9 中的自动化存储管理功能,那么 Storage Management 工具可能不像为数据服务器选择手工存储机制时那么有用。

可以使用 Storage Management 工具调度或立即捕捉当前分配的存储资源的快照。启动 Storage Management 工具的方法是在 Control Center 选择一个数据库,右击并选择 View Storage

Storage Management 工具还允许为以下存储因素指定警报和警告阈值(已经提供了默认值):

空间使用。 数据库、数据库分区组或表空间级中使用的硬盘空间量。 数据偏移(skew)。 数据库分区或表之间数据的平衡。 聚簇比率。 索引在表上的覆盖质量。

DB2 9 中 Storage Management 工具的一个示例如下。


Storage Management 工具

In-doubt Transaction Monitor

In-doubt Transaction Monitor 帮助 DBA 处理处于 in-doubt 状态的全局事务。例如,通信线路中断会导致事务已经准备好,但是还没有提交或回滚。在大多数情况下,不必使用这个工具,只需等待 Transaction Manager 重新进行同步;但是如果您不能等待,那么可以使用 In-doubt Transaction Manager。只有经验丰富的 DBA 才应该这么做 —— 这个工具是为那些确实 知道自己在做什么的人准备的。启动这个工具的方法是从 Start 菜单选择它,或者从命令提示输入 db2indbt 命令。

SQL Assist

SQL Assist 是一个可以用来构建 SELECT、INSERT、UPDATE 和 DELETE 语句的图形化工具。这个工具使用笔记本帮助您对创建 SQL 语句所需的信息进行组织。能够从多个工具和向导中调用 SQL Assist。

SQL Assist 可以帮助初学者通过鼠标操作轻松地创建查询和构建复杂的 SQL 语句。下一次使用 Command Editor 查询数据库时,或者使用 Control Center 构建视图时,请试试 SQL Assist 工具,体会一下它能有多大的帮助。下图显示 SQL Assist 工具。


SQL Assist 工具

First Steps

First Steps 是一个帮助用户开始使用 DB2 的图形化工具。First Steps 有几个选项;都可以通过点击所需操作旁边的图标来访问。

可以利用 First Steps 创建示例数据库、启动用于管理和连接的 DB2 工具、创建新数据库、检查产品更新、查看产品库、访问应用程序开发资源、在 Web 上寻找更多的 DB2 资源等等。如果还没有创建 SAMPLE 数据库,那么一定要使用这个工具创建它,以便帮助您学习本教程和后续教程中的内容。DB2 9 中的 First Steps 工具如下所示。


First Steps 工具

Activity Monitor

Activity Monitor 可以帮助监视应用程序性能、应用程序并发性、资源消耗和 SQL 语句的使用情况。它可以帮助诊断数据库性能问题(比如等待锁状态),以及调优查询来优化对数据库资源的使用。Activity Monitor 还提供 DB2 自动生成的许多报告。

在下图中,可以看到不同的应用程序锁链以及它们的授权 ID。AMUSERB 的应用程序阻塞了 AMUSERC 的应用程序,后者进而阻塞了 AMUSERD 和 AMUSERE。AMUSERD 又阻塞了另外两个应用程序。


Activity Monitor
Activity Monitor

如果右击连接到数据库的任何应用程序,可以查看关于锁的细节、显示导致锁的 SQL 语句或强制性地处理锁。

数据仓库

什么是数据仓库?

数据库应用程序有两种主要类型:在线事务处理(online transactional processing,OLTP)和数据仓库,数据仓库包括在线分析处理(online analytical processing,OLAP)和数据挖掘应用程序。DB2 9 同时适用于这两种应用程序。OLTP 系统与业务智能(Business Intelligence,BI)数据仓库系统的区别是什么?区别在于访问数据的典型查询。

OLTP 系统可能是一个 Web 订购系统,可以通过 Web 执行交易(比如购买产品)。这些应用程序的特征是进行细粒度的单行查询,可能更新少量的记录。与之相反,BI 类型的查询执行大型的表扫描,因为它们尝试在大量数据中寻找数据模式。如果要求您汇总西部地区的所有销售,这就是仓库查询。

简单地说,OLTP 是简短的查询,而 BI 是对大量数据进行搜索和汇总以便进行报告。当然,实际情况不只如此,但是现在您知道这么多就够了。

包含操作性数据 (运行企业的日常交易的数据)的系统是 OLTP 系统。但是,这些系统包含企业分析师用来了解企业运营情况的信息。例如,他们可以查看某一时间段内在某个地区销售出了哪些产品。这有助于识别异常情况或对未来的销售进行规划。

但是,如果分析师直接访问操作性(OLTP)数据来进行报告和其他 BI 活动,就会有几个问题:

  • 他们可能没有查询操作性数据库的专业经验。一般来说,有查询操作性数据库的专业经验的程序员会负责全职地维护数据库及其应用程序。

  • 性能对于许多操作性数据库来说非常重要,比如用来处理银行事务的数据库。这些系统不能应付用户对操作性数据存储进行特殊的查询。例如,考虑在线支付帐单的情况。在选择 OK 时,处理支付常常只需要花费几秒。现在,假设一个银行分析师试图查明某个现有的顾客群花费了多少钱。这个分析师运行一个非常复杂的查询,导致您的银行事务现在要花费 30 秒才能完成!显然,这样的性能是不可接受的(这可不是分析师希望的结果)。因此,操作性数据存储和报告性数据存储(包括 OLAP 数据库)一般是分开的。

    但是,在过去几年里,报告性数据存储已经倾向于变得具有伪操作性和及时性。这种存储称为操作数据存储(ODS)或活跃数据 仓库。例如,考虑电信行业的情况。ODS 在这些电信运营公司中很流行,因为他们需要尽可能快地识别出恶意欠费的情况。DB2 是少数几种同时适合操作性和报告性工作负载的数据库。

  • 操作性数据一般没有采用最适合业务分析师使用的格式。与原始的事务数据相比,按照产品、地区和季节汇总的销售数据对于分析师要有用得多。

数据仓库 解决了这些问题。在数据仓库中可以存储信息性数据 —— 这些数据是从操作性数据中提取出来的,然后为帮助最终用户决策进行了转换和清理。例如,数据仓库工具可能会复制操作性数据库中的所有销售数据,执行计算来汇总数据,并将汇总的数据写入一个与操作性数据库分开的数据库中。最终用户可以查询这个独立的数据库(仓库),而不会影响 OLTP 数据库。

用于数据仓库的 DB2 产品

DB2 是为帮助实现业务智能化而设计的。DB2 不但是世界上可伸缩性最好的数据库,它还有一套健壮的业务智能化功能。DB2 有两个 Data Warehouse Editions(DB2 DWE),以低廉的价格提供一整套数据仓库工具。这些工具的一部分可以在 DB2 DWE 之外单独购买,其他工具只能通过 DB2 DWE 包获得。DB2 DWE 分为 Base 和 Enterprise 两个版本。

DB2 DWE 是在强大的 DB2 Enterprise 9 产品上构建的并扩展了它的功能,提高了数据仓库和分析特性的性能和易用性,帮助进行实时探察和决策的用户获得需要的信息。DB2 DWE 特性包括用于仓库管理、分析应用程序开发、OLAP、数据挖掘以及超大型数据库(VLDB)查询和资源管理的工具。

DB2 DW Enterprise Edition 中包含的产品有:

DB2 Enterprise DB2 Data Partitioning 特性 这个特性允许在单一服务器上或者跨服务器集群对数据库进行分区。DB2 Data Partitioning 为企业提供了支持超大型数据库(这是数据仓库环境中的常见情况)所需的可伸缩性,并可以处理涉及复杂工作负载和高并行性的管理任务。这个特性可以在 DB2 DWE 产品之外单独购买。 DB2 Data Warehouse Edition Design Studio DWE Design Studio 是通过包含和扩展一些基于 Eclipse 的 Rational Data Architect(RDA)建模功能形成的,这是一个针对 BI 解决方案的开发环境。Design Studio 将以下任务集成在一个统一的图形化环境中:物理数据建模(RDA)、DB2 基于 SQL 的仓库构造、OLAP 多维数据集建模和数据挖掘建模。

这个设计工具使设计人员能够连接源数据库和目标数据库、对物理数据模型进行反向工程、构建 DB2 基于 SQL 的数据流和挖掘流、设置 OLAP 多维数据集以及准备将应用程序部署到运行时系统上。因为它是基于 Eclipse 框架的,这个工具看起来与 DB2 Developer Workbench 相似。

SQL Warehousing Tool 为了支持端到端业务智能化解决方案,DB2 DWE 提供了用于仓库构建和维护的基础设施,包括用于应用程序设计、部署、执行和管理的工具。

SQL Warehousing Tool 解决了 DB2 数据仓库环境中的数据集成问题。用户可以对高层操作的逻辑流进行建模,这会产生组织在执行计划中的代码单元。这个工具提供一个元数据系统和 IDE 来创建、编辑和管理这些流,还提供一个能够理解源图并将它转换为优化的 SQL 代码的代码生成系统。当流的开发完成时,这个系统的第二个部分就要发挥作用了:将生成的代码以及相关联的工件打包成一个数据仓库应用程序,这个应用程序可以部署在各种目标运行时系统中。

数据仓库应用程序开发人员和架构师可以使用 Design Studio 来创建:

  • 源和目标数据库和表的物理数据模型。
  • 代表数据通过转换步骤进入目标数据库中的转移过程的数据流。例如:
    • SQL 数据流,它们使用 DB2 仓库构建操作的 SQL 处理功能对来自关系表、平面文件等来源的数据进行处理
    • 挖掘流,它们将关键的数据挖掘操作集成到基于 SQL 的模型中
    • 将可选的 DataStage ETL 作业作为子流集成的 SQL 数据流
  • 控制流,它们决定一组相关数据流的次序并为执行这些数据流定义处理规则。
  • 部署包,它们包含构成完整应用程序的所有文件和参数,可以进行安装和执行。

可以使用 DB2 Data Warehouse Edition 作为运行引擎,使用 IBM WebSphere® Application Server 软件提供控制和调度功能,从而执行和管理控制流。WebSphere Application Server 为数据仓库应用程序提供运行时部署环境。管理员可以从 Web 客户计算机运行基于浏览器的 Data Warehouse Edition Administration Console 来访问 WebSphere。

DB2 Data Warehouse Edition Administration Console DB2 DWE Administration Console 是一个用于管理和监视 BI 应用程序的基于 Web 的应用程序。安装在 WebSphere Application Server 上之后,DWE Administration Console 使用 Web 客户机访问和部署在 DWE 中建模和设计的数据仓库应用程序。这个控制台使用 WebSphere 安全模型,使用户能够以管理员、经理和操作员的角色从统一的控制台页面执行各种管理任务。这个控制台支持 5 类功能:
  • DWE Common:创建数据源并为 OLAP 和挖掘启用数据库。
  • SQL Warehousing:部署、调度和监视在 Design Studio 中创建的数据仓库应用程序。访问与进程相关联的统计数据和日志并排除运行时故障。
  • OLAP:导入和导出多维数据集模型、使用 OLAP 优化器并显示多维数据集模型的元数据内容,比如它的表、联结、度量和属性。
  • Mining:查看、导出、更新和删除挖掘数据库中的模型。还可以将挖掘模型导入到数据库中以及将模型装载进缓存中。这个挖掘可视化工具可以提供挖掘模型的图形化表示。
  • Alphablox:启动本机的 Alphablox Administration 工具。
DB2 Data Warehouse Edition OLAP Acceleration 以前称为 DB2 Cube Views。通过使用 DWE Design Studio 和 Administration Console 中的 OLAP 功能,用户可以创建、操作、优化、部署、导入或导出多维数据集模型、多维数据集和在 OLAP 分析中使用的其他元数据对象。DWE Design Studio 提供了容易使用的向导和窗口来帮助用户处理 OLAP 元数据。 DB2 Data Warehouse Edition Data Mining 通过使用 DB2 DWE 数据挖掘特性,可以发现数据中隐藏的关系,而不需要将数据导出到特殊的数据挖掘计算机上或者借助于少量数据样本。DB2 DWE 为一些建模操作提供了 DB2 扩展:市场篮分析、市场分割、分析等等。 DB2 Data Warehouse Edition Data Visualization Feature 用来显示创建的挖掘模型。 DB2 Alphablox analytics DB2 Alphablox 提供了快速创建基于 Web 的定制应用程序的能力,使应用程序能够适应公司的基础设施并能够为公司防火墙内外的用户服务。用 DB2 Alphablox 构建的应用程序在标准 Web 浏览器中运行,允许从客户计算机执行实时的高度可定制的多维分析。DB2 Alphablox 与 DWE Cube Views 紧密集成,DWE Cube Views 提供常用的元数据并为 Alphablox 多维分析进行数据库优化。 DB2 Data Warehouse Edition Query Workload Management Feature DB2 Query Patroller 是 DWE 的查询工作负载管理特性。这个产品也可以在 DB2 DWE 包之外单独购买。DB2 Query Patroller 是一个强大的查询管理系统,可以使用它以下面的方式前瞻性地动态控制 DB2 数据库的查询流:
  • 为不同规模的查询定义不同的查询类,从而更好地在查询之间分享系统资源并防止较小的查询被大型查询阻断。
  • 给某些用户提交的查询设置高优先级,让这些查询可以更早地运行。
  • 自动地识别大型查询,这样就可以取消它们或者将它们调度到低谷时间段运行。
  • 跟踪和取消长时间运行的查询。

DB2 Query Patroller 的特性使您能够控制数据库的查询负载,让小型查询和高优先级的查询可以快速运行,并让系统资源得到高效利用。

还可以收集和分析关于已经完成的查询的信息,从而判断查询、高负载用户以及常用表和索引中的趋势。管理员可以使用 DB2 Query Patroller:

  • 在系统级和用户级设置资源使用策略。
  • 通过取消或重新调度那些影响数据库性能的查询,动态地监视和管理系统的资源使用。
  • 生成有助于识别数据库使用情况趋势的报告,比如访问了哪些对象以及哪些用户和用户组产生的工作负载最大。
  • 查询提交者可以使用 DB2 Query Patroller 监视他们提交的查询;存储查询结果供以后检索或重用,这实际上可以避免提交重复的查询;设置各种首选项来优化他们的查询提交,比如在查询完成时是否希望接收电子邮件通知。

结束语

结束语

在本教程中,您了解了 DB2 的不同版本和各种 DB2 产品。我们讨论了 DB2 包含的工具。您还了解了 Control Center、Configuration Assistant 以及其中的所有独立工具。我们讨论了数据仓库和相关联的 DB2 产品。

请继续关注 DB2 9 基础(730 考试)认证指南系列教程

参考资料

学习

获得产品和技术

  • 可以免费下载 DB2 9 的试用版

  • 下载 DB2 Express-C,这是为社区提供的 DB2 Express Edition 的免费版本,它提供了与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序奠定了坚实的基础。

    关于作者

    作者照片

    Paul C Zikopoulos 拥有 BA 和 MBA 学位,是 IBM Database Global Sales Support 团队的获奖作家和发言人。他在 DB2 UDB 方面有超过 9 年的经验,撰写了大量关于 DB2 UDB 的杂志文章和书籍。Paul 与他人合著了以下书籍:DB2 - The Complete Reference、DB2 Fundamentals Certification for Dummies、DB2 for Dummies、A DBA's Guide to Databases on Linux 和 DB2 Version 8: The Official Guide。Paul 是一位 DB2 认证的高级技术专家(DRDA 和集群/EEE),还是 DB2 认证的解决方案专家(业务智能和数据库管理)。可以通过 paulz_ibm@msn.com 与他联系。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广