IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope:Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management  >

DB2 Data Warehouse Enterprise Edition 提示和技巧

安装和配置的综合指南

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

Sermsak Sukjirawat (sermsak@us.ibm.com), DB2 Data Warehouse Consulting, IBM Software Services for DB2 Information Management

2004 年 9 月 01 日

DB2 UDB Data Warehouse Enterprise Edition (DWEE), Version 8.1.2 是 IBM 的完整商业智能平台,集合了 DB2 UDB、DB2 UDB Database Partitioning Feature、DB2 Cube Views、DB2 Intelligent Miner Modeling, Scoring and Visualization、DB2 Office Connect、DB2 Information Integrator Standard Edition 和 DB2 Warehouse Manager。为了计划和正确设置 DB2 中的所有组件,DWEE 提出了一些要求。本文提供了在 AIX 上计划和设置 DB2 UDB Data Warehouse Enterprise Edition 的完整指南。

获取本文中使用的产品和工具

下载 IBM 试用版软件





回页首


简介

DB2 Data Warehouse Edition (DB2 DWE) 提供了实现 On Demand Business Intelligence 的综合平台所需的必要基础设施。它组合了一组选择的 IBM 商业智能(BI)产品,提供了部署下一代数据仓库所需的一切。然而实现 DB2 DWE 需要详尽的计划和知识来支持许多软件组件。安装、设置所有组件和运行会遇到一些要求。虽然 DB2 DWE 已经提供了集成安装程序,可以帮助您在一个任务中安装所有软件组件,您仍需执行许多安装后任务来正确设置每个产品。

在本文中,我将提供安装和设置 DB2 Data Warehouse Enterprise Edition Version 8.1.2 中的所有组件的综合指南。首先概述 DB2 DWE 包中的每个组件。然后讨论安装前考虑事项和安装过程。最后,我将对如何开始每个产品给出一些指导并指出一些您可以用来进一步研究每个产品组件的相关链接。

请注意 DB2 DWE 可用在 Linux、Windows、Solaris 和 AIX 上。可能有些人已经知道了代号为“Stinger”的 DB2 UDB 的下一版本和 DB2 DWE 的下一版本 Version 8.2,其中将包含许多新的功能。然而,作为本文的基础,我将仅关注 DB2 DWE 的当前版本 Version 8.1.2,在 AIX 操作系统上运行。

本文假设您已经基本了解 分区环境中的 DB2 UDB





回页首


DB2 Data Warehouse Edition 概述

DB2 Data Warehouse Edition 有两个版本:标准版和企业版。

DB2 Data Warehouse Standard Edition (DWSE)是为数据集市基础设施设计的,包括 DB2 Workgroup Unlimited Edition 和三个其他商业智能组件:DB2 Cube Views、DB2 Intelligent Miner (IM) Scoring, Modeling and Visualization 和 DB2 Office Connect Web Edition and Analytic Edition。

DB2 Data Warehouse Enterprise Edition (DWEE)包括 DB2 Enterprise Server Edition (DB2 UDB ESE) 并增加了 7 个其他组件 — DB2 Data Partitioning Feature (DPF)、DB2 Cube Views、DB2 Intelligent Miner Scoring, Modeling and Visualization、DB2 Office Connect Enterprise Web Edition and Analytic Edition、DB2 Warehouse Manager Standard Edition (DB2 WHM)、DB2 Query Patroller 和 DB2 Information Integrator Standard Edition(限制使用许可)— 为企业范围的数据仓库提供了完整软件基础设施。

下图说明了 DB2 DWE 中的每个产品如何放置在 BI 平台上。


图 1:DB2 Data Warehouse Edition 平台 BI 服务
DB2 DWE 平台

为了简要说明这些产品如何一起运行,将 DB2 UDB 视为 BI 平台的基础。将 DB2 UDB ESE 和 DB2 Data Partitioning Feature 组合,数据仓库可以支持从数百 GB 到数千 GB 的巨大数据库,而且因为 DB2 无共享层次结构,数据仓库实质上具有无限可伸缩性。可以使用 DB2 Warehouse Manager 来管理和自动化抽取-转换-装入(ETL)处理。还可以使用 DB2 Information Integrator 扩展 ETL 处理,DB2 Information Integrator 提供了本地连接器以访问 Oracle、Sybase、Informix、Microsoft SQL Server 和 Teradata 中的数据。(注意,DB2 DWEE 许可证限制 DB2 Information Integrator 仅与 DB2 Warehouse Manager 一起使用。)

DB2 Cube Views 通过基于多维 cube 模型设计优化的关系对象来提高 DB2 中的 OLAP 性能。使用 DB2 Cube Views,DB2 能够识别 DB2 星型模式和(或)雪花状模型中的多维结构和业务实体。信息作为 OLAP 元数据存储在 DB2 中,OLAP 元数据中包括关于维度、层次结构、属性、尺寸、计算的尺寸、业务名称和 OLAP cube 等的信息。使用 OLAP 元数据,Cube Views Optimization Advisor 现在可以分析基本的维度数据以及为 OLAP 应用程序创建一组最有效的实例化的查询表(MQT)。Cube Views 生成的 MQT 可以显著提高 OLAP 查询的性能。因为汇总数据在 MQT 中预先计算,所以 DB2 优化器可以改写特定查询来访问 MQT,而不是基础表,因为优化器可以识别是否能以较少的预计成本从 MQT 得到结果集。而且因为 MQT 往往比基础表小很多,所以当查询改为发送到 MQT 时,OLAP 查询的响应时间可以显著改善。DB2 Cube Views 元数据还可以与查询工具共享。例如,DB2 Office Connect、DB2 QMF 和 Cognos 可以通过 Cube Views API 直接连接到 DB2 Cube Views 元数据。其他合作伙伴工具(如 Hyperion、MicroStrategy、Cognos、Business Objects)可以通过桥访问 DB2 Cube Views 元数据。

与 DB2 DWE 一起提供的轻型查询和报告工具是 DB2 Office Connect Web Edition and Analytic Edition。该工具使 Microsoft Exce 用户可以使用 DB2 Office Connect Excel Add-in 构建 BI 应用程序。Web Edition 通过 Web 连接到维护数据库连接的中间层 Office Connect 服务器,使您可以从 Excel 电子表格访问 DB2 数据,而无需使用客户端上的任何 ODBC 或 JDBC 驱动程序。得到的工作簿可以保存到 Office Connect 的 DB2 存储库,企业用户可以通过 Web 使用它们。另外,Office Connect Analytic Edition 还允许用户执行 OLAP 查询(即,向上/向下切入、切片与切块),将数据从他们的 Excel 电子表格导入到 DB2 Cube Views 中定义的 OLAP cube 中。

数据挖掘和实时分析应用程序(如客户细分、客户挽留、产品选择分析和欺诈检测)与 DB2 Intelligent Miner Modeling, Scoring and Visualization 一起启用。IM Modeling and Scoring 将 DB2 数据库中内嵌的数据挖掘算法和评分功能作为存储过程和 SQL 扩展器来启用。分析人员可以使用 IM Modeling 对数据库运行不同的算法,如分类、群集和关联以发现新的关系或未知模式。在 IM Modeling 或任何 Predictive Modeling Markup Language (PMML) 适用工具(如 SAS 和 SPSS)中开发的数据挖掘模型都存储在 DB2 中。DB2 中的 PMML 模型可以在与 IM Visualization 一起提供的 Java applet 中查看。一旦有了挖掘模型后,可以使用 IM Scoring 在数据仓库中执行批量评分,或者在每次新的记录输入数据库时执行实时评分,例如在 Call Center 应用程序中。一些数据挖掘模型(如欺诈检测)的使用期可能较短,需要经常重新校准。使用 IM Modeling,可以计划 SQL 作业来挖掘数据和更新挖掘模型,而无需高技术的数据挖掘器。这将在生产环境中快速生成模型,而不必让数据挖掘分析人员每天都创建完整的模型。

最后,当您开始让多个并发用户访问数据仓库时,无论这些用户是 ETL 开发人员还是业务用户,DB2 Query Patroller 在管理查询和管理仓库资源方面都会变得非常有用。它可以用来基于不同的用户区分查询的优先次序,并基于计划成本分配引入的查询。花费多的、运行时间长的查询可以保留稍后运行,当查询完成时通过电子邮件通知用户。查询得到的结果集可以缓存在结果表中并作为定制数据集市重新使用。DB2 Query Patroller 在为调整数据库或管理成本核算和分摊费用应用程序而分析查询历史记录、执行时间以及每个表和索引的命中数方面也是有用的工具。





回页首


确定正确配置

无论您的企业数据仓库是单一 SMP、具有多个 LPAR 的系统,还是具有多个服务器的系统,每个具有数据分区功能的 DB2 数据仓库都包含以无共享设计放在一起的硬件/软件堆栈的构建块。要确定每个构建块中的最佳配置,我们必须检查多个组件:处理器、内存、I/O 容量、存储格式、操作系统和软件配置。此过程会很复杂,不在本文的讨论范围之内。不过,我要指出在安装前应该检查的一些关键项。

每个 DB2 分区应该多大?如果我们有 16-way IBM pSeries 690,则在服务器上应该有 16 个 DB2 分区、8 个 DB2 分区,还是 4 个 DB2 分区?虽然答案取决于多个因素,但是此处的关键是您想分配适当的资源,从而每个 DB2 分区被平均占用。下列经验规则可以用于最初的安装。

  • 处理器数目:通常每个 DB2 分区 1-2 个 CPU 会工作得很好,因为您可能使所有 CPU 用于每个查询。使用更快的处理器,如 IBM pSeries 690,您能够分配小到每个分区 1 个 CPU。
  • 内存:通常在 32 位实现中,开始应该每个 DB2 分区分配 2 GB 内存。在 32 位模式中,每个 DB2 分区在 AIX 上至多只能使用 1.75 GB 共享内存,在 Solaris 上为 3.35 GB,在 Windows Advanced Server 上为 3 GB,这将限制可以分配的缓冲池的大小。对于 64 位实现,内存不是主要边界;开始时可以每个 CPU 分配 3-4 GB 内存。然而,值得注意的是,并非 DB2 DWEE 中的所有组件都支持 64 位实现。实际上, DB2 DWE Getting Started Guide(第 3 章)建议您在 32 位操作系统下实现 DB2 DWEE。不过,在您的环境中可以同时具有 64 位 DB2 实例和 32 位 DB2 实例,从而您可以在 64 位模式下运行大的数据库。我们将在本节的稍后部分讨论关于 32 位和 64 位实现的支持信息。
  • 磁盘和存储:计划总存储容量为原始数据的四倍。注意要在每个分区中分配足够的磁臂,至少每个 CPU 有 6-10 个物理磁盘。在大多数存储系统中,每个 CPU 有 12 个磁盘会工作得很好。尝试使 I/O 吞吐量达到至少每个 CPU 为 50-125 MB/sec。每个物理磁盘仅能分配给一个 DB2 分区,不能与其他分区共享。
  • 网络:每个 DB2 分区都包含通过 TCP/IP 通信的快速通信设施(FCM)。建议您每一个或两个分区提供一个 Gigabit Ethernet。

DB2 DWEE 配置示例

许多新的数据仓库都从单一 SMP 服务器(即具有 16 个 DB2 分区的 16-way pSeries 690)开始。这种环境的软件配置相当简单,因为所有软件组件都在一台计算机上安装和运行。当我们转到大规模并行处理(massively parallel processing,MPP)环境时,配置会变得比较复杂。图 2 显示了 DB2 Data Warehouse Enterprise Edition 在具有 4 台计算机的 MPP 系统中的基本配置。请注意在此配置中,有一台主服务器运行所有 DB2 DWEE 软件组件,其他三个参与分区服务器仅运行 DB2 UDB ESE。主服务器是 DB2 实例拥有的服务器,包含数据库分区 0 的编目分区。该服务器还成为协调程序节点,所有数据库请求都从这里启动并发送给其他分区中的子代理程序,来自其他分区的所有结果都在这里合并。因此,我们使用此服务器运行 DB2 Warehouse Manager Server 和 Agent、Query Patroller Server、Cube Views 和联邦数据访问。另一方面,参与分区服务器不包含除 DB2 之外的 DB2 DWE 组件。它们主要用于在多个分区之间平均分布的大表。随着数据仓库的增大,通常要添加更多的服务器。

提示: DB2 Cube Views、DB2 Query Patroller、DB2 Warehouse Manager、DB2 Information Integrator 和 DB2 Intelligent Miner Scoring and Modeling 不需要安装在所有分区服务器上。实际上,我们将这些产品安装和配置在我们要在其中运行与每个产品都关联的作业和应用程序的服务器中;通常这将是在专用协调程序节点上。DB2 Query Patroller 可以在任何分区服务器(具有额外资源的服务器更好,如包含少量数据的协调程序分区)上安装和运行。


图 2:DB2 Data Warehouse Enterprise Edition 的配置示例
DB2 DWE 配置示例

图 3 显示了向系统添加高可用性(HA)解决方案时比较复杂的配置。Server 1 和 Server 2 结合在一起成为一个群集,所以当一个节点失败时,它们可以相互接管。Server 3 和 4 也是一个互相接管的 HA 群集。Server 1 安装了所有 DB2 DWE 组件,因为它用作协调程序节点、联邦服务器、Query Patroller 服务器和 Warehouse Manager Server。Server 2 也应该有相同软件配置,从而 Server 1 失败时,DB2 Information Integrator、DB2 Query Patroller、DB2 Cube Views、DB2 Intelligent Miner 和 Warehouse Manager 仍旧可以正常运行。


图 3:DB2 Data Warehouse Enterprise Edition 的高可用性配置示例
DB2 DWE HA 配置示例

提示:多服务器环境: 根据业务需要,您可能在许多或所有服务器中安装了 DB2 DWE 组件。图 3 显示了实现了 HA 时的示例。您可以在一台或多台计算机中安装 DB2 Query Patroller;每台 Query Patroller 服务器可以用于管理不同的数据库。DB2 Warehouse Manager Agent 可以安装在多台服务器中,从而在并发处理 ETL 作业时,可以减少协调程序分区的工作量。

其他配置考虑事项

  • 操作系统:通常,我们建议运行最新级别的操作系统,因为它包含最新的修正。请访问 system requirements for DB2 UDB Data Warehouse Edition获取支持的操作系统。

  • 32 位和 64 位支持:当前,并不是 DB2 DWEE 中的所有软件组件都提供 64 位支持。在 AIX 上,DB2 的 DB2 Cube Views、DB2 Query Patroller 和 DB2 Information Integrator Wrappers、Informix、Oracle NET8 和 Sybase CTLIB 都支持在 64 位 DB2 实例下运行。然而,DB2 Warehouse Manager 和 DB2 Intellient Miner Modeling, Scoring and Visualization 必须在 32 位模式和 32 位 DB2 实例下运行。换句话说,如果您的数据仓库在 64 位 DB2 ESE 实例下运行,您在数据库中将不能执行 Intelligent Miner modeling and scoring 功能。另外,您也不能使用 DB2 Warehouse Manager 在数据库中直接执行 ETL 处理。此问题的解决方案是在单独的 LPAR 中创建单独的 32 位 DB2 实例。此实例为 DB2 Warehouse Manager Server/Agents 和 DB2 Intelligent Miner Modeling/Scoring 而配置,因而包含两个数据库:一个是 DB2 Warehouse Manager Control Database,另一个是专为数据挖掘应用程序创建的数据集市数据库。然后可以在 32 位 DB2 实例而不是 64 位 DB2 数据仓库中执行数据挖掘任务。为了 DB2 Warehouse Manager 可以与 64 位仓库数据库一起使用,将 64 位实例作为远程实例编目到该 32 位实例。然后可以使用 DB2 Warehouse Manager Agent 管理作为远程数据库的 64 位仓库中的 ETL 处理。(请参阅 DB2 Warehouse Manager Support for 64-bit Database技术注解。)

    因为有限的 64 位支持, DB2 DWE Getting Started Guide(第 3 章)建议在 32 位操作系统中运行 DB2 DWE 组件。因此,本文将集中讲述 32 位实现。

  • Java 环境:DB2 DWE 还要求安装 JDK 1.3.1。如果安装 Intelligent Miner Scoring Bean,则还应该安装 JRE 1.3.0。




回页首


DB2 Data Warehouse Edition 安装过程

根据服务器配置,安装 DB2 DWE 的方法可能有所不同。可以一次一个分别安装每个软件组件,也可以使用 DB2 DWE Integrated Installation 程序,它是最快最简单的方法。DB2 DWE Integrated Installation 程序可以在一次任务中安装除 DB2 Office Connect 之外的所有软件组件,从而可以节省时间。不过,仍有许多安装后任务要执行以使所有组件都设置好并运行。

提示: 建议如果在多个分区中运行 DB2 UDB ESE,应该首先在所有分区服务器中安装和设置 DB2 UDB ESE V8.1.2,然后使用 DWE Integrated Installation 在主服务器中安装 FixPak 和其余 DB2 DWE 组件(参见图 2)。此过程还可以应用到无分区环境,如 DB2 Data Warehouse Standard Edition。

DB2 DWE Integrated Installation 过程
下面是在多分区环境中设置 DB2 DWE 的推荐过程:

  1. 安装前评估。设置和验证系统参数。安装所有软件先决条件。创建 DB2 用户。如果在多个服务器中运行 DB2,设置 DB2 实例所有者 $HOME 路径中的网络文件系统(NFS)。为每个软件组件下载最新的 FixPak。
  2. 在所有分区服务器中安装和设置 DB2 UDB ESE V8.1.2。确保在所有分区中安装了 DB2 且运行正常。如果已经安装了 DB2,必须确保 DB2 是最新的 FixPak 2 级别。如果不是,在继续之前应用 DB2 FixPak 2。
  3. 使用 DB2 DWE Integrated Installation 程序在主服务器中安装其余的软件组件。DWE Installation 程序将按顺序安装下列程序:
    DB2 Warehouse Manager (DB2WHM)--> DB2 Integration Integrator --> DB2 Fixpack 2+ 
    --> DB2 Cube Views --> DB2 Query Patroller --> DB2 Intelligent Miner Scoring 
    --> DB2 Intelligent Miner Modeling --> DB2 Intelligent Miner Visualization
    

  4. (可选)如果需要,在其他服务器中安装其他软件组件(参见图 3)。
  5. 对所有分区服务器应用最新的 DB2 FixPak。应用最新的 Intelligent Miner Patches
  6. 安装和设置 DB2 Administration Clients、Cube Views OLAP Center 和 Query Patroller Center。
  7. 配置每个 DB2 DWE 组件。
  8. 安装 IBM Websphere Application Server(或 Jakarta Tomcat)。安装和设置 DB2 Office Connect Web Edition。

DB2 DWE 手工安装过程
或者,您可以选择使用随每个软件组件一起提供的安装程序,一次一个地分别安装 DB2 DWE 中的每个软件组件。这种方法的一个优点是随每个产品一起提供的安装向导可以简化使用 DB2 DWE Integrated Installation 必须执行的许多手工设置。

在多个服务器中设置 DB2 DWE 通常需要大量的定制,尤其是当在两台或多台服务器中运行 DB2 DWE 组件时。通过一次一个地设置每个产品,可以在继续下个产品安装前确定已经安装了每个软件组件且运行正常。在多服务器环境中,可以在主服务器中安装产品,然后使用它的安装响应文件轻松地安装其余分区服务器。

图 4 显示了分别安装和设置 DB2 Data Warehouse Enterprise Edition 中的每个组件的全部过程。


图 4:DB2 Data Warehouse Enterprise Edition 8.1.2 手工安装
DWE 手工安装

在本文中,我将不讨论 DB2 DWE 手工安装,因为只要产品安装按上面的顺序执行,就可以很容易地执行每个产品的安装指导。我们将集中讲述 Integrated Installation 过程,因为 DB2 DWE 安装指导没有详细论述安装后设置步骤。

下面部分描述在多服务器环境中设置 DB2 DWE 的每个步骤。相同过程还可以应用于单一服务器安装。





回页首


步骤 1:安装前评估

AIX 系统检查

下面列出了一些影响 DB2 性能的值得检查的 AIX 设置。

maxuproc
每个用户的最大进程数(maxuproc)应设置为 4096。

chdev -l sys0 -a maxuproc='4096'

文件大小限制
DB2 实例所有者的 fsize 必须设置为无限制(或 -1)。要将 fsize 的硬限制和软限制改为无限制,可运行下列命令(作为 ROOT):

ulimit -Hf unlimited  (for Hard Limit)
ulimit -Sf unlimited  (for Soft Limit)

数据和堆栈限制
对于 32 位实现,用户限制应设置为数据 245760 KB 和堆栈 16384 KB。更改 /etc/security/limits 中的设置或使用 SMIT。

minperm%、maxperm% 和 maxclient%
默认情况下,AIX 的 minperm% 和 maxperm% 设置为 20 和 80。这意味着对于文件系统缓存,AIX 可以使用 20% 到 80% 的实际内存。因为 DB2 使用自己的缓冲池进行数据缓存,所以该默认设置过高。考虑将这些参数设置为较低,从而更多内存可以用于其他事情,如缓冲池和排序。minperm% 的建议值为 5-10 之间。maxperm% 应在 10-50 之间。maxclient% 是客户端(NFS)文件页的内存上限,也应该改为小于 maxperm% 的值。使用 vmo 命令改变这些参数的值。例如,

vmo -p -o minperm%   =10
vmo -p -o maxperm%   =20
vmo -p -o maxclient% =15

maxpgahead
maxpgahead 是 AIX 系统预取的上限,所以当对 SMS 或 DMS 文件容器做大的扫描或 I/O 时,它会影响效率。一般来说,maxpgahead 应设置为 min(128, 16 * number of disk in striped logical volume)

ioo -p -o maxpgahead= 
        new value
			
      

您应该修改 maxfree 以符合 maxpgahead 的更改,从而: maxfree = maxpgahead + minfree

vmo -p -o maxfree= 
        new value
			
      

lvm_bufcnt
如果计划在 DMS 容器中使用条带化的裸逻辑卷,考虑将 LVM 缓冲(lvm_bufcnt)的大小从默认值增加到 16。

memory_affinity
IBM POWER-based SMP 系统包含多个多芯片模块(multichip module,MCM),每个模块都包含多个处理器。虽然任何处理器都可以访问系统中的所有内存,但处理器访问附加到它自己的 MCM 的内存时,访问速度会较快。通过启用内存关联,AIX 尝试使用附加到包含引起页错误的处理器的 MCM 的内存,来消除页错误。这可以使用 SMP 系统中的多个逻辑分区来提高 DB2 性能。

vmo -p -o memory_affinity=1

网络文件系统(NFS)
如果在多个服务器或 LPAR 中运行 DB2,NFS 必须在每台计算机中运行。要验证 NFS 正在运行: lssrc -g nfs

我们还建议您在每台计算机中运行 10 biod 进程,并设置主服务器上的文件系统守护程序(nfsd)数目为:
# of nfsd = min(120, # of computer * 10)

例如,如果您有 4 台服务器,在所有服务器中使用 10 个 biod,在主服务器中使用 40 个 nfsd。要更新 nsfd 和/或 bild 的值,可运行:

smit nfs --> Network File System --> Configure NFS on This System 
--> Change # of nfsd, biod, lockd Daemons

软件先决条件
验证已经在所有服务器中安装了 DB2 Warehouse Manager Transformers 所需的 JDK 1.3.1。如果没有安装,安装 DB2 UDB ESE CD-ROM /cdrom/db2/aix/Java-1.3 中提供的 JDK 1.3.1。服务器中还应该有 JRE1.3.0,作为 DB2 Intelligent Miner Scoring Bean 的先决条件。

UNICODE 支持
确保系统支持 Unicode。这是 DB2 Warehouse Manager 所需要的。

lslpp -al | grep -i iconv

bos.iconv.ucs.combos.iconv.ucs.pc 应该列出。

DB2 用户

要在 UNIX 中运行 DB2 至少需要三个用户:DB2 实例所有者、DB2 Administration Server 用户和 DB2 Fenced 用户。在多服务器环境中,在主服务器中创建 DB2 实例所有者的 $HOME 路径,并共享给所有分区服务器。

  1. 在决定放置 DB2 实例的主服务器中创建 DB2 实例所有者主文件系统,即 /db2home 。分配大约 500 MB。在系统重新启动时自动安装。
  2. (可选)如果在 MPP 系统中运行 DB2 UDB DPF,NFS 从主服务器中导出 DB2 主文件系统,并在每台参与服务器中安装主文件系统。使用 soft安装文件系统选项。
  3. 在所有服务器中创建需要的用户和组。确保 UID 和 GID 在所有服务器中都相同。假设我们创建 db2inst1为 DB2 Instance 所有者、 db2fence1为 DB2 Fenced 用户和 db2das1 为 DB2 Administration Server 用户。执行下列命令创建用户。

    mkgroup id=999 db2iadm1
    mkgroup id=998 db2fadm1
    mkgroup id=997 dasadm1
    mkuser id=10001 pgrp=db2iadm1 groups=db2iadm1 home=/db2home/db2inst1 
    core=-1 data=491519 stack=32767 rss=-1 fsize=-1 db2inst1
    

  4. 用所有 DB2 用户运行 java -version 。确保它是 1.3.1,否则,通过编辑每个用户的 .profile 文件,在 $PATH 变量中添加 /usr/java131/bin

将 DB2 DWE 产品 CD-ROM 的内容复制到服务器

将 DB2 DWE 产品 CD-ROM 的内容和 DB2 FixPak 复制到将导出到所有服务器的网络文件系统(NFS)。

  1. 使用大约 3.5 GB 空间创建 NFS 文件系统来存储产品映像和 DB2 FixPak。这里假设创建 NFS 为 /DB2DWE
  2. 下载 DB2 FixPak2+最新的 DB2 FixPak。在写入此信息时,DB2 FixPak 5. Extract (untar) DB2 FixPak 将映像归档到 /DB2DWE/DB2FP2plus/DB2DWE/DB2FP5
  3. 下载 最新的 Intelligent Miner Modeling and Scoring Patch 并复制到 /DB2DWE/IM_Fix 中。在撰写本文时,是 IP22677IP22683
  4. 创建下列路径。目录不应包含空格。

    /DB2DWE/IntegratedInstall
    /DB2DWE/DB2ESE
    /DB2DWE/DB2II
    /DB2DWE/DB2QP
    /DB2DWE/DB2WHM
    /DB2DWE/DB2CV
    /DB2DWE/IMINER
    /DB2DWE/temp

  5. 将每个产品组件的内容复制到创建的目录中。如果每个产品的 DB2 DWE 映像下载为 .tar 文件,在继续之前将先所有 .tar 文件解压。




回页首


步骤 2:安装和设置 DB2 UDB DPF

在此步骤中,我们将在所有分区服务器中设置 DB2 UDB ESE DPF。这个过程将从使用 DB2 Setup Wizard 在主服务器中安装 DB2 UDB Enterprise Server Edition V8.1.2 开始(参见图 2)。我们需要使用 X-Windows 来完成安装过程。

  1. 在主服务器中,从复制了 DB2 UDB ESE 产品 CD-ROM 内容的 /DB2DWE 文件系统中的目录中解压缩 DB2 UDB ESE tar.Z 文件。从 ROOT 用户,运行 ./db2setup 到启动 DB2 Setup Wizard。

  2. 按照如下所示跟随安装向导:
    1. 在欢迎页面,单击 Install Products。然后选择 DB2 UDB Enterprise Server Edition
    2. Installation type:选择 Custom安装。
    3. 选中 Install DB2 UDB Enterprise Server Edition on this computerSave your settings in a response file
    4. Features: Select all components,除非不想安装某些组件。确保选择了 Business Intelligence下的所有组件。还选择 Warehouse Sample Database SourceInformix data source support。它们默认情况下是不安装的。
      图 5: DB2 Setup 向导- 要安装的功能
      DB2 Setup 向导
    5. Languages:选择您的语言。
    6. DAS User:选择 Existing user。输入 db2das1 或您的 DAS 用户。
    7. Instance setup:选择 Create a DB2 instance - 32 bit
    8. Instance use:选择 Partitioned instance
    9. Instance owing:选择 Existing user。输入 db2inst1 或您的实例所有者用户。
    10. Fenced user:选择 Existing user。输入 db2fenc1 或您的受防护用户。
    11. Instance TCP/IP Communication:选择 Configure,并使用默认 db2c_db2inst1 和端口号。(默认值是 50000)。如果需要,可以更改端口号。
    12. Instance properties:输入服务器中的 maximum logical nodes(默认值是 4)。例如,如果在此服务器中运行 16 个分区,则输入 16。为实例(例如, Server )选择适当的 Authentication type。选中 Autostart the instance。如果运行 HACMP,取消选中 Autostart
    13. Prepare metadata:选择 Do not prepare any metadata at this time。我们将延迟此设置,直到所有 DB2 分区都已安装和运行。否则,在下一步添加更多分区时,您将需要重新分布数据库。
    14. 在接下来的两个屏幕中,输入您的 Administration Contact列表。
    15. Informix 数据源,输入您的 Informix client installation pathInformix Server。或者在这里您可以延迟 Informix 数据源设置。
    16. 汇总。输入将创建响应文件的位置。我假设我们将其他数据库分区服务器的响应文件保存到 /db2home/db2part.rsp 中。单击 Finish开始安装。
    17. 一旦安装结束,从 /tmp/db2setup.log 检查日志文件。
    18. 继续下一步前停止 DB2 和 DB2 Administration Server。

  3. (可选)如果将在 2 台或多台服务器中运行 DB2 ESE DPF,使用前面的步骤生成的响应文件在其余参与服务器中安装 DB2 UDB ESE。
    ./db2setup -r /db2home/db2part.rsp

  4. 验证所有服务器中的 /etc/services 文件。确保 Fast Communication Manager (FCM) 端口范围与每台服务器中的分区数相对应。例如,如果在具有 4 个分区的每台服务器中运行 db2inst1 实例,则应该具有:
    DB2_db2inst1		60000/tcp
    DB2_db2inst1_END	60003/tcp
    db2c_db2inst1		50000/tcp

  5. 编辑 $INSTHOME/sqllib/db2nodes.cfg。添加其他分区。db2nodes.cfg 中的列格式应该为:

    dbpartitionnum hostname FCM_port_offset netname

    下例显示了在 host1 和 host2 中共有 8 个 DB2 分区的系统的 db2nodes.cfg 文件。每台服务器包含 4 个分区和 2 个 Gbit Ethernet 接口。
    0	host1	0	netname1_a
    1	host1	1	netname1_a
    2	host1	2	netname1_b
    3	host1	3	netname1_b
    4	host2	0	netname2_a
    5	host2	1	netname2_a
    6	host2	2	netname2_b
    7	host2	3	netname2_b

  6. 更新数据库默认路径,使其不在实例所有者路径中,该路径是网络文件系统。
    db2 update dbm cfg using dftdbpath 
                defaultpath
    					
              





回页首


步骤 3:DB2 DWE Integrated Installation

一旦 DB2 ESE DPF V8.1.2 在所有服务器中安装和运行,我们可以使用 DB2 DWE Integrated Installation 程序在主服务器和所有协调程序节点中安装其余产品。

在主服务器或协调程序节点中:

  1. 开始安装之前停止所有 DB2 进程并卸载内存中的共享库。
    su - db2inst1
    db2stop		
    db2licd -end	# run on each physical server
    su - db2das1
    db2admin stop
    su - root
    /usr/sbin/slibclean

  2. 运行 ./aixsetup from /DB2DWE/IntegratedInstall 启动 DB2 DWE 集成安装程序。
  3. 选择要使用的语言。然后单击 OK
  4. 选择授权您使用的产品: DB2 Data Warehouse Enterprise Edition
    图 6:DB2 Data Warehouse Edition 选择窗口
    DB2 DWE Setup 向导
  5. 选择 Install Type: Server
  6. 在接下来的两个屏幕中,接受所有许可证协议。
  7. 然后 Integrated Installation 程序将显示要安装的产品的列表。
    图 7:要安装的 DB2 Data Warehouse Edition 组件
    DB2 DWE 组件安装
  8. 之后的 9 个屏幕将让您输入每个产品的安装映像、DB2 FixPak 2+ 和临时文件的路径等的位置。

    注意,每个产品的路径并不总是 /DB2DWE/productname (您在其中复制和解压缩了安装映像),而是可能在更深的目录。指定的路径不正确将导致安装不完整。这里的诀窍是使用 .toc 或 readme.txt 文件所在的位置。例如,我使用的 DB2 Query Patroller 的位置是 /DB2DWE/DB2QP/DB2_V81_QP_AIX5_3264_NLV ,而 DB2 Cube Views 的位置是 /DB2DWE/DB2CV
    图 8:安装程序可以找到 DB2 Query Patroller 映像的位置
    安装介质的位置

  9. 安装完成后,您应该看到下面的屏幕。详细安装日志文件还可以从 /tmp 中的 db2setup.log、db2setup.err 和 db2setup.his 中查看。
    图 9:安装摘要窗口
    安装摘要
  10. 执行其他安装之前,停止所有 DB2 实例和 DB2 Administrative Server。
    su - db2inst1
    db2stop		
    db2licd -end	# run at each physical server
    su - db2das1
    db2admin stop
    su - root
    /usr/sbin/slibclean
    





回页首


步骤 4:(可选)在其他服务器中安装 DWE 组件

当实现 High Availability 或计划在系统中有多个协调程序节点时,应用此步骤。在这种情况下,还要在许多服务器中安装 DB2 DWE 组件。(参见图 3 作为 High Availability(HA)配置示例)。主实例所有服务器的 HA 对应该安装了所有产品。所有协调程序节点也应该安装了所有产品。

您可以使用 DB2 DWE Integrated Installation 或在其他服务器中分别安装每个产品。如果选择单独产品安装,应该在安装 DB2 Cube Views 和/或 Query Patrolleror 前应用 DB2 FixPak 2+。然后运行产品映像的 ./db2_install 程序来安装单独的产品。





回页首


步骤 5:应用最新的 FixPak

在此时,DB2 运行在 FixPak 2+ 级别。我们要使系统变为最新的 FixPak 级别。要应用 DB2 FixPak,执行下列步骤:

  1. 停止所有 DB2 实例和 DB2 Administration Server。
    su - root
    /usr/opt/db2_08_01/bin/db2vwsvr stop	 # run at each server where DB2 WHM is running
    su - 
                instanceowner
    db2stop		
    db2licd -end				 # run at each physical server
    su - 
                DASowner
    db2admin stop				 # run at each physical server
    su - root
    /usr/sbin/slibclean			 # run at each physical server
              

  2. 使用 root 从 DB2 FixPak 安装映像位置运行 installFixPak
  3. 对所有分区服务器重复步骤 2。
  4. 使用 root 将实例所有服务器中 DB2 实例和所有服务器中的 DB2 Administration Server 更新到与 FixPak 一样的代码级别。
    /usr/opt/db2_08_01/instance/db2iupdt 
                instancename
    /usr/opt/db2_08_01/instance/dasupdt 
                dasname
    					
              

  5. 发出 db2startdb2stop 命令。从 $INSTHOME/sqllib/db2dump/db2diag.log 验证 DB2 启动和停止没有错误。

还要应用 Intelligent Miner 补丁。遵循与下载的补丁一起提供的说明。





回页首


步骤 6:安装 DB2 客户机

可以使用 DB2 DWE Integrated Installation 安装 DB2 DWE 客户机。使用 CLIENT Install Type 选项。或者可以分别安装每个产品。对于 Windows 客户机,需要分别为 DB2 UDB、DB2 Cube Views 和 DB2 Query Patroller 下载 DB2 FixPak。需要在安装 DB2 Cube Views 和 DB2 Query Patroller Clients 之前将 DB2 FixPak 2+ 或更高版本应用于 DB2 Client。安装之后还需再次应用最新的 FixPak。下面是客户机安装的概括顺序:

DB2 Administration Client --> DB2 UDB FixPak 2+ 或更新版本 --> DB2 Cube Views OLAP Center --> DB2 Query Patroller Client --> DB2 FixPak 5 或更新版本(与服务器的 FixPak 级别相同)

Intelligent Miner Visualization 不需要 DB2 客户机作为先决条件。不过,大多数 Intelligent Miner 用户将可以访问 DB2 数据仓库;通常仅需要 DB2 Runtime Client。





回页首


步骤 7:配置 DB2 DWE 组件

直到此时,我们仅在服务器和客户机中安装了产品映像。在服务器中创建了 DB2 实例。但是我们还没有创建任何数据库,没有对每个产品组件做任何配置。

在下面的步骤中,我们将为下列各项创建和配置 DB2 数据库:

  • DB2 Warehouse Manager Control Database。在本文中,将创建为 DWCTRLDB
  • Information Catalog Manager Database。在本文中,将创建为 IWCATDB
  • Office Connect Report Repository。在本文中,将创建为 OFFCCONN
  • 企业数据仓库数据库。在本文中,将创建为 EDWDB

然后配置 DB2 DWE 中的每个组件。

创建数据库

创建数据库时,非常重要的是隐式定义系统和临时表空间的位置。创建了数据库后,可以定义其他系统临时表空间、用户表空间和缓冲池。下面是设置数据库和表空间时的一些技巧。

  1. 编目和临时表空间使用 SMS 表空间。

  2. 对比 SMS 或 DMS 文件表空间,对用户表空间使用 raw DMS 可以提高性能 10% 或更多。

  3. 永远不要将同一表空间的多个容器放在同一物理磁盘上。不过,一个物理磁盘可以包含不同表空间的多个容器,但是您应该验证查询将不需要同时访问同一磁盘上的两个表空间。参见图 10。另外,确保每个物理磁盘仅由一个 DB2 分区使用,不与其他 DB2 分区共享。
    图 10:数据库分区上的表空间容器布局
    磁盘布局
  4. 确保表空间容器名称在所有数据库分区中惟一,即使它们在不同的服务器中。在表空间定义中使用数据库分区表达式 $N 可以简化 CREATE TABLESPACE 语句。例如,指定容器名称为 'edwdp $N ts1cont1' ,DB2 在数据库分区 0 上创建容器 'edwdp0ts1cont1' ,在数据库分区 1 上创建 'edwdp1ts1cont1' ,在数据库分区 2 上创建 'edwdp2ts1cont1' ,等等。

  5. 因为数据仓库应用程序通常一次访问大量连续的行,使用大的页(如 16K 页或 32K 页)通常更好,因为它可以减少 I/O 请求数。不过,页大小大于 row size * 255将浪费磁盘空间和缓冲池,尤其是在大的表中,因为一个页最多只能包含 255 个记录。

  6. 创建最少数量的系统临时表空间。临时表空间的页大小应该等于您的主要用户表空间中使用的页大小,应该足够放下查询中的最大行。通常应使临时表空间的页大小与最大的经常使用的表所在的表空间的页面大小相同。

  7. 表空间的区段大小应该与 RAID 设备的条带宽度相同或是条带大小的倍数。设置预取大小为:
    min (512, extend size * # of containers in tablespace in the database partition)

  8. 使用单独的文件系统用于记录不同的数据库分区。

  9. 为您为表空间定义的每个页大小分配缓冲池。在新的系统中,开始时最好为 DB2 缓冲池和排序分配 75% 的实际内存,为操作系统和其他 DB2 内存区域分配 25% 的实际内存。在这 75% 中,为缓冲池分配 50%,另外 50% 用于排序堆(sheapthres)。然后使排序堆大小等于:
    sortheap = sheapthres / (# of complex concurrent queries * max # of concurrent sorts
               and hash joins in your average query)

    注意开始时并发排序和散列连接的最大数目最好在 5 或 6 之间。

  10. 可以使用 DB2 Configuration Advisor 对您的环境的初始参数设置进行建议。在大多数情况中,Configuration Advisor 应该带来性能的重大提高。输入是根据分区数目指定。所以如果在服务器中运行 4 个 DB2 分区,则可以指定目标内存为 25% 或更少,因为每个分区消耗服务器资源的 25%。
    图 11:Configuration Advisor
    Configuration Advisor
  11. 如果可能,分配一个数据库分区仅放置编目和小表。这将释放该分区中的一些资源,从而它可以用作协调程序分区或用于运行 DB2 Warehouse Manager 和 Query Patroller 服务器。

  12. 对一些 DB2 注册表变量的更改可以提高性能。注意在多服务器环境中,应该在每台服务器中运行 db2set -all 以确保相同 DB2 注册表应用于所有服务器。
    • DB2_PARALLEL_IO:如果每个表空间中有少量的容器且每个容器跨多个 RAID 磁盘,请使用 DB2_PARALLEL_IO。这将在单个容器中启用并行 I/O;否则 DB2 将每个容器使用一个 I/O 服务器。
      db2set DB2_PARALLEL_IO=*

    • DB2_FORCE_FCM_BP:通过启用此注册表为 YES,同一物理服务器中不同分区的 FCM 守护程序之间的通信将通过共享内存完成,而不是通过 UNIX 套接字。这使 DB2 分区间的通信速度更快且减少的共享内存段大小可以用于其他用途,如数据库缓冲池。
      db2set DB2_FORCE_FCM_BP=YES

下面是用于创建 EDW 数据库的 SQL 示例:

create database EDW on /db2/databases 
catalog tablespace managed by system using ('/EDW/catfs0', '/EDW/catfs1') 
extendsize 32 prefetchsize 64 
temporary tablespace managed by system using ('/EDW/tempdpt $N fs0', '/EDW/tempdpt $N fs1') 
extendsize 32 prefetchsize 64

DB2 Warehouse Manager 安装后设置

  1. 确保将环境变量 EXTSHM 设为 ON。这是运行 Warehouse Manager 和 Query Patroller 之前必需的操作。

    以 db2inst1 登录。停止 DB2 实例。编辑 $INSTHOME/sqllib/db2profile 。添加下列条目:

    EXTSHM=ON
    export EXTSHM

    通过在每台服务器上运行 db2set 更新 DB2 注册表。

    db2set DB2ENVLIST=EXTSHM

  2. 从 X-Window,运行 db2wcdbm 来创建和初始化 DB2 Warehouse Manager Control Database。输入下列信息并单击 OK。程序将创建并填充 Warehouse Manager Control 表,其将位于数据分区编号 0 中的单一分区 SMS 表空间中。

    New control database: DWCTRLDB
    Schema: IWH
    User ID: db2inst1
    Password: xxxxx

  3. 要启动和停止 DB2 Warehouse Manager,以 root 登录,运行:
    /usr/opt/db2_08_01/bin/db2vwsvr stop
    /usr/opt/db2_08_01/bin/db2vwsvr start
    

  4. (可选)默认情况下,Warehouse Manager Agent 使用 DB2 CLI 访问数据源和目标数据库。使用 DB2 Information Integrator,您可以使用 Warehouse Manager Agent 通过 DB2 CLI 访问 Oracle、Sybase、Microsoft SQL Server 和 Teradata。

    不过,如果在多台服务器中安装了 Warehouse Manager Agent,您可能想配置 Agent 在一台服务器中使用 DB2 CLI,而在另一台服务器中使用 ODBC。通过配置 Agent 使用 ODBC,可以使 Agent 通过使用 InterSolv ODBC Driver 直接执行 SQL SELECT 来合并文件。要配置 ODBC,必须创建 odbc.ini 和 ODBCINI 变量。 /usr/opt/db2_08_01/odbc/odbc.ini.intersolv 中提供了示例。使用 root 在您要转换 Agent 使用 ODBC 的服务器中运行下列命令。

    /usr/opt/db2_08_01/bin/IWH.agent.db.interface odbc

    要转换 Agent 使用 DB2 CLI,运行下列命令。

    /usr/opt/db2_08_01/bin/IWH.agent.db.interface db2cli

  5. (可选)编辑 $INSTHOME/sqllib/bin/IWH.environment 文件以定制设置。

  6. 要验证 DB2 Warehouse Manager Server 和 Agents 是否成功启动,可以检查 /var/IWH (默认位置)中的日志文件。可以使用“db2 list applications”验证 Warehouse Manager Server 是否已安装和运行。
    $ db2 list applications
    Auth Id     Application	Appl.	Application Id		        DB		# of
                Name		Handle				                Agents
    -------------------------------------------------------------------------------
    DB2INST1    iwh2serv	53	*N0.db2inst1.043635040849	DWCTRLDB	4    
    DB2INST1    iwh2log     52	*N0.db2inst1.094875040849	DWCTRLDB	1    
    

  7. 在 DB2 Administration Client 上编目 DWCTRLDB 数据库。现在 DB2 Warehouse Manager 可以使用了。如果您对 DB2 Warehouse Manager 不了解,可以查看 DB2 提供的指南:

    Start-->Programs-->IBM DB2-->Set-up Tools-->First Steps-->Work with Tutorials

DB2 Information Catalog Manager 安装后设置

  1. 创建信息编目数据库。假设我们存储信息编目为 IWCATDB 数据库。所有信息编目表都应该存储在单一分区表空间中。使用类似于下面的脚本创建信息编目数据库。
    create database IWCATDB on /db2/databases 
    catalog tablespace managed by system using ('/IWCATDB/catfs0') extendsize 32 prefetchsize 32 
    temporary tablespace managed by system using ('/IWCATDB/tempdp $N fs0') 
    extendsize 32 prefetchsize 32
    create database partition group PG0 on dbpartitionnum(0)
    create regular tablespace ICATSPACE in database partition group PG0 
    managed by system using ('/IWCATDB/tsdp0fs0')
    

  2. 从 X-Windows,使用 DB2 实例所有者用户运行 $INSTHOME/sqllib/bin/db2iccwz 。选择第一个选项,准备信息编目。输入下列数据:

    Database Name:这里,将使用 IWCATDB 以及 ICATSPACE 表空间。
    Database Schema:输入 ICM ,它是 Information Catalog Manager 的默认值。
    图 12:信息编目设置向导
    ICM 设置向导

  3. 在 Options 页面。为 Information Catalog 输入默认终端用户组,例如, db2icgrp 和默认高级用户组,例如, db2iadm1 。此组应该有权访问数据库。输入前面创建的单一分区表空间 ICATSPACE 。然后单击 Finish。

  4. 要从 Windows Client 使用 Information Catalog,单击 IBM DB2 中的 Information Catalog Center。

  5. 如果您对 DB2 Information Catalog 不了解,可以查看 DB2 提供的指南

    Start--> Programs--> IBM DB2--> Set-up Tools--> First Steps--> Work with Tutorials

DB2 Query Patroller 安装后设置

  1. 确保将环境变量 EXTSHM 设为 ON 以及 DB2 注册表变量 DB2ENVLIST 包括 EXTSHM

  2. 选择 Query Patroller 要截获的数据库。作为示例,我们将使用 EDWDB

  3. 使用 qpsetup创建 Query Patroller 控制表并注册目标表空间来存储查询结果表。如果使用该程序创建表空间,每个分区不能指定多个表空间容器,将使用具有 4K 页大小的默认缓冲池 IBMDEFAULTBP 创建表空间。因此,如果想要不同的页大小或多个容器,可以使用 CREATE TABLESPACE 为 Query Patroller 创建表空间。然后,使用 qpsetup 和创建的新的表空间。
    • QPCONTROL 表空间应该创建在您运行 Query Patroller Server 的同一分区中的单个数据库分区组中。通常,是在协调程序分区中。
    • QPRESULT 表空间可以跨多个分区,并且可以具有不同的页面大小和缓冲池。
    Create database partition group QPRESULTGROUP on ALL dbpartitionnums;
    Create tablespace QPRESULT in database partition group QPRESULTGROUP 
    managed by system using ('/QPRESULT/qpresultdp $N');

  4. 从远程登录会话,使用 db2inst 用户运行 qpsetup 程序来创建 Query Patroller 表。
    qpsetup USER db2inst1 password passwd DB DBNAME control_tablespace QPCONTROL 
    result_tablespace QPRESULT

  5. 在所有分区中 Query Patroller 管理的数据库中启用 dyn_query_mgmt 配置参数。
    db2 deactivate database EDWDB
    db2_all db2 update db cfg for EDWDB using DYN_QUERY_MGMT enable
    db2 activate database EDWDB
    

  6. 从已选择运行 Query Patroller Server 的分区中启动 Query Patroller:
    qpstart 
                dbname
    					
              

  7. 要验证 Query Patroller 设置,从 Windows Client 打开 Query Patroller Center。

    连接到 EDWDB-->单击 User Administration and Submitters-->右击 PUBLIC,然后 Properties-->From Resources 选项卡:将要管理的最低成本从 15000 改为很低的值,如 10-->OK

    测试是否可以管理查询:

    1. 打开 ODBC 查询工具,如 Microsoft Access。尝试向服务器发出查询。例如, SELECT count(*) from syscat.tables, syscat.tables, syscat.tables, syscat.tables
    2. 从 Query Patroller Center,单击 Monitoring -->Managed Queries
    3. 应该看到查询正在运行。可以单击查询查看其属性,如 SQL 语句、查询成本,等等。

  8. 继续运行查询或者只是单击 Cancel 取消查询。
    图 13:Query Patroller Center
    Query Patroller Center
  9. 将要管理的最低成本改回默认值 15000 或您的环境中的适当值。

  10. 要停止 Query Patroller,运行 qpstop dbname

  11. 要开始使用 Query Patroller,请参阅 DB2 文档,获取可以应用 Query Patrollertation 的 示例场景

DB2 Cube Views 安装后设置

这里我们假设将使用 Cube Views 和 EDWDB 数据库,后者包含企业数据仓库的雪花状或星型模式表。

  1. 通过运行下列命令创建 DB2 Cube Views 存储过程和元数据编目表:
    db2 connect to EDWDB
    db2 -tvf $INSTHOME/sqllib/misc/db2mdapi.sql > $HOME/db2mdapi.out

    注意:该脚本在分区 0 中创建数据库分区组 DB2INFOGROUP 以及在 DB2INFOGROUP 创建 SMS 表空间 DB2INFOSPACE。可以修改该脚本,为 DB2INFOSPACE 指定适当的表空间容器。

  2. (可选)DB2 Cube Views 提供了示例数据库 MDSAMPLE。要创建 MDSAMPLE。运行下列命令。

    从服务器:

    export DB2NODE=0
    db2 create db mdsample
    db2 connect to mdsample
    db2_all db2 update db cfg for MDSAMPLE using DFT_REFRESH_AGE ANY
    db2 -tvf $INSTHOME/sqllib/misc/db2mdapi.sql
    cd $INSTHOME/sqllib/samples/olap/mdsample
    db2 -tvf MDSampleTables.sql
    db2 terminate
    db2 deactivate db mdsample

    从 DB2 Client:

    从 DB2 Administration Client 编目 MDSAMPLE 数据库 --> 打开 OLAP Center --> 连接到 MDSAMPLE 数据库 --> 单击 OLAP Center --> 导入 --> 将 MDSampleMetadata.xml 放置于 x:\sqllib\samples\olap\xml\input -->单击 Next -->Finish

    使用 Cube Views Optimization Advisor 创建 MQT。

    右击 SalesModel -->Optimization Advisor -->Next -->Next -->Next -->Save 创建摘要表 SQL 脚本 -->从 DB2 命令行运行该脚本创建 MQT

    注意您可能需要修改 MQT 脚本以指定正确的分区关键字。创建了 MQT 后,使用 Visual Explain 查看 DB2 是否将下列示例查询改为发送到 MQT:

    SELECT T1.State, SUM(T2.sales) as Sales 
    from MDSAMPLE.SALESFACT as T2, MDSAMPLE.MARKET as T1
    where T1.STATEID = T2.STATEID
    group by T1.State order by Sum(T2.sales) DESC

    DB2 优化器将上面的查询改为发送到 MQT。查询成本远低于没有 MQT 表示的原始查询。下面显示了为以上查询改写的 SQL 文本。

    SELECT Q3.$C1 AS "STATE", Q3.$C0 AS "SALES"
    FROM (SELECT SUM(Q2.$C1), Q2.$C0
          FROM (SELECT Q1.STATE, Q1.SALES FROM DB2INFO.MQT0000000001T01 AS Q1) 
          AS Q2 
    GROUP BY Q2.$C0) AS Q3 ORDER BY Q3.$C0 DESC

  3. 有关如何使用 DB2 Cube Views 构»º cube 模型的其他信息,请参阅下列 DB2 Cube Views publications

DB2 Information Integrator 安装后处理

在本节中,我们将配置 DB2 Information Integrator 访问 Oracle 8。一些过程可以用于 Informix、Microsoft SQL、Sybase 和 Teradata 数据源。

  1. 停止 DB2 实例。

  2. 为每个数据源安装客户机软件。请参阅 DB2 Information Integrator 软件要求32 位和 64 位考虑事项以获取每个数据源的适当客户机软件。

  3. 在所有协调程序节点中添加 DB2 Information Integrator 注册表。
    db2set DB2_DJ_INI=$HOME/sqllib/cfg/db2dj.ini

  4. 以 DB2 实例所有者登录。编辑 $INSTHOME/sqllib/cfg/db2dj.ini 。为具有的每个数据源添加环境变量。查看 db2dj.ini 的有效数据源变量。

    例如,Oracle 数据源的 db2dj.ini 如下所示:

    ORACLE_HOME=/OraHome/OraHome1
    ORA_NLS33=/OraHome/OraHome1/ocommon/nls/admin/data

  5. root 登录。运行 djxlink脚本为每个数据源创建包装库。 djxlink 脚本将运行 /usr/opt/db2_08_01/bin 中的下列所有 djxlink 文件。
    数据源 连接脚本名称
    Informix
    Microsoft SQL Server
    Oracle
    Sybase
    Teradata
    djxlinkInformix
    djxlinkMssql
    djxlinkOracle
    djxSybase
    djxlinkTerdata

    在我们的示例中,因为仅有 Oracle 数据源, djxlinkOracle 将成功运行并在 /usr/opt/db2_08_01/lib 中创建库文件 libdb2net8F.a 。而 djxlinkInformix、djxlinkMssql、djxlinkSybasedjxlinkTeradata 将失败,这是我们预料到的。

  6. 确保 DB2 用户有权读取和执行包装器库。正确的许可是: rwx r-x r-x。要允许其他用户读取和执行库,使用: chmod o+rx < filename>

  7. 从 DB2 实例所有者,将数据库管理器配置中的 FEDERATED 参数设为 YES。
    update database manager configuration using FEDERATED YES

  8. 启动 DB2 实例。

  9. 创建包装器。

    打开 Control Center --> 选择数据库,如 EDWDB --> Federated Database Objects --> Create wrapper --> 选择数据源 --> 输入惟一包装器名称 --> 使用默认设置:the wrapper will run in unfenced mode
    图 14:创建包装器
    创建包装器

    CREATE WRAPPER "OraNet8" LIBRARY 'libdb2net8.a'

  10. 创建使用此包装器的服务器。

    单击 Servers --> Create --> 输入服务器名称 --> 选择类型 Oracle Version 8 --> 更新 Settings 面板中的选项,如 NODE、PASSWORD、COLLATING SEQUENCE、CPU_RATIO 等等。
    图 15:创建服务器
    创建服务器

    CREATE SERVER ORA_SAM TYPE ORACLE VERSION '8' WRAPPER "ORANET8" 
    OPTIONS (ADD NODE 'OraSID', PASSWORD 'Y')

  11. 创建用户映射。

    User Mappings --> Create --> 选择一个或多个 DB2 用户或组 --> 在 setting 选项卡中,输入数据源用户 ID 和口令,这里 DB2 用户将映射到

    CREATE USER MAPPING FOR "DB2INST1" SERVER "ORA_SAM" OPTIONS 
    (ADD REMOTE_AUTHID 'orauser', ADD REMOTE_PASSWORD 'Orapassword')
    

  12. 测试 DB2 到 Oracle 数据库的连接。直接向 Oracle 表发出 SQL。注意,我们使用 Oracle 中的实际表名称。
    connect to EDWDB user db2inst1 using password
    set passthru ora_sam
    select * from sermsak.test1
    set passthru reset
    

  13. 通过 DB2 命令或 Control Center 创建昵称。确保数据源表具有更新的统计信息。如果没有,创建 DB2 昵称前先更新数据源中的统计信息。
    CREATE NICKNAME DB2INST1.TEST1 FOR ORA_SAM.ORAUSER.TEST1

  14. 测试使用 DB2 昵称对 Oracle 表的查询: SELECT * FROM db2inst1.test1
  15. 重复步骤 11、13 和 14 创建其他用户映射和昵称。

DB2 Intelligent Miner Modeling / Scoring / Visualization 设置

下面描述了 DB2 Intelligent Miner Scoring, Modeling and Visualization 的配置过程。

  1. 以 DB2 实例所有者登录到协调程序分区。为挖掘功能创建从 /usr/lpp/IMinerX/lib$INSTHOME/sqllib/function 的符号链接。
    cd /usr/lpp/IMinerX/bin
    $ ./idminstfunc

  2. 为挖掘功能启用 DB2 实例和数据库。作为示例,我们使用 EDWDB。
    db2 update database manager configuration using UDF_MEM_SZ 60000
    # Recycle DB2 instance
    db2stop		                     	
    db2start 
    db2_all db2 update db cfg for EDWDB using APP_CTL_HEAP_SZ 10000
    db2_all db2 update db cfg for EDWDB using APPLHEAPSZ 1024
    db2_all db2 update db cfg for EDWDB using LOGFILSZ 2000
    # Enable the database for Intelligent Miner UDF, UDT and UDM by running 
    /usr/lpp/IMinerX/bin/idmenabledb EDWDB tables
    

  3. 验证数据库中的 Intelligent Miner 设置。
    /usr/lpp/IMinerX/bin/idmcheckdb EDWDB
    The database "EDWDB" is enabled for IM Modeling and IM Scoring in "fenced" mode
    

    通过运行验证 IM Modeling。下列 SQL 不应该返回任何错误。

    db2 connect to EDWDB
    db2 "values(IDMMX.DM_MiningData()..DM_defMiningData('TESTTABLE'))"
    

    通过运行发出下列 SQL 验证 IM Scoring。应该收到 1 个记录。

    db2 "values(IDMMX.DM_applData('Test',4)) "
    

  4. (可选)创建 Intelligent Miner Modeling 示例。按 /usr/lpp/IMinerX/samples/ModelingDB2/readme.txt 中所述运行 DB2 脚本。DB2 IM Modeling Administration and Programming (SH12-6736-00) 的 Chapter 6: Sample Applications(75-90 页)中还描述了其他示例。

  5. (可选)创建 Intelligent Miner Scoring 示例。按 /usr/lpp/IMinerX/samples/ScoringDB2/readme.txt 中所述运行 DB2 脚本。DB2 IM Modeling Administration and Programming (SH12-6745-00) 的 Chapter 4: Getting Started(23-32 页)中还描述了其他示例。

  6. 要从 Windows Client 设置 DB2 Intelligent Miner Visualization,使用与服务器处于同一 DB2 FixPak 级别的 DB2 V8 客户机安装 DB2 IM Visualization。安装后,将下列 6 个文件从 C:\Program Files\IBM\SQLLIB\java 复制到 C:\Program Files\IBM\IMVisualization\lib 。这些文件应该与 DB2 服务器中的相同。如果应用更新的 DB2 FixPak,可能需要替换这些文件。
    Common.jar
    db2fs.jar
    db2jcc.jar
    db2java.zip
    db2jcc_license_cisuz.jar
    db2jcc_license_cu.jar
    

  7. 使用 Intelligent Miner 浏览挖掘模型。这一步假设您已经从步骤 4 和 5 创建了示例应用程序。

    Start -->Programs -->IBM Intelligent Miner Visualization

    在可以查看 DB2 中存储的 PMML 模型前,必须为期望的模型指定配置文件。

    选择 Database 选项卡 --> New --> 输入 Profile name --> Start --> 使用 com.ibm.db2.jcc.DB2Driver 作为 JDBC Driver --> 输入 database URL 和 user ID --> 单击 Retrieve Database Information
    图 15:创建挖掘配置文件
    创建挖掘配置文件
    完成后,单击 OK。
    单击 Connect 显示现有模型列表。然后单击 Open 浏览模型。图 16 显示了教程中的 Cluster Model。
    图 16:Cluster Model
    Cluster Model





回页首


步骤 8:设置 Web 的 DB2 Office Connect

DB2 Office Connect Web Edition 包含客户机组件 Office Connect Microsoft Excel Add-in 和 Web 服务器组件 Office Connect Servlet。Office Connect 通过 JDBC 访问 DB2 数据库。当用户在开发模式下在客户机中创建报告时,该报告可以保存到 Office Connect 的 DB2 存储库中,与其他用户共享。其他用户通过 Microsoft Excel 中的 Office Connect Web Edition 插件连接到 Office Connect Servlet,从而可以查看共享的报告。

在本文中,我将说明安装 DB2 Office Connect Web Edition 和 DB2 UDB 以及 IBM Websphere Application Server 的过程。

  1. 为 Office Connect Repository 创建 DB2 数据库。配置 DB2 客户机从 Windows 到数据库的连接。这里我们将使用 OFFCONN 数据库。

  2. 安装 JDK 1.3 或更高版本。如果 DB2 客户机安装使用默认安装的 JDK 1.3.1,请验证 DB2Path\SQLLIB\java\jdk\bin 和 DB2 JDBC 驱动程序(如 db2java.zip )在 %CLASSPATH% 变量中。

  3. 在 Windows NT 或 AIX 中安装 IBM Websphere Application Server Version 4.0 或更高版本。使用下列链接 Websphere Application Server Installation Tip

  4. 在 Windows 客户机从产品 CD-ROM 安装 IBM Office Connect V4.0。重新启动计算机并启动 Excel 后,应该在 Excel 菜单栏中看到 Office Connect 菜单。

  5. 如果菜单未出现,选择 Tools -->Add-ins -->Browse 并添加下列数据:
    TMSExceladdin.xla
    WebDeployment\OfcLight.xla
    

  6. 创建 Office Connect 存储库。从 Excel 菜单,选择 IBM Office Connect -->Repository Manager -->Connect to Repository,然后输入如下数据库信息:
    Database Server: 	DB2 UDB
    URL 			jdbc:db2:OFFCONN
    JDBC Driver		COM.ibm.db2.jdbc.app.DB2Driver
    User Name		db2inst1
    Password		xxxxx		
    

  7. 单击 Next。如果还通过 LDAP 服务器连接,则更新 LDAP 信息。然后单击 Finish

  8. 输入初始用户 ID 和口令。默认情况下,Office Connect 有初始用户 ID 和口令,分别是用户 admin和口令 password

  9. 关闭并退出 Excel。

  10. 下一步是设置 Websphere Application Server 中的 Office Connect Servlet。
    1. oc.warOfficeConnectPath\WebDeployment\server 复制到运行 Websphere Server 的 AIX 或 NT 中的 temp 目录。
    2. 打开 Websphere First Steps launchpad。启动 Application Server。
    3. 启动 IBM Websphere Administrative console。单击:
      Nodes -->hostname -->Enterprise Applications -->Install
    4. 按如下所示完成向导:
      Application Name: 	ocweb
      Context Root: 		oc
      Path: 			oc.war Path
      

    5. 安装完成后,单击 Save 保存配置文件。

  11. 设置 JDBC Driver。从 Administrative console 单击 Resources -->JDBC Drivers -->Db2JdbcDriver。 按如下所示更新驱动程序信息:
    Server Class Path: 		DB2Path\sqllib\java\db2java.zip
    Name: 				Db2JdbcDriver
    Description: 			DB2 JDBC Driver
    Implementation Classname: 	COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource
    

    单击 Save保存配置文件。

  12. 编辑 WebspherePath\installedApps\ocweb.ear\oc.war\WEB-INF 中的 ofc.settings。按如下所示更新 DB2 JDBC 行。将 DBNAME 改为 Office Connect 存储库。
    # IBM DB2 UDB JDBC driver
    ReposDriverName=COM.ibm.db2.jdbc.app.DB2Driver
    # IBM DB2 UDB JDBC URL
    ReposConnURL=jdbc:db2:DBNAME;user=db2user;password=db2passwd
    

  13. 重新启动 Websphere Application Server。

  14. 测试 JDBC 连接。打开 http://WebpshereNodename:9080/oc/ofc?cmd=cmd_test,其中 WebsphereNodename 是您的 Web 服务器名称。Office Connect Web Edition 现在应该可以正常运行了。

  15. DB2 Office Connect 提供了一些带有程序的教程,可以通过 Start -->Programs -->IBM Office Connect获得。还有一篇文章, Client-side Information Integration Using Office Connect,它使您可以快速熟悉 DB2 Office Connect 用户界面。

安装 DB2 Office Connect Analytic Edition

要安装 DB2 Office Connect Analytic Edition,仅需运行产品 CD-ROM 中的 setup.exe。Office Connect Analytic Edition 通过 ODBC 连接到 DB2 Cube Views 数据库,因此,请确保该数据库在 Office Connect 客户机对 ODBC 进行了注册。





回页首


下一步怎么办

因为本文的目的集中于设置 DB2 Data Warehouse Edition,我将不详细讨论如何使用每个产品,而是指出一些教程和参考,使您可以快速入门并成为每个产品的专家。请参阅参考资料部分获取这些资源的更多链接。





回页首


结束语

在本文中,我们经历了在 AIX 平台上设置 DB2 Data Warehouse Enterprise Edition 的过程,从计划服务器配置开始,到安装和最后的安装后设置。我们还讲述了验证所有软件组件都已安装和运行的步骤。这些将足可以使您对 DB2 Data Warehouse Edition 快速入门;但是,要成为一个产品的专家,您还有许多东西需要继续研究。



参考资料



关于作者

Sermsak Sukjirawat (a.k.a. Sam) 是 Research Triangle Park, NC 的 DB2 数据仓库咨询实践、IBM 软件服务的高级技术人员。他已经致力于 DB2 和商业智能解决方案 6 年多的时间,已经使用 DB2 UDB、DB2 Cube Views、DB2 OLAP Server、DB2 OLAP Analyzer、DB2 Warehouse Manager、DB2 Information Integrator、DB2 Query Patroller 和 DB2 Intelligent Miner 与多个客户合作实现数据仓库和 OLAP 应用程序。Sam 是 DB2 UDB 管理和商业智能方面的 DB2 认证解决方案专家。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?




回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款