IBM DB2 通用数据库 发行说明 版本 8.2 修订包 4(功能等同于版本 8.1 修订包 11)及后续修订包 在使用本资料及其支持的产品之前,请务必阅读『声明』中的一般信息。 本文档包含 IBM 的专利信息。它是根据许可协议提供的,并受版权法保护。本出 版物包含的信息不包括任何产品保证,且本手册提供的任何声明不应作如此解释 。 可以用在线方式或通过您当地的 IBM 代表订购 IBM 出版物。 * 要以在线方式订购出版物,可访问 IBM 出版物中心(IBM Publications Center),网址为 www.ibm.com/shop/publications/order。 * 要查找您当地的 IBM 代表,可访问 IBM 全球联系人目录(IBM Directory of Worldwide Contacts),网址为 www.ibm.com/planetwide。 在美国或加拿大,要从“DB2 市场营销和销售中心”订购 DB2 出版物,请致电 1-800-IBM-4YOU(426-4968)。 当您发送信息给 IBM 后,即授予 IBM 非专有权,IBM 对于您所提供的任何信息 ,有权利以任何它认为适当的方式使用或分发,而不必对您负任何责任。 (C) Copyright International Business Machines Corporation 2002, 2005. All rights reserved. 目录 关于发行说明 关于此发行版 本发行版中的新增内容 产品修订历史 兼容性问题 向后兼容性 产品兼容性 安装、迁移、升级和配置信息 硬件和软件需求 安装说明 DB2 安装向导的新选项(Windows) 对 DB2 安装向导的更改(Windows) 扩展安全性的安装限制(Windows) 目录路径不能包含空格(Linux 和 UNIX) Red Hat Enterprise Linux 4 需求 DB2 UDB 的 JDK 级别(Linux on IA64 和 Linux on POWER) 解压缩安装映像(Linux 和 UNIX) DB2 UDB 不允许非英语安装路径(Windows) 下载并解压缩多个产品的修订包(Windows) 从安装映像安装 DB2 UDB(Linux 和 UNIX) 从安装映像安装 DB2 UDB(Windows) DB2 UDB 响应文件安装所需的磁盘空间 对于使用 db2setup 命令添加产品的限制(Linux 和 UNIX) DB2 Web 工具 在应用修订包之后绑定 Query Patroller 程序包 位于修订包 3 级别或更新级别的 Query Patroller 安装 Query Patroller 服务器安装 在 Query Patroller 中定义新的数据库分区组 Query Patroller 客户机工具安装 重新创建测试版的数据库 安装本地语言版本的 DB2 UDB 的 MDAC 文件 DB2 通用数据库工作组服务器版的 DB2 许可证策略 安装其他亚洲字体(Linux) 配置开发中心以使用 Java Development Kit(Linux) 在 United Linux 1.0 和 SuSE Linux 分发产品上创建组和用户标识 帮助系统守护程序在使用 db2_install 命令进行安装之后未启动(UNIX 和 Linux) Ready for Tivoli enablement(UNIX) 安装映像缩小工具 - db2iprune(Windows) DB2 通用数据库版本 8 文档安装限制(Windows) 先前安装已更新为最新级别(Windows) DB2 .NET 数据提供程序的系统需求(Windows) 作为非管理员安装 DB2 版本 8 客户机和 DB2 Connect PE(Windows) 迁移说明 db2updv8 技术说明 不支持在运行 db2updv8 后又回退到 V8.1 EXPLAIN 表的迁移 从先前版本迁移 XML Extender 在使用 DataJoiner 或复制时迁移 DB2 通用数据库 迁移 DB2 通用数据库(Windows) 将 DB2 版本 8 Windows 32 位数据库迁移至 Windows 64 位 在 MSCS 环境中从版本 7 迁移至 DB2 UDB 版本 8.2.2 数据库迁移(HP-UX on IA64) 卸载信息 以静默方式卸载 DB2 UDB(Windows) 用于使用静默卸载除去 DB2 信息中心的产品代码(Windows) 已知局限性、问题和变通方法 局限性 db2look - 自动存储器表空间的局限性 SNAP_GET_DB 表函数返回的结果不完整 IMPORT REPLACE 不会响应 NOT LOGGED INITIALLY 子句 不能使用 inplace 表重组重组长字段和 LOB 数据 客户机应用程序中分块游标中的锁定行为不一致 使用 ODBC 将数据导出至文件仓库程序 在开发中心的集成 SQL 调试器中不受支持的数据类型 开发中心中的结构类型 开发中心对于 64 位操作系统的局限性 开发中心(Linux) 调试带有双引号的存储过程 支持在开发中心中编译 Java 例程所需的路径设置 同时运行和调试 Java 存储过程的开发中心局限性 不支持 DB2SystemMonitor.getServerTimeMicros 方法 必须安装 IBM XL C/C++ 编译器运行时(Linux on iSeries 和 pSeries 系 统,64 位) 在 DB2 UDB 版本 8.2.2 上不支持通用 JDBC 驱动程序 2 类(Linux AMD64 ) PHP 应用程序中的游标 ConnectNode CLI/ODBC 配置关键字局限性 SQLColumns 函数(CLI)限制 CLI 程序包的绑定选项局限性 CLI LOAD 实用程序限制 不支持创建工具目录数据库(适用于 AMD64 的 Linux) 不支持创建工具目录数据库(AIX、Solaris 操作环境和 HP-UX) DB2 UDB 易捷版和 DB2 工作组服务器版版本 8.2 的内存限制 调度仓库进程使其以一定时间间隔运行 版本 8 中 SNA 支持的局限性 DB2 UDB 客户机的安全性插件问题和限制(Windows) 在尝试连接时报告成功登录失败(AIX) 不支持由两部分组成的用户标识(Windows ME) 装入和导入列页不支持 IXF 文件中的 DBCS 字符 AMD64 上的 Linux 操作系统的图形用户界面工具 图形用户界面工具的最低显示器设置 GB18030 字符在窗口标题栏中的显示不正确 不要对信息目录中心表进行分区 DYN_QUERY_MGMT 被禁用时的 Query Patroller 局限性 Query Patroller 结果表现在使用 DB2QPRT 模式 运行状况指示器限制 已知问题和变通方法 使用包含 - 和 + 字符的列上的索引导出到 IXF 文件 调用 db2ReadLog API 时 CLI0116E 或 SQL0428N 错误 “db2gcf -k”命令在 DB2 UDB 工作组服务器上失败 来自 DRDA 包装器的 SQL1224 错误(AIX) 热键在 Microsoft Visual Studio .NET Framework 1.1 中不起作用 简体中文语言环境(AIX) 简体中文语言环境(Red Hat Linux) Merant 驱动程序管理器不兼容性(UNIX) NFS APAR IY32512 - 不可用线程(AIX) SQLFLAG(STD) 预编译器选项错误 在 DB2 Connect 中使用综合系统(sysplex)时必须启用连接池 DB2 Connect 定制顾问程序 创建工具目录数据库失败(HP-UX) 在 DB2 图形用户界面工具中显示印度字符 zSeries 服务器不支持图形用户界面工具(Linux) 用引号将包含数字的 DB2 信息中心搜索项引起来 导入标记语言文件时未生成的信息目录中心日志文件 绑定 Query Patroller 程序包 Query Patroller 没有端口可用(Windows) 安全环境(Windows) XML Extender 样本程序已重命名 分解 XML Extender 中包含非唯一属性和元素名称的文档 使用 DB2 Connect 时 SNA 与 TCP/IP 之间的差别 文档更新 管理:实施 自动客户机重新路由配置(DB2_MAX_CLIENT_CONNRETRIES 和 DB2_CONNRETRI ES_INTERVAL) DB2TIMEOUT 注册表变量说明 在创建表空间容器期间创建的目录 自动存储器 对现有表定义生成列 聚集注册表变量 远程客户机的认证注意事项 直接 I/O(DIO)和并发 I/O(CIO)支持 分发器技术和自动进行客户机重新路由 有关在 DB2 Connect 服务器上进行编目的自动客户机重新路由注意事项 本地系统帐户支持(Windows) 由两部分组成的用户标识支持 Kerberos 认证详细信息 有关 Kerberos 支持的更多信息 管理:性能 比较 32 位环境和 64 位环境中的 DB2_FORCE_FCM_BP 注册表变量 表创建后推荐的 RUNSTATS SQL1169N 的新原因码 针对 MDC 表的优化策略 澄清 NEWLOGPATH、MIRRORPATH 和 OVERFLOWLOGPATH 配置参数的描述 DB2_COLLECT_TS_REC_INFO 缺省值 调节器实用程序 选择重组表的方法 FCM 内存的大页支持(AIX 5L 64 位) DB2_RESOURCE_POLICY 注册表变量接受新元素 新的系统环境变量(Linux) 新增通信注册表变量 新增性能变量 SQL 编译器变量 配置参数更新 SQLDBCONF 数据库配置参数文件 对 DB2_HASH_JOIN 缺省值的更改 不推荐使用 DB2NTNOCACHE 注册表变量 说明表和说明信息的组织 捕获说明信息的准则 db2CfgGet API 中的附加返回码 collate_info 参数 自动设置缺省预取大小和更新缺省值 管理:计划 范围集群表 目录表空间设计 受支持的地域代码和代码页 DB2 通用数据库支持的 XA 功能 更新了 xa_open 字符串格式的 TPM 和 tp_mon_name 值 对代码页 923 和 924 激活转换表 支持欧元符号的代码页的转换表文件 API 引用 日志记录结构说明 db2Backup API oBackupsize 参数 SYNCPOINT 选项支持 SQLEDBDESC 结构的新增字段 对 SQLB-TBSPQRY-DATA 结构中的新增字段的更正 应用程序开发:构建和运行应用程序 动态重新配置样本(AIX) Linux 支持的开发软件 定制 SQL 过程的预编译和绑定选项 需要 C/C++ 编译选项(Linux on POWER 64 位) Micro Focus COBOL 存储过程的编译和链接命令(HP-UX) Micro Focus COBOL 的最低支持版本(HP-UX) 为 Micro Focus COBOL 存储过程设置环境变量(Windows) 应用程序开发:调用级接口(CLI) Trusted_Connection CLI/ODBC 配置关键字 SQLDescribeParam 函数的诊断表更新(CLI) 调用级接口的异步执行 SQL_ATTR_PING_DB 连接属性 SQLBindParameter 函数(CLI) SQLMoreResults 函数(CLI) 其他环境属性 动态可滚动游标需求 RetCatalogAsCurrServer CLI/ODBC 配置关键字 ReceiveTimeout CLI/ODBC 配置关键字 SQL_ATTR_RECEIVE_TIMEOUT 连接属性 Reopt CLI/ODBC 配置关键字 SQL_ATTR_REOPT 语句和连接属性 CurrentPackageSet CLI/ODBC 配置关键字 SQL_ATTR_CURRENT_PACKAGE_SET 连接属性 MapBigintCDefault CLI/ODBC 配置关键字 DescribeOutputLevel CLI/ODBC 配置关键字 应用程序开发:编写客户机应用程序 不支持与 DB2 VM/VSE 版的 4 类 DB2 通用 JDBC 驱动程序连接 DB2 通用 JDBC 驱动程序连接集中器和综合系统(sysplex)工作负载平衡 OleDbReportIsLongForLongTypes CLI/ODBC 配置关键字 OleDbSQLColumnsSortByOrdinal CLI/ODBC 配置关键字 IBM DB2 OLE DB 提供程序的 DB2 数据源属性组 DB2Binder 语法图中不正确的 URL 语法 重新路由 DB2 通用 JDBC 驱动程序客户机 定制 DB2 通用 JDBC 驱动程序配置属性 已除去 db2secFreeToken 函数 仔细部署定制的安全性插件 安全性插件 安全性插件 API 安全性插件命名约定(Linux 和 UNIX) 安全性插件库的限制 对 DB2 通用 JDBC 驱动程序的 GSS-API 插件支持 GSS-API 安全性插件不支持多个流认证 GSS-API 安全性插件不支持消息加密和签名 独立应用程序中的事务的隐式结束 分布式事务支持 应用程序开发:编写服务器应用程序 多结果集公共语言运行时(CLI)过程 公共语言运行时(CLR)例程执行控制方式(EXECUTION CONTROL 子句) 公共语言运行时(CLR)例程中的最大十进制精度和小数位 命令参考 db2licm - 许可证管理工具命令参数说明 RESTORE DATABASE 命令的 TSM 示例 db2demigdbd 用法示例 更正 db2ckbkp 命令的使用说明 数据库对象和标识的命名约定 REORGCHK 命令 REORG INDEXES/TABLE 命令 BACKUP DATABASE 命令 迁移数据库 db2inidb - 初始化镜像数据库命令 db2iupdt 命令的使用说明 db2sqljcustomize 命令的新增参数 sqlj 命令的新增参数 监视和故障诊断命令(db2pd)更新 对 SET CLIENT 命令的更新 对 PRECOMPILE 命令的更新 对 UPDATE HISTORY FILE 命令的更新 对 EXPORT 和 IMPORT 命令的更新 对 LOAD 命令的更新 LOAD 实用程序的文件类型修饰符 IMPORT 实用程序的文件类型修饰符 ATTACH 命令 RECOVER DATABASE 命令 UPDATE HISTORY FILE 命令 db2updv8 - 将数据库更新至版本 8 当前级别命令 格式化陷阱文件(Windows) 数据移动 绑定由导出、导入和装入实用程序使用的文件 将导入与缓冲插入配合使用 使用 IMPORT 实用程序时丢失了索引信息 数据恢复和高可用性 备份概述 使用备份 高可用性灾难恢复概述 跨平台备份和复原支持 备份至磁带(Linux) Tivoli Storage Manager HADR 本地主机和本地服务参数的值限制 高可用性灾难恢复的其他系统需求 高可用性灾难恢复的非复制操作 HADR 不支持原始日志 比较故障监视器和运行状况监视器 关闭故障监视 数据仓库中心 在 AIX 和 Solaris 操作系统上设置仓库客户机环境 在安装仓库变换器之前更新数据库管理器配置 VW_NETRC 环境变量已添加至数据仓库中心(UNIX) DB2 数据仓库中心需要 Unicode 格式数据库 定义 DB2 仓库源和目标 对商业智能教程的更新 设置仓库日志文件的清除限制 CURSOR 装入的数据仓库中心支持 Unicode 仓库控制数据库迁移和局限性 修改于列的日期格式中的更改 在数据仓库中心中定义统计变换器 准备安装仓库代理程序 iSeries 仓库代理程序的先决条件 DB2 .NET 数据提供程序 并发活动数据阅读器支持 DB2Connection.ConnectionString 属性 DB2 Connect 对通过网关进行的认证类型协商的更改 新增安全性方案 对图解的更正 开发中心 DB2 开发中心版本 8.2 需要级别 9.2.9 的分布式调试器 DB2 开发中心的“更改变量范围”窗口中的长度限制 对 DB2 通用 2 类和 4 类驱动程序的限制 图形用户界面工具 修改语句终止字符 控制中心的数据库详细信息窗格中的数据库不可用状态 生成缺省写至表输出(创建事件监视器) 信息目录中心 配置样本脚本 Web 服务器配置 安装和配置补遗 DB2 节点配置文件 - db2nodes.cfg DB2NOLIOAIO 注册表变量被替换为 DB2LINUXAIO(Linux) DB2 UDB 的应用程序服务器 DB2 嵌入式应用程序服务器支持 部署 DB2 Web 工具 块设备上的直接 I/O(Linux) DB2 信息中心守护程序(Linux 和 UNIX) 响应文件关键字和样本文件 响应文件安装错误代码 安装 DB2 服务器必需的用户帐户(Windows) 异步 I/O 支持(Linux) 修改了 db2ln 命令以创建 DB2 UDB 64 位库链接(Linux 和 UNIX) Query Patroller 查询类行为更新 受管查询状态的定义更新 在运行 Query Patroller 历史数据生成器之前创建说明表 检查 Query Patroller 日志文件以进行历史分析 历史数据生成器的异常关闭 动态查询类更新 嵌套的查询行为 SQL 语句类型造成的局限性 使用终端服务客户机时的分辨率局限性 新的查询提交的组支持 Query Patroller 调度局限性 使用 RUN IN BACKGROUND QUERY 命令所需的权限 为结果表创建别名 受防护用户标识需要对 qpdiag.log 文件和路径具有写访问权 快速入门 更新安装在您的计算机或内部网服务器上的 DB2 信息中心 内存需求 对 DB2 UDB 客户机支持的说明 修改内核参数(Linux) 修改内核参数(Solaris 操作环境) DB2 通用数据库易捷版版本 8.2 基础手册可供下载 验证数据库是否准备好迁移 DB2 UDB 的 Common Criteria 认证 Spatial Extender 验证 Spatial Extender 安装 SQL 管理例程 SNAP_GET_DYN_SQL 表函数的结果集中描述的列名不正确 快照监视器表函数具有特定于版本的视图 GET_DB_CONFIG 过程要求用户临时表空间的页大小最小为 8K SQL 引用 CREATE PROCEDURE(SQL)语句权限 EXPLAIN_DIAGNOSTIC:新的说明表 EXPLAIN_DIAGNOSTIC_DATA:新的说明表 说明设施使用的模式 日期时间值的字符串表示法 系统监视器 运行状况指示器总结 未启用连接集中器的情况下列出去耦应用程序列表 运行时回滚过程的进度监视 XML Extender 更改 dxxGenXML、dxxGenXMLClob、dxxRetrieveXML 和 dxxRetrieveXMLClob 存储过程的参数 将 XML 文档分解成 DB2 UDB 数据 分解大于 1 MB 的文档 使用 XML Extender 配置 MQ XML UDF XML Extender 环境变量 DB2DXX_MIN_TMPFILE_SIZE DB2XML.XMLVarchar UDT 重新定义 附录A. DB2 UDB 修订包 CD 的目录结构 附录B. 与 IBM 联系 B.1 产品信息 附录C. 声明 C.1 商标 关于发行说明 内容 此发行说明中包含与以下 DB2(R) 版本 8 产品有关的最新信息: DB2(R)通用数据库个人版 DB2(R) 通用数据库(TM) 工作组服务器版 DB2(R) 通用数据库(TM) 工作组服务器无限制版 DB2 通用数据库(TM) 企业服务器版 DB2 个人开发者版 DB2 通用开发者版 DB2 仓库管理器 DB2 Warehouse Manager Sourcing Agent for z/OS(R) DB2 Data Links Manager DB2 Net Search Extender DB2 Spatial Extender DB2 Intelligent Miner(TM) Scoring DB2 Intelligent Miner(TM) Modeling DB2 Intelligent Miner(TM) Visualization DB2 Connect(TM) 应用程序服务器版 DB2 Connect(TM) 企业版 DB2 Connect(TM) 个人版 DB2 Connect 无限制版 DB2 Query Patroller(TM) 将定期更新 DB2 信息中心( http://publib.boulder.ibm.com/infocenter/db2help/)中的主题,但并非对每 个发行版都是必需的。随每个发行版都提供发行说明,因此有可能在发行说明中 传达关键信息。但是,在下列情况下发行说明中会包含关键信息: * 没有针对相应发行版更新 DB2 信息中心中的主题 * 在更新了 DB2 信息中心之后,开发周期的后期发现关键信息 信息的主要来源应该是 DB2 信息中心。应该查看发行说明,以找出可能适用于您 的 DB2 产品的特定发行版的最新信息。还应该查看修订包自述文件以获得涉及 DB2 产品安装的特定注意事项。在本节的『其他资源』标题中提供了有关 DB2 信 息中心的更多详细信息。 版本信息 最新版本的 DB2 信息中心中提供了最新的文档,可通过浏览器访问。本节后面的 『其他资源』一节中提供了用来下载最新文档的 URL。 DB2 UDB 发行说明中的修订版标记指示已添加或更改的文本。竖线(|)指示已对 当前发行版添加或更改的信息。 目录路径 Windows(R) 系统使用反斜杠(\)来对目录路径中的目录定界。Linux(TM) 和 UNIX(R) 系统使用正斜杠(/)作为定界符。当信息特定于平台时,《发行说明》 遵循此约定。但是,当信息与平台无关时,可能需要以不同于显示内容的方式输 入目录路径。例如,如果安装有 Windows 系统,则在《发行说明》显示正斜杠 (/)时必须使用反斜杠(\)来输入目录路径。相反,如果安装有 Linux 或 UNIX 系统,则在《发行说明》显示反斜杠(\)时必须使用正斜杠(/)来输入目录路 径。 DB2 Information Integrator 有关 DB2 Information Integrator 及其相关技术(包括联合系统、SQL 复制、Q 复制、事件发布、Web 服务和元数据管理)的当前已知重要问题的信息,请参阅 《DB2 Information Integrator 发行说明》。《DB2 Information Integrator 发行说明》位于以下 DB2 Information Integrator 支持 Web 页面: http://www.ibm.com/software/data/integration/db2ii/support.html 其他资源 DB2 文档的最新版本始终是位于 http://publib.boulder.ibm.com/infocenter/db2help/ 处的 DB2 信息中心的版 本。这些发行说明中包含了最新发布的更改,即新旧版本的差别。通过 DB2 产品 附带的 DB2 HTML 文档 CD,还可以将 DB2 信息中心安装在您自己的计算机或内 部网服务器上。一旦安装了 DB2 信息中心,您应从 DB2 Support 网站( http://www.ibm.com/software/data/db2/udb/support/downloadv8_docfix.html )应用最新的文档修订包。但 DB2 文档修订包是不定期发布的,可能未反映当前 最新的 DB2 文档级别。PDF 格式的 DB2 产品手册也是不定期更新的,可能未反 映当前最新的可用级别。 DB2 UDB 支持 Web 站点包含技术说明和服务动画短片,它们描述创建此文档之后 发现的文档及已知局限性和变通方法的更改。DB2 UDB 支持 Web 站点的地址是 http://www.ibm.com/software/data/db2/udb/support.html。 可以在 http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21200005( DB2 Migration Portal)中获得有关迁移 DB2 产品的信息。 下列站点提供了有关 DB2 开发中心和 DB2 z/OS(R) 版的更多信息: http://www.ibm.com/software/data/db2/os390/spb/。 Data Links Manager Administration Guide and Reference 的 PDF 格式(书号 SC27-1221-01)在发行修订包 1 时已更新,可从 DB2 支持站点下载,网址为: http://www.ibm.com/software/data/db2/udb/support.html。 DB2 Life Sciences Data Connect 产品的文档可从以下 IBM(R) 软件站点下载, 网址为:http://www.ibm.com/software/data/db2/lifesciencesdataconnect/ 有关 DB2 产品系列的最新信息,可通过免费预订 DB2 Magazine 来获得。该杂志 的在线版本是在 http://www.db2mag.com 网站上提供的,有关申请预订的指示信 息也公布在此站点上。 关于此发行版 本发行版中的新增内容 本节自版本 8.2 修订包 3(功能等同于版本 8.1 修订包 10)以来尚未更新。要 了解关于修订的详细信息,请参阅“发行说明”中的“产品修订历史”一节。在 “修订包自述文件”中可能也提供了此发行版中新修订项的描述。 产品修订历史 有关此修订包提到的“授权程序分析报告”(APAR)的列表,请访问以下 Web 页 面: http://www.ibm.com/software/data/db2/udb/support/apars.html 兼容性问题 修订标记标识新增或更改过的文本。竖线(|)标识对版本 8.2 修订包 4(功能 等同于版本 8.1 修订包 11)新增或更改过的信息。 向后兼容性 修订包级别和安装新产品 您可能需要安装一个与计算机上当前已安装的其他 DB2(R) 产品的版本不同级别的 DB2(R) 产品。要求 DB2 产品处于相同级别。 如果要安装的产品的级别比同一计算机上已安装的其他 DB2 产品的版本级别要新 ,则需要将现有 DB2 产品更新为较新的级别。例如,如果要安装修订包级别为 10 的 DB2 Connect(TM) for iSeries(TM),而其他 DB2 产品的修订包级别为 9,则 在安装修订包级别为 10 的 DB2 Connect(TM) for iSeries(TM) 之前,需要将修 订包 10 应用于当前已安装的 DB2 产品。 相反,如果要在安装了较新版本的 DB2 产品的计算机上安装一个产品,需要遵循 以下一些准则: 在 Windows(R) 操作系统上 修订包可用来在系统上直接安装处于相同级别的产品。安装完成后可通 过使用以下命令添加许可证: db2licm -a filename 其中 filename 是许可证文件的名称,可以在原始介质的 db2\license 目录中找到它。还可以将此许可证添加至修订包的 db2\license 目录 ,这样将在安装过程中安装该许可证。 在 UNIX(R) 和 Linux(R) 操作系统上 先决条件 在安装额外的产品或组件之前,必须停止下列项: * 现有 DB2 实例 * DB2 管理服务器(DAS) 必须停止的实例和 DAS 属于将安装额外 DB2 产品或组件的 DB2 安装 的实例和 DAS。 有关进一步的指示信息,参阅修订包自述文件。 过程 1. 有三种方法可用来安装 DB2 级别比系统上当前安装的 DB2 产品要 低的额外产品或组件。选择下列其中一种方法: 运行 db2setup 程序 使用图形用户界面以交互方式运行 db2setup 或使用响应 文件静默运行 db2setup。在使用 db2setup 安装额外产 品或组件期间,不要执行任何配置(如创建实例)。 如果当前系统上不存在 DB2 DAS,但额外产品或组件需要 或支持 DB2 DAS,则 db2setup 将在安装期间安装 DB2 DAS。在某些平台上,使用 db2setup 创建 DB2 DAS 期间 可能会出错。这些错误是意料之中的,可以忽略它们。 可以在要安装的额外产品或组件的 DB2 产品 CD 或映像 中找到 db2setup 程序。 有关使用 db2setup 的详细信息,参阅《命令参考》指南 和《安装和配置补遗》。 运行 db2_install 脚本 db2_install 脚本安装 DB2 安装过程中当前未安装的任 何组件,非英语语言的组件和消息组件除外。因此,应使 用 db2_install 来安装新的产品或组件,因为它将不会 更新现有 DB2 组件。 可以在要安装的额外产品或组件的 DB2 产品 CD 或映像 中找到 db2_install 脚本。 有关使用 db2_install 脚本的详细信息,参阅《安装和 配置补遗》。 使用系统安装程序 使用系统安装程序来安装新的产品或组件。 有关使用系统安装程序的详细信息,参阅《安装和配置补 遗》。 2. 安装额外产品或组件之后,必须执行下列任务: a. 将常规修订包重新应用于所有先前存在的产品,以便新产品和先 前存在的产品处于相同级别。 要说明此场景,假定下列情况: * 当前已安装修订包级别为 10 的 DB2 通用数据库(TM)企业服 务器版。 * 接着,根据上一步中的指示信息安装 DB2 Query Patroller(TM) 修订包 7。 安装后必须重新应用常规修订包 10。 注: 在修订包安装过程中,您可能会看到类似以下内容的错误消 息: 程序包 db2cliv81 已安装在系统上。 安装补丁 nnnnnnn-nnn 异常终止。 要重新安装此补丁,在尝试重新安装之前先卸载它。 产生此错误的原因是系统中的 db2cliv81 已经与正在安 装的修订包处于同一级别。可以忽略这种类型的错误。使 用系统安装程序确认 DB2 组件或程序包确实与正在安装 的修订包处于同一级别。 b. 运行 db2iupdt 命令以更新属于当前 DB2 安装的现有 DB2 实例 。 c. 运行 dasupdt 命令以更新与当前 DB2 安装关联的 DB2 DAS。 d. 如果需要,运行 db2isetup 命令以创建新的 DB2 UDB 实例或配 置现有实例。 有关修订包安装、实例和 DB2 DAS 更新以及其他安装后步骤的详细 信息,参阅修订包自述文件。 DB2 UDB 版本 8.2 数据库的向后兼容性 如果您使用 DB2 通用数据库(TM)版本 8.2 来创建数据库,则不能在版本 8.1 级 别使用该数据库。只能在版本 8.2 或更新级别使用该数据库。 在 DB2 UDB 版本 8.2 级别创建的数据库可能具有较早版本不具备的其他功能。 这种差别可能会导致在试图将新数据库移至 DB2 UDB 的前发行版时产生意外的且 不希望发生的行为。 注: 仅当数据库最初是在版本 8.1 创建的情况下,才能将数据库从版本 8.2 移 回版本 8.1。即使如此,也只能在运行 db2demigdb 工具之后才可能进行 向后迁移。但是,如果您使用版本 8.2 中已更改的内置函数,可能会遇到 问题。 对 DB2 UDB 客户机支持的说明 《DB2 客户机快速入门》的『DB2 客户机概述』一节说明了下列内容: DB2 客户机可以连接至比该客户机的发行版级别晚两个发行版或者早一个 发行版的 DB2 服务器,还可以连接至与它处于同一个发行版级别的服务器 。 针对该陈述的修正如下: 虽然在某些环境中可以进行从版本 N 客户机到版本 N + 2 服务器的连接 ,但只有在版本 N 仍是有效产品时,DB2 支持小组才提供对这种配置的支 持。一旦版本 N 被废弃不用,DB2 支持小组就不再支持此配置。DB2 支持 小组已不再支持与 DB2 版本 8 服务器连接的 DB2 版本 7 客户机,因为 版本 7 已被废弃不用。 从 DB2 UDB 版本 8.2 迁移回 DB2 UDB 版本 8.1 时运行状况注册表发生的更改 在 DB2 UDB 版本 8.2 级别所作的任何注册表更改在迁移回 DB2 UDB 版本 8.1 时都会丢失。注册表还原为版本 8.1 HealthRules.reg 文件,该文件包含升级至 DB2 UDB 版本 8.2 并开始使用 HealthRules2.reg 文件中的设置之前已经存在的 设置。 备用修订包(Linux 和 UNIX) 在 DB2 通用数据库(UDB)版本 8 之前,修订包仅充当对一个修订位置的已安装 DB2 UDB 程序包或文件集的更新。这表示修订包安装将现有文件替换为已更新文 件,这些更新文件是在修订包中提供的。单个系统中不能有多个 DB2 修订包级别 共存。现在,DB2 UDB 企业服务器版(ESE)可在基于 Linux(TM) 和基于 UNIX(R) 的操作系统的同一系统中以多个修订包级别存在。自从版本 8.1.2 开始,此功能 即在生产操作环境中受支持,它是通过使用以下两种修订包类型实现的: 常规修订包 * 不仅可用于 ESE,而且可用于相关平台的所有受支持的 DB2 版本 8 产品 * 可以直接在现有安装的基础上进行安装。在 AIX(R) 上,安装在 /usr/opt/db2_08_01 目录中,而在其他平台上,则安装在 /opt/IBM/db2/V8.1 目录中 * 不能在任何已安装的备用修订包级别之上应用 备用修订包 * 可以作为 DB2 UDB ESE 的全新副本来安装 * 安装在预先定义的位置,但是不能安装在用于常规 DB2 UDB 安装的 位置 * 没有用于备用修订包的图形用户界面安装过程 注: 1. 如果没有必要为您的环境执行多修订包安装,则不需要执行。如果您需要不同 修订包级别的 DB2 UDB 版本 8 ESE 实例处于同一系统中,则可以考虑安装多 个修订包。例如,多个修订包使您能够验证测试环境中的修订包中包含的更改 ,而不会影响生产系统。 2. 从 IBM DB2 UDB 企业服务器版(ESE)Linux 版和 UNIX 版版本 8.1.2 开始 ,当修订包作为多个修订包来安装时,这些修订包在生产操作环境中就是受支 持的。 3. 在 Linux 上,备用修订包仅在下列平台上可用: * x86(32 位) * S/390(R)(31 位) 4. 在同一系统上的不同修订包级别运行的两个或更多 DB2 实例不支持导致 DB2 内部过程调用(IPC)的操作,如联合查询。同一系统上涉及这类操作的所有 实例应处于同一 DB2 修订包级别。 5. DB2 UDB 版本 8 备用修订包仅支持受支持的 Linux 和 Unix 平台上的 DB2 ESE。 要将多修订包实例更新为另一修订包级别,执行下列其中一个操作: * 对所安装的 General Availability(GA)版本安装适当的常规修订包,并通 过从现有 GA 路径中运行 db2iupdt 来更新实例。 * 将适当的备用修订包安装到它自己的唯一路径中,并通过从此路径中运行 db2iupdt 来更新实例。 有关备用修订包的进一步信息: * 参阅最新的修订包自述文件 * 访问 IBM 支持站点,网址为 http://www.ibm.com/software/data/db2/udb/support.html Query Patroller V8.2.2 查询数据与之前修订包之间的兼容性 从版本 8.2.2(功能等同于版本 8.1 修订包 9)开始,在 32 位环境中捕获的 TRACK_QUERY_INFO Query Patroller 控制表的内容可以在 64 位环境中使用。此 功能使得迁移至 64 位环境所需的工作轻松不少。在版本 8.2.2 中的 TRACK_QUERY_INFO Query Patroller 控制表中捕获的信息不能用于生成该查询的 历史数据或在任何先前的修订包级别下执行已挂起查询。 数据仓库中心先前服务器支持限制 对于 DB2 通用数据库(UDB)企业服务器版版本 8 数据仓库中心的先前服务器支 持,存在下列局限性: 大对象(LOB)支持 * 如果要在服务器上使用比 DB2 UDB 企业服务器版版本 8 更早的仓 库控制数据库,则不能使用 LOB。您必须将仓库控制数据库升级至 正确的级别,或能够将控制数据库移动到安装了 DB2 UDB 企业服务 器版版本 8 仓库服务器的系统上,并从该系统以本地方式使用仓库 控制数据库。 * 要将 LOB 在数据仓库中心和 DB2 UDB 之间来回移动,则必须升级至 DB2 UDB 企业服务器版版本 8。 系统网络体系结构(SNA)支持 如果使用 SNA 连接至仓库源和目标,则必须将配置更改为基于 SNA 的 TCP/IP,或使用 Windows NT(R) 仓库代理程序。 对 EXPORT 和 LOAD 实用程序的支持 数据仓库中心版本 8 LOAD 实用程序不支持版本 7 的目标数据库。如 果想要将目标保留为版本 7 数据库,则必须将 LOAD 步骤更改为 SQL Select 和 Insert 步骤。 SQL Select 和 Insert 步骤使用 DELETE* 语句,后跟 SELECT 和 INSERT 语句。SQL Select 和 Insert 步骤要 求数据库记录所有事务。因此,SQL Select 和 Insert 步骤的性能低于 EXPORT 和 LOAD 实用程序的性能。 DB2 UDB OS/390 版版本 6 和 DB2 UDB z/OS 版版本 7 上的 SQLJ 和 SQL 助手支 持所需的开发中心 APAR 在 Windows 或 UNIX 操作系统上,当在 DB2 通用数据库(UDB)版本 8 的“应 用程序开发”客户机上使用开发中心时,需要在服务器上安装下列 APAR 才能启用 SQLJ 和“SQL 助手”支持: DB2 UDB z/OS 版版本 7 * PQ65125 - 提供了用于构建 Java(TM) SQLJ 存储过程的 SQLJ 支持 * PQ76858 - 提供了“SQL 助手”支持 DB2 UDB OS/390(R) 版版本 6 * PQ76858 - 提供了“SQL 助手”支持 从 DB2 UDB 启动 SQL 助手的两个版本 可以从 DB2 通用数据库版本 8 中调用版本 7 和版本 8 的 SQL 助手。可从 DB2 数据仓库中心中启动版本 7。所有其他中心启动最新的版本 8。产品的联机帮助 中包含关于 SQL 助手版本 7 的其他信息。 Unicode 服务器行为的更改 在版本 7 中,Unicode 服务器在连接时忽略应用程序发送的任何图形代码页,并 假设使用的是 UCS2 Unicode(代码页 1200)。版本 8 Unicode 服务器现在接受 由客户机发出的代码页。 数据库配置参数在迁移期间发生的更改 DB2 UDB 版本 8.2 使用名为 SQLDBCONF 的新的 16K 数据库配置参数文件。这是 一个与名为 SQLDBCON 的 DB2 UDB 版本 8.1 4K 数据库配置参数文件不同的文件 。 在迁移到 DB2 UDB 版本 8.2 之后,该产品将迁移版本 8.1 4K 文件的内容,并 使用 16K 文件来记录数据库配置参数更改。保留了版本 8.1 4K 文件,但是未使 用它。 如果迁移回 DB2 UDB 版本 8.1,则 DB2 UDB 版本 8.1 产品将还原为使用原始的 版本 8.1 4K 文件来记录数据库配置参数更改。保留了版本 8.2 16K 文件,但是 DB2 UDB 版本 8.1 产品不能识别它。实际上,较早的 DB2 UDB 级别看不到迁移 至版本 8.2 和迁移回版本 8.1 时对 16K 数据库配置参数文件所作的更改,因为 这些更改未迁移至原始 4K 文件。 另外,如果再次迁移至 DB2 UDB 版本 8.2,则 DB2 UDB 版本 8.2 产品会认为 16K 数据库配置文件已存在,从而还原为使用版本 8.2 16K 文件来记录数据库配 置参数更改。保留了版本 8.1 4K 文件,但是 DB2 UDB 版本 8.2 产品不识别它 。实际上,更新的 DB2 UDB 级别看不到迁移回版本 8.1 并重新迁移至版本 8.2 时对 4K 数据库配置参数文件所作的更改,因为这些更改未迁移至现有 16K 文件 。 db2diag.log 格式消息增强功能 db2diag.log 文件的格式在版本 8.2 中已作了一些改进。现在,日志文件更便于 人们阅读并且更易于使用软件进行解析。改进内容有: * 每个条目都有一组完整的标题信息 * 已明确标记出日志记录的消息和数据部分,使日志记录更易于使用和理解 * 每个记录都包括带有时区的时间戳记 * 每个字段都有清晰的大写字段名 * 标题和消息字段行长度都被限制为 80 个字符 * 添加了一些新字段(特别是严重性级别字段)来帮助您查找最重要的条目 还作了其他更改,例如,将 database 字段名更改为 DB。 事件记录已作为诊断消息添加至 db2diag.log 文件。这类事件的示例包括: * 对概要文件注册表的更新 * 对配置参数的更新 对事件记录在 LEVEL 字段中指定了“Event”。尽管事件不是错误,但根据其重 要性它们可能在 4(参考)或 3(警告)以外的诊断级别作记录。 现在会记录 db2set 概要文件注册表变量及 DB 或 DBM 配置参数 从版本 8.2 开始,下列更新将记录在 db2diag.log 文件中: * db2set 概要文件注册表更新 * 数据库和数据库管理器配置参数更新 这些更新的消息将根据其重要性在高诊断级别作记录。 将记录下列类型的 db2set 概要文件注册表更新: 修改 db2set variableName=value 命令生成如下所示的 db2diag.log 条目: 2004-04-22-19.19.14.156959-240 I79582C286 LEVEL: Event PID : 2437242 TID : 1 PROC : db2set INSTANCE: db2user NODE : 000 FUNCTION: DB2 UDB, oper system services, db2set_main, probe:40 CHANGE : CFG DB2SET: DB2DBDFT: From: "OLDDB" To: "SAMPLE" 删除 db2set -r 命令生成如下所示的 db2diag.log 条目: CHANGE : CFG DB2SET: DB2DBDFT: From: "SAMPLE" To: "" 注: 上一示例中省略了标题信息。 复位 db2set variableName=value 命令生成如下所示的 db2diag.log 条目: CHANGE : CFG DB2SET: Profile registry was reset 注: 上一示例中省略了标题信息。 DB 和 DBM 配置参数更新的示例包括: CHANGE : CFG DB SAMPLE: "Maxlocks" From: "10" To: "20" CHANGE : CFG DBM: "Diaglevel" From: "3" To: "1" CHANGE : CFG DBM: Reset to the system defaults 注: 上一示例中省略了标题信息。 要查找这些配置更新消息,使用 db2diag 工具。例如: * 要选择所有事件:db2diag -level event * 要选择更改事件:db2diag -g "changeevent=" 产品兼容性 DB2 通用数据库 Linux 版、UNIX 版和 Windows 版支持的 JDK 1.4.2 DB2 通用数据库(TM)(UDB)Linux、UNIX 和 Windows(R) 版版本 8.2.2(功能等 同于版本 8.1 修订包 9)支持在所有 DB2 UDB 支持的 32 位和 64 位工作站操 作系统环境中使用的 JDK 1.4.2。此支持包括(但不限于)对构建和运行 Java(TM) 客户机应用程序的支持、对从命令行构建和运行 Java(TM) 例程的支持 、对从支持它的 DB2 开发中心构建和运行 Java(TM) 例程的支持以及对运行其他 DB2 工具的支持。 安装 DB2 UDB 版本 8.2 时,还将安装最新的受支持版本的 Java Developer Kit (如果还未安装的话),除非 DB2 UDB 安装是先前 DB2 UDB 版本 8 安装的更新 。如果要更新 DB2 UDB 版本 8 的先前安装,必须从 CD 安装 Java Developer Kit。 下表指示 DB2 支持的 32 位和 64 位工作站操作系统环境和每个环境支持的最新 JDK 级别。有关之前 JDK 支持的信息,参阅 Java Application Development Web 页面,网址如下:http://www.ibm.com/software/data/db2/udb/ad/v8/java/。 表 1. DB2 支持的环境以及相应的受支持 JDK 级别 +----------------------------------+----------------------------------+ | DB2 支持的环境 | 最新的受支持 JDK 级别 | +----------------------------------+----------------------------------+ | Windows IA/AMD 32 位 | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Windows IA 64 位 | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Windows AMD/EM64T 64 位 | JDK 1.4.2 | +----------------------------------+----------------------------------+ | AIX(R) 4.3.3 32 位 | JDK 1.3.1 SR6 [2] | +----------------------------------+----------------------------------+ | AIX(R) 5(混合 [1]) | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Solaris(混合[1]) | JDK 1.4.2 | +----------------------------------+----------------------------------+ | HPUX RISC & Itanium(混合[1]) | JDK 1.4.2.01 | +----------------------------------+----------------------------------+ | Linux AMD/EM64T 32 位,64 位(混 | JDK 1.4.2 [3] | | 合[1]) | | +----------------------------------+----------------------------------+ | Linux IA 32 位 | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Linux IA 64 位 | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Linux 390 31 位 | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Linux 390 64 位 | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Linux PPC(混合[1]) | JDK 1.4.2 | +----------------------------------+----------------------------------+ 注: 1. “混合”是指既包含 32 位支持又包含 64 位支持的安装映像 2. JDK 1.3.1 Service R6 是 AIX(R) 4.3.3 唯一支持的 JDK 版本。 3. 带有 JDK 1.4.2 的 Linux AMD/EM64T(32 位和 64 位)不支持 DB2 图形用 户界面工具。 下面是设置 Linux Java 环境的更新过程。 设置 Linux Java 环境 先决条件 * 在实施下面的指示信息之前,执行『设置 UNIX(R) Java 环境』主题中描述的 设置,可在《应用程序开发指南:构建和运行应用程序》指南中找到该主题。 * 执行下列指示信息中的命令需要 root 用户权限。 过程 要在带有 DB2 JDBC 支持的 Linux 上构建 Java 应用程序: 1. 安装并配置『Linux 支持的开发软件』主题中列出的其中一个受支持开发者工 具箱,可在《应用程序开发指南:构建和运行应用程序》指南中找到该主题。 要运行 Java 存储过程或用户定义的函数,Linux 运行时链接程序必须能够访 问特定 Java 共享库,并且 DB2 UDB 必须能够装入这些库和 Java 虚拟机。 运行存储过程和用户定义的函数的过程只会将这些库装入在 /etc/ld.so.conf 文件中定义的安全位置。其中一个安全的位置是 /usr/lib。余下指示信息显 示哪些库在 /usr/lib 中需要符号链接。 2. 在 /usr/lib 中创建符号链接以指向 Java 共享库。根据要使用的 JDK 版本 ,将有指向不同共享库的链接: 对于 IBM(R) Developer Kit 1.3 创建指向 libjava.so、libjvm.so 和 libhpi.so 的符号链接。可 通过作为 root 用户运行下列命令来创建符号链接: cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so . ln -fs JAVAHOME/jre/bin/classic/libjvm.so . ln -fs JAVAHOME/jre/bin/libhpi.so . 其中 JAVAHOME 是 IBM(R) Developer Kit 的基本目录。如果 DB2 UDB 找不到这些库,在尝试运行 Java 例程时将产生 -4301 错误, 并且管理通知日志中将出现有关找不到库的消息。 对于 IBM(R) Developer Kit 1.4.1 创建指向 libjava.so、libjvm.so、libhpi.so 和 libjsig.so 的 符号链接。可通过作为 root 用户运行下列命令来创建符号链接: cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so ln -fs JAVAHOME/jre/bin/classic/libjvm.so ln -fs JAVAHOME/jre/bin/libhpi.so ln -fs JAVAHOME/jre/bin/libjsig.so 其中 JAVAHOME 是 IBM Developer Kit 的基本目录。如果 DB2 UDB 找不到这些库,在尝试运行 Java 例程时将产生 -4301 错误,并且 管理通知日志中将出现有关找不到库的消息。 对于除 AMD64/EM64T 之外的 Linux 平台上的 IBM Developer Kit 1.4.2 创建指向 libjava.so、libjvm.so、libhpi.so、libjsig.so、 libjitc.so、libxhpi.so 和 libdbgmalloc.so 的符号链接。可通 过作为 root 用户运行下列命令来创建符号链接: cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so ln -fs JAVAHOME/jre/bin/classic/libjvm.so ln -fs JAVAHOME/jre/bin/libhpi.so ln -fs JAVAHOME/jre/bin/libjsig.so ln -fs JAVAHOME/jre/bin/libjitc.so ln -fs JAVAHOME/jre/bin/libxhpi.so ln -fs JAVAHOME/jre/bin/libdbgmalloc.so 其中 JAVAHOME 是 IBM Developer Kit 的基本目录。如果 DB2 UDB 找不到这些库,在尝试运行 Java 例程时将产生 -4301 错误,并且 管理通知日志中将出现有关找不到库的消息。 对于 Linux AMD64/EM64T 上的 IBM Developer Kit 1.4.2 此 Developer Kit 不同于其他 Linux 平台上的 Developer Kit。 遵循下面的『备用过程』一节中概述的指示信息,并在 /etc/ld.so.conf 中放入下面一行: JAVAHOME/jre/bin 其中 JAVAHOME 是 IBM Developer Kit 的基本目录。如果 DB2 UDB 找不到这些库,在尝试运行 Java 例程时将产生 -4301 或 -1042 错误。 备用过程 可以将存储 Java 共享库的目录的名称添加至 /etc/ld.so.conf 文件,而不是在 /usr/lib 目录中显式创建指向共享库的链接。此文件需要 root 用户许可权。在 更新 /etc/ld.so.conf 之后,您必须作为 root 用户运行 ldconfig 命令以激活 您的更改。如果在此备用过程中遇到任何问题,按先前的指示在 /usr/lib 目录 中创建这些链接。 64 位操作系统上需要 Microsoft XP 修订 如果要使用被配置为将 NETBIOS 协议与 DB2 系列产品配合使用的 Microsoft(R) XP 64 位操作系统(2600),您需要从 Microsoft 获取最新修订程序。请与 Microsoft 联系以获取编号为 Q317437 的 Knowledge Base 文档。 Windows XP 操作系统 只有 DB2 通用数据库(UDB)个人版产品才支持 Windows XP Home Edition 操作 系统。 Windows XP Professional 操作系统受下列 DB2 产品支持: * DB2 UDB 易捷版 * DB2 UDB 个人版 * DB2 UDB 工作组服务器版 * DB2 Connect(TM) 个人版 仅支持在 Windows XP 上开发和测试下列 DB2 产品(生产环境需要 Windows 2000 或 Windows Server 2003): * DB2 UDB 企业服务器版 * DB2 Connect 企业版 提供了 DB2 UDB HADR 单独定价选件 在 DB2 通用数据库(TM)(UDB)版本 8.2 中,DB2 UDB 工作组服务器版和 DB2 UDB 易捷版(当根据每个用户定价模型发放许可证时)不能安装 DB2 UDB 高可用 性灾难恢复(HADR)单独定价选件。在 DB2 UDB 版本 8.2 修订包 1(功能等同 于版本 8.1 修订包 8)中已经修正了此问题。 DB2 仓库管理器(版本 8.2)和 IBM DB2 OLAP Server FP3 和更新版本 DB2 仓库管理器标准版版本 8.2 中的 OLAP 实用程序与 IBM DB2 OLAP Server(TM) FP3(Essbase API 级别 6.5.4)和更新版本不兼容。在解决此问题 之前,建议您使用 DB2 OLAP Server FP2(Essbase 6.5.3)或较早版本。 原始 I/O 日志功能(带有 2.6 内核的 Linux) 要在 DB2 通用数据库(UDB)版本 8.2.2(功能等同于版本 8.1 修订包 9)之前 将日志与原始 I/O 设备配合使用,需要将物理设备绑定至带有原始实用程序的 Linux 原始字符设备驱动程序。从 DB2 UDB 版本 8.2.2(功能等同于版本 8.1 修订包 9)开始,可直接指定日志的原始 I/O。例如,要将设备分区 /dev/sdb1 用于 SAMPLE 数据库的原始日志,发出以下命令: db2 update db cfg for sample using newlogpath /dev/sdb1 尽管 DB2 UDB 仍支持将原始实用程序用于原始 I/O 的方法,但最新分发产品已 不推荐使用此功能,将来可能会除去它。首选方法是通过直接指定设备来使用新 方法。 对于数据仓库中心的 Red Hat Linux 支持 DB2 通用数据库版本 8.2 支持 Red Hat Enterprise Linux AS 版本 3 和 2.1。 但是,数据仓库中心仅支持 Red Hat Enterprise Linux AS V2.1。数据仓库中心 使用的是不支持 Red Hat Enterprise Linux AS V3.1 的 DataDirect ODBC 驱动 程序。因此,数据仓库中心不支持 Red Hat Enterprise Linux AS V3.1 代理站 点中的 ODBC 仓库源和仓库目标。 WebSphere MQ 事务管理器和 DB2 OS/390 版需要连接集中器 在 IBM(R) WebSphere(R) MQ(以前称为 IBM MQSeries(R))环境中运行应用程序 时,WebSphere(R) MQ 可以充当符合 XA 的事务管理器,它协调任何分布式两阶 段落实事务。当 WebSphere(R) MQ 以这种方式充当事务管理器,并且数据源来自 DB2 系统产品时,有一些配置要求。已经记录了大多数这些配置要求。例如,必 须在 DB2 运行时客户机处将 DB2 配置参数 TP_MON_NAME 设置为“MQ”。 但是,还有一个配置要求尚未记录。当连接至为 DB2 OS/390(R) 版服务器的数据 源时,该配置要求特定于 DB2 Connect:使用 WebSphere MQ 协调涉及 DB2 z/OS(R) 版和 DB2 iSeries 版服务器的分布式事务时,必须在网关处启用 DB2 Connect 连接集中器功能。当 MAX_CONNECTIONS 配置参数的值大于 MAX_COORDAGENTS 的值时,启用连接集中器。如果不启用连接集中器,将产生意 外事务行为。 编码字符集标识(CCSID)5039 的备用 Unicode 转换表 Microsoft 日语 Windows Shift-JIS 代码页被注册为 IBM 编码字符集标识( CCSID)943。然而,该 Shift-JIS 代码页在 HP-UX 平台上被注册为 CCSID 5039 。CCSID 5039 仅包含日本工业标准(JIS)中的字符,而不包括任何供应商定义 的字符。在 HP-UX 上,可以使用 CCSID 5039 的 DB2 通用数据库(UDB)数据库 来存储 Shift-JIS 字符,但是 CCSID 5039 与 CCSID 943 之间将存在代码页转 换。如果使用 Microsoft ODBC 应用程序,在将 CCSID 5039 格式的数据转换为 Unicode 时可能会遇到问题,这是由于 IBM 的代码页转换表与 Microsoft 的代 码页转换表之间存在差异造成的。 当从 CCSID 5039 转换为 Unicode 时,以下字符列表可能会产生不同的代码点, 这取决于所使用的转换表(IBM 或 Microsoft)。对于这些字符,IBM 转换表遵 守日本工业标准 JISX0208 和 JISX0221。 表 2. CCSID 5039 至 Unicode 代码点转换 +-----------------------+----------------------+----------------------+ | Shift-JIS 代码点(字 | IBM 主要代码点(Unic | Microsoft 主要代码点 | | 符名称) | ode 名称) | (Unicode 名称) | +-----------------------+----------------------+----------------------+ | X'815C'(长破折号) | U+2014(长破折号) | U+2015(横杠) | +-----------------------+----------------------+----------------------+ | X'8160'(波浪号) | U+301C(波浪号) | U+FF5E(全角颚化音符 | | | | 号) | +-----------------------+----------------------+----------------------+ | X'8161'(双竖线) | U+2016(双竖线) | U+2225(平行线) | +-----------------------+----------------------+----------------------+ | X'817C'(减号) | U+2212(减号) | U+FF0D(全角减号短划 | | | | 线) | +-----------------------+----------------------+----------------------+ 例如,当使用 IBM 转换表时,CCSID 5039 代码点为 X'815C' 的长破折号字符被 转换为 Unicode 代码点 U+2014,但当使用 Microsoft 转换表时,却被转换为 U +2015。这对于 Microsoft ODBC 应用程序可能会产生潜在问题,因为这些应用程 序会认为 U+2014 是无效的代码点。为了避免这些潜在问题,除了缺省 IBM 转换 表之外,DB2 UDB 还提供了从 CCSID 5039 转换为 Unicode 的备用 Microsoft 转换表。需要将缺省 IBM 转换表替换为备用 Microsoft 转换表。注意,从 Unicode 转换为 CCSID 5039 的缺省 IBM 转换表要与 Microsoft 版本相匹配。 将编码字符集(CCSID)5039 的 Unicode 转换表替换为 Microsoft 转换表 当从 CCSID 5039 转换为 Unicode 时,会使用 DB2 通用数据库(UDB)缺省代码 页转换表。如果您希望使用另一版本的转换表(如 Microsoft 版本),则必须手 工替换缺省转换表(.cnv)文件。 先决条件 在替换 sqllib/conv 目录中的现有代码页转换表文件时,应备份该文件以备您想 要将它改回来。在 UNIX 和 Linux 上,sqllib/conv 目录链接至 DB2 UDB 安装 路径。 限制 要使转换表替换生效,连接至同一数据库的每个 DB2 UDB 客户机必须更改其转换 表。否则,不同的客户机可能会使用不同的代码点存储同一个字符。 过程 要替换用于从 CCSID 5039 转换为 Unicode 的 DB2 UDB 缺省转换表,遵循下列 步骤: 1. 将 sqllib/conv/ms/5039ucs2.cnv 复制到 sqllib/conv/5039ucs2.cnv 2. 重新启动 DB2 UDB。 编码字符集标识(CCSID)954 的备用 Unicode 转换表 日语 EUC 代码页的 IBM 编码字符集标识(CCSID)被注册为 CCSID 954。CCSID 954 是日语 UNIX 和 Linux 平台的公共编码。当使用 Microsoft ODBC 应用程序 来连接至 CCSID 为 954 的 DB2 通用数据库(UDB)数据库时,在将数据从 CCSID 954 转换为 Unicode 时会遇到问题。潜在问题是由于 IBM 的代码页转换表与 Microsoft 的代码页转换表之间的差异造成的。IBM 转换表遵守在“日本工业标 准”(JIS)JISX0208、JISX0212 和 JISX0221 中指定的字符名称。 当从 CCSID 954 转换为 Unicode 时,根据使用的是 IBM 转换表还是 Microsoft 转换表,下列字符将产生不同的代码点。 表 3. CCSID 954 至 Unicode 代码点转换 +-----------------------+----------------------+----------------------+ | EUC-JP 代码点(字符名 | IBM 主要代码点(Unic | Microsoft 主要代码点 | | 称) | ode 名称) | (Unicode 名称) | +-----------------------+----------------------+----------------------+ | X'A1BD'(长破折号) | U+2014(长破折号) | U+2015(横杠) | +-----------------------+----------------------+----------------------+ | X'A1C1'(波浪号) | U+301C(波浪号) | U+FF5E(全角颚化音符 | | | | 号) | +-----------------------+----------------------+----------------------+ | X'A1C2'(双竖线) | U+2016(双竖线) | U+2225(平行线) | +-----------------------+----------------------+----------------------+ | X'A1DD'(减号) | U+2212(减号) | U+FF0D(全角减号短划 | | | | 线) | +-----------------------+----------------------+----------------------+ | X'8FA2C3'(短划线) | U+00A6(短划线) | U+FFE4(全角短划线) | +-----------------------+----------------------+----------------------+ 例如,当使用 IBM 转换表时,CCSID 954 代码点为 X'A1BD' 的长破折号字符被 转换为 Unicode 代码点 U+2014,但当使用 Microsoft 转换表时,却被转换为 U +2015。由于转换映射的这种差异,DB2 UDB Unicode 数据库或 DB2 UDB 954 数 据库的图形列中的同一个字符可能有两个不同的代码点。这对于 Microsoft ODBC 应用程序可能会产生潜在问题,因为这些应用程序会认为 U+2014 是无效的代码 点。为了避免这些潜在问题,除了缺省 IBM 转换表之外,DB2 UDB 还提供了从 CCSID 954 转换为 Unicode 的备用 Microsoft 转换表。需要将缺省 IBM 转换表 替换为备用 Microsoft 转换表。注意,从 Unicode 转换为 CCSID 954 的缺省 IBM 转换表要与 Microsoft 版本相匹配。 将编码字符集(CCSID)954 的 Unicode 转换表替换为 Microsoft 转换表 当从 CCSID 954 转换为 Unicode 时,会使用 DB2 通用数据库(UDB)缺省代码 页转换表。如果您希望使用另一版本的转换表(如 Microsoft 版本),则必须手 工替换缺省转换表(.cnv)文件。 先决条件 在替换 sqllib/conv 目录中的现有代码页转换表文件时,应备份该文件以备您想 要将它改回来。在 UNIX 和 Linux 上,sqllib/conv目录链接至 DB2 UDB 的安装 路径。 限制 为了使替换生效,连接至同一个 CCSID 954 数据库的每个 DB2 UDB 客户机都必 须更改它们的转换表。如果客户机是日语 Windows(其 ANSI 代码页是 Shift-JIS (CCSID 943)),则还需要将 CCSID 943 与 Unicode 之间的 DB2 缺省转换表 更改为 Microsoft 版本。否则,不同的客户机可能会使用不同的代码点存储同一 个字符。 过程 要替换用于从 CCSID 954 转换为 Unicode 的 DB2 UDB 缺省转换表,遵循下列步 骤: 1. 将 sqllib/conv/ms/0954ucs2.cnv 复制到 sqllib/conv/0954ucs2.cnv 2. 重新启动 DB2 UDB。 要替换用于在 CCSID 943 与 Unicode 之间转换的 DB2 UDB 缺省转换表,遵循下 列步骤: 1. 将 sqllib/conv/ms/0943ucs2.cnv 复制到 sqllib/conv/0943ucs2.cnv 2. 将 sqllib/conv/ms/ucs20943.cnv 复制到 sqllib/conv/ucs20943.cnv 3. 重新启动 DB2 UDB。 编码字符集标识(CCSID)943 的备用 Unicode 转换表 当使用被注册为 IBM 编码字符集标识(CCSID)943 的 Microsoft 日语 Windows Shift-JIS 代码页时,在 CCSID 943 与 Unicode 之间转换字符时可能会遇到下 面两个问题。潜在问题是由于 IBM 与 Microsoft 代码页转换表之间的差异造成 的。为了避免这些潜在问题,除了缺省 IBM 转换表之外,DB2 通用数据库(UDB )还提供了 CCSID 943 与 Unicode 之间的备用 Microsoft 转换表。 问题 1 由于历史原因,CCSID 943 代码页中有超过 300 个字符存在每个字符被表示为两 个或三个代码点的情况。使用输入方法编辑器(IME)和代码页转换表导致只有其 中一个等效代码点被输入。例如,对应罗马数字一“i”的小写字符有两个等效代 码点 X'EEEF' 和 X'FA40'。Microsoft Windows IME 在输入“i”时总是生成 X' FA40'。通常,IBM 和 Microsoft 使用同一主要代码点表示该字符,但是下列 13 个字符除外: 表 4. CCSID 943 Shift-JIS 代码点转换 +-----------------------+----------------------+----------------------+ | 字符名称(Unicode 代 | IBM 主要 Shift-JIS | Microsoft 主要 | | 码点) | 代码点 | Shift-JIS 代码点 | +-----------------------+----------------------+----------------------+ | 罗马数字一(U+2160) | X'FA4A' | X'8754' | +-----------------------+----------------------+----------------------+ | 罗马数字二(U+2161) | X'FA4B' | X'8755' | +-----------------------+----------------------+----------------------+ | 罗马数字三(U+2162) | X'FA4C' | X'8756' | +-----------------------+----------------------+----------------------+ | 罗马数字四(U+2163) | X'FA4D' | X'8757' | +-----------------------+----------------------+----------------------+ | 罗马数字五(U+2164) | X'FA4E' | X'8758' | +-----------------------+----------------------+----------------------+ | 罗马数字六(U+2165) | X'FA4F' | X'8759' | +-----------------------+----------------------+----------------------+ | 罗马数字七(U+2166) | X'FA50' | X'875A' | +-----------------------+----------------------+----------------------+ | 罗马数字八(U+2167) | X'FA51' | X'875B' | +-----------------------+----------------------+----------------------+ | 罗马数字九(U+2168) | X'FA52' | X'875C' | +-----------------------+----------------------+----------------------+ | 罗马数字十(U+2169) | X'FA53' | X'875D' | +-----------------------+----------------------+----------------------+ | 用括号括起来的表意文 | X'FA58' | X'FA58' | | 字符号(U+3231) | | | +-----------------------+----------------------+----------------------+ | 号码符号(U+2116) | X'FA59' | X'8782' | +-----------------------+----------------------+----------------------+ | 电话符号(U+2121) | X'FA5A' | X'8754' | +-----------------------+----------------------+----------------------+ 诸如 DB2 UDB 这样的 IBM 产品主要使用 IBM 代码点(例如,X'FA4A')来表示 大写罗马数字一“I”,但是 Microsoft 产品使用 X'8754' 来表示同一字符。 Microsoft ODBC 应用程序可以将“I”字符作为 X'8754' 插入到 CCSID 943 格 式的 DB2 UDB 数据库中,而 DB2 UDB 控制中心可以将同一字符作为 X'FA4A' 插 入到同一 CCSID 943 数据库中。但是,ODBC应用程序只能找到将“I”编码为 X'8754' 的那些行,而 DB2 UDB 控制中心只能找到将“I”编码为 X'FA4A' 的那 些行。为了使 DB2 UDB 控制中心能够选择“I”作为 X'8754',需要将 CCSID 943 与 Unicode 之间的缺省 IBM 转换表替换为备用 Microsoft 转换表。 问题 2 当从 CCSID 943 转换为 Unicode 时,以下字符列表将产生不同的代码点,这取 决于使用的是 IBM 转换表还是 Microsoft 转换表。对于这些字符,IBM 转换表 遵守日本工业标准 JISX0208、JISX0212 和 JISX0221。 表 5. CCSID 943 至 Unicode 代码点转换 +-----------------------+----------------------+----------------------+ | Shift-JIS 代码点(字 | IBM 主要代码点(Unic | Microsoft 主要代码点 | | 符名称) | ode 名称) | (Unicode 名称) | +-----------------------+----------------------+----------------------+ | X'815C'(长破折号) | U+2014(长破折号) | U+2015(横杠) | +-----------------------+----------------------+----------------------+ | X'8160'(波浪号) | U+301C(波浪号) | U+FF5E(全角颚化音符 | | | | 号) | +-----------------------+----------------------+----------------------+ | X'8161'(双竖线) | U+2016(双竖线) | U+2225(平行线) | +-----------------------+----------------------+----------------------+ | X'817C'(减号) | U+2212(减号) | U+FF0D(全角减号短划 | | | | 线) | +-----------------------+----------------------+----------------------+ | X'FA55'(短划线) | U+00A6(短划线) | U+FFE4(全角短划线) | +-----------------------+----------------------+----------------------+ 例如,在使用 IBM 转换表时,CCSID 943 代码点为 X'815C' 的字符全角横杠被 转换为 Unicode 代码点 U+2014。但是,在使用 Microsoft 转换表时,它会被转 换为 U+2015。由于转换映射的这种差异,DB2 UDB Unicode 数据库中的同一个字 符可能有两个不同的代码点。这对于 Microsoft ODBC 应用程序可能会产生潜在 问题,因为这些应用程序会认为 U+2014 是无效的代码点。为了避免这一潜在问 题,需要将 CCSID 943 与 Unicode 之间的缺省 IBM 转换表替换为备用 Microsoft 转换表。 使用 CCSID 943 与 Unicode 之间的备用 Microsoft 转换表应仅限于封闭环境, 其中 DB2 UDB 客户机和 DB2 UDB 数据库都具有代码页 CCSID 943 且都使用同一 备用 Microsoft 转换表。如果 DB2 UDB 客户机使用缺省 IBM 转换表,而另一 DB2 UDB 客户机使用备用 Microsoft 转换表,且两个客户机都将数据插入至 CCSID 943 格式的同一 DB2 UDB 数据库,则同一字符在该数据库中可能被存储为 不同的代码点。 将编码字符集(CCSID)943 的 Unicode 转换表替换为 Microsoft 转换表 在 CCSID 943 与 Unicode 之间进行转换时,会使用 DB2 通用数据库(UDB)缺 省代码页转换表。如果您希望使用另一版本的转换表(例如,Microsoft 版本) ,则必须手工替换缺省转换表(.cnv)文件。 先决条件 在替换 sqllib/conv 目录中现有代码页转换表文件之前,应备份这些文件以防您 想要将它们更改回来。在 UNIX 和 Linux 上,sqllib/conv 链接至 DB2 UDB 安 装路径。 限制 要使转换表替换生效,连接至同一数据库的每个 DB2 UDB 客户机必须更改其转换 表。否则,不同的客户机可能会使用不同的代码点存储同一个字符。 过程 要替换用于在 CCSID 943 与 Unicode 之间转换字符的 DB2 UDB 缺省转换表: 1. 将 sqllib/conv/ms/0943ucs2.cnv 复制至 sqllib/conv/0943ucs2.cnv。 2. 将 sqllib/conv/ms/ucs20943.cnv 复制至 sqllib/conv/ucs20943.cnv。 3. 重新启动 DB2 UDB。 不支持 MVS 操作系统 尽管在文档中提到了 MVS(TM) 操作系统,但是 DB2 通用数据库已不再支持它。 MVS 已替换为 z/OS。 备份和复原操作(Linux 390) 如果使用 Linux 390 操作系统,则可能无法对多个磁带设备进行备份和复原。 在使用 Hummingbird Exceed 访问开发中心时启用视图悬停 在 UNIX 上使用 Hummingbird(R) Exceed 访问开发中心时,必须先启用 XTEST extension V2.2 才能移动和悬停视图(通过在开发中心内拖动它们的标题栏)。 要启用 XTEST extension: 1. 从“开始”菜单中,选择程序 -> Hummingbird Connectivity 7.0 -> Exceed -> XConfig。XConfig 窗口打开。 2. 可选:如果配置需要密码,则输入 XConfig 密码。 3. 双击 Protocol 图标。Protocol 窗口打开。 4. 选择 X Conformance Test Compatibility 复选框。 5. 在 Protocol 窗口中,单击 Extensions... 按钮。Protocol Extensions 窗 口打开。 6. 在 Enable Extensions 列表中,选择 XTEST(X11R6)复选框。 7. 单击 OK。 安装、迁移、升级和配置信息 修订标记标识新增或更改过的文本。竖线(|)标识对版本 8.2 修订包 4(功能 等同于版本 8.1 修订包 11)新增或更改过的信息。 硬件和软件需求 可在以下 Web 站点查看硬件和软件需求: http://www.ibm.com/software/data/db2/udb/sysreqs.html 安装说明 在 UNIX 和 Linux 平台上,这些安装说明仅适用于新产品的安装。要应用修订包 ,请参阅修订包自述文件。 在 Windows 平台上,这些安装说明适用于新产品的安装和修订包的应用。如果要 应用修订包,应将这些安装说明与修订包自述文件配合使用。 在安装 DB2 通用数据库之前查看整节内容。 DB2 安装向导的新选项(Windows) 在命令行处指定安装路径 DB2(R) 安装向导允许使用新选项在命令行处指定安装路径: -p Installation Directory 此选项将覆盖在响应文件中指定的任何值。新的 -p [INSTALLDIR]选项可用来在 不更改响应文件的情况下更改产品的安装路径。 用于安装的新 NO_CONFIG 选项 如果将 NO_CONFIG 关键字添加至响应文件,将禁用所有已启动并且正在运行的操 作。安装仍将设置环境变量并执行其他基本设置,这些基本设置是创建实例以及 在安装完成后手工创建 DB2(R) 管理服务器所必需的。不会进行任何非基本的配 置。 如果在响应文件中指定了此选项,将验证在启动和运行设置期间使用的所有关键 字,但不会进行与这些关键字相关联的配置。 进度显示 现在已提供了一个新选项,以便在运行无人照管式安装时只显示 DB2(R) 安装向 导的进度窗口。 新增的 -m 选项必须与 -u [response file] 参数一起使用。如果在没有 response file 选项的情况下指定了 -m 选项,安装将返回一条消息,指示该参 数不正确。如果指定了 -m 选项,将只显示那些不需要任何用户输入的窗口。 例如,在运行 setup.exe 命令后,安装将显示一些窗口,但它不会提示您输入任 何内容。安装结束后,窗口将关闭而 setup.exe 进程完成。 对 DB2 安装向导的更改(Windows) DB2 安装向导选项(setup.exe) 现然,启动 DB2 安装的 setup.exe 文件会一直等待,直到安装退出才会返回。 此设置是缺省行为。目前已有 -w 选项,但此参数不再更改 DB2 安装向导的行为 。 可使用新增的 -c 选项来强制 DB2 安装向导在开始安装后立即退出。如果选择此 选项,则不能通过监视 setup.exe 文件的退出代码来获取安装的返回码。 如果同时指定了 -w 和 -c 选项,将返回错误。 扩展安全性的安装限制(Windows) DB2 通用数据库(TM)(UDB)版本 8.2 引入了一种新功能,它可以通过利用 NTFS 文件系统中的安全性功能和 Windows(R) 操作系统的安全性功能来保护对 DB2 资 源的访问。安全访问主要是通过修改 DB2 文件的访问控制表(ACL)、注册表条 目和运行时内存对象来完成的。 在缺省情况下,DB2 安装向导将启用这一新的安全性功能。可通过执行定制安装 并清除“对 DB2 对象启用操作系统安全性”窗口中的增强 Windows(R) 安全性复 选框来禁用 Windows(R) 扩展安全性。 用来禁用新的安全性功能的唯一建议方法就是运行 db2secv82 命令。但是, db2secv82命令必须在安装后立即运行。有关 db2secv82 命令的更多信息可以 DB2 信息中心中找到,有关详细信息,请参阅以下网址: http://publib.boulder.ibm.com/infocenter/db2help/。 可使用某个用户标识来安装 DB2 UDB,但是,除非该用户标识属于 DB2ADMNS、 DB2USERS 或本地管理员组的其中之一,否则该用户标识将无法运行任何 DB2 命 令。只有属于 DB2ADMNS、 DB2USERS 或本地管理员组的用户才能访问运行 DB2 UDB 的本地计算机上的 DB2 系统文件、注册表键、网络共享信息和 DB2 服务。 通常,属于 DB2ADMNS 组以及属于本地管理员组的用户对 DB2 资源有完整的控制 权。属于 DB2USERS 组的用户有写访问权和执行访问权。 在安装 DB2 UDB 版本 8.2 之后,必须将需要读访问权(如运行查询)的用户添 加至 DB2USERS 组。必须将需要完整控制访问权的用户(如数据库管理员)添加至 DB2ADMNS 组。 必须按照您所在环境中的安全策略来完成用户管理。 新的安全措施对典型安装的影响 在 Windows 上对 DB2 UDB 进行典型安装时,在缺省情况下将启用扩展安全性。 在缺省情况下,DB2 UDB 将创建 DB2ADMNS 和 DB2USERS 组。如果与现有组名存 在冲突,系统将提示您更改组名。如果需要,您可以指定自己的组名。 如果选择使用现有安全组,则该组的安全策略将被修改以满足 DB2 UDB 的需要。 如果选择现有的安全组,并且用户已经在该组中,则可能会提升用户的特权。 新的安全措施对定制安装或修订包安装的影响 在 Windows 上进行 DB2 UDB 的定制安装或修订包安装时,对 DB2 对象启用操作 系统安全性面板将打开。如果想要启用增强的 Windows 安全性,可通过单击“下 一步”来接受缺省值。 如果想要禁用增强的 Windows 安全性,可清除对 DB2 对象启用操作系统安全性 窗口中的启用操作系统安全性复选框。 在安装后添加用于访问 DB2 UDB 的用户标识 在进行典型或定制安装后,必须将用户标识添加至相应的 DB2ADMNS 或 DB2USERS 用户组以允许他们访问 DB2 UDB。要将用户添加至相应的组: 1. 启动“用户和密码管理器”工具。 2. 从列表中选择想要添加的用户名。 3. 单击属性。在“属性”窗口中,单击“组成员资格”选项卡。 4. 选择其他单选按钮。 5. 从下拉列表中选择相应的组。 在安装后启用增强的 Windows 安全性 如果安装了 DB2 UDB 并且选择不启用新的安全性功能,仍然可在安装后通过运行 db2secv82.exe 命令来启用该功能。 在使用 db2secv82.exe 命令启用此安全性功能后,有两种选择可用来进行改变: 选择 1 在没有对系统作任何其他更改的情况下立即运行 db2secv82.exe -r 命令。如果已经对系统作了任何更改,必须使用第二种选择。 选择 2 将“Everyone”组添加至 DB2ADMNS 和 DB2USERS 组。将“Everyone” 组添加至这些安全组就会立即给予所有用户使用 DB2 UDB 的所有特权。 但是,因为这样做会导致您不希望发生的安全问题,所以不建议您禁用安全性。 禁用安全性可能导致某些用户无法使用 DB2 UDB,这是因为 DB2 UDB 在运行时创 建的 ACL 不再与应用于文件系统的 ACL 相匹配。 目录路径不能包含空格(Linux 和 UNIX) 如果从一个路径中包含空格的目录中运行 db2setup 程序,则安装将失败并产生 以下错误: 找不到 应将可安装的映像放在路径中没有空格的目录中。 Red Hat Enterprise Linux 4 需求 在 Red Hat Enterprise Linux(R) 4 上安装 DB2 通用数据库 Linux(TM) 版之前 ,必须先安装 compat-libstdc++-33 程序包。 DB2 UDB 的 JDK 级别(Linux on IA64 和 Linux on POWER) 在 Linux 上安装版本 8.2 的 DB2 通用数据库(UDB)时,基于 RPM 的安装会试 图安装 IBM Java RPM(IBMJava2-SDK-ppc-1.4.1-2.0.ppc.rpm)。 如果较新级别的 RPM(如 IBMJava2-SDK-ppc-1.5.0-2.0.ppc.rpm)已经存在,则 不会安装后备级别 RPM。 但是,在这种情况下,安装会保留指向 Java 1.4 路径的 JDK_PATH 数据库配置 参数 /opt/IBMJava2-14/。因此,所有与 Java 有关的功能(包括 DB2 工具目录 的安装)都不会起作用。 先决条件 必须作为实例所有者运行以下命令。 过程 1. 要使 DB2 UDB 指向正确的 IBM(R) Developer Kit,运行以下命令: db2 update dbm cfg using JDK_PATH path 其中 path 是 1.5 安装路径,如 /opt/IBMJava2-15。 解压缩安装映像(Linux 和 UNIX) 某些安装映像在产品 CD 上是以压缩格式提供的。您需要将安装映像复制至临时 目录并解压缩安装映像,才能从这些格式的安装映像中安装 DB2 通用数据库(UDB )。 CD 上的压缩安装映像的文件名为 PRODUCT.tar.Z 或 PRODUCT.tar.gz,其中 PRODUCT 是要安装的 DB2 产品。例如,如果要安装 DB2 UDB 企业服务器版,则 相关 CD 上的压缩映像可能被称为 ese.tar.Z 或 ese.tar.gz。 除了软件磁盘需求之外,文件系统还必须有 2 千兆字节的可用空间用来包含 gigabytestar.Z 或 tar.gz 文件和解压缩安装映像。 过程 要解压缩安装映像,执行下列步骤: 1. 将压缩安装映像复制到至少包含 2 千兆字节可用空间的临时文件系统中。 2. 通过输入 cd /TMP 切换至复制安装映像的目录,其中 /TMP 表示复制压缩映 像的目录。 3. 如果产品扩展名为 *.tar.Z,则输入以下命令来解压缩安装映像: zcat PRODUCT.tar.Z | tar -xvf - 其中 PRODUCT 是要安装的 DB2 产品。 4. 如果产品扩展名为 *.tar.gz,则输入以下命令来解压缩安装映像: gunzip -c PRODUCT.tar.gz | tar -xvf - 其中 PRODUCT 是要安装的 DB2 产品。 注: a. gunzip 是 AIX 5L(TM) 缺省安装程序的一部分。如果没有 gunzip,则从 AIX 5L 安装介质安装 rpm.rte 文件集。rpm.rte 文件集包含 gunzip。 b. 还可从以下网址下载用于 AIX 5L 的 gzip(它包括 gunzip): http://www.ibm.com/servers/aix/products/aixos/linux/rpmgroups.html 。 5. 要使用 DB2 安装向导执行安装,请参阅『从安装映像安装 DB2 UDB(Linux 和 UNIX)』一节。 DB2 UDB 不允许非英语安装路径(Windows) 在 Windows 上安装 DB2 通用数据库(UDB)期间,可以输入 DB2 UDB 的目录路 径。但是,输入的目录路径名只能包含英语字符。 下载并解压缩多个产品的修订包(Windows) 从 DB2 版本 8 Windows 版修订包 3 开始,IBM 提供的就是特定于产品的修订包 ,而不是一个通用修订包。这种改变仅影响 Windows 平台上的 DB2 版本 8 产品 。 如果要安装多个 DB2 产品,则需要在安装之前下载并解压缩每个 DB2 产品的映 像。 例如,如果将 DB2 UDB 企业服务器版版本 8 和 DB2 Spatial Extender V8 安装 在同一 Windows 系统上,则必须下载 DB2 UDB 企业服务器版修订包映像和 Spatial Extender 修订包映像。 您还必须将其中每个修订包映像解压缩至同一 目录。要使图形用户界面安装或静默安装能够继续,必须解压缩所有映像。 有关完整的修订包安装指示信息,请参阅最新的 DB2 UDB 修订包自述文件。 从安装映像安装 DB2 UDB(Linux 和 UNIX) 先决条件 在启动 DB2 安装向导之前: * 确保系统满足安装、内存和磁盘需求。请参阅『硬件和软件需求』一节。 注: DB2 UDB 版本 8.2.2(功能等同于版本 8.1 修订包 9)为基于 2.6 内核 的 x86(32 位 Intel(R) 和 AMD)和 x86-64(64 位 Intel(R) EM64T 和 AMD64)体系结构上的 Linux(R) 分发产品(如 Red Hat Enterprise Linux 4 和 SuSE Linux Enterprise Server 9)引入了新的安装映像 集。在继续安装之前,确保您已经获得了用于 Linux 分发产品的相应 安装映像集。 * 确保您已经阅读了安装先决条件。文件 install.txt 或 install.htm 位于 CD 上的以下位置:/cdrom/doc/language/,其中: * cdrom 指的是安装点 * language 指的是语言目录,由 5 个字符的代码组成。 * 您需要 root 用户权限来执行安装。 * DB2 产品 CD 必须安装在系统上。 过程 如果安装映像在产品 CD 上是以压缩格式提供的,则必须解压缩安装映像才能安装 DB2 UDB。有关详细信息,请参阅『解压缩安装映像(Linux 和 UNIX)』一节。 要使用 DB2 安装向导执行安装,输入以下命令: ./PRODUCT/db2setup 其中 PRODUCT 是要安装的 DB2 产品。例如,如果要安装 DB2 UDB 企业服务器版 ,则输入 ./ese/db2setup。 安装启动板打开。遵循安装面板上的指示继续进行。 从安装映像安装 DB2 UDB(Windows) 先决条件 在启动 DB2 安装向导之前: * 确保系统满足安装、内存和磁盘需求。请参阅『硬件和软件需求』一节。 * 确保您已经阅读了安装先决条件。文件 install.txt 或 install.htm 位于 CD 上的以下位置:x:\doc\language\,其中: * x 表示 CD 驱动器 * language 指的是语言目录,由 5 个字符的代码组成。 * 您必须有本地管理员用户帐户,并且该帐户有执行安装所需的用户权限。 要使用 DB2 安装向导执行安装,将 CD 插入到驱动器中。如果启用了自动运行功 能,该功能将自动启动 DB2 安装启动板。 过程 如果自动运行功能未启用,可手工启动 DB2 安装向导: 1. 单击开始并选择运行选项。 2. 在打开字段中,输入以下命令: x:\setup /i language 其中: * x: 表示 CD 驱动器 * language 是对应您所使用的语言的地域标识(例如,EN 对应英语)。 /i language 参数是可选的。如果未指定该参数,DB2 安装向导将以操作系 统使用的语言运行。 3. 单击确定。DB2 安装启动板打开。 遵循安装面板上的指示继续进行。 注: DB2 Run-Time Client Lite 产品使用其他命令行参数。有关详细信息,请访 问 DB2 信息中心,网址如下: http://publib.boulder.ibm.com/infocenter/db2help/。 DB2 UDB 响应文件安装所需的磁盘空间 使用响应文件安装 DB2 通用数据库产品时,etc 目录中需要有 1 MB 的可用磁盘 空间。 如果在响应文件安装期间接收到错误消息 DBI1191I,该消息指示根目录中没有足 够的可用磁盘空间。此消息会误导您。检查 etc 目录中的可用磁盘空间量。在重 新运行安装之前,至少需要 1 MB 可用磁盘空间。 对于使用 db2setup 命令添加产品的限制(Linux 和 UNIX) 一旦安装了某种 DB2 产品,就可以添加其他 DB2 产品。如果使用 db2setup 命 令来添加产品,则下列建议和限制适用。 建议 已安装的产品与要添加的产品应处于同一代码级别。例如,已安装 DB2 通用数据 库(UDB)企业服务器版版本 8 修订包 5 且您想要添加 DB2 Information Integrator 产品。在这种情况下,DB2 Information Integrator 也应处于版本 8 修订包 5 级别。 限制 * 如果 DB2 修订包级别高于要添加的产品的修订包级别,这种组合是允许的。 但是,由于要添加的产品的修订包级别低于 DB2 修订包级别,所以在安装了 其他产品之后必须重新应用 DB2 修订包级别。有关重新应用修订包的指示信 息,请参阅相应的修订包自述文件。 * 如果 DB2 修订包级别低于要添加的产品的修订包级别,则会生成错误。要添 加的产品的修订包级别不能比 DB2 UDB 高。在这种情况下,必须首先将 DB2 UDB 升级到适当的级别,然后再安装其他产品。有关指示信息,请参阅相应的 修订包自述文件。 下表总结了 db2setup 组合: 表 6. db2setup 组合 +----------+--------------+-------------------------------------------+ | DB2 修订 | 其他产品修订 | 是否允许这种组合? | | 包级别 | 包级别 | | +----------+--------------+-------------------------------------------+ | 版本 8 | 版本 8 修订 | 是。建议这样做。 | | 修订包 3 | 包 3 | | +----------+--------------+-------------------------------------------+ | 版本 8 | 版本 8 GA | 是,但必须重新应用版本 8 修订包 3。有关重 | | 修订包 3 | | 新应用修订包的指示信息,请通过访问 DB2 支 | | | | 持 Web 站点查看相应的“修订包自述文件”。 | +----------+--------------+-------------------------------------------+ | 版本 8 | 版本 8 修订 | 否。在安装其他产品之前,首先必须将 DB2 升 | | 修订包 3 | 包 5 | 级到更高的修订包级别(在本示例中为版本 8 | | | | 修订包 5)。有关安装必需的版本 8 修订包的 | | | | 指示信息,请通过访问 DB2 支持 Web 站点查 | | | | 看相应的“修订包自述文件”。 | +----------+--------------+-------------------------------------------+ DB2 支持 Web 站点地址是 http://www.ibm.com/software/data/db2/udb/support.html DB2 Web 工具 对于下列语言,要求 DB2 Web 工具支持的应用程序服务器符合 Servlet 2.3 规 范: * 日语 * 韩国语 * 简体中文 * 繁体中文 * 俄语 * 波兰语 在应用修订包之后绑定 Query Patroller 程序包 如果安装了 Query Patroller,则在应用了修订包并执行了所有修订包安装后任 务之后,执行下列步骤: 1. 作为有 DBADM 权限的用户登录。 2. 切换至恰当的目录: * INSTPATH/bnd(Linux 和 UNIX) * INSTPATH\bnd(Windows) 其中 INSTPATH 是 DB2 UDB 实例路径。 3. 运行下列命令: db2 connect to dbname db2 bind @qpserver.lst blocking all grant public 位于修订包 3 级别或更新级别的 Query Patroller 安装 Query Patroller 是用于控制针对 DB2 UDB 数据库的查询流的查询管理系统。在 DB2 UDB 版本 8.1.2 中,DB2 Query Patroller 变成了一个独立的产品。它不再 是 DB2 仓库管理器的一个组件。 如果安装了 DB2 UDB 版本 8 修订包 3 或更新版本,然后安装 DB2 Query Patroller Base 或 GA 版,则必须重新应用 DB2 UDB 修订包 3 或更新版本。否 则,Query Patroller 更改不会被应用于您所处的 DB2 UDB 修订包级别。 如果要安装 Query Patroller 服务器,在重新应用 DB2 UDB 修订包级别之后还 必须更新 DB2 UDB 实例。在更新了这些实例之后,必须重新启动它们。 Query Patroller 服务器安装 当您安装 Query Patroller 服务器时,请注意以下事项: * 如果使用 DB2 安装向导从选择安装类型窗口中选择根据计算机使用情况窗口, 并从选择使用此计算机的方式窗口中选择服务器,将不会安装 Query Patroller 中心。如果想要安装 Query Patroller 中心,则从选择安装类型 窗口选择完整安装或定制安装安装类型。 * DB2 Query Patroller(TM) Guide 使用“根据计算机使用情况”安装类型中的 安装面板来演示如何使用 DB2 安装向导安装 Query Patroller 服务器。不必 使用“根据计算机使用情况”安装类型来安装 install Query Patroller 服 务器。可使用“完整”或“定制”安装类型来安装 Query Patroller 服务器。 * 安装了 Query Patroller 客户机工具的 DB2 客户机必须连接至安装了 Query Patroller 服务器的分区。在典型分区数据库环境中,Query Patroller 服务 器安装在所有分区上,所以可选择任何分区作为协调程序分区并且仍能够使用 Query Patroller 客户机工具。 在 Query Patroller 中定义新的数据库分区组 在分区环境中安装 Query Patroller 期间定义新的表空间时,可选择现有数据库 分区组。或者,可对新的表空间设置新的数据库分区组。如果选择设置新的数据 库分区组,只能在安装面板上的列表框中对新的数据库分区组选择一个数据库分 区。如果想要将其他分区添加到新的数据库分区组中,必须在安装完成后手工添 加它们。 Query Patroller 客户机工具安装 对于 DB2 客户机,不需要安装 Query Patroller 客户机工具就可将查询提交给 Query Patroller 服务器。 重新创建测试版的数据库 如果在 DB2 UDB 版本 8.2 的测试版中创建了数据库,则必须在版本 8.2 的正式 版本中重新创建它们。 这包括重新创建 DB2 Geodetic Extender V8.2 的空间数据库。 安装本地语言版本的 DB2 UDB 的 MDAC 文件 如果在安装本地语言版本的 DB2 通用数据库(UDB)版本 8.2 之前未安装本地语 言版本的 Microsoft Data Access Components(MDAC)2.7,则缺省情况下 DB2 UDB 将安装英语版本的 MDAC 文件。如果操作系统并非英语版本,则此安装将导致 Windows ODBC Data Source Administrator 面板显示为未翻译的语言版本。要解 决此问题,从下列 Microsoft Web 站点安装“MDAC 2.7 RTM - Refresh”捆绑软 件:http://msdn.microsoft.com/data/downloads/updates/default.aspx。 选择要安装的语言,下载所需的可执行文件并运行它。此过程将安装已翻译的 ODBC Data Source Administrator 文件。 DB2 通用数据库工作组服务器版的 DB2 许可证策略 因特网许可证策略对 DB2 通用数据库工作组服务器版无效。如果需要因特网用户 的许可证,则需要购买 DB2 通用数据库工作组服务器无限制版。 安装其他亚洲字体(Linux) IBM 提供用于 Linux 的附加字体包,包含对亚洲字符的附加双字节字符集(DBCS )支持。对于仅安装显示特定于国家或地区的字符所需字体的某些版本的 Linux ,这些字体程序包是必需的。 如果运行 db2setup 命令并发现 DB2 安装向导界面中缺少字符,则很可能是 Linux 系统未安装所有必需的字体。要使 db2setup 命令能够正确引用嵌入在安装 CD 中的字体,执行下列任务: 1. 输入以下命令: export JAVA_FONTS=//db2//java/jre/lib/fonts 其中 是安装映像的位置,而 是前缀为 Linux 的 目录。 2. 重新运行 db2setup 命令。 如果在安装后使用 DB2 图形用户界面工具时注意到缺少字符,则安装随 DB2 产 品提供的必需字体。这些字体可在下列任何 CD 上的 fonts 目录中找到: * IBM(R) Developer Kit, Java(TM) Technology Edition (64-bit) for AIX 5L * 对应您所使用的操作系统的 DB2 嵌入式应用程序服务器和应用程序(XML 注 册表、Web 管理工具和 Java(TM) 分布式调试器) 在 fonts 目录中,有两种字型可用:Times New Roman WorldType 和 Monotype Sans Duospace WorldType。对于每种字型,都有一种特定于国家或地区的字体。 下表列在 fonts 目录中以压缩格式提供的八种字体。 表 7. 其他亚洲字体的文件名 +-------------------------+---------------------+---------------------+ | 字体 | 字体文件名 | 国家或地区 | +-------------------------+---------------------+---------------------+ | Times New Roman WT J | tnrwt_j.zip | 日本及其他国家或地 | | | | 区 | +-------------------------+---------------------+---------------------+ | Times New Roman WT K | tnrwt_k.zip | 韩国 | +-------------------------+---------------------+---------------------+ | Times New Roman WT SC | tnrwt_s.zip | 中国(简体中文) | +-------------------------+---------------------+---------------------+ | Times New Roman WT TC | tnrwt_t.zip | 台湾(繁体中文) | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansdj.zip | 日本及其他国家或地 | | WT J | | 区 | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansdk.zip | 韩国 | | WT K | | | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansds.zip | 中国(简体中文) | | WT SC | | | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansdt.zip | 台湾(繁体中文) | | WT TC | | | +-------------------------+---------------------+---------------------+ 注: 这些字体不会替换系统字体。这些字体与 DB2 通用数据库配合使用。您不能 将这些字体用于一般的或无限制的销售或分发。 过程 要安装另一亚洲字体: 1. 解压缩字体包。 2. 将字体包复制至 /opt/IBMJava2-141/jre/lib/fonts目录。如果该目录不存在 ,则需要创建它。 3. 输入以下命令: export JAVA_FONTS=/opt/IBMJava2-141/jre/lib/fonts 至少需要对您所在国家或地区的每种字型安装一种字体。如果您在中国、韩国或 台湾,则使用特定于国家或地区的版本;否则,使用字体的日语版本。如果系统 上有空间,安装所有这八种字体。 配置开发中心以使用 Java Development Kit(Linux) 在某些情况下,DB2 通用数据库不会在客户机操作系统上安装 Java Development Kit。要使用“开发中心”在这些客户机上开发 Java 存储过程,必须将“开发中 心”指向已安装的 Java Development Kit 的位置。 遵循下列步骤以标识 Java Development Kit 的位置: 1. 在“开发中心”中,选择项目 -> 环境设置菜单项。 2. 在“环境设置”笔记本中,选择进程节点。 3. 在“进程”页的 Java 主目录部分中,选择将用来构建和运行 Java 存储过程 的 JDK 级别。 4. 在目录字段中,指定在客户机上已存在或可访问的所选 JDK 的安装目录路径。 5. 如果该客户机用于在多个 DB2 服务器上开发 Java 存储过程,您可能需要选 择其他 JDK 级别并指定它们的安装位置,这取决于这些服务器使用的 JDK 级 别。 在 DB2 服务器上,Java Development Kit 安装可能未将某些 Java 库链接到系统 /usr/lib 子目录中。这些链接是构建和运行 Java 存储过程所需的。 《发行说明》中『兼容性问题』一节中主题为『设置 Linux Java 环境』的一节 显示如何在 Linux 客户机上创建指向 Java Development Kit 的链接。 在 United Linux 1.0 和 SuSE Linux 分发产品上创建组和用户标识 要为在 United Linux 1.0 和 SuSE Linux 分发产品上安装 DB2 UDB 版本 8.2 而创建组和用户标识,分别使用 groupadd 和 useradd 命令。版本 8.2《安装和 配置补遗》中有关使用 mkgroup 和 mkuser 命令创建组和用户标识的说明都是不 正确的。 帮助系统守护程序在使用 db2_install 命令进行安装之后未启动(UNIX 和 Linux ) 如果要使用 db2_install 命令在 UNIX 和 Linux 平台上安装 DB2 信息中心,帮 助系统守护程序(db2icd)在安装之后未启动。您需要手工启动帮助系统守护程 序或重新启动计算机以访问该文档。 请参阅《发行说明》的『文档更新 | 安装和配置』一节中标题为『DB2 信息中心 守护程序』的主题。 Ready for Tivoli enablement(UNIX) 如果您购买带有 Ready for Tivoli(R) 徽标的 IBM 软件产品,则可以通过各种 Tivoli 产品管理这些 IBM 软件产品。Tivoli 产品允许您自动发现、监视一个或 多个 Ready for Tivoli 应用程序并对它们列清单。 属于 Ready for Tivoli 的 IBM 软件产品可通过诸如 IBM Tivoli Configuration Manager 这样的产品进行管理。IBM Tivoli Monitoring for Databases 支持所 有主要数据库,包括 DB2 通用数据库(UDB)、Oracle 和 Informix(R)。 有关其他信息,将浏览器转至位于以下网址的 IBM Web 站点: http://www.ibm.com/software/tivoli/ Ready for Tivoli 设备和 DB2 UDB 版本 8 要安装和配置设备,Tivoli 管理员应执行下列步骤: 1. 此 DB2 产品的 Tivoli Ready 签名文件的名称为 xxx.sys。从修订包 4 起, 这些特征符文件将会在每个修订包(而不是每个版本)发布时刷新。确认这些 特征符文件已安装在以下目录中: %install DB2DIR%/tivready 2. 在打算监视的所有计算机上安装和配置 Tivoli GEM 2.2 Tivoli Ready Enablement。要下载 Tivoli Ready Enablement 以及详细的安装和使用指示 信息,可通过浏览器访问以下站点: http://www.ibm.com/software/sysmgmt/products/support/ 3. 高级数据库可管理性是通过 IBM Tivoli Monitoring for Databases 来实现 的。ITM for Databases 产品使用新的高级版本“分布式监视”产品(称为 IBM Tivoli Monitoring 或 ITM),并在使用此新监视引擎的基础上提供显著 的监视增强功能。ITM for Databases 通过前摄分析组件(PAC)提供 DB2 UDB 支持。此 PAC 与 DB2 UDB 紧密集成并提供一组无缝集成的监视器以便于快速 部署和激活。DBA 还可以定义定制监视器、阈值和任务。 要了解其他信息,请访问站点:http://www.ibm.com/software/tivoli/ 有关其他 Tivoli 产品的信息,可参阅以下网址: http://www.ibm.com/software/tivoli/ 安装映像缩小工具 - db2iprune(Windows) db2iprune 命令行实用程序可缩小 DB2 通用数据库(UDB)Windows 产品安装映 像的大小。该工具对于 DB2 UDB 的大规模部署特别有用。该工具对于在应用程序 中嵌入 DB2 UDB 也很有用。 db2iprune 工具由一个输入文件和一个可执行文件组成。输入文件(.prn)包含 可除去组件的完整列表,用于指示您想要从安装映像中除去哪些功能部件和语言 。然后 db2iprune 可执行文件(db2iprune.exe)会除去与这些功能部件和语言 相关联的柜文件。这将生成新的较小的 DB2 UDB 映像,可使用常规安装方法进行 安装。修订包也是使用常规方法应用的。在安装修订包时,它仅检测和更新使用 db2iprune 安装的组件。 db2iprune 工具位于 DB2 UDB 产品安装 CD 上的 \db2\windows\utilities\db2iprune 目录中。此目录还包含自述文件。有关如何 使用 db2iprune 的详细指示信息,请参阅 db2iprune 自述文件。 DB2 通用数据库版本 8 文档安装限制(Windows) 在 Windows 上,不要在已安装 DB2 UDB 版本 7(或之前版本)产品的工作站或 服务器上安装 DB2 通用数据库(UDB)版本 8 信息中心(HTML 文档)。安装程 序会检测较早版本并除去较早产品。 先前安装已更新为最新级别(Windows) 如果安装了较早版本 8 级别的 DB2 产品,安装映像会检测该产品并将它更新为 最新级别。 DB2 .NET 数据提供程序的系统需求(Windows) 在使用 DB2 通用数据库(UDB)安装程序来安装 DB2 .NET 数据提供程序之前, 必须先在计算机上安装 .NET Framework。如果未安装 .NET Framework,则 DB2 UDB 安装程序将不会注册 DB2 .NET 数据提供程序。 如果安装了 DB2 UDB 且未安装 .NET Framework,则不会注册 DB2 .NET 数据提 供程序。如果以后才安装 .NET Framework,则可运行 db2nmpreg 可执行文件来 注册该提供程序。此可执行文件驻留在 sqllib\bin 目录中。不存在任何参数。 要注册 DB2 .NET 数据提供程序,从任何命令窗口输入 db2nmpreg。 作为非管理员安装 DB2 版本 8 客户机和 DB2 Connect PE(Windows) 在安装 DB2 管理客户机、DB2 应用程序开发客户机或 DB2 Connect 个人版时, 如果存在下列情况,则必须更新 Windows TCP/IP services 文件: * 在安装设置中选择了数据仓储功能 * 执行安装的用户标识不是目标计算机上的管理员组的成员 * 将在下列任一操作系统上安装该产品:Windows NT、Windows 2000、Windows XP 或 Windows Server 2003。 如果所有这些情况都存在,则需要将下列条目添加到 Windows TCP/IP services 文件: 表 8. Windows TCP/IP services 文件中的必需条目 +----------------------------------+----------------------------------+ | 端口名 | 端口号 | +----------------------------------+----------------------------------+ | vwkernel | 11000/tcp | +----------------------------------+----------------------------------+ | vwd | 11001/tcp | +----------------------------------+----------------------------------+ | vwlogger | 11002/tcp | +----------------------------------+----------------------------------+ 如果没有这些条目,“数据仓库中心”就不能正常工作。 迁移说明 除了这里显示的主题之外,还可以在 DB2 Migration Portal 中找到关于迁移 DB2 产品的最新信息,网址为 http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21200005 db2updv8 技术说明 要获取 db2updv8 的最新信息,包括重要的用法详细信息和常见问题的变通方法 ,请参阅 http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21178848 处的技术说明 1178848。 不支持在运行 db2updv8 后又回退到 V8.1 一旦开始运行 db2updv8 命令以将系统目录更新为当前的版本 8 级别,就不再 支持回退到 V8.1。 EXPLAIN 表的迁移 为了创建 EXPLAIN 表,必须在将 DB2 通用数据库(TM)(UDB)版本 8.2.2(功能 等同于版本 8.1 修订包 9)或更高版本应用于 DB2 UDB 版本 8.2 修订包 1(功 能等同于版本 8.1 修订包 8)或更低版本时运行 db2updv8 命令。 运行 db2updv8 命令将创建 EXPLAIN_GET_MSG 函数,它允许再次运行 EXPLAIN.DDL。 如果尝试在不运行 db2updv8 命令的情况下使用 EXPLAIN.DDL 来创建说明表,则 可能会接收到以下错误消息: DB21034E 由于该命令不是有效的命令行处理器命令,所以将它作为 SQL 语句处理。 在 SQL 处理期间,它返回: SQL0440N 找不到带有兼容参数且类型为“FUNCTION”名为 “EXPLAIN_GET_MSG”的授权例程。 行号=26。SQLSTATE=42884 从先前版本迁移 XML Extender 如果您正在使用较早版本的 DB2 XML Extender,则在借助已更新的 XML Extender 发行版使用现有的启用 XML 的数据库之前必须迁移要对 XML Extender 启用的每 个数据库。每个新修订包都包含所有先前修订包的更新。 在运行迁移程序之前,创建该数据库的备份。 要迁移启用 XML 的数据库和启用 XML 的列,完成下列步骤。 1. 从 DB2 命令行输入: db2 connect to database_name db2 bind dxxinstall/bnd/@dxxMigv.lst db2 bind dxxinstall/bnd/@dxxbind.lst 其中 dxxinstall 是安装 DB2 通用数据库的目录路径。 2. 从 DB2 命令行输入: dxxMigv database_name 在使用 DataJoiner 或复制时迁移 DB2 通用数据库 如果想要迁移 DataJoiner(R) 或 DB2 通用数据库(UDB)Linux 版、UNIX 版和 Windows 版(而您正在其上运行 DB2 UDB 复制的 Capture 或 Apply 程序)的实 例,则在迁移 DB2 UDB 或 DataJoiner 实例之前,必须准备好迁移复制环境。进 行必要准备的详细指示信息包括在 DB2 DataPropagator(TM) V8 的迁移文档中。 DB2 DataPropagator V8 的迁移文档可在 http://www.ibm.com/software/data/dpropr/ 中找到。 迁移 DB2 通用数据库(Windows) 下列步骤显示在 Windows 上迁移 DB2 通用数据库(UDB)的先决条件的正确顺序 。 先决条件 在迁移之前: 1. 查看迁移建议、限制和空间建议。 2. 在迁移 DB2 UDB 之前记录配置设置。 3. 更改诊断错误级别。 4. 验证数据库是否已经可以进行 DB2 UDB 迁移。 5. 备份数据库。 6. 如果要使用复制,则必须将所有 DB2 UDB 日志文件归档。 7. 必须有 SYSADM 权限。 8. 使 DB2 服务器脱机以便进行 DB2 UDB 迁移。 注: 从版本 8.1 开始,DB2_HASH_JOIN 注册表变量缺省情况下将为 ON。有关详 细信息,请参阅『文档更新』这一节中的『管理:性能』子节。 将 DB2 版本 8 Windows 32 位数据库迁移至 Windows 64 位 本主题列出了将 32 位计算机上的 32 位 DB2 版本 8 数据库迁移至 64 位 Windows 操作系统上的 64 位数据库的步骤。 先决条件 * 必须在 64 位计算机上安装 DB2 版本 8 的 64 位版本。 * 确保 32 位 Windows 系统正在运行 DB2 版本 8。 过程 要迁移至在 64 位 Windows 上的 DB2 版本 8: 1. 在 32 位 Windows 系统上备份 DB2 版本 8 数据库。 2. 在 64 位 Windows 系统上复原 DB2 版本 8 备份(在步骤 #1 中创建的)。 注: 除了将 DB2 UDB 从 32 位系统迁移到 64 位系统之外,下列迁移也是可行的 : * 在 Windows 的不同版本之间迁移 * 在 DB2 UDB 的不同版本之间迁移 * 一次迁移所有内容 * 迁移回到 32 位 在以下 IBM 红皮书中提供了详细信息:Scaling DB2 UDB on Windows Server 2003。在以下 URL 中可以找到此红皮书: http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg247019.html 在 MSCS 环境中从版本 7 迁移至 DB2 UDB 版本 8.2.2 本主题描述在 Microsoft Cluster Server(MSCS)环境中如何从 DB2 通用数据 库(TM)(UDB)版本 7 迁移至 DB2 UDB 版本 8.2.2(功能等同于版本 8.1 修订包 9)。 假定:将使用样本配置来演示在 MSCS 环境中如何迁移至 DB2 UDB 版本 8.2.2( 功能等同于版本 8.1 修订包 9)。在此样本配置中,有两台 Windows Server 2000 计算机安装有 DB2 UDB 企业服务器版版本 7。初始配置是由两个分区组成 的一个 DB2 实例。另外,有两个“集群组”: * DB2 组 0:包含机器 A 上活动的分区 0。管理服务器(DAS)也位于此组中。 * DB2 组 1:包含机器 B 上活动的分区 1。 先决条件 开始迁移之前,先备份数据库。 过程 要在 MSCS 环境中从 DB2 UDB 版本 7 迁移至版本 8.2.2(功能等同于版本 8.1 修订包 9): 1. 将自动故障回退设置为关闭。 在安装过程中,您可能必须重新启动计算机。当重新启动机器时,集群服务将 自动重新启动。因此,必须将自动故障回退设置为关闭,以便任何一个组都不 会自动进行故障回退。 a. 在 DB2 组 0 中,要禁用自动故障回退: 1) 从“集群管理员”窗口中,右键单击 DB2 组 0。 2) 选择属性。“DB2 组 0 属性”窗口打开。 3) 在故障回退选项卡上,选择阻止故障回退单选按钮。 4) 单击确定。 b. 在 DB2 组 1 中,要禁用自动故障回退: 1) 从“集群管理员”窗口中,右键单击 DB2 组 1。 2) 选择属性。“DB2 组 1 属性”窗口打开。 3) 在故障回退选项卡上,选择阻止故障回退单选按钮。 4) 单击确定。 2. 将 DB2 组 1 移至计算机 A。 a. 从“集群管理员”图形用户界面中,单击 DB2 组 1。 b. 单击右键,选择移动组。“所有者”列将更改为“计算机 A”。 3. 停止计算机 B 上的集群服务。 a. 从“组件服务”窗口中,右键单击集群服务。 b. 单击停止。 4. 在计算机 B 上下载并安装 DB2 UDB 版本 8.2.2(功能等同于版本 8.1 修订包 9)。 注: * DB2 UDB 在计算机 A 上仍在运行并且可用。 * 作为安装过程的一部分,系统将提示您运行 db2imigr 命令以在此 计算机上迁移 DB2 实例。在运行 db2imigr 时,您可能必须重新启 动计算机。 5. 使计算机 A 上的 DB2 资源脱机。 a. 分区 0、分区 1 和 DAS 是计算机 A 上的所有资源。必须同时使这些资源 脱机。要使计算机 A 上的资源脱机: 1) 从左边窗口面板的“集群管理员”窗口中选择组。 2) 选择 DB2 组 0。该组的资源显示在右边的窗口面板中。 * 对于 DB2 组 0,DB2 资源包括分区 0 和 DAS。 3) 在右边窗口面板中,右键单击其中一个资源,选择使它脱机。 * 对 DB2 组 0 中的每个 DB2 资源重复此步骤。 4) 选择 DB2 组 1。该组的资源显示在右边的窗口面板中。 * 对于 DB2 组 1,DB2 资源包括分区 1。 5) 在右边窗口面板中,右键单击资源(分区 1),选择使它脱机。 6. 停止计算机 B 上的集群服务。 如果安装要求您重新启动计算机并且集群服务的重新启动类型设置为自动,则 跳过此步骤,原因是集群服务已经启动。 要启动集群服务: a. 从“组件服务”窗口中,右键单击集群服务。 b. 单击启动。 7. 将 DB2 组 0 移至计算机 B。 a. 从“集群管理员”窗口中,单击 DB2 组 0。 b. 单击右键,选择移动组。“所有者”列将更改为“计算机 B”。 c. 单击 DB2 组 1。 d. 单击右键,选择移动组。“所有者”列将更改为“计算机 B”。 8. 使计算机 B 上的 DB2 资源联机。 a. 分区 0、分区 1 和 DAS 现在是计算机 B 上的资源。一次只能使这些资源 中的一个资源重新联机。要使这些资源联机: 1) 从左边窗口面板的“集群管理员”窗口中选择组。 2) 选择 DB2 组 0。该组的资源显示在右边的窗口面板中。 * 对于 DB2 组 0,DB2 资源包括分区 0 和 DAS。 3) 在右边窗口面板中,右键单击其中一个资源,选择使它联机。 * 对 DB2 组 0 中的每个 DB2 资源重复此步骤。 4) 选择 DB2 组 1。该组的资源显示在右边的窗口面板中。 * 对于 DB2 组 1,DB2 资源包括分区 1。 5) 在右边窗口面板中,右键单击资源(分区 1),选择使它联机。 b. 迁移所有 DB2 实例和所有 DB2 数据库。 1) 使用 db2imigr 命令迁移所有 DB2 实例: a) 要查找所有 DB2 实例,运行 db2ilist 命令。 b) 要迁移每个 DB2 实例,运行 db2imigr 命令。此命令在 sqllib\bin 目录下,并且必须对每个 DB2 实例运行此命令。 2) 使用 migrate database 命令迁移所有 DB2 数据库。 9. 停止计算机 A 上的集群服务。 a. 从“组件服务”窗口中,右键单击集群服务。 b. 单击停止。 10. 在计算机 A 上下载并安装 DB2 UDB 版本 8.2.2(功能等同于版本 8.1 修订 包 9)。 注: * DB2 在计算机 A 上仍在运行并且可用。 * 作为安装过程的一部分,您可能必须重新启动计算机。 * 您不必在在计算机 A 上运行 db2imigr 和 migrate database 命令 ,原因是您已经在计算机 B 上运行了这些命令。 11. 在计算机 A 上启动集群服务。 如果安装要求您重新启动计算机并且重新启动类型设置为自动,则跳过此步骤 ,原因是集群服务已经启动。 要启动集群服务: a. 从“组件服务”窗口中,右键单击集群服务。 b. 单击启动。 12. 将 DB2 组 0 移至计算机 A。 a. 从“集群管理员”窗口中,单击 DB2 组 0。 b. 单击右键,选择移动组。“所有者”列将更改为“计算机 A”。 此操作使 MSCS 环境重新恢复到初始配置。 13. 如果在步骤 1 中关闭了自动故障回退,则必须打开它。 a. 在 DB2 组 0 中,要启用自动故障回退: 1) 从“集群管理员”图形用户界面中,右键单击 DB2 组 0。 2) 选择属性。“DB2 组 0 属性”窗口打开。 3) 在故障回退选项卡上,选择允许故障回退单选按钮。 4) 单击确定。 b. 在 DB2 组 1 中,要启用自动故障回退: 1) 从“集群管理员”窗口中,右键单击 DB2 组 1。 2) 选择属性。“DB2 组 1 属性”窗口打开。 3) 在故障回退选项卡上,选择允许故障回退单选按钮。 4) 单击确定。 数据库迁移(HP-UX on IA64) 在整个版本 8.x 发行版中,DB2 通用数据库(UDB)HP-UX on IA64 版都不支持 数据库迁移。 在 DB2 UDB HP-UX on IA64 版上,不支持将版本 7 DB2 备份映像复原为版本 8 实例。 卸载信息 以静默方式卸载 DB2 UDB(Windows) 要使用 msiexec 命令以静默方式除去 DB2 产品: msiexec /x /qn 其中 表示想要除去的产品的代码。 以下是 DB2 产品代码的列表: DB2 通用数据库企业服务器版(ESE) {D8F53726-C7AD-11D4-9155-00203586D551} DB2 通用数据库工作组服务器版(WSE) {7A28F948-4945-4BD1-ACC2-ADC081C24830} DB2 通用数据库易捷版(EXP) {58169F10-CA30-4F40-8C6D-C6DA8CE47E16} DB2 通用数据库个人版(PE) {C0AA883A-72AE-495F-9601-49F2EB154E93} DB2 仓库管理器(WM) {84AF5B86-19F9-4396-8D99-11CD91E81724} DB2 Data Links Manager(DLM) {1D16CA65-F7D9-47E5-BB26-C623A44832A3} Relational Connect (RCON) {273F8AB8-C84B-4EE6-85E7-D7C5270A6D08} DB2 Connect 企业版(CEE) {9C8DFB63-66DE-4299-AC6B-37D799A728A2} DB2 Connect 个人版(CPE) {F1912044-6E08-431E-9B6D-90ED10C0B739} DB2 管理客户机(ADMCL) {ABD23811-AA8F-416B-9EF6-E54D62F21A49} DB2 应用程序开发客户机(ADCL) {68A40485-7F7F-4A91-9AB6-D67836E15CF2} DB2 运行时客户机(RTCL) {63F6DCD6-0D5C-4A07-B27C-3AE3E809D6E0} DB2 7(RTLITE) {07C9CEE7-4529-4E60-95D3-6B6EF6AC0E81} DB2 Eclipse 文档(DOCE) {FE2D4758-041C-4E4E-95B3-529E4E1EAF3E} DB2 Query Patroller(QP) {7A8BE511-8DF3-4F22-B61A-AF0B8755E354} Life Sciences Data Connect(LSDC) {DD30AEB3-4323-40D7-AB39-735A0523DEF3} DB2 Cube Views(TM)(CUBE) {C8FEDF8F-84E8-442F-A084-0A0F6A772B52} DB2 Spatial Extender(SE) {F6846BF9-F4B5-4BB2-946D-3926795D5749} 示例 如果想要除去 DB2 UDB 企业版,则输入以下命令 msiexec /x {D8F53726-C7AD-11D4-9155-00203586D551} /qn 在 DB2 UDB 版本 8.2 中不再支持下列 DB2 产品代码: * WMC {5FEA5040-22E2-4760-A88C-73DE82BE4B6E} * DOC {73D99978-A255-4150-B4FD-194ECF4B3D7C} 用于使用静默卸载除去 DB2 信息中心的产品代码(Windows) 在 Windows 上使用静默卸载除去 DB2 信息中心时,使用以下产品代码: {FE2D4758-041C-4E4E-95B3-529E4E1EAF3E} 已知局限性、问题和变通方法 下列信息是当前已知局限性、问题和变通方法,它仅适用于本发行版。任何局限 性和限制可能适用于也可能不适用于该产品的其他发行版。DB2 支持 Web 站点还 包含技术说明和服务动画短片,它们描述创建此文档之后发现的文档及已知局限 性和变通方法的更改。DB2 支持 Web 站点的地址是 http://www.ibm.com/software/data/db2/udb/support.html。 修订标记标识新增或更改过的文本。竖线(|)标识对版本 8.2 修订包 4(功能 等同于版本 8.1 修订包 11)新增或更改过的信息。 局限性 db2look - 自动存储器表空间的局限性 对于使用自动存储器表空间的数据库,db2look 命令将成功完成。但它不会显示 特定于自动存储器表空间的表空间信息。 SNAP_GET_DB 表函数返回的结果不完整 如果在数据库分区功能(DPF)环境中输入 -2(全局快照)来调用 SNAP_GET_DB 表函数,该函数将对以下四列返回不完整的结果: * FIRST_ACTIVE_LOG * LAST_ACTIVE_LOG * CURRENT_ACTIVE_LOG * CURRENT_ARCHIVE_LOG 不能为全局快照聚集这些元素。要检索这些快照元素值的完整集合,应在每个分 区上分别调用 SNAP_GET_DB 表函数。 IMPORT REPLACE 不会响应 NOT LOGGED INITIALLY 子句 IMPORT 命令的 REPLACE 选项不会响应 CREATE TABLE 语句的 NOT LOGGED INITIALLY(NLI)子句或 ALTER TABLE 语句的 ACTIVATE NOT LOGGED INITIALLY 子句。 如果带有 REPLACE 操作的导入与调用 NLI 子句的 CREATE TABLE 或 ALTER TABLE 语句是在同一事务中执行的,则该导入将不响应 NLI 子句。将记录下所有插入。 变通方法 1 使用 DELETE 语句删除该表的内容,然后使用 INSERT 语句调用导入。 变通方法 2 删除该表并重新创建它,然后使用 INSERT 语句调用导入。 此局限性适用于 DB2 UDB 版本 7 和 DB2 UDB 版本 8。 不能使用 inplace 表重组重组长字段和 LOB 数据 在 inplace 或联机表重组期间,不能重组长字段和 LOB 数据。通过使用 REORG TABLE 命令指定 LONGLOBDATA 参数,可以使用传统或脱机表重组来重组长字段和 LOB 数据。然而,应该注意,尽管重组长字段和 LOB 数据允许回收可用空间,但 它不能改善集群,并且极大地增加了完成重组所需的时间。 客户机应用程序中分块游标中的锁定行为不一致 在游标稳定性(CS)隔离中,数据库服务器上与当前游标位置关联的行始终被锁 定。在锁定访问期间,可以将多行返回到单个缓冲区中。大多数情况下,在服务 器端处理的最后一行的大小不是正好合适,它将被分割到两个缓冲区中。在第二 个缓冲区接收到此分割行之前,应用程序将看不到此行。因此,返回到应用程序 的行将不会被锁定。 在很少情况下,在服务器端处理的最后一行的大小正好合适,那么游标位置将保 留在缓冲区内的最后一行上,这表示返回到应用程序的最后一行将被锁定。 使用 ODBC 将数据导出至文件仓库程序 使用 ODBC 将数据导出至文件仓库程序不支持下列 Sybase 数据类型: * BIT * BINARY * VARBINARY 在开发中心的集成 SQL 调试器中不受支持的数据类型 下列数据类型在集成到开发中心的“SQL 调试器”中不受支持: * 对于 DB2 通用数据库(UDB)Linux 版、UNIX 版和 Windows 版,CHAR FOR BIT DATA、VARCHAR FOR BIT DATA 和 GRAPHIC 数据类型不受支持。 * 对于 DB2 UDB z/OS 版,GRAPHIC 数据类型不受支持,并且用作参数的 BLOB 和 CLOB 数据类型也不受支持。用作局部变量的 BLOB 和 CLOB 是受支持的。 开发中心中的结构类型 “开发中心”不再支持创建结构类型。 开发中心对于 64 位操作系统的局限性 开发中心不支持针对 64 位服务器调试 Java 存储过程。调试 SQL 存储过程在 64 位 Windows 操作系统上受支持。对于 64 位服务器,不支持开发 OLE DB 或 XML 用户定义的函数。 开发中心(Linux) 不能使用开发中心调试在任何 Linux 分发产品(32 位、64 位、Intel(TM)、 zSeries(R) 或 iSeries(TM))上运行的 Java 存储过程。 调试带有双引号的存储过程 开发中心不支持对存储过程名称、模式或具体名称中带有双引号(")的任何存储 过程进行调试。 支持在开发中心中编译 Java 例程所需的路径设置 开发中心不能编译 Java 例程,除非它知道您的开发者工具箱版本的安装位置。 在“开发中心”第一次启动时,开发者工具箱版本的缺省目录被写至 $HOME/.ibm/db2/dc/DB2DC.settings 文件。您可以将这些目录复制至 $USER.settings 文件并使用 Unicode 编辑器来修改它们,也可以创建指向缺省 位置中的开发者工具箱目录的符号链接。 同时运行和调试 Java 存储过程的开发中心局限性 开发中心不支持同时运行和调试若干 Java 存储过程。在开发中心中,可以同时 运行多个 Java 存储过程,也可以调试单个 Java 存储过程;不能在运行一个 Java 存储过程的同时调试另一个 Java 存储过程。缺省情况下,KEEPFENCED 数 据库管理器配置关键字设置为 KEEPFENCED=YES,正如调试 SQL 存储过程要求的 那样。当关键字 KEEPFENCED 的缺省值是 YES 时,例程进程就会保持活动并且 JVM 端口冲突就会发生。当使用缺省 KEEPFENCED=YES 数据库管理器配置设置时 ,在下列任何一种情况下,Java 存储过程会导致 JVM 异常并将会失败: * 在开发中心中构建 Java 存储过程然后调试它 * 一个用户正在运行 Java 存储过程,而在初始 Java 存储过程仍在运行的同时 另一个用户正在调试 Java 存储过程 * 一个用户正在调试 Java 存储过程,而在初始 Java 存储过程正被调试的同时 另一个用户正在运行 Java 存储过程 要解决此局限性,通过运行以下命令确保将 KEEPFENCED 数据库管理器配置关键 字设置为 KEEPFENCED=NO: db2 update dbm cfg using KEEPFENCED NO db2stop db2start 当将 KEEPFENCED 设置为 NO 时,db2fmp 进程将在 Java 存储过程调用完成时关 闭,DB2 通用数据库将启动新的 db2fmp 进程来处理下一个例程调用。这确保在 开始调试 Java 存储过程时将没有现有的 JVM 处于调试方式。 KEEPFENCED=YES 设置是构建 SQL 存储过程以进行调试以及调试 SQL 存储过程所 必需的。当 KEEPFENCED=NO 时,仍可构建和执行 SQL 存储过程,但不能调试它 们。 不支持 DB2SystemMonitor.getServerTimeMicros 方法 DB2(R) 通用数据库(TM) Linux(TM) 版、UNIX(R) 版和 Windows(R) 版服务器当 前不支持 DB2(R) 通用 JDBC 驱动程序方法 DB2SystemMonitor.getServerTimeMicros()。当连接至 DB2(R) 通用数据库(TM) Linux 版、UNIX 版和 Windows(R) 版服务器时, DB2SystemMonitor.getServerTimeMicros() 方法返回 0。 必须安装 IBM XL C/C++ 编译器运行时(Linux on iSeries 和 pSeries 系统,64 位) 在安装 64 位的 DB2 for Linux on iSeries(TM) 和 pSeries(R) 系统之前,必 须满足以下需求: * 必须在 Linux 分发产品支持的 iSeries(TM) 或 pSeries(R) 硬件上运行。 * 必须正在运行以下两个分发产品中的一个: * SUSE LINUX Enterprise Server(SLES)9 或 * Red Hat Enterprise Linux 3 Update 3(Taroon) * 必须下载并安装 IBM(R) XL C/C++ Advanced Edition V7.0 for Linux Run-Time Environment 组件。有关更多信息,参见 http://www.ibm.com/support/docview.wss?uid=swg24007906 或遵循以下步骤: 1. 访问 XL C/C++ 支持页面,网址为 http://www.ibm.com/software/awdtools/xlcpp/support/ 2. 在“Self Help: Download”标题下,选择“Latest Updates (PTFs)” 3. 在“Linux”标题下,选择“XL C/C++ Advanced Edition V7.0 for Linux Run-Time Environment” 4. 遵循“XL C/C++ Advanced Edition V7.0 for Linux Run-Time Environment”页面上的指示信息。 在 DB2 UDB 版本 8.2.2 上不支持通用 JDBC 驱动程序 2 类(Linux AMD64) Linux AMD64 上的 DB2 通用数据库(TM)(UDB)版本 8.2.2(功能等同于版本 8.1 修订包 9)不支持 2 类 通用 JDBC 驱动程序 。计划在将来的修订包中支持此驱 动程序。版本 8.2.2 中的 JDBC 支持可使用 4 类通用 JDBC 驱动程序 和旧的 2 类 JDBC 驱动程序 (COM.ibm.db2.jdbc.app.DB2Driver)获取。 PHP 应用程序中的游标 PHP 解释器代表应用程序创建游标,该游标在缺省情况下被创建为可滚动键集驱 动游标。在某些情况下,这可能导致返回意外结果。为避免此情况,对用于更新 数据的所有 SELECT 语句显式指定“FOR READ ONLY”子句。其他方法包括设置 CLI 配置参数“Patch2=6”、“Patch2=42”或“DisableKeysetCursor=1”。但 是,每种方法都可能带来不同后果。有关这些配置关键字的详细信息,请参阅 CLI Guide and Reference 文档。 ConnectNode CLI/ODBC 配置关键字局限性 ConnectNode 关键字不影响控制中心。控制中心始终连接至 SQL_CONN_CATALOG_NODE 设置引用的目录节点。 SQLColumns 函数(CLI)限制 SQLColumns() 函数不支持从别名的别名返回数据。当针对别名的别名调用时, SQLColumns() 函数返回空结果集。 CLI 程序包的绑定选项局限性 如果使用下列任何列表文件绑定 CLI 程序包,某些绑定选项可能无法生效: db2cli.lst、ddcsmvs.lst、ddcs400.lst、ddcsvm.lst或 ddcsvse.lst。由于 CLI 程序包由 CLI、ODBC、JDBC、OLE DB、.NET 和 ADO 应用程序使用,对 CLI 程序 包的任何更改都会影响所有这些类型的应用程序。因此,在绑定 CLI 程序包时, 缺省情况下仅支持绑定选项的子集。受支持的选项包括:ACTION、COLLECTION、 CLIPKG、OWNER 和 REPLVER。影响 CLI 程序包的所有其他绑定选项将被忽略。 要使用缺省情况下不受支持的绑定选项创建 CLI 程序包,以不同于缺省集合标识 NULLID 的集合标识指定 COLLECTION 绑定选项。于是所有指定绑定选项都会被接 受。例如,要使用 KEEPDYNAMIC YES 绑定选项(该选项在缺省情况下不受支持) 创建 CLI 程序包,输入以下命令: db2 bind @db2cli.lst collection newcolid keepdynamic yes 为了让 CLI/ODBC 应用程序访问在新集合中创建的 CLI 程序包,将 db2cli.ini 初始化文件中的 CurrentPackageSet CLI/ODBC 关键字设置为新的集合标识。 要覆盖特定集合标识下已经存在的 CLI 程序包,执行下列任一操作: * 在对此集合标识发出绑定命令之前删除现有 CLI 程序包 * 在发出绑定命令时指定 ACTION REPLACE 绑定选项 CLI LOAD 实用程序限制 如果用于插入数据的预编译 SQL 语句包含 SELECT 子句,则 CLI LOAD 实用程序 不支持参数标记。 在版本 8.2 修订包 3(功能等同于版本 8.1 修订包 10)之前,如果 INSERT 语 句包括 VALUES 子句,则 CLI LOAD 实用程序不允许指定目标列。 但是,从版本 8.2 修订包 3(功能等同于版本 8.1 修订包 10)开始,CLI LOAD 实用程序允许在带有 VALUES 子句的 INSERT 语句中指定目标列。例如,CLI LOAD 现在支持以下语句: INSERT into tableA (col1, col2, col3) VALUES (?, ?, ?) 不支持创建工具目录数据库(适用于 AMD64 的 Linux) 不支持在 Linux(AMD64)上的 64 位 DB2 通用数据库(UDB)实例下创建工具目 录数据库。不要尝试在 64 位实例下使用下列任何一种方法来创建工具目录: * 安装 DB2 UDB * 使用 db2isetup 命令更新 64 位实例 * 在安装完成之后发出 CREATE TOOLS CATALOG CLP 命令 从版本 8.1.4 开始,支持在 Linux(AMD64)上的 32 位实例下创建工具目录数 据库。 不支持创建工具目录数据库(AIX、Solaris 操作环境和 HP-UX) 不支持在 DB2 通用数据库(UDB)的安装期间针对 64 位混合平台上的 64 位实 例创建工具目录。混合平台为: * AIX * Solaris 操作环境 * HP-UX * 其他同时支持 32 位和 64 位实例的平台 如果您想要针对 64 位实例创建工具目录,则可以在安装 DB2 UDB 之后通过命令 行处理器使用 CREATE TOOLS CATALOG CLP 命令或者使用控制中心来完成。对于 此操作,还需要安装 64 位 IBM Developer Kit for Java。有关更多详细信息, 参阅《DB2 管理指南》的『DB2 管理服务器』一节。 DB2 UDB 易捷版和 DB2 工作组服务器版版本 8.2 的内存限制 对于下列产品有内存限制: * IBM DB2 通用数据库(UDB)易捷版(指定用户选项)。每台服务器的最大内 存为 4GB。 * IBM DB2 UDB 易捷版(CPU 选项)。每台服务器的最大内存为 4GB。 * IBM DB2 UDB 工作组服务器版。每台服务器的最大内存为 16GB。 * IBM DB2 UDB 工作组服务器无限制版。每台服务器的最大内存为 16GB。 调度仓库进程使其以一定时间间隔运行 当调度仓库进程使其以一定时间间隔运行时,必须确定在进程中运行所有生产步 骤所花的最长时间,并相应地调度时间间隔。如果进程超过已安排的时间间隔, 则对该进程安排的所有后续事件将不会运行,并且不会被重新安排。 版本 8 中 SNA 支持的局限性 从用于 Windows 和 UNIX 操作系统的 DB2 通用数据库(UDB)企业服务器版(ESE )版本 8 和用于 Windows 和 UNIX 操作系统的 DB2 Connect 企业版(CEE)版本 8 中撤销了以下支持: * 不能使用通过 SNA 实现的多站点更新(两阶段落实)功能。需要多站点更新 (两阶段落实)的应用程序必须使用 TCP/IP 连接。已经有几个发行版能够使 用 TCP/IP 来对主机或 iSeries 数据库服务器进行多站点更新(两阶段落实 )。在 DB2 UDB ESE 版本 8 中,需要多站点更新(两阶段落实)支持的主机 或 iSeries 应用程序可以使用 TCP/IP 多站点更新(两阶段落实)支持的新 功能。 * DB2 UDB ESE 或 DB2 CEE 服务器不再接受使用 SNA 的客户机连接。从版本 8 修订包 1 开始,DB2 UDB 允许 32 位的 AIX、Solaris 操作环境、HP-UX 和 Windows 应用程序使用 SNA 访问主机或 iSeries 数据库服务器。此支持允许 应用程序使用 SNA 来访问主机或 iSeries 数据库服务器,但是只使用一阶段 落实。 * 只有通过使用 TCP/IP 才能获得对 DB2 UDB z/OS 版的 Sysplex 支持。 Sysplex 支持并不是通过使用 SNA 连接提供的。 * 当使用 SNA 与主机数据库服务器建立连接时,更改密码支持就不再可用。 * 在下一版本的 DB2 UDB 和 DB2 Connect 中,将撤销所有 SNA 支持。 DB2 UDB 客户机的安全性插件问题和限制(Windows) 当开发将在 Windows 操作系统上的 DB2 客户机中部署的安全性插件时,不要卸 装插件终止函数中的辅助库。此限制适用于所有类型的客户机安全性插件,包括 组、用户标识和密码、Kerberos 和 GSS-API 插件。 卸装 Windows 操作系统上的 DB2 客户机的安全性插件时,DB2 通用数据库的问 题导致了此限制。 在尝试连接时报告成功登录失败(AIX) 在 AIX 上使用操作系统认证时,DB2 通用数据库(UDB)尝试在连接尝试认证成 功的情况下报告成功登录至 AIX。在版本 8 修订包 5 之前,如果 DB2 UDB 无法 报告成功的登录,则尽管已认证用户,连接也将失败。从版本 8 修订包 5 开始 ,将允许连接继续进行,而失败将记录在 db2diag.log 文件中。 不支持由两部分组成的用户标识(Windows ME) 用于 CONNECT 语句和 ATTACH 命令的由两部分组成的用户标识(例如, domainname\username)在 Windows ME 上不受支持。 装入和导入列页不支持 IXF 文件中的 DBCS 字符 如果使用“装入”向导和“导入”笔记本来设置从包含 DBCS 字符的 IXF 输入文 件的装入和导入,则“列”页将不会正确显示文件中包含的列名。 AMD64 上的 Linux 操作系统的图形用户界面工具 随 DB2 通用数据库(UDB)提供的图形用户界面工具是基于 Java- 的图形实用程 序。以下是 DB2 UDB 图形用户界面工具的一些示例: * 控制中心 * 信息中心 * 配置助手 * 开发中心 因为 AMD64 上的 Linux 操作系统当前没有 64 位 Java(TM) SDK 或 Runtime Environment,运行这些工具要求您从 32 位 DB2 UDB 实例获得这些软件。 您仍然可以使用这些工具来管理本地和远程 64 位实例中的数据库。例如,要使 用控制中心,必须先创建 32 位实例。在创建 32 位实例之后,需要手工编目想 要管理的本地 64 位实例。 在以下 URL 中可以找到有关 DB2 for Linux on AMD64 的更多信息: ftp://ftp.software.ibm.com/software/data/pubs/papers/linuxamd64.pdf 图形用户界面工具的最低显示器设置 要使图形用户界面工具(例如,控制中心)正常工作,屏幕分辨率必须至少为 800 *600,并且显示器调色板至少为 32 色。 GB18030 字符在窗口标题栏中的显示不正确 如果窗口标题栏中有依据 GB18030 中文字符编码标准的字符,这些字符可能显示 为问号或方块。 不要对信息目录中心表进行分区 信息目录管理器使用的表必须包含在单个数据库分区中。将表放置在单一分区中 有许多方法。以下过程就是一种奏效的方法: 1. 打开 DB2 命令行处理器并发出下列命令: a. CREATE DATABASE PARTITION GROUP partition_group_name ON DBPARTITIONNUM partition_number b. CREATE REGULAR TABLESPACE tablespace_name IN DATABASE PARTITION GROUP partition_group_name MANAGED BY SYSTEM USING ('cname') 其中 partition_group_name 在两个命令中是一样的。 2. 单击“开始”->“程序”->“IBM DB2”->“设置工具”->“管理信息目录向 导”。 3. 在“选项”页上,在表空间字段中指定表空间名。 DYN_QUERY_MGMT 被禁用时的 Query Patroller 局限性 如果禁用数据库配置参数 DYN_QUERY_MGMT,则 Query Patroller 不能执行下列 操作: * 从挂起状态释放查询 * 当正在运行的查询或排队查询在前台时,使该查询在后台运行 当 DYN_QUERY_MGMT 被设置为 DISABLE 时,如果尝试从挂起状态释放查询或将前 台查询更改为后台查询,则将显示一条错误消息并将不会更改该查询的状态。如 果调度挂起的查询以运行并在它们开始运行时禁用 DYN_QUERY_MGMT,则一条错误 消息将被写入 qpdiag.log 文件,并且该查询将保持挂起状态。 Query Patroller 结果表现在使用 DB2QPRT 模式 从修订包 5 开始,所有新的结果表都是使用模式 DB2QPRT 而不是使用提交者的 模式创建的。 将对 DB2QPRT 模式的 DROPIN 特权授予其概要文件是在安装修订包 5 之前创建 的并且有下列任一权限的操作员: * 有编辑权限的 MONITORING 特权 * 有编辑权限的 HISTORICAL ANALYSIS 特权 将在 Query Patroller 第一次使用此模式创建结果表时授予对 DB2QPRT 模式的 DROPIN 特权。 在创建或更新以下操作员的概要文件时还将授予这些操作员对 DB2QPRT 模式的 DROPIN 特权:在安装修订包 5 之后授予有编辑权限的 MONITORING 特权或授予 有编辑权限的 HISTORICAL ANALYSIS 特权的操作员。 运行状况指示器限制 如果指示器进入关闭状态,则运行状况监视器不能为 db2.db2_op_status 运行状 况指示器执行操作。例如,当指示器正在监视的实例由于显式停止请求和异常终 止而变得不活动时,就会导致这种状态。如果想要实例在任何异常终止之后自动 重新启动,则配置故障监视器以使实例保持高可用性。 已知问题和变通方法 使用包含 - 和 + 字符的列上的索引导出到 IXF 文件 当使用 IXF 文件格式和 SELECT * 子句发出 export 命令时,适用时将收集索引 信息。 问题 如果索引中指定的列名包含 - 或 + 字符,则将不会收集索引信息,并且将接收到 SQL 代码 SQL27984W。导出将完成,并且被导出的数据不会受到影响。但是,索 引信息将不会保存在 IXF 文件中。 变通方法 如果将使用带有 CREATE 参数的 import 命令重新创建表,则将不会重新创建索 引。要单独创建索引,使用 db2look 实用程序。 调用 db2ReadLog API 时 CLI0116E 或 SQL0428N 错误 问题 如果应用程序与数据库断开连接并且在断开连接之前未执行落实或回滚时,从该 应用程序调用 db2ReadLog API 可能导致错误: * 如果从 CLI 应用程序调用 db2ReadLog API,则可能生成 CLI0116E 错误。 * 如果从用 C 编写的嵌入式 SQL 应用程序调用 db2ReadLog API,则可能生成 SQL0428N 错误。 变通方法 1 对于非嵌入式 SQL 应用程序,在调用 db2ReadLog API 之前将自动落实方式设置 为“打开”。 变通方法 2 在调用 db2ReadLog API 之后并且在断开与数据库的连接之前,发出 COMMIT 或 ROLLBACK 语句。 “db2gcf -k”命令在 DB2 UDB 工作组服务器上失败 问题 db2gcf 命令通常从自动运行的脚本启动、停止或监视 DB2 通用数据库(UDB)实 例(例如,在 HA(高可用性)集群中)。 在 DB2 UDB 工作组服务器上将 db2gcf 系统命令与 -k 参数配合使用将失败。 变通方法 “db2gcf -k”命令仅在 DB2 UDB 企业服务器版上起作用,在 DB2 UDB 工作组服 务器版上不起作用。 来自 DRDA 包装器的 SQL1224 错误(AIX) 如果 32 位 DB2 通用数据库(UDB)服务器在 AIX 系统上运行且在同一系统上运 行的应用程序通过 DRDA(R) 包装器进行了多个本地数据库连接,则该应用程序可 能会接收到以下错误: SQL1822N 从数据源“W3_SERVER2”接收到意外错误代码“-1224”。 相关联的文本和标记如下: func="DriverConnect" msg="SQL1224N 不能启动数据库代理进程来响应请求,或者数据库代理 进程因为数据库系统关系或强制命令已终止。" SQLSTATE=560BD 为了避免此错误,将以下条目置于联合配置文件(instance_directory /cfg/db2dj.ini)中: EXTSHM=ON 注: 在向联合配置文件添加条目时,必须停止并重新启动 DB2 UDB 以使更改生效 。 或者,可象在 TCP/IP 节点上那样编目本地 DB2 UDB 数据库。例如: CATALOG TCPIP NODE my_node REMOTE my_host SERVER 123; CATALOG DB mydb AT NODE my_node; CREATE WRAPPER drda; CREATE SERVER my_server TYPE DB2/UDB VERSION 8 WRAPPER drda AUTHORIZATION "my_id" PASSWORD "my_pw" OPTIONS(ADD DBNAME 'MYDB'); 热键在 Microsoft Visual Studio .NET Framework 1.1 中不起作用 如果热键在 Microsoft Visual Studio .NET Framework 1.1 中不起作用,可从 Microsoft Web 站点下载最新修订程序。可在 Microsoft Knowledge Base 文档 Q836745 中找到最新修订程序。 简体中文语言环境(AIX) 在下列系统上,AIX 已更改绑定至简体中文语言环境 Zh_CN 的代码集: * AIX V5.1.0000.0011 或更新版本 * 安装有维护级别 2 或更新版本的 AIX V5.1.0 代码集已从 GBK(代码页 1386)更改为 GB18030(代码页 5488 或 1392)。由于 DB2 通用数据库(UDB)AIX 版本身就支持 GBK 代码集,并且通过 Unicode 还支 持 GB18030 代码集,所以 DB2 UDB 将把 Zh_CN 语言环境的代码集缺省设置为 ISO 8859-1(代码页 819),并且在某些操作中,还将把语言环境的地域缺省设 置为美国(US)。 要消除此局限性,可以使用下面两种方法: * 可以将语言环境的代码集从 GB18030 更改为 GBK,并将地域从美国更改为中 国(其地域标识为 CN,地域代码是 86)。 * 可以使用另一种简体中文语言环境。 如果选择使用第一个选项,则发出下列命令: db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start 如果选择第二个选项,则将语言环境从 Zh_CN 更改为 ZH_CN 或 zh_CN。ZH_CN 语言环境的代码集是 Unicode(UTF-8),而 zh_CN 语言环境的代码集为 eucCN (代码页 1383)。 简体中文语言环境(Red Hat Linux) Red Hat V8 和更新版本(包括 Red Hat Enterprise Linux [RHEL] V2.1 和 V3 )已将简体中文的缺省代码集从 GBK(代码页 1386)更改为 GB18030(代码页 5488 或 1392)。 由于 DB2 通用数据库(UDB)Linux 版本身就支持 GBK 代码集,并且通过 Unicode 还支持 GB18030 代码集,所以 DB2 UDB 将把它的代码集缺省设置为 ISO 8859-1(代码页 819),并且在某些操作中,还将把它的地域缺省设置为美国(US )。 要消除此局限性,可以使用下面两种方法: * 可以将 Red Hat 缺省代码集从 GB18030 更改为 GBK,并将地域从美国更改为 中国(其地域标识为 CN,地域代码是 86)。 * 可以使用另一种简体中文语言环境。 如果选择使用第一个选项,则发出下列命令: db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start 如果选择使用第二个选项,则发出下列任何一个命令: export LANG=zh_CN.gbk export LANG=zh_CN export LANG=zh_CN.utf8 其中,与 zh_CN 相关联的代码集为 eucCN 或代码页 1383,与 zh_CN.utf8 相关 联的代码集为代码页 1208。 Merant 驱动程序管理器不兼容性(UNIX) 当“Merant 驱动程序管理器”访问 UNIX 上的 DB2 ODBC 驱动程序时,存在与 Unicode 支持不兼容的情况。即使应用程序未请求使用 Unicode,这些不兼容情 况也会导致“Merant 驱动程序管理器”使用 Unicode。这种情况可能会导致要求 “Merant 驱动程序管理器”支持非 IBM 数据源的组件(例如,数据仓库中心、 信息目录管理器和 MQSI)遇到问题。在有永久解决方案之前,可使用未启用 Unicode 支持的备用 DB2 ODBC 驱动程序库。 DB2 通用数据库(UDB)版本 8.1 AIX 版、HP-UX 版和 Solaris 操作环境版附带 包括了未启用 Unicode 支持的备用 DB2 ODBC 驱动程序库。要使用此备用库,必 须创建它的副本,并将副本命名为原始 DB2 ODBC 驱动程序库的名称。 注: 备用(_36)库包含 DB2 JDBC 驱动程序所需要的 Unicode 功能。使用此库 允许 JDBC 应用程序(包括 WebSphere(R) Application Server)与 DB2 UDB 成功配合工作。 要在 AIX、HP-UX 或 Solaris 操作环境上切换至非 Unicode ODBC 库,请参阅以 下指示信息。由于这是一个手工过程,所以每次更新产品时(包括应用后续修订 包或修改级别之后)都必须执行它。 过程 AIX 要在 AIX 上创建备用库: 1. 以实例所有者身份,使用 db2stop force 命令来关闭所有数据库实 例。 2. 使用 DB2 管理服务器(DAS)实例标识,通过使用 db2admin stop force 命令来关闭 DAS 实例。 3. 备份 /usr/lpp/db2_81/lib 目录中的原始 db2.o 文件。 4. 使用 root 用户权限,发出 slibclean 命令。 5. 将文件 db2_36.o 复制为备份文件 db2.o,并确保所有权和许可权 仍保持一致。使用以下命令: cp db2_36.o db2.o -r--r--r-- bin:bin for db2.o 要切换回到原始对象,请遵循同一过程,但请使用备份文件,而不是 db2_36.o 文件。 Solaris 操作环境 要在 Solaris 操作环境中创建备用库: 1. 以实例所有者身份,使用 db2stop force 命令来关闭所有数据库实 例。 2. 使用 DB2 管理服务器(DAS)实例标识,通过使用 db2admin stop force 命令来关闭 DAS 实例。 3. 备份 /opt/IBMdb2/V8.1/lib 目录中的原始 libdb2.so.1 文件。 4. 将文件 libdb2_36.so.1 复制为备份文件 libdb2.so.1,并确保所 有权和许可权仍保持一致。使用以下命令: cp libdb2_36.so.1 libdb2.so.1 -r-xr-xr-x bin:bin libdb2.so.1 5. 对每个数据库实例发出 dasupdt 命令,并对 DAS 实例 发出 dasupdt 命令。 要切换回到原始对象,请遵循同一过程,但请使用备份文件,而不是 libdb2_36.so.1 文件。 HP-UX PA-RISC 要在 HP-UX PA-RISC 上创建备用库: 1. 使用 db2stop force 命令来关闭所有数据库实例。 2. 使用 db2admin stop force 命令关闭 DB2 管理服务器(DAS)实例 。 3. 备份 /opt/IBMdb2/V8.1/lib 目录中的原始 libdb2.sl 文件。 4. 将文件 libdb2_36.sl 复制为备份文件 libdb2.sl,并确保所有权 和许可权仍保持一致。使用以下命令来确保一致性: cp libdb2_36.sl libdb2.sl -r-xr-xr-x bin:bin for libdb2.sl 5. 对每个数据库实例发出 dasupdt 命令,并对 DAS 实例 发出 dasupdt 命令。 要切换回到原始对象,请遵循同一过程,但请使用备份文件,而不是 libdb2_36.sl 文件。 HP-UX on IA64 要在 HP-UX on IA64 上创建备用库: 1. 使用 db2stop force 命令来关闭所有数据库实例。 2. 使用 db2admin stop force 命令关闭 DB2 管理服务器(DAS)实例 。 3. 备份 /opt/IBMdb2/V8.1/lib 目录中的原始 libdb2.so 文件。 4. 将文件 libdb2_36.so 复制为备份文件 libdb2.so,并确保所有权 和许可权仍保持一致。使用以下命令来确保一致性: cp libdb2_36.so libdb2.so -r-xr-xr-x bin:bin for libdb2.so 5. 对每个数据库实例发出 dasupdt 命令,并对 DAS 实例 发出 dasupdt 命令。 要切换回原始对象,遵循同一过程(使用备份文件而不是 libdb2_36.so 文件)。 其他 UNIX 操作系统 如果您需要关于 DB2 UDB 和其他 UNIX 操作系统上的“Merant 驱动程 序管理器”的帮助,请与 IBM 支持机构联系。 NFS APAR IY32512 - 不可用线程(AIX) AIX 5 NFS APAR IY32512 可能导致 db2stop 命令在带有大量分区的系统上失败。 在接收到大量请求(请求阻止锁定已锁定的文件)的服务器上,锁定守护程序可 能会不响应。如果所有可用的锁定线程都已分配给等待锁定变为可用的线程,于 是在发生解锁请求时没有可用线程来完成此工作,就可能发生这种情况。 如果发生这种情况,必须重新启动已停止的节点。针对这种情况,DB2 通用数据 库的变通方法是使用 db2stop 命令的 NODENUM 选项停止这些节点(一次停止一 个)。 SQLFLAG(STD) 预编译器选项错误 如果启用 SQLFLAG(STD) 预编译选项,则会导致以下错误:当运行预编译程序 DSNHPC 时发生异常终止 C6 错误。 当使用开发中心来创建要在 DB2 通用数据库 z/OS 版版本 8 上运行的 SQL 存储 过程时,除去 SQLFLAG(STD)预编译选项。 在 DB2 Connect 中使用综合系统(sysplex)时必须启用连接池 问题 当 OS390 上的数据共享组中的 DDF 的连接成员已关闭时,DB2 Connect(TM) 不 会将连接路由至“分布式数据设施”(DDF)的另一个成员。在启用综合系统( sysplex)的情况下,DB2 Connect(TM) 会根据服务器列表将连接路由至 DDF 中 的另一个成员。 设计 DB2 Connect V8 综合系统(sysplex)时考虑了代理进程池。如果没有代理 进程并且没有与数据库的连接,则将释放综合系统(sysplex)服务器列表。因此 ,至少必须保留一个代理进程以维护综合系统(sysplex)服务器列表。 变通方法 通过运行下列命令启用连接池: db2 update dbm cfg using num_poolagents number db2stop db2start 其中 number 是 DB2 实例上允许存放的最大代理进程数。当 number 大于 0 时 ,将启用连接池。 建议 将 num_poolagents 设置为 -1,这将得到分配给 maxagents 配置参数的值的一 半。 DB2 Connect 定制顾问程序 尽管在《DB2 Connect 用户指南》中作了说明,但是 DB2 Connect 定制顾问程序 在版本 8.2 中不再受支持。 创建工具目录数据库失败(HP-UX) 问题 当在 HP-UX 上安装 DB2 通用数据库(UDB)版本 8.2 时,如果在 32 位实例下运行 CREATE TOOLS CATALOG 命令,并且 DB2 管理服务器 jdk_path 配置参数指向 HP-UX SDK 1.4,则该命令将失败并产生 SQLCODE -22209。发生这种故障是因为缺省情况下 DB2 UDB 版本 8.2 将安装 HP-UX SDK 1.4,但版本 8.2 32 位实例需要 HP-UX SDK 1.3 才能成功地运行 CREATE TOOLS CATALOG 命令。 当安装 DB2 UDB 版本 8.1 修订包 7 时,如果您将 DB2 管理服务器 jdk_path 配置参数手工更新为指向 HP-UX SDK 1.4,或者如果您先废 弃然后再重新创建 DB2 管理服务器(DAS),也会发生此故障。之所以 发生故障是因为在任何一种情况下 jdk_path 配置参数都更改为指向 HP-UX SDK 1.4。 DB2 UDB 版本 8.2 32 位实例要求成功运行 HP-UX SDK 1.3。 变通方法 1 在 64 位实例下创建工具目录。 变通方法 2 通过执行下列步骤在 32 位实例下创建工具目录: 1. 从以下 HP-UX Web 站点下载 HP-UX SDK 1.3: http://www.hp.com/products1/unix/java/ 2. 安装 HP-UX SDK 1.3。 3. 将 DB2 管理服务器 jdk_path 配置参数更新为指向 HP-UX SDK 1.3 。例如: db2 update admin config using JDK_PATH /opt/java1.3 4. 重新启动 DB2 管理服务器。 db2admin stop db2admin start 5. 在 32 位实例下重新运行 CREATE TOOLS CATALOG 命令。 在 DB2 图形用户界面工具中显示印度字符 如果使用 DB2 图形用户界面工具时显示印度字符时有问题,则您可能没有在您的 系统上安装必需的字体。 DB2 通用数据库(UDB)已打包以下 IBM TrueType 和 OpenType 对应印度语言字 体以供您使用。这些字体可在下列任何 CD 上的 font 目录中找到: * IBM Developer Kit, Java Technology Edition (64-bit) for AIX 5L * 对应您所使用的操作系统的 DB2 嵌入式应用程序服务器和应用程序(XML 注 册表、Web 管理工具和 Java 分布式调试器) 这些字体仅与 DB2 UDB 结合使用。您不能将这些字体用于一般的或无限制的销售 或分发: 表 9. 与 DB2 UDB 打包在一起的印度字体 +-----------------------+----------------------+----------------------+ | 字型 | 字形 | 字体文件名 | +-----------------------+----------------------+----------------------+ | Devanagari MT for IBM | 中 | devamt.ttf | +-----------------------+----------------------+----------------------+ | Devanagari MT for IBM | 粗体 | devamtb.ttf | +-----------------------+----------------------+----------------------+ | Tamil | 中 | TamilMT.ttf | +-----------------------+----------------------+----------------------+ | Tamil | 粗体 | TamilMTB.ttf | +-----------------------+----------------------+----------------------+ | Telugu | 中 | TeluguMT.ttf | +-----------------------+----------------------+----------------------+ | Telugu | 粗体 | TeleguMTB.ttf | +-----------------------+----------------------+----------------------+ 有关如何安装字体和修改 font.properties 文件的详细指示信息位于 IBM Development Kit for Java 文档的 Internationalization 一节。 此外,下列 Microsoft 产品还带有可与 DB2 图形用户界面工具配合使用的印度 字体: * Microsoft Windows 2000 操作系统 * Microsoft Windows XP 操作系统 * Microsoft Publisher * Microsoft Office zSeries 服务器不支持图形用户界面工具(Linux) 除了 DB2 安装向导之外,在运行 Linux 操作系统的 zSeries 服务器上,图形用 户界面工具不能工作。此局限性包含通常从“安装”启动板启动的任何项,例如 ,“快速导览”。 如果要对这些系统之一使用图形用户界面工具,应在有不同系统配置的客户机系 统上安装管理工具,并使用此客户机来连接 zSeries 服务器。 用引号将包含数字的 DB2 信息中心搜索项引起来 为了在 DB2 信息中心中获得精确的搜索结果,必须用引号将包括数字的搜索项引 起来。 例如,如果搜索以下词条,将接收不到任何结果: 1.4.1 但是,如果用引号将该语句括起来,将接收到相应的结果: "1.4.1" 搜索以下词条将返回额外主题: DB20000I 但搜索以下词条将正常工作: "DB20000I" 导入标记语言文件时未生成的信息目录中心日志文件 如果在将标记语言文件导入到信息目录中心时不生成信息目录中心日志文件,则 执行下列故障诊断步骤: 当从命令行运行 db2icmimport 时: * 如果不生成输出文件(.xml、.out、.err 或 .log),则命令行上 可能有错。验证前五个参数 UserId、Password、Database、Catalog 和 Tagfile 是正确的。通过输入 db2icmimport 查看语法。如果这 不能解决问题,则修改 db2icmimport 以捕获 db2javit 命令的输 出,方法是使用 -g 选项将输出保存至文件。例如: db2javit -j:com.ibm.db2.common.icm.tag.IcmImport -w: -i: -o:"-Xmx128m -Xms32m" -g:"d:\temp\myimport.trc" ... * 如果不生成日志文件,则通常是存在语法分析错误。查看 .xml 文 件和 .out 文件。若有可能,将“:COMMIT.CHKPID(DEBUG)”命令插 入到标记语言文件的开头。此命令生成调试报告消息,可检查 .xml 和 .out 文件以获取语法分析错误。 * 在语法分析之后,错误应出现在 .log 文件中。当生成调试报告时 ,查看 .log 文件和 .out 文件以获取信息。 * 总是检查 .err 文件以查看是否存在运行时错误。 当使用信息目录中心图形用户界面导入标记语言文件时: * 当使用图形用户界面来导入标记语言文件时,不会生成 .out 或 .err 文件。 * 如果生成 .log 或 .xml 文件,通过使用这些文件尝试调试。 * 如果不生成 .log 或 .xml 文件或者所作的措施不起作用,则从命 令行运行导入过程以获取更多信息。 绑定 Query Patroller 程序包 如果在应用修订包之后不绑定 Query Patroller 程序包,则没有 DBADM 权限或 适当的 Query Patroller 特权的用户在使用 Query Patroller 中心或 Query Patroller 命令行时可能会遇到以下错误: SQL0001N - 绑定或预编译未成功完成。 如果正在使用 Query Patroller 中心,就会在 qpdiag.log 文件中记录 SQL0001N 错误。如果正在使用 Query Patroller 命令行,SQL0001N 会被返回给控制台。 存在自动绑定代码,以便可以启动自动绑定。然而,当正在连接的用户没有执行 Query Patroller 程序包中所有语句的必需特权时,自动绑定会失败。此问题的 症状是 Query Patroller 中心中缺少文件夹。 要避免此问题,在应用了修订包之后,应由有 DBADM 权限或必需特权的用户手工 绑定 qpserver.lst 程序包。 Query Patroller 没有端口可用(Windows) 问题 如果 Windows XP 或 Windows 2003 上没有其他可用端口,在 Query Patroller 中提交的查询可能会接收到 SQL 代码 -29007。随着访问 Query Patroller 的客 户机的数量增加,发生此错误的可能性也会增加。 变通方法 设置下列 Windows 注册表变量: MaxUserPort=65534 TcpTimedWaitDelay=30 并重新启动系统以使更改生效。 可以在 Microsoft(R) 帮助和支持 Web 站点上找到有关设置 Windows 注册表变 量的详细信息,网址为 http://support.microsoft.com/。 安全环境(Windows) 如果您正在 Windows 上使用 DB2 通用数据库(UDB),并且您不是 Windows 系 统上的管理员,则可能会遇到文件许可权问题。如果接收到 SQL1035N、SQL1652N 或 SQL5005C 错误消息,则可能的原因和变通方法显示在以下信息中: 用户对 sqllib 目录没有足够的权限 问题 用户在尝试打开 DB2 CLP 或命令窗口时接收到 SQL1035N 或 SQL1652N 错误。DB2 UDB 代码(核心文件)被安装到写特权受限制的 目录结构中,但是某些 DB2 UDB 工具需要在 DB2INSTPROF 目录中写和 创建文件。 变通方法 创建可以在其中至少授予用户 MODIFY 许可权的新目录,并使用 db2set -g db2tempdir 来指向该新目录,或者在 Windows 系统环境中设置 db2tempdir 变量。 即使用户属于 SYSADM_GROUP,用户也没有足够的权限来写至 sqllib\ 目录 问题 用户在尝试更新数据库管理器配置文件(update dbm cfg)时接收 到 SQL5005C 系统错误。即使已将此用户添加至 SYSADM_GROUP,此用 户也没有必需的 NTFS 许可权来写至 sqllib\instance_dir 目录。 第一个变通方法 至少授予用户对 instance_dir 目录的文件系统级别的 MODIFY 许可权 。 第二个变通方法 创建新目录,可在该目录中至少授予用户 MODIFY 许可权。使用 db2set db2instprof 命令来指向该新目录。您将需要重新创建实例以便将信息 存储在 db2instprof 指定的新实例目录下面,或者将需要把旧实例目 录移至新目录。 XML Extender 样本程序已重命名 有些 XML Extender 样本程序可能与其他已安装的程序同名。意外调用与 XML Extender 样本程序同名的另一程序可能会损坏 XML 文件。以下列表显示了旧的 XML Extender 样本程序名以及将不太可能会导致冲突的新替换程序名。确保使用 新样本程序名而不是旧样本程序名以防止损坏 XML 文件。 表 10. XML Extender 的替换样本程序(Windows) +----------------------------------+----------------------------------+ | 旧程序(不使用) | 新程序(使用) | +----------------------------------+----------------------------------+ | insertx.exe | dxxisrt.exe | +----------------------------------+----------------------------------+ | retrieve.exe | dxxretr.exe | +----------------------------------+----------------------------------+ | retrieve2.exe | dxxretr2.exe | +----------------------------------+----------------------------------+ | retrievec.exe | dxxretrc.exe | +----------------------------------+----------------------------------+ | shred.exe | dxxshrd.exe | +----------------------------------+----------------------------------+ | tests2x.exe | dxxgenx.exe | +----------------------------------+----------------------------------+ | tests2xb.exe | dxxgenxb.exe | +----------------------------------+----------------------------------+ | tests2xc.exe | dxxgenxc.exe | +----------------------------------+----------------------------------+ 表 11. XML Extender 的替换样本程序(Linux 和 UNIX) +----------------------------------+----------------------------------+ | 旧程序(不使用) | 新程序(使用) | +----------------------------------+----------------------------------+ | insertx | dxxisrt | +----------------------------------+----------------------------------+ | retrieve | dxxretr | +----------------------------------+----------------------------------+ | retrieve2 | dxxretr2 | +----------------------------------+----------------------------------+ | retrievec | dxxretrc | +----------------------------------+----------------------------------+ | shred | dxxshrd | +----------------------------------+----------------------------------+ | tests2x | dxxgenx | +----------------------------------+----------------------------------+ | tests2xb | dxxgenxb | +----------------------------------+----------------------------------+ | tests2xc | dxxgenxc | +----------------------------------+----------------------------------+ 将新的样本程序与样本 sqx 文件配合使用 前面列出的可执行文件的源代码(.sqx 文件)位于安装的 samples\db2xml\c 目 录中。源文件仍用它们的旧名称标记。如果您对源代码进行更改,则将新编译的 可执行文件(用旧名称)复制到 sqllib\bin 目录中。 在 Windows 平台上,必须建立另一个副本,将它重命名为上面的新名称,然后将 它复制到 bin 目录。这两个副本都会替换 bin 目录中的现有文件。例如,在编 译了新版本的 shred.exe 之后,需要建立两个副本并替换 bin 目录中的文件: 一个标记为 shred.exe,另一个重命名为 dxxshrd.exe。 在 Linux 和 UNIX 平台上,只需要用新编译版本替换有旧名称的文件。如果从这 些样本创建新的可执行文件,则必须将新文件从 \SQLLIB\samples\db2xml\c\ 目 录复制到 \SQLLIB\bin\ 目录中,然后建立其他副本,并根据前面的表重命名这 些副本。 分解 XML Extender 中包含非唯一属性和元素名称的文档 现在可以分解包含非唯一属性或非唯一元素名称的文档,这些属性或元素名映射 到(相同或不同表的)不同的列,而不会接收到 DXXQ045E 错误。以下示例显示 了包含非唯一属性和非唯一元素名称的一个 XML 文档: John Smith Jane Doe xxxx-xxxx 2 12.50 yyyy-yyyy 4 24.99 伴随的 DAD(它将重复的元素和属性映射至不同的列)如下:
order_tab.order_id=detail_tab.order_id
detail_tab" />
在分解了前面的文档之后,表的内容将如以下示例所示: ORDER _TAB: ORDER_ID CUST_ID CUST_NAME SALESP_ID SALESP_NAME 0001-6789 1111 John Smith 1234 Jane Doe DETAIL_TAB: ORDER_ID ITEMNO QUANTITY UNIT_PRICE 0001-6789 xxxx-xxxx 2 12.50 0001-6789 yyyy-yyyy 4 24.99 注: 要将多个元素和属性映射至同一个表的同一列,为该表定义别名并在 DAD
元素的其中一个映射中使用该别名。 使用 DB2 Connect 时 SNA 与 TCP/IP 之间的差别 当使用 SNA 连接至 OS/390 系统时,主机 VTAM(R) 层将在建立新的连接时自动 执行落实。一旦自动落实允许主机端线程状态为不活动,该线程将立即成为不活 动的。 但是,当使用 TCP/IP 连接至 OS/390 系统时,没有自动落实。在建立连接之后 ,应用程序本身必须执行显式落实以让线程在主机上成为不活动的。如果没有显 式落实,则线程将进入空闲线程超时状态。 建议的变通方法是重新编写应用程序以便在连接之后在该连接成为空闲的情况下 执行显式落实。 文档更新 修订标记标识新增或更改过的文本。竖线(|)标识对版本 8.2 修订包 4(功能 等同于版本 8.1 修订包 11)新增或更改过的信息。 管理:实施 自动客户机重新路由配置(DB2_MAX_CLIENT_CONNRETRIES 和 DB2_CONNRETRIES_IN TERVAL) 缺省情况下,自动客户机重新路由功能会反复重试与数据库的连接,持续最多 10 分钟。但您可以通过使用以下一个或两个注册表变量来配置精确的重试行为: * DB2_MAX_CLIENT_CONNRETRIES:自动客户机重新路由尝试的最大连接重试数。 * DB2_CONNRETRIES_INTERVAL:连续两次连接重试之间的睡眠时间,以秒计。 如果设置了 DB2_MAX_CLIENT_CONNRETRIES 但未设置 DB2_CONNRETRIES_INTERVAL ,DB2_CONNRETRIES_INTERVAL 将缺省为 30。 如果未设置 DB2_MAX_CLIENT_CONNRETRIES 但设置了 DB2_CONNRETRIES_INTERVAL ,DB2_MAX_CLIENT_CONNRETRIES 将缺省为 10。 如果 DB2_MAX_CLIENT_CONNRETRIES 和 DB2_CONNRETRIES_INTERVAL 均未设置, 则自动客户机重新路由功能将还原为以上描述的缺省行为。 注: 使用与 DB2(R) 通用 JDBC 驱动程序的 4 类连接的用户应使用以下两个数据源属 性来配置自动客户机重新路由: * maxRetriesForClientReroute:如果与服务器的主连接失败,可使用此属性来 限制重试数。只有在设置了 retryIntervalClientReroute 属性的情况下才能 使用此属性。 * retryIntervalForClientReroute:使用此属性来指定再次重试前的睡眠时间 (以秒计)。只有在设置了 maxRetriesForClientReroute 属性的情况下才能 使用此属性。 DB2TIMEOUT 注册表变量说明 不再支持 DB2TIMEOUT 注册表变量。此设置曾用于控制长 SQL 查询期间的 Windows(R) 3.x 和 Macintosh 客户机超时时间段。缺省情况下,此功能是禁用 的。 在创建表空间容器期间创建的目录 在创建表空间容器时,DB2 UDB 会创建任何不存在的目录层次。 例如,如果容器指定为 /project/user_data/container1,而目录 /project 不 存在,则 DB2 UDB 会创建目录 /project 和 /project/user_data。 从 DB2 UDB V8.2 修订包 4 开始,由 DB2 UDB 创建的任何目录都将使用 PERMISSION 700 来创建。这表示,只有所有者拥有读、写和执行访问权。 在创建多个实例时,应注意以下场景: 1. 使用与上述目录结构相同的目录结构,假定目录层次 /project/user_data 不 存在。 2. user1 缺省创建一个名为 user1 的实例,然后创建一个数据库,然后创建一 个使用 /project/user_data/container1 作为它的一个容器的表空间。 3. user2 缺省创建一个名为 user2 的实例,然后创建一个数据库,然后尝试创 建一个使用 /project/user_data/container2 作为它的一个容器的表空间。 由于 DB2 UDB 已根据第一用户的请求使用 PERMISSION 700 创建了目录层 /project/user_data,所以 user2 对这些目录层没有访问权且不能在那些目录中 创建 container2。在这种情况下,CREATE TABLESPACE 操作失败。 有两种方法可解决此冲突: 1. 在创建表空间前先创建目录 /project/user_data,然后将许可权设置为 user1 和 user2 创建表空间都需要的任何访问权。如果所有表空间目录层次都存在 ,则 DB2 UDB 不会修改访问权。 2. 在 user1 创建了 /project/user_data/container1 后,将 /project/user_data的许可权设置为 user2 创建表空间所需的任何访问权。 自动存储器 容器名称的格式已更改,其中的表空间标识和容器标识也已更改。新格式为: //NODE#### /T####### /C#######. 其中: * /T####### 是表空间标识。例如,T0000003。 * /C####### 是容器标识。例如,C0000012。 对现有表定义生成列 从 DB2(R) 通用数据库版本 8.2.2(功能等同于版本 8.1 修订包 9)开始,可以 在唯一索引中使用生成列。 不能在约束、引用约束、主键和全局临时表中使用生成列。使用 LIKE 和具体化 视图创建的表不能继承生成列的属性。 聚集注册表变量 设置 DB2WORKLOAD=SAP 后,不会自动创建用户表空间 SYSTOOLSPACE 和用户临时 表空间 SYSTOOLSTEMPSPACE。这些表空间用于通过下列向导、实用程序或函数自 动创建的表: * 自动维护 * 设计顾问程序 * 控制中心数据库信息面板 * SYSINSTALLOBJECTS 存储过程(如果未指定表空间输入参数的话) * GET_DBSIZE_INFO 存储过程 在没有 SYSTOOLSPACE 和 SYSTOOLSTEMPSPACE 表空间的情况下,不能使用这些向 导、实用程序或函数。 为能够使用这些向导、实用程序或函数,应执行下列其中一个操作: * 手工创建 SYSTOOLSPACE(仅在目录节点上,如果使用 DPF 的话)。例如: CREATE REGULAR TABLESPACE SYSTOOLSPACE IN IBMCATGROUP MANAGED BY SYSTEM USING ('SYSTOOLSPACE') * 调用 SYSINSTALLOBJECTS 以便为下列每个工具名称创建对象(指定有效表空 间):"DB2AC"、"POLICY" 和 "STMG_DBSIZE_INFO" 在完成至少其中一种选择之后,创建用户临时表空间(也仅在目录节点上,如果 使用 DPF 的话)。例如: CREATE USER TEMPORARY TABLESPACE SYSTOOLSTMPSPACE IN IBMCATGROUP MANAGED BY SYSTEM USING ('SYSTOOLSTMPSPACE') 在创建表空间 SYSTOOLSPACE 和临时表空间 SYSTOOLSTEMPSPACE 之后,可使用之 前提到的向导、实用程序或函数。 远程客户机的认证注意事项 认证类型 DATA_ENCRYPT_CMP 旨在允许前发行版中不支持数据加密的客户机使用 SERVER_ENCRYPT 认证而不是使用 DATA_ENCRYPT 来连接至服务器。这种认证在下 面三种情况下不工作: * 客户机级别为版本 7.2。 * 网关级别为版本 8 修订包 7 或更新版本。 * 服务器为版本 8 修订包 7 或更新版本。 在这种情况下,客户机无法连接至服务器。要允许进行连接,必须将客户机升级 到版本 8,或者将网关级别升级到版本 8 修订包 6 或更早版本。 直接 I/O(DIO)和并发 I/O(CIO)支持 直接 I/O(DIO)可以提高内存性能,因为它不必在文件系统级别进行高速缓存。 此过程减少了 CPU 开销,从而使更多内存可用于数据库实例。 并发 I/O(CIO)不但具有 DIO 的优点,而且还减轻了写访问权的序列化。 DB2 通用数据库(UDB)在 AIX 上支持 DIO 和 CIO;而在 HP-UX、Solaris 操作 环境、Linux 和 Windows 上支持 DIO。 关键字 NO FILE SYSTEM CACHING 和 FILE SYSTEM CACHING 是 CREATE 和 ALTER TABLESPACE SQL 语句的一部分,它允许您指定是否对每个表空间使用 DIO 或 CIO 。当 NO FILE SYSTEM CACHING 生效时,DB2 UDB 将尽量尝试使用并发 I/O。在 CIO 不受支持的情况下(例如,如果使用了 JFS),将改为使用 DIO。 有关更多信息,参阅位于以下 URL 的文章“Improve database performance on file system containers in IBM DB2 UDB Stinger using Concurrent I/O on AIX”: http://www.ibm.com/developerworks/db2/library/techarticle/dm-0408lee/ 分发器技术和自动进行客户机重新路由 以下信息是《管理指南:实现》 附录 B『使用自动客户机重新路由』的一部分: DB2 通用数据库 Linux 版、UNIX 版、 版和 Windows 版的自动客户机重新路由 功能允许客户机应用程序在与服务器通信中断时通过以下方法进行恢复:自动重 新建立客户机与服务器之间的数据库连接,从而使应用程序能够继续工作,并将 发生中断的情况降到最低程度。 当从客户机连接至服务器失败时,客户机的重新连接请求将由分发器或分派器( 例如,WebSphere EdgeServer)分发给已定义的一组系统 可以在类似下面的环境中使用分发器技术: 客户机 --> 分发器技术 -->(DB2 Connect 服务器 1 或 DB2 Connect 服务器 2 )--> DB2 z/OS 版 其中: * 分发器技术组件的 TCP/IP 主机名是 DThostname * DB2 Connect 服务器 1 的 TCP/IP 主机名是 GWYhostname1 * DB2 Connect 服务器 2 的 TCP/IP 主机名是 GWYhostname2 * DB2 z/OS 服务器的 TCP/IP 主机名是 zOShostname 客户机是使用 DThostname 来进行编目的,以便利用分发器技术来访问任何一个 DB2 Connect 服务器。加入分发器技术就可以决定是使用 GWYhostname1 还是 GWYhostname2。一旦作出了决定,客户机就可以与这两个 DB2 Connect 网关的其 中一个网关进行直接套接字连接。一旦与所选择的 DB2 Connect 服务器建立了套 接字连接,您就建立了客户机至 DB2 Connect 服务器,该服务器至 DB2 z/OS 的 典型连接。 例如,假定分发器选择 GWYhostname2。这将生成以下环境: 客户机 --> DB2 Connect 服务器 2 --> DB2 z/OS 如果发生任何通信故障,分发器不会重试任何连接。如果想在这样的环境中对数 据库启用“自动客户机重新路由”功能,则应该将 DB2 Connect 服务器(DB2 Connect 服务器 1 或 DB2 Connect 服务器 2)中相关联的一个或多个数据库的 备用服务器设置为分发器(DThostname)。然后,如果 DB2 Connect 服务器 1 由于任何原因而锁定,则会触发“自动客户机重新路由”,并且在分发器同时作 为主服务器和备用服务器的情况下重试客户机连接。此选项允许您使用“DB2 自 动客户机重新路由”功能来组合和维护分发器功能。将备用服务器设置为除了分 发器主机名以外的主机仍然将为客户机提供“自动客户机重新路由”功能。但是 ,客户机将与已定义的备用服务器建立直接连接,从而未使用分发器技术,这就 消除了分发器及其所带来的价值。 “自动客户机重新路由”将拦截下列 sqlcode: * sqlcode -20157 * sqlcode -1768(原因码 = 7) 有关在 DB2 Connect 服务器上进行编目的自动客户机重新路由注意事项 考虑涉及到与 DB2 Connect 服务器的备用服务器连接时,需要考虑下列两项: * 第一个注意事项涉及到使用 DB2 Connect 服务器代表远程和本地客户机访问 主机或 iSeries 数据库。在这种情况下,系统数据库目录条目中的备用服务 器连接信息可能会变得混乱。为使混乱程度降至最低,考虑在系统数据库目录 中编目两个条目来表示同一主机或 iSeries 数据库。为远程客户机编目一个 条目,为本地客户机编目另一个条目。 * 第二个注意事项是从目标服务器返回的备用服务器信息仅保留在高速缓存中。 如果 DB2 进程终止,高速缓存信息将会丢失,因此备用服务器信息也会丢失。 本地系统帐户支持(Windows) 在本地系统帐户(LSA)的上下文中运行的应用程序在所有 Windows 平台上都受 支持,但是 Windows ME 除外。 由两部分组成的用户标识支持 CONNECT 语句和 ATTACH 命令支持由两部分组成的用户标识。符合 SAM 的用户标 识的限定符为 NetBIOS 式名称,最大长度为 15 个字符。此功能在 Windows ME 上不受支持。 Kerberos 认证详细信息 Kerberos 和客户机主体 可在 UNIX(R) 和 Linux(TM) 操作系统上覆盖 DB2(R)通用数据库(UDB)服务器 使用的 Kerberos 服务器主体名。将 DB2_KRB5_PRINCIPAL 环境变量设置为期望 的标准服务器主体名。因为只有在运行 db2start 之后 DB2 UDB 才识别服务器主 体名,所以必须重新启动该实例。 有关 Kerberos 支持的更多信息 Linux 先决条件 文档中报告的有关 Linux Kerberos 支持的先决条件的信息不准确。提供的 DB2 Kerberos 安全性插件对于带有 IBM Network Authentication Service(NAS)1.4 Client 的 Red Hat Enterprise Linux Advanced Server 3 是受支持的。 zSeries 和 iSeries 兼容性 对于与 zSeries 和 iSeries 的连接,必须使用 AUTHENTICATION KERBEROS 参数 编目数据库并且必须显式指定 TARGET PRINCIPAL 参数名。 zSeries 和 iSeries 都不支持相互认证。 Windows 问题 * 因为 Windows 检测和报告某些错误的方式的关系,下列情况将导致意外客户 机安全性插件错误(SQL30082N, rc=36): * 到期帐户 * 无效密码 * 到期密码 * 管理员强制进行的密码更改 * 禁用帐户 而且,在所有情况下,DB2 管理日志或 db2diag.log 都将指示“登录失败” 或“登录被拒绝”。 * 如果还在本地定义了域帐户名,显式指定域名和密码的连接将失败并显示以下 错误: 不能与“本地安全性权限”联系 该错误是最先定位本地用户的 Windows 造成的。解决方案是在连接字符串中 完全限定该用户。例如: name@DOMAIN.IBM.COM * Windows 帐户的名称中不能包括 @ 字符,因为该字符被 DB2 Kerberos 插件 用作域分隔符。 * 在与非 Windows 平台互操作时,确保所有 Windows 域服务器帐户和所有 Windows 客户机帐户被配置为使用 DES 加密。如果用于启动 DB2 服务的帐户 未配置为使用 DES 加密,则 DB2 服务器将无法接受 Kerberos 上下文。特别 是,DB2 通用数据库将会因服务器插件发生意外错误而出现故障,而且会记录 AcceptSecurityContext API 返回 SEC_I_CONTINUE_NEEDED(0x00090312L)。 要确定 Windows 帐户是否配置为使用 DES 加密,查看活动目录下的帐户配置 。如果帐户属性已更改,可能需要重新启动。 * 如果客户机和服务器都在 Windows 上,则可在本地系统帐户下启动 DB2 服务 。但是,如果客户机和服务器在不同域中,则连接可能会失败并带有无效目标 主体名称错误。变通方法是在客户机上按以下格式使用全限定服务器主机名和 标准域名显式编目目标主体名称: host/@ 例如: host/myhost.domain.ibm.com@DOMAIN.IBM.COM 否则,必须在有效域帐户下启动 DB2 服务。 管理:性能 比较 32 位环境和 64 位环境中的 DB2_FORCE_FCM_BP 注册表变量 在启用 DB2_FORCE_FCM_BP 注册表变量后,可用于其他用途(尤其是数据库缓冲 池)的共享内存段会减少。因此,启用 DB2_FORCE_FCM_BP 注册表变量会减小数 据库缓冲池的最大大小。请注意,由于 64 位环境中有大量的可用共享内存段, 上述这种共享内存段数量减少的情况应该只有在 32 位环境中才是问题。 表创建后推荐的 RUNSTATS 首次创建某个表后,系统目录统计信息将设置为 -1,表示此表没有统计信息。在 收集到统计信息之前,DB2 UDB 将使用 SQL 语句编译和优化的缺省值。如果新值 与缺省值不一致,更新表或索引统计信息可能会失败。因此,应在手工更新表或 索引的统计信息之前,对其运行 runstats 命令。 SQL1169N 的新原因码 SQL 错误消息 SQL1169N 有一个新的原因码 5,用于表示说明表的列太小。 * 原因码 5 的说明:说明表的列太小。 db2diag.log 中的消息将标识出模式名 、表名和列名,以及为包含由说明工具生成的数据而需要的列大小。 * 用户响应:确定所需的列大小能否与您的表和数据库相适应。如果能,则使用 ALTER TABLE 语句增大列大小。 针对 MDC 表的优化策略 以下文本是对《管理指南:性能》中第 6 章 『了解 SQL 编译器』的更新。 即使 RID 索引是优化方案的一部分也可使用 MDC 转出,而无论 DELETE 语句中 是否存在 WHERE 子句。因此,在列出允许扩展以及使用更有效的方法来删除行所 必须符合的条件时,条件“除非 DELETE 语句中没有 WHERE子句,否则优化器不 会选择 RID 索引来查找要删除的行”应被除去。 不仅如此,您还可以判断 MDC 转出是否有效,因为 db2expln 输出显示了短语“ 单元格删除”。 请注意:db2exfmt 不显示此信息。 以下文本是对『附录 A DB2 注册表和环境变量』的更新: 应更改 DB2_MDC_ROLLOUT 的描述,以从列表中除去条件“除非 DELETE 语句中没 有 WHERE子句,否则优化器不会选择 RID 索引来查找要删除的行”。 澄清 NEWLOGPATH、MIRRORPATH 和 OVERFLOWLOGPATH 配置参数的描述 如果您在 DB2 UDB 企业服务器版环境中更新 newlogpath、mirrorpath 或 overflowlogpath 配置参数值,则节点号将附加到路径名后,而不考虑系统上节 点的数量。此规则对 DB2 UDB 企业服务器版环境中的单一分区和多分区系统都有 效。 DB2_COLLECT_TS_REC_INFO 缺省值 DB2_COLLECT_TS_REC_INFO 的缺省值是 ON。在 DB2 UDB V8.1 修订包 7 中,DB2 _COLLECT_TS_REC_INFO 注册表变量的缺省值已更改为 ON。当前文档将此变量的 缺省值指定为 OFF 是不正确的。 调节器实用程序 调节器实例由一个前端实用程序和一个或多个守护程序组成。您启动的调节器的 每个实例特定于数据库管理器的一个实例。缺省情况下,当启动调节器时,调节 器守护程序在分区数据库的每个分区上启动。但是,可以指定在要监视的单一分 区上启动守护程序。 注: 1. 当调节器活动时,其快照请求可能会影响数据库管理器性能。要提高性能,增 大调节器唤醒时间间隔以降低其 CPU 使用。 2. 调节器守护程序在运行期间向本地实例发出 LOCAL 快照。因此,包含 setlimit 子句的任何规则都适用于来自 LOCAL 快照输出的输出,而不是来自 GLOBAL 快照的聚集结果。 每个调节器守护程序收集关于对数据库运行的应用程序的信息。然后,调节器守 护程序会针对您在此数据库的调节器配置文件中指定的规则检查此信息。 选择重组表的方法 考虑 In-place 表重组(而不是传统表重组)时,要了解 In-place 表重组需要 更多日志空间。 由于 In-place 表重组记录其活动以便在出现意外故障后有可能恢复,因此它需 要的日志空间要大于传统重组的日志空间。 In-place 重组方法所需的日志空间可能是所重组的表大小的数倍。所需的空间数 量取决于要移动的行数和表中索引的数量和大小。 推荐:如果使用最少维护窗口执行 24x7 操作,请选择 In-place 表重组方法。 DMS 表的联机表重组允许在重组过程中对表所在的表空间启动联机备份操作。在 截断阶段可能会存在重组操作的锁定等待。 有关执行这些表重组方法的详细信息,请参阅 REORG TABLE 语法描述。 FCM 内存的大页支持(AIX 5L 64 位) 在 AIX(R) 5L 64 位上,DB2_LARGE_PAGE_MEM 注册表变量现在支持关键字 FCM。 缺省情况下,在 AIX(R) 5L(TM) 64 位系统上,FCM 内存在 DBMS 内存集中。但 是,如果启用了注册表变量 DB2_FORCE_FCM_BP,则 FCM 内存在其自己的内存集 中。在 AIX 5L(TM) 64 位系统上,DB2_LARGE_PAGE_MEM 支持 DBMS 内存集的规 范。当 FCM 内存在 DBMS 内存集中时,将对该内存集启用大页支持,FCM 内存将 在大页中。当 FCM 内存在其自己的内存集中时,必须将 FCM 关键字添加至 DB2_LARGE_PAGE_MEM 注册表变量的值,以对 FCM 内存启用大页。 DB2_RESOURCE_POLICY 注册表变量接受新元素 从 DB2 通用数据库(TM)(UDB)版本 8.2.2(功能等同于版本 8.1 修订包 9)开 始,由 DB2_RESOURCE_POLICY 注册表变量指定的配置文件接受 SCHEDULING_POLICY 元素。可在某些平台上使用 SCHEDULING_POLICY 元素来选择 : * DB2 UDB 服务器使用的操作系统调度策略。 注: 设置操作系统调度策略的功能已扩展至 DB2 AIX(R) 版。此功能以前只能 用于 DB2 UDB Windows(R) 版(通过使用 DB2NTPRICLASS 注册表变量 )。 * 各个 DB2 服务器代理进程使用的操作系统优先级 可单独使用注册表变量 DB2PRIORITIES 和 DB2NTPRICLASS 来控制操作系统调度 策略和设置 DB2 代理进程优先级。 但是,在资源策略配置文件中指定 SCHEDULING_POLICY 元素就可以同时指定调度 策略和相关联的代理进程优先级。 示例 1 选择 AIX SCHED_FIFO2 调度策略并提高 db2 日志的写入和读取进程的优先级: SCHED_FIFO2 60 db2loggr 56 db2loggw 56 示例 2 替代 Windows 上的 DB2NTPRICLASS=H。 HIGH_PRIORITY_CLASS 新的系统环境变量(Linux) 修订包 8 中添加了 DB2_MAPPED_BASE 和 DB2DBMSADDR 系统环境变量。 仅建议高级用户才使用这些注册表变量。 DB2_MAPPED_BASE 变量名 DB2_MAPPED_BASE 值 0 OR(十六进制)31 位和 32 位地址范围中的虚拟地址 OR NULL(未 设置) 操作系统 x86 上的 Linux 和 zSeries 上的 Linux(31 位) 描述 DB2_MAPPED_BASE 注册表变量可以用来增大可用于 DB2 通用数据库( UDB)的邻接虚拟地址空间量,这是通过重新定位特定进程的共享库的 连接地址来实现的。邻接虚拟地址空间对于使可用于 DB2 UDB 的数据 库共享内存量达到最大化是很重要的。此变量仅对于将 mapped_base 文件包括在 proc 文件系统中的进程标识目录的分发产品有效。 如果未设置此变量,则 DB2 UDB 将尝试把共享库重新定位至虚拟地址 0x10000000。 还可以将该注册表变量设置为 31 位和 32 位地址空间范围内的任何虚 拟地址(十六进制)。 注: 不正确的地址会导致 DB2 UDB 产生严重问题,这些问题包括无法 启动 DB2 UDB,甚至无法连接至数据库。不正确的地址就是与内 存中已经在使用的区域相冲突的地址或者是预先指定为用于其他 某些用途的地址。要解决此问题,可使用以下命令来将 DB2_MAPPED_BASE 变量重新设置为 NULL: db2set DB2_MAPPED_BASE= 以下消息在 db2diag.log 文件中可能会多次出现,这是因为对每个逻 辑节点都需要进行一次此更改: ADM0506I DB2 已自动将“mapped_base”内核参数从 “0x40000000(hex) 1073741824(dec)”更新为建议值 “0x10000000(hex) 268435456(dec)”。 仅当成功设置了该注册表变量时才会出现此消息,并且它将包括共享库 被重新定位至的地址。 DB2DBMSADDR 变量名 DB2DBMSADDR 值 0x09000000 到 0xB0000000 范围内的虚拟地址,其增量为 0x10000 操作系统 x86 上的 Linux 和 zSeries 上的 Linux(31 位) 描述 以十六进制格式指定缺省数据库共享内存地址。 注: 不正确的地址会导致 DB2 UDB 产生严重问题,这些问题包括无法 启动 DB2 UDB,甚至无法连接至数据库。不正确地址的示例就是 与内存中已经在使用的区域相冲突的地址或者是预先指定为用于 其他某些用途的地址。要解决此问题,可使用以下命令来将 DB2DBMSADDR 变量重新设置为 NULL: db2set DB2DBMSADDR= 可以将此变量与 DB2_MAPPED_BASE 一起设置,也可以单独设置此变量 ,以便精细调整 DB2 UDB 进程的地址空间布局。此变量将把实例共享 内存的位置从它在虚拟地址 0x20000000 的当前位置更改为给定的新值 。 新增通信注册表变量 已在版本 8.2 中添加了 DB2TCP_CLIENT_RCVTIMEOUT 注册表变量。 表 12. 通信变量 +---------------------------+-------------+---------------------------+ | 变量名 | 操作系统 | 值 | +---------------------------------------------------------------------+ | 描述 | +---------------------------+-------------+---------------------------+ | DB2TCP_CLIENT_RCVTIMEOUT | 所有 | 缺省值为 0(未设置) | | | | 值:0 至 32767 秒 | +---------------------------------------------------------------------+ | 指定 TCP/IP 接收操作中客户机等待数据的秒数。 | | 如果注册表变量未设置或已设置为零,则没有超时。如果 TCP/IP 在超时值 | | 到期之前接收到返回的数据,则应用程序将如常继续。如果在数据返回前超 | | 时值到期,连接将关闭。 | | | | 注: 此注册表变量仅适用于 DB2 客户机和 DB2 网关的客户端。它不适用于 | | DB2 服务器。 | +---------------------------------------------------------------------+ 新增性能变量 已在版本 8.2 中添加了 DB2_LARGE_PAGE_MEM 性能变量。 表 13. 性能变量 +---------------------------+-------------+---------------------------+ | 变量名 | 操作系统 | 值 | +---------------------------------------------------------------------+ | 描述 | +---------------------------+-------------+---------------------------+ | DB2_LARGE_PAGE_MEM | 仅 AIX 5.x | 缺省值为 NULL | | | 64 位 | 使用 * 指示应使用大页内存 | | | | 的所有适用内存区域或者应 | | | Linux | 使用大页内存的特定内存区 | | | | 域的用逗号分隔的列表。可 | | | | 用区域根据操作系统有所变 | | | | 化。在 64 位 AIX 5.x 上, | | | | 可指定下列区域:DB、DBMS | | | | 或 PRIVATE。在 Linux 上, | | | | 可指定以下区域:DB。 | +---------------------------------------------------------------------+ | 大页内存仅对于 DB2 通用数据库(UDB)AIX 5L 版 64 位版和 DB2 UDB | | Linux 版才是受支持的。 | | DB2_LARGE_PAGE_MEM 注册表变量用于在 AIX 5.x 或带有适当内核支持的任 | | 何 Linux 体系结构上运行时启用大页支持。此注册表变量不推荐使用 | | DB2_LGPAGE_BP 注册表变量,该变量只能用于对数据库共享内存区域启用大 | | 页内存。现在,可通过设置 DB2_LARGE_PAGE_MEM=DB 启用大页内存。提到使 | | 用 DB2_LGPAGE_BP 注册表变量启用大页的任何文档可被视为设置 DB2_LARGE | | _PAGE_MEM=DB。 | | 大页的使用主要是为了改进性能以获取高性能计算应用程序。使用大量虚拟 | | 内存的密集内存访问型应用程序可以通过使用大页来提高性能。为使 DB2 | | UDB 能够使用大页,必须先将操作系统配置为使用大页。 | | 启用大专用页将显著增加 DB2 UDB 内存使用量,而每个 DB2 UDB 代理进程 | | 将至少消耗 1 个大页(16MB)的物理内存。要对 64 位 DB2 UDB AIX 版上 | | 的代理进程专用内存启用大页(DB2_LARGE_PAGE_MEM=PRIVATE 设置),除了 | | 在操作系统上配置大页之外,还必须满足下列条件: | | * 实例所有者必须拥有 CAP_BYPASS_RAC_VMM 和 CAP_PROPOGATE 功能。 | | * 内核必须支持允许进程在运行时修改其页大小的接口。 . | | 在 64 位 DB2 UDB AIX 版上,启用此变量将降低共享内存段的大小,使数据 | | 库内存的需求降至最低。缺省情况是创建 64 GB 内存段:有关更多详细信息 | | ,请参阅数据库共享内存大小(database_memory)数据库配置参数。这将避 | | 免在 RAM 中插入过量的共享内存。 | | 通过设置此变量,动态增加总数据库共享内存配置(例如,增加缓冲池的大 | | 小)的能力将受到限制。 | | 在 Linux 上,还需要有 libcap.so 库可用。必须先安装此库才能使此选项 | | 起作用。如果此选项已打开,且该库不在系统上,则 DB2 UDB 将禁用大内核 | | 页并继续如常运作。 | | 在 Linux 上,要验证大内核页是否可用,发出以下命令: | | cat /proc/meminfo | | | | 如果可用,应出现下列三行(带有不同数字,这取决于在机器上配置的内存 | | 量): | | HugePages_Total: 200 | | HugePages_Free: 200 | | Hugepagesize: 16384 KB | | | | 如果没看到这几行,或者如果 HugePages_Total 为 0,则需要配置操作系统 | | 或内核。 | +---------------------------------------------------------------------+ SQL 编译器变量 以下更新适用于《管理指南:性能》的附录 A『DB2 注册表和环境变量』中的主 题“SQL 编译器变量”: 当 DB2 编译器变量 DB2_MINIMIZE_LISTPREFETCH 和 DB2_INLIST_TO_NLJN 的其 中一个变量或两个变量都设置为 ON 时,它们都保持活动,即使指定了 REOPT(ONCE) 也是如此。 配置参数更新 以下是对配置参数文档的更新: 认证 - 认证类型 认证类型(认证)数据库管理器配置参数还接受下列值: * DATA_ENCRYPT 服务器接受加密的 SERVER 认证方案和用户数据的加密。认证与 SERVER_ENCRYPT 的工作方式完全相同。 当使用此认证类型时,以下用户数据是加密的: * SQL 语句。 * SQL 程序变量数据。 * 来自处理 SQL 语句的服务器的输出数据并且包括对数据的描述。 * 从查询获得的某些或所有应答集数据。 * 大对象(LOB)数据流动。 * SQLDA 描述符。 * DATA_ENCRYPT_CMP 服务器接受加密的 SERVER 认证方案和用户数据的加密。另外,此认证类型允 许与不支持 DATA_ENCRYPT 认证类型的较早产品兼容。这些产品允许使用 SERVER_ENCRYPT 认证类型来进行连接,并且不对用户数据进行加密。支持新 的认证类型的产品必须使用该认证类型。此认证类型仅在服务器的数据库管理 器配置文件中有效,而在 CATALOG DATABASE 命令上使用该认证类型是无效的 。 util_impact_lim - 实例影响策略 从 DB2 通用数据库版本 8.2 开始,实例影响策略(util_impact_lim)数据库管 理器配置参数的缺省值就从 100 更改为 10。 sysadm_group、sysmaint_group、sysctrl_group 和 sysmon_group 在所有平台上,下列数据库管理器配置参数全部都可以接受长度为 30 个字节( 或更少)的组名: * 系统管理权限组名(sysadm_group) * 系统维护权限组名(sysmaint_group) * 系统控制权限组名(sysctrl_group) * 系统监视权限组名(sysmon_group) “数据库管理器配置参数总结”这一主题中的表包含这些数据库管理器配置参数 的不正确的数据类型。所有情况下的正确值都是 char(30)。 estore_seg_sz - 扩展存储器内存段大小 在基于 Windows 的平台上,扩展存储器内存段大小数据库(estore_seg_size) 配置参数的最大大小为 16 777 216。 hadr_timeout - HADR 超时值 HADR 超时值(hadr_timeout)数据库配置参数的正确上限为 4 294 967 295。 locklist - 锁定列表的最大存储器 锁定列表的最大存储器(locklist)数据库配置参数的文档指出仅对本地客户机 服务的 Windows 64 位和 32 位服务器的最大值为 60 000。此值是不正确的,应 该为 524 288。 num_db_backups - 数据库备份数 数据库备份数(num_db_backups)数据库配置参数的值的范围不正确。正确范围是 0 到 32 767。 SQLDBCONF 数据库配置参数文件 从 DB2 通用数据库(UDB)版本 8.1 到版本 8.2 之后, DB2 UDB 将使用新的 16 KB 数据库配置参数文件,其名称为 SQLDBCONF。(在版本 8.1 中,数据库配置 参数文件只有 4 KB,其名称为 SQLDBCON)。 对 DB2_HASH_JOIN 缺省值的更改 从版本 8.1 开始,注册表变量 DB2_HASH_JOIN 缺省情况下将设置为 ON。 应该使用散列连接变量,但是需要调整它才能获得最佳性能。 如果可以避免散列循环和溢出至磁盘,则散列连接性能将是最佳的。要调整散列 连接性能,估计可用于 sheapthres 参数的最大内存量,然后调整 sortheap 参 数。增大该参数的值,以尽可能避免存在太多散列循环和磁盘溢出,但是,不要 达到 sheapthres 参数指定的限制。 有关更多信息,请参阅《管理指南:性能》手册中的“连接方法”主题。 不推荐使用 DB2NTNOCACHE 注册表变量 先前通过 DB2NTNOCACHE 实现的功能可通过在 CREATE TABLESPACE 或 ALTER TABLESPACE 语句上指定 NO FILE SYSTEM CACHING 子句在表空间级别实现。有关 用法的详细信息,参阅 SQL 引用。DB2NTNOCACHE 注册表变量在将来的发行版中 会被除去。 说明表和说明信息的组织 说明表可能对多个用户是公共的。但是,可对一个用户定义这些说明表,并可对 使用相同名称的每个其他用户定义别名以指向定义的表。或者,可在 SYSTOOLS 模式下定义说明表。如果在用于动态 SQL 的用户会话标识或用于静态 SQL 的语 句授权标识下未发现任何其他说明表或别名,则说明设施将缺省为 SYSTOOLS 模 式。共享公用说明表的每个用户必须对那些表有插入许可权。公用说明表的读许 可权通常也应限于分析说明信息的用户。 捕获说明信息的准则 如果在编译 SQL 语句时请求说明数据,则捕获该数据。考虑您期望在请求说明数 据时如何使用捕获的信息。 捕获说明表中的信息 * 动态 SQL 语句: 在下列任何一种情况下捕获说明表信息: * 将 CURRENT EXPLAIN MODE 专用寄存器设置为: * YES:SQL 编译器捕获说明数据并执行该 SQL 语句。 * EXPLAIN:SQL 编译器捕获说明数据但不执行该 SQL 语句。 * RECOMMEND INDEXES:SQL 编译器捕获说明数据,而建议的索引将放置在 ADVISE_INDEX 表中,但不会执行该 SQL 语句。 * EVALUATE INDEXES:SQL 编译器使用用户放置在 ADVISE_INDEX 表中的 索引进行求值。在 EVALUATE INDEXES 方式中,说明所有动态语句,就 象这些虚拟索引是可用的。如果虚拟索引可提高语句性能的话,SQL 编 译器将选择使用虚拟索引。否则,忽略这些索引。要了解已提出的索引 是否有用,可复审 EXPLAIN 结果。 * REOPT:当主机变量、专用寄存器或参数标记的实际值可用时,SQL 编 译器会在执行时进行语句重新优化期间捕获静态或动态 SQL 语句的说 明数据。 * 已在 BIND 或 PREP 命令上指定了 EXPLAIN ALL 选项。SQL 编译器在运行 时捕获动态 SQL 的说明数据,即使 CURRENT EXPLAIN MODE 专用寄存器设 置为 NO 时也是如此。SQL 语句还会执行查询并返回查询结果。 db2CfgGet API 中的附加返回码 collate_info 参数 整理信息参数仅可使用 db2CfgGet API 显示。它不能通过命令行处理器或控制中 心来显示。 配置类型 数据库 参数类型 参考 此参数提供 260 个字节的数据库整理信息。前面 256 个字节指定数据库整理顺 序,其中字节“n”包含代码点的排序权重,该代码点在数据库代码页中的基本十 进制表示为“n”。 最后 4 个字节包含关于整理顺序类型的内部信息。collate_info 的最后 4 个字 节是整数。该整数依据平台的字节存储次序。可能的值包括: * 0 - 该顺序包含非唯一权重 * 1 - 该顺序包含所有唯一权重 * 2 - 该顺序是标识顺序,其字符串是按字节进行比较的。 * 3 - 顺序为 NLSCHAR,用于对 TIS620-1(代码页 874)泰国语数据库中的字 符进行排序。 * 4 - 顺序为 IDENTITY_16BIT,实施“CESU-8 Compatibility Encoding Scheme for UTF-16: 8-Bit”算法,该算法是在 Unicode Technical Consortium Web 站点 http://www.unicode.org上的 Unicode Technical Report #26 中指定的。 * X'8001' - 顺序为 UCA400_NO,实施基于 Unicode 标准版本 4.00 的 UCA( Unicode 整理算法)其规范化隐式设置为 ON。 * X'8002' - 顺序为 UCA400_LTH,实施基于 Unicode 标准版本 4.00 的 UCA (Unicode 整理算法)并按皇家泰国语字典顺序对所有泰国语字符排序。 * X'8003' - 顺序为 UCA400_LSK,实施基于 Unicode 标准版本 4.00 的 UCA (Unicode 整理算法)并对所有斯洛伐克语字符作适当排序。 如果使用此内部类型信息,在另一平台上检索有关数据库的信息时需要考虑字节 逆转。 可在创建数据库时指定整理顺序。 自动设置缺省预取大小和更新缺省值 从 DB2 通用数据库(UDB)版本 8.2 开始,可以对表空间使用 AUTOMATIC 预取 大小。当表空间的容器数更改时,DB2 UDB 将自动更新预取大小。 扩展了 DB2_PARALLEL_IO 注册表变量的语法,以识别具有不同 I/O 并行性特征 的容器。通过扩展的语法,不同表空间的容器可以具有不同的 I/O 并行性特征。 当为表空间指定的预取大小为 AUTOMATIC 时,将使用每个表空间的 I/O 并行性 特征。如果启用了 DB2_PARALLEL_IO 注册表变量,但是未使用用于标识表空间的 特定 I/O 并行性特征的扩展语法,则假定使用缺省级别的并行性。缺省级别为 RAID 5(6+1)。 仅当发出了用于更改表空间的预取大小或者更改容器数(使用 ADD/DROP/BEGIN NEW STRIPE SET/ADD TO NEW STRIPE SET)的 ALTER TABLESPACE 语句时,才会 刷新优化器使用的预取大小信息。如果每个容器注册表设置的物理磁盘数发生更 改,则应该发出 ALTER TABLESPACE
PREFETCHSIZE AUTOMATIC 语句来刷新优化器信息(除非已经发出了用于刷新优化器信息的 ALTER TABLESPACE 语句)。 如果重定向或者复原了表空间以使用不同的容器数,则通过发出 ALTER TABLESPACE
PREFETCHSIZE AUTOMATIC 语句来刷新优化器信 息。如果一个表空间中有多个条形集,则使用条形集中的最大容器数来计算预取 大小。如果通过计算获得的预取大小超过了最大大小(32 767 页),则将小于最 大值的容器数的最大乘积用作预取大小。 在 DB2 UDB 企业服务器版环境中,如果表空间使用 AUTOMATIC 预取大小,则不 同数据库分区上的预取大小可能不同。这种情况是存在的,这是因为不同的数据 库分区用来计算预取大小的容器数可能不同。为了生成查询访问方案,优化器使 用数据库分区组中的第一个分区的预取大小。 管理:计划 范围集群表 不能在有多个分区的数据库中创建范围集群表。 目录表空间设计 在创建数据库时,将定义三个表空间,包括用于系统目录表的 SYSCATSPACE 表空 间。将作为所有表空间的缺省值的页大小是在创建数据库时设置的。如果页大小 大于 4096 或选择了 4K,并且目标表空间的页大小为 4K,则目录表的页大小将 被限制为它所具有的行大小。缺省数据库页大小存储为参考数据库配置参数,称 为 pagesize。 受支持的地域代码和代码页 在《管理指南:计划》中的附录 B『本地语言支持(NLS)』中,称为『受支持的 地域代码和代码页』的主题中提供了用于每个地域的表。有两个表需要更新: 中国(PRC),地域标识:CN 应该将“中国(PRC),地域标识:CN”表中的 Linux GBK 行的代码页从 1383 更改为 1386。 即,该行的内容现在应该为: 1386 D-4 GBK 86 zh_CN.GBK Linux(R) 日本,地域标识:JP 已修订了“日本,地域标识:JP”的表。 应该除去以下语言环境名: 954 D-1 eucJP 81 japanese Solaris 以下是修订之后的表: 表 14. 日本,地域标识:JP +----------+----------+----------+----------+---------------+---------+ | 代码页 | 组 | 代码集 | 地域代码 | 语言环境 | 操作系 | | | | | | | 统 | +----------+----------+----------+----------+---------------+---------+ | 932 | D-1 | IBM-932 | 81 | Ja_JP | AIX | +----------+----------+----------+----------+---------------+---------+ | 943 | D-1 | IBM-943 | 81 | Ja_JP | AIX | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | IBM-euc | 81 | ja_JP | AIX | | | | JP | | | | +----------+----------+----------+----------+---------------+---------+ | 1208 | N-1 | UTF-8 | 81 | JA_JP | AIX | +----------+----------+----------+----------+---------------+---------+ | 930 | D-1 | IBM-930 | 81 | - | 主机 | +----------+----------+----------+----------+---------------+---------+ | 939 | D-1 | IBM-939 | 81 | - | 主机 | +----------+----------+----------+----------+---------------+---------+ | 5026 | D-1 | IBM-502 | 81 | - | 主机 | | | | 6 | | | | +----------+----------+----------+----------+---------------+---------+ | 5035 | D-1 | IBM-503 | 81 | - | 主机 | | | | 5 | | | | +----------+----------+----------+----------+---------------+---------+ | 1390 | D-1 | | 81 | - | 主机 | +----------+----------+----------+----------+---------------+---------+ | 1399 | D-1 | | 81 | - | 主机 | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP.eucJP | HP-UX | +----------+----------+----------+----------+---------------+---------+ | 5039 | D-1 | SJIS | 81 | ja_JP.SJIS | HP-UX | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | EUC-JP | 81 | ja_JP | Linux | +----------+----------+----------+----------+---------------+---------+ | 932 | D-1 | IBM-932 | 81 | - | OS/2(R) | +----------+----------+----------+----------+---------------+---------+ | 942 | D-1 | IBM-942 | 81 | - | OS/2 | +----------+----------+----------+----------+---------------+---------+ | 943 | D-1 | IBM-943 | 81 | - | OS/2 | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja | SCO | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP | SCO | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP.EUC | SCO | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP.eucJP | SCO | +----------+----------+----------+----------+---------------+---------+ | 943 | D-1 | IBM-943 | 81 | ja_JP.PCK | Solaris | +----------+----------+----------+----------+---------------+---------+ | 954 | D-1 | eucJP | 81 | ja | Solaris | +----------+----------+----------+----------+---------------+---------+ | 1208 | N-1 | UTF-8 | 81 | ja_JP.UTF-8 | Solaris | +----------+----------+----------+----------+---------------+---------+ | 943 | D-1 | IBM-943 | 81 | - | Windows | +----------+----------+----------+----------+---------------+---------+ | 1394 | D-1 | | 81 | - | | +----------+----------+----------+----------+---------------+---------+ DB2 通用数据库支持的 XA 功能 DB2 通用数据库(UDB)支持在 X/Open CAE 规范分布式事务处理:XA 规范中定 义的 XA91 规范,但是以下情况例外: * 异步服务 XA 规范允许该接口使用异步服务,这样可以在稍后的某个时间检查请求的结 果。数据库管理器要求以同步方式调用请求。 * 注册 XA 接口允许以两种方式来注册 RM:静态注册和动态注册。DB2 UDB 支持动态 和静态注册。DB2 UDB 提供了两个开关: * db2xa_switch,用于动态注册 * db2xa_switch_static,用于静态注册 * 关联迁移 DB2 UDB 不支持控制线程之间的事务迁移。 XA 开关用法和位置 由于 XA 接口需要,数据库管理器提供类型为 xa_switch_t 的 db2xa_switch 和 db2xa_switch_static 外部 C 变量以将 XA 切换结构返回至 TM。不是返回各种 XA 函数的地址,而是返回下列字段: 字段 值 名称 数据库管理器的产品名。例如,DB2 UDB AIX 版。 标志 对于 db2xa_switch,已设置 TMREGISTER | TMNOMIGRATE 显式声明 DB2 UDB 使用动态注册,且 TM 不应该使用关联迁 移。隐式声明不支持异步操作。 对于 db2xa_switch_static,已设置 TMNOMIGRATE 显式声明 DB2 UDB 使用动态注册,且 TM 不应该使用关联迁 移。隐式声明不支持异步操作。 版本 必须为零。 使用 DB2 通用数据库 XA 开关 XA 体系结构要求“资源管理器”(RM)提供开关,该开关使“XA 事务管理器” (TM)可以访问 RM 的 xa_ 例程。RM 开关使用称为 xa_switch_t 的结构。该开 关包含 RM 的名称、指向 RM 的 XA 入口点的非 NULL 指针、标志和版本号。 基于 Linux 和 UNIX 的系统 可以通过下面两种方法之一来获得 DB2 通用数据库(UDB)的开关: * 通过其他级别的间接方法。在 C 程序中,可通过定义以下的宏来完成: #define db2xa_switch (*db2xa_switch) #define db2xa_switch_static (*db2xa_switch) (在使用 db2xa_switch 或 db2xa_switch_static 之前)。 * 通过调用 db2xacic 或 db2xacicst DB2 UDB 提供这些 API,它们返回 db2xa_switch 或 db2xa_switch_static 结构的地址。此函数的原型为: struct xa_switch_t * SQL_API_FN db2xacic( ) struct xa_switch_t * SQL_API_FN db2xacicst( ) 不管使用哪种方法,必须将应用程序与 libdb2 链接。 Windows NT 指向 xa_switch 结构 db2xa_switch 或 db2xa_switch_static的指针作为 DLL 数据导出。这意味着使用此结构的 Windows NT 应用程序必须以下列三种方法中 的一种来引用它: * 通过其他级别的间接方法。在 C 程序中,可在使用 db2xa_switch 之前定义 以下的宏来完成: #define db2xa_switch (*db2xa_switch) #define db2xa_switch_static (*db2xa_switch) (在使用 db2xa_switch 或 db2xa_switch_static 之前)。 * 如果使用 Microsoft Visual C++ 编译器,则可以将 db2xa_switch 或 db2xa_switch_static 定义为: extern __declspec(dllimport) struct xa_switch_t db2xa_switch extern __declspec(dllimport) struct xa_switch_t db2xa_switch_static * 通过调用 db2xacic 或 db2xacicst DB2 UDB 提供此 API,它返回 db2xa_switch 或 db2xa_switch_static 结构 的地址。此函数的原型为: struct xa_switch_t * SQL_API_FN db2xacic( ) struct xa_switch_t * SQL_API_FN db2xacicst( ) 使用这些方法中任何一种,必须将应用程序与 db2api.lib 链接。 C 代码示例 以下代码说明在任何 DB2 UDB 平台上通过 C 程序访问 db2xa_switch 或 db2xa_switch_static 的不同方法。务必将应用程序与适当的库链接。 #include #include struct xa_switch_t * SQL_API_FN db2xacic( ); #ifdef DECLSPEC_DEFN extern __declspec(dllimport) struct xa_switch_t db2xa_switch; #else #define db2xa_switch (*db2xa_switch) extern struct xa_switch_t db2xa_switch; #endif main( ) { struct xa_switch_t *foo; printf ( "%s \n", db2xa_switch.name ); foo = db2xacic(); printf ( "%s \n", foo->name ); return ; } 更新了 xa_open 字符串格式的 TPM 和 tp_mon_name 值 已经更新了下表中的内部设置列,以反映控制线程(TOC)的设置。 TOC 是所有 DB2 UDB XA 连接绑定至的实体。 * 将它的值设置为 T 时,在特定 OS 线程下建立的所有 DB2 UDB XA 连接对于 该线程都是唯一的。多个线程不能共享 DB2 UDB 连接。每个 OS 线程必须建 立它自己的一组 DB2 UDB XA 连接。 * 将它的值设置为 P 时,所有 DB2 UDB XA 连接对于 OS 进程都是唯一的,并且 OS 线程之间可以共享所有 XA 连接。 表 15. TPM 和 tp_mon_name 的有效值 +-----------------+----------------+----------------------------------+ | TPM 值 | TP 监视器产品 | 内部设置 | +-----------------+----------------+----------------------------------+ | CICS(R) | IBM TxSeries | AXLIB=libEncServer(对于 Windows | | | CICS | ) | | | | =/usr/lpp/encina/lib/libEncServ | | | | er | | | | (对于 Linux 和 UNIX 系统) | | | | HOLD_CURSOR=T | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-----------------+----------------+----------------------------------+ | ENCINA | IBM TxSeries | AXLIB=libEncServer(对于 Windows | | | Encina(R) 监视 | ) | | | 器 | =/usr/lpp/encina/lib/libEncServ | | | | er | | | | (对于 Linux 和 UNIX 系统) | | | | HOLD_CURSOR=F | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-----------------+----------------+----------------------------------+ | MQ | IBM | AXLIB=mqmax | | | MQSeries(R) | (对于 Windows) | | | | =/usr/mqm/lib/libmqmax_r.a | | | | (对于 AIX 线程应用程序) | | | | =/usr/mqm/lib/libmqmax.a | | | | (对于 AIX 非线程应用程序) | | | | =/opt/mqm/lib/libmqmax.so | | | | (对于 Solaris) | | | | =/opt/mqm/lib/libmqmax_r.sl | | | | (对于 HP 线程应用程序) | | | | =/opt/mqm/lib/libmqmax.sl | | | | (对于 HP 非线程应用程序) | | | | =/opt/mqm/lib/libmqmax_r.so | | | | (对于 Linux 线程应用程序) | | | | =/opt/mqm/lib/libmqmax.so | | | | (对于 Linux 非线程应用程序) | | | | HOLD_CURSOR=F | | | | CHAIN_END=F | | | | SUSPEND_CURSOR=F | | | | TOC=P | +-----------------+----------------+----------------------------------+ | CB | IBM Component | AXLIB=somtrx1i(对于 Windows) | | | Broker | =libsomtrx1 | | | | (对于 Linux 和 UNIX 系统) | | | | HOLD_CURSOR=F | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-----------------+----------------+----------------------------------+ | SF | IBM San | AXLIB=ibmsfDB2 | | | Francisco | HOLD_CURSOR=F | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-----------------+----------------+----------------------------------+ | TUXEDO | BEA Tuxedo | AXLIB=libtux | | | | HOLD_CURSOR=F | | | | CHAIN_END=F | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-----------------+----------------+----------------------------------+ | MTS | Microsoft | 不必为 MTS 配置 DB2 UDB。DB2 UDB | | | Transaction | 的 ODBC 驱动程序会自动检测 MTS。 | | | Server | | +-----------------+----------------+----------------------------------+ | JTA | Java 事务 API | 不必为 Enterprise Java Server(E | | | | JS)(例如,IBM WebSphere)配置 | | | | DB2 UDB。DB2 UDB 的 JDBC 驱动程 | | | | 序会自动检测此环境。因此,忽略此 | | | | TPM 值。 | +-----------------+----------------+----------------------------------+ 对代码页 923 和 924 激活转换表 下表包含与代码页 923 和 924 相关联的代码页转换表文件的列表。每个文件的 格式都是 XXXXYYYY.cnv 或 ibmZZZZZ.ucs,其中 XXXXX 是源代码页号,而 YYYY 是目标代码页号。文件 ibmZZZZZ.ucs 支持代码页 ZZZZZ 和 Unicode 之间的转 换。 过程 要激活特定代码页转换表,将该转换表文件重命名或复制至其新名称(如在第二 列中所示)。 例如,要在将 8859-1/15(Latin 1/9)客户机连接至 Windows 1252 数据库时支 持欧元符号,则需要重命名或复制 sqllib/conv/ 目录中的下列代码页转换表文 件: * 从 09231252.cnv 重命名或复制至 08191252.cnv * 从 12520923.cnv 重命名或复制至 12520819.cnv * 从 ibm00923.ucs 重命名或复制至 ibm00819.ucs 表 16. 代码页 923 和 924 的转换表文件 +----------------------------------+----------------------------------+ | sqllib/conv/ 目录中的 923 和 924 | 新名称 | | 转换表文件 | | +----------------------------------+----------------------------------+ | 04370923.cnv | 04370819.cnv | +----------------------------------+----------------------------------+ | 08500923.cnv | 08500819.cnv | +----------------------------------+----------------------------------+ | 08600923.cnv | 08600819.cnv | +----------------------------------+----------------------------------+ | 08630923.cnv | 08630819.cnv | +----------------------------------+----------------------------------+ | 09230437.cnv | 08190437.cnv | +----------------------------------+----------------------------------+ | 09230850.cnv | 08190850.cnv | +----------------------------------+----------------------------------+ | 09230860.cnv | 08190860.cnv | +----------------------------------+----------------------------------+ | 09231043.cnv | 08191043.cnv | +----------------------------------+----------------------------------+ | 09231051.cnv | 08191051.cnv | +----------------------------------+----------------------------------+ | 09231114.cnv | 08191114.cnv | +----------------------------------+----------------------------------+ | 09231252.cnv | 08191252.cnv | +----------------------------------+----------------------------------+ | 09231275.cnv | 08191275.cnv | +----------------------------------+----------------------------------+ | 09241252.cnv | 10471252.cnv | +----------------------------------+----------------------------------+ | 10430923.cnv | 10430819.cnv | +----------------------------------+----------------------------------+ | 10510923.cnv | 10510819.cnv | +----------------------------------+----------------------------------+ | 11140923.cnv | 11140819.cnv | +----------------------------------+----------------------------------+ | 12520923.cnv | 12520819.cnv | +----------------------------------+----------------------------------+ | 12750923.cnv | 12750819.cnv | +----------------------------------+----------------------------------+ | ibm00923.ucs | ibm00819.ucs | +----------------------------------+----------------------------------+ 支持欧元符号的代码页的转换表文件 以下各表列出了已增强为可支持欧元货币符号的转换表。如果想要禁用对欧元符 号的支持,可下载标题为“转换表文件”的列中指示的转换表文件。 阿拉伯语 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 864, 17248 | 1046, 9238 | 08641046.cnv, | | | | 10460864.cnv, | | | | IBM00864.ucs | +-------------------+----------------------+--------------------------+ | 864, 17248 | 1256, 5352 | 08641256.cnv, | | | | 12560864.cnv, | | | | IBM00864.ucs | +-------------------+----------------------+--------------------------+ | 864, 17248 | 1200, 1208, 13488, | IBM00864.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 864, 17248 | 10460864.cnv, | | | | 08641046.cnv, | | | | IBM01046.ucs | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 1089 | 10461089.cnv, | | | | 10891046.cnv, | | | | IBM01046.ucs | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 1256, 5352 | 10461256.cnv, | | | | 12561046.cnv, | | | | IBM01046.ucs | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 1200, 1208, 13488, | IBM01046.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1089 | 1046, 9238 | 10891046.cnv, | | | | 10461089.cnv | +-------------------+----------------------+--------------------------+ | 1256, 5352 | 864, 17248 | 12560864.cnv, | | | | 08641256.cnv, | | | | IBM01256.ucs | +-------------------+----------------------+--------------------------+ | 1256, 5352 | 1046, 9238 | 12561046.cnv, | | | | 10461256.cnv, | | | | IBM01256.ucs | +-------------------+----------------------+--------------------------+ | 1256, 5352 | 1200, 1208, 13488, | IBM01256.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ 波罗的语 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 921, 901 | 1257 | 09211257.cnv, | | | | 12570921.cnv, | | | | IBM00921.ucs | +-------------------+----------------------+--------------------------+ | 921, 901 | 1200, 1208, 13488, | IBM00921.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1257, 5353 | 921, 901 | 12570921.cnv, | | | | 09211257.cnv, | | | | IBM01257.ucs | +-------------------+----------------------+--------------------------+ | 1257, 5353 | 922, 902 | 12570922.cnv, | | | | 09221257.cnv, | | | | IBM01257.ucs | +-------------------+----------------------+--------------------------+ | 1257, 5353 | 1200, 1208, 13488, | IBM01257.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ 白俄罗斯语 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 1131, 849 | 1251, 5347 | 11311251.cnv, | | | | 12511131.cnv | +-------------------+----------------------+--------------------------+ | 1131, 849 | 1283 | 11311283.cnv | +-------------------+----------------------+--------------------------+ Cyrillic +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 855, 872 | 866, 808 | 08550866.cnv, | | | | 08660855.cnv | +-------------------+----------------------+--------------------------+ | 855, 872 | 1251, 5347 | 08551251.cnv, | | | | 12510855.cnv | +-------------------+----------------------+--------------------------+ | 866, 808 | 855, 872 | 08660855.cnv, | | | | 08550866.cnv | +-------------------+----------------------+--------------------------+ | 866, 808 | 1251, 5347 | 08661251.cnv, | | | | 12510866.cnv | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 855, 872 | 12510855.cnv, | | | | 08551251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 866, 808 | 12510866.cnv, | | | | 08661251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1124 | 12511124.cnv, | | | | 11241251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1125, 848 | 12511125.cnv, | | | | 11251251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1131, 849 | 12511131.cnv, | | | | 11311251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1200, 1208, 13488, | IBM01251.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ 爱沙尼亚语 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 922, 902 | 1257 | 09221257.cnv, | | | | 12570922.cnv, | | | | IBM00922.ucs | +-------------------+----------------------+--------------------------+ | 922, 902 | 1200, 1208, 13488, | IBM00922.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ 希腊语 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 813, 4909 | 869, 9061 | 08130869.cnv, | | | | 08690813.cnv, | | | | IBM00813.ucs | +-------------------+----------------------+--------------------------+ | 813, 4909 | 1253, 5349 | 08131253.cnv, | | | | 12530813.cnv, | | | | IBM00813.ucs | +-------------------+----------------------+--------------------------+ | 813, 4909 | 1200, 1208, 13488, | IBM00813.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 869, 9061 | 813, 4909 | 08690813.cnv, | | | | 08130869.cnv | +-------------------+----------------------+--------------------------+ | 869, 9061 | 1253, 5349 | 08691253.cnv, | | | | 12530869.cnv | +-------------------+----------------------+--------------------------+ | 1253, 5349 | 813, 4909 | 12530813.cnv, | | | | 08131253.cnv, | | | | IBM01253.ucs | +-------------------+----------------------+--------------------------+ | 1253, 5349 | 869, 9061 | 12530869.cnv, | | | | 08691253.cnv, | | | | IBM01253.ucs | +-------------------+----------------------+--------------------------+ | 1253, 5349 | 1200, 1208, 13488, | IBM01253.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ 希伯莱语 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 856, 9048 | 862, 867 | 08560862.cnv, | | | | 08620856.cnv, | | | | IBM0856.ucs | +-------------------+----------------------+--------------------------+ | 856, 9048 | 916 | 08560916.cnv, | | | | 09160856.cnv, | | | | IBM0856.ucs | +-------------------+----------------------+--------------------------+ | 856, 9048 | 1255, 5351 | 08561255.cnv, | | | | 12550856.cnv, | | | | IBM0856.ucs | +-------------------+----------------------+--------------------------+ | 856, 9048 | 1200, 1208, 13488, | IBM0856.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 862, 867 | 856, 9048 | 08620856.cnv, | | | | 08560862.cnv, | | | | IBM00862.ucs | +-------------------+----------------------+--------------------------+ | 862, 867 | 916 | 08620916.cnv, | | | | 09160862.cnv, | | | | IBM00862.ucs | +-------------------+----------------------+--------------------------+ | 862, 867 | 1255, 5351 | 08621255.cnv, | | | | 12550862.cnv, | | | | IBM00862.ucs | +-------------------+----------------------+--------------------------+ | 862, 867 | 1200, 1208, 13488, | IBM00862.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 916 | 856, 9048 | 09160856.cnv, | | | | 08560916.cnv | +-------------------+----------------------+--------------------------+ | 916 | 862, 867 | 09160862.cnv, | | | | 08620916.cnv | +-------------------+----------------------+--------------------------+ | 1255, 5351 | 856, 9048 | 12550856.cnv, | | | | 08561255.cnv, | | | | IBM01255.ucs | +-------------------+----------------------+--------------------------+ | 1255, 5351 | 862, 867 | 12550862.cnv, | | | | 08621255.cnv, | | | | IBM01255.ucs | +-------------------+----------------------+--------------------------+ | 1255, 5351 | 1200, 1208, 13488, | IBM01255.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Latin1 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 437 | 850, 858 | 04370850.cnv, | | | | 08500437.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 437 | 08500437.cnv, | | | | 04370850.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 860 | 08500860.cnv, | | | | 08600850.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 1114, 5210 | 08501114.cnv, | | | | 11140850.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 1275 | 08501275.cnv, | | | | 12750850.cnv | +-------------------+----------------------+--------------------------+ | 860 | 850, 858 | 08600850.cnv, | | | | 08500860.cnv | +-------------------+----------------------+--------------------------+ | 1275 | 850, 858 | 12750850.cnv, | | | | 08501275.cnv | +-------------------+----------------------+--------------------------+ Latin2 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 852, 9044 | 1250, 5346 | 08521250.cnv, | | | | 12500852.cnv | +-------------------+----------------------+--------------------------+ | 1250, 5346 | 852, 9044 | 12500852.cnv, | | | | 08521250.cnv, | | | | IBM01250.ucs | +-------------------+----------------------+--------------------------+ | 1250, 5346 | 1200, 1208, 13488, | IBM01250.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ 简体中文 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 837, 935, 1388 | 1200, 1208, 13488, | 1388ucs2.cnv | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1386 | 1200, 1208, 13488, | 1386ucs2.cnv, | | | 17584 | ucs21386.cnv | +-------------------+----------------------+--------------------------+ 繁体中文 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 937, 835, 1371 | 950, 1370 | 09370950.cnv, | | | | 0937ucs2.cnv | +-------------------+----------------------+--------------------------+ | 937, 835, 1371 | 1200, 1208, 13488, | 0937ucs2.cnv | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1114, 5210 | 850, 858 | 11140850.cnv, | | | | 08501114.cnv | +-------------------+----------------------+--------------------------+ 泰国语 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 874, 1161 | 1200, 1208, 13488, | IBM00874.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ 土耳其语 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 857, 9049 | 1254, 5350 | 08571254.cnv, | | | | 12540857.cnv | +-------------------+----------------------+--------------------------+ | 1254, 5350 | 857, 9049 | 12540857.cnv, | | | | 08571254.cnv, | | | | IBM01254.ucs | +-------------------+----------------------+--------------------------+ | 1254, 5350 | 1200, 1208, 13488, | IBM01254.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ 乌克兰语 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 1124 | 1251, 5347 | 11241251.cnv, | | | | 12511124.cnv | +-------------------+----------------------+--------------------------+ | 1125, 848 | 1251, 5347 | 11251251.cnv, | | | | 12511125.cnv | +-------------------+----------------------+--------------------------+ Unicode +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 813, 4909 | IBM00813.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 862, 867 | IBM00862.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 864, 17248 | IBM00864.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 874, 1161 | IBM00874.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 921, 901 | IBM00921.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 922, 902 | IBM00922.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1046, 9238 | IBM01046.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1250, 5346 | IBM01250.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1251, 5347 | IBM01251.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1253, 5349 | IBM01253.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1254, 5350 | IBM01254.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1255, 5351 | IBM01255.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1256, 5352 | IBM01256.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1386 | ucs21386.cnv, | | 13488, 17584 | | 1386ucs2.cnv | +-------------------+----------------------+--------------------------+ 越南语 +-------------------+----------------------+--------------------------+ | 数据库服务器 | 数据库客户机 | 转换表文件 | | CCSID/CPGID | CCSID/CPGID | | +-------------------+----------------------+--------------------------+ | 1258, 5354 | 1129, 1163 | 12581129.cnv | +-------------------+----------------------+--------------------------+ API 引用 日志记录结构说明 此文档更新适用于 DB2 UDB log records 主题下 Long Field Manager Log Records 一节中 Table 103. Add/Delete/Non-update Long Field Record Log Record Structure 的 Note #3。Note #3 的内容应该是: 3. Long field data length in 512-byte sectors (actual data length is recorded as the first 4 bytes of LF descriptor, which is logged in the subsequent insert/delete/update log record as part of the formatted user data record ). The value of this field is always positive. The long field manager never writes log records for zero length long field data that is being inserted, deleted, or updated. db2Backup API oBackupsize 参数 在 DB2 DB2 V8 中,db2Backup API 中的 oBackupsize 参数只针对完全备份而不 针对 delta 备份或增量备份。oBackupsize 参数代表备份映像的大小(以 MB 计 )。 SYNCPOINT 选项支持 从版本 8 开始,忽略了 sqlesetc、sqleqryc 和 sqlaprep API 的 SYNCPOINT 选项;该选项仅可用于保持向后兼容性。 SQLEDBDESC 结构的新增字段 在 sqlecrea API 中,已添加新字段以支持直接 I/O。 字段名 Unsigned char sqlfscaching 描述 文件系统高速缓存 值 0 对于当前表空间,文件系统高速缓存为 ON 1 对于当前表空间,文件系统高速缓存为 OFF 其他 对于当前表空间,文件系统高速缓存为 ON 对 SQLB-TBSPQRY-DATA 结构中的新增字段的更正 已在 SQLB-TBSPQRY-DATA 结构中添加新字段 unsigned char fsCaching。这一新 字段支持直接 I/O。尽管文档中将保留位的大小记录为 32 位,但正确的大小应 该是 31 位。 应用程序开发:构建和运行应用程序 动态重新配置样本(AIX) 随 DB2 通用数据库(TM)(UDB)版本 8.2 修订包 3(功能等同于版本 8.1 修订包 10)提供了新的样本文件 ibm_db2_sln_upart_smt。下表显示了样本文件的名称 和描述。 表 17. 动态重新配置样本脚本 +-----------------+---------------------------------------------------+ | 样本脚本名称 | 文件描述 | +-----------------+---------------------------------------------------+ | ibm_db2_sln_upa | AIX 的这个 Korn shell 程序“动态重新配置”脚本(D | | rt_smt | R 脚本)简化了“动态逻辑分区”(DLPAR)功能的使用 | | | ,这些功能是随在基于 POWER5 的 pSeries(R)系统(如 | | | p5 570 和 p5 590)上运行的 AIX V5.3 提供的。此脚 | | | 本类似于 ibm_db2_sln DR 脚本,但已被优化以支持 | | | POWER5(TM) 和 AIX V5.3 功能(如微分区和 SMT)。可 | | | 以在 DR 脚本本身中找到更多信息。 | +-----------------+---------------------------------------------------+ ibm_db2_sln_upart_smt 样本脚本在 DB2 UDB AIX 版上的 sqllib/samples/DLPAR 目录中。 Linux 支持的开发软件 有关安装详细信息,参阅 DB2 UDB 版本 8.2.2 发行说明(本发行版中的新增内容 一节)中的 "Linux 2.6 内核安装映像"。 下面几个表就修订包 9 的发行版描述 DB2 Linux 体系结构支持。查看前面的验证 Web 站点以获取此支持的更新: http://www.ibm.com/db2/linux/validate 表 18. Linux on Intel(R) x86(32 位) +-----------------------------+---------+---------+-------------------+ | 分发产品 | 内核 | 库 | 注释 | +-----------------------------+---------+---------+-------------------+ | Conectiva Linux Enterprise | 2.4.19 | glibc | 基于 United Linux | | Edition(CLEE) | | 2.2.5 | 1.0 | +-----------------------------+---------+---------+-------------------+ | LINX Rocky Secure Server | 2.4.21 | glibc | | | 2.1 | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | Red Flag Advanced Server | 2.4.21- | glibc | | | 4.0 | as.2 | 2.2.93- | | | | | 5 | | +-----------------------------+---------+---------+-------------------+ | Red Flag Function Server | 2.4.20- | glibc | | | 4.0 | 8smp | 2.2.93- | | | | | 5 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.9-e | glibc | | | 2.1 AS/ES/WS | 16 | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS/ES/WS | 7.EL | .3.2- | | | | | 95.3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | 还需要 | | (RHEL) 4 | | .3.3 | compat-libstdc++- | | | | | 33 程序包 | +-----------------------------+---------+---------+-------------------+ | SCO Linux 4.0 | 2.4.19 | glibc | 基于 United Linux | | | | 2.2.5 | 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Pro 8.0 | 2.4.18 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | SuSE Pro 8.1 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.7 | glibc | | | Server (SLES) 7 | | 2.2.2 | | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19 | glibc | 最高验证至 SuSE | | Server (SLES) 8 | | 2.2.5 | Service Pack 2 级 | | | | | 别 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux 7 Server | 2.4.9 | glibc | | | | | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux 8 Server | 2.4.18- | glibc | | | | 5 | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux Enterprise | 2.4.19 | glibc | | | Server 8 | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ 表 19. Linux on Intel(R) x86(32 位)非企业版分发产品(不再受供应商支持 ) +-----------------------------+---------+---------+-------------------+ | 分发产品 | 内核 | 库 | 注释 | +-----------------------------+---------+---------+-------------------+ | Red Hat 7.2 | 2.4.9-3 | glibc | | | | 4 | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Red Hat 7.3 | 2.4.18 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | Red Hat 8.0 | 2.4.18- | glibc | | | | 14 | 2.2.93- | | | | | 5 | | +-----------------------------+---------+---------+-------------------+ | SuSE 7.3 | 2.4.10 | glibc | | | | | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ 表 20. Linux on s/390 and zSeries(R)(s/390 支持 31 位内核版本;zSeries 支持 64 位内核版本) +-----------------------------+---------+---------+-------------------+ | 分发产品 | 内核 | 库 | 注释 | +-----------------------------+---------+---------+-------------------+ | Red Hat 7.2 | 2.4.9-3 | glibc | | | | 8 | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | 还需要 | | (RHEL) 4 | | .3.3 | compat-libstdc++- | | | | | 33 程序包 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.7-5 | glibc | compat.rpm 包含 | | Server (SLES) 7 | 8 | 2.2.4 | libstdc++ 6.1。使 | | | | | 用 JDK 1.3.1 SR 1 | | | | | for Java(TM) | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19 | glibc | 基于 United Linux | | Server (SLES) 8 | | 2.2.5 | 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | Turbo Linux Enterprise | 2.4.19 | glibc | 基于 United Linux | | Server (TLES) 8 | | 2.2.5 | 1.0 | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ 表 21. Linux on x86-64 +-----------------------------+---------+---------+-------------------+ | 分发产品 | 内核 | 库 | 注释 | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS/ES/WS | 7.EL | .3.2- | | | | | 95.3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | 还需要 | | (RHEL) 4 | | .3.3 | compat-libstdc++- | | | | | 33 程序包 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19- | glibc | | | Server (SLES) 8.0 | SMP | 2.2.5-1 | | | | | 6 | | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ 表 22. Linux on POWER(TM)(iSeries 和 pSeries(R)) +-----------------------------+---------+---------+-------------------+ | 分发产品 | 内核 | 库 | 注释 | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS | 7.EL | .3.2- | | | | | 95.3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | 还需要 | | (RHEL) 4 | | .3.3 | compat-libstdc++- | | | | | 33 程序包 | +-----------------------------+---------+---------+-------------------+ | SuSE Enterprise Server | 2.4.19- | glibc | 基于 United Linux | | (SLES) 8 | 16 | 2.2.5 | 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux Enterprise | 2.4.19- | glibc | 基于 United Linux | | Server 8 | 16 | 2.2.5 | 1.0 | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ 表 23. Linux on IA64 +-----------------------------+---------+---------+-------------------+ | 分发产品 | 内核 | 库 | 注释 | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.18- | glibc | | | 2.1 AS/ES/WS | e.12smp | | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS/ES/WS | 7.EL | .3.2- | | | | | 95.3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | 还需要 | | (RHEL) 4 | | .3.3 | compat-libstdc++- | | | | | 33 程序包 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19- | glibc | 基于 United Linux | | Server (SLES) 8 | SMP | 2.2.5 | 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ 基于 DB2 UDB Linux 2.6 版内核的 Linux 分发产品(用于 Intel(R) x86)支持 下列编程语言和编译器: C GNU/Linux gcc V3.3 C++ GNU/Linux g++ V3.3 COBOL Micro Focus COBOL Server Express V2.2(带有 Service Pack 1) Java(TM) IBM(R) Developer Kit and Runtime Environment for Linux, Java(TM) 2 Technology Edition V1.3.1 和 V1.4.1 Service Release 1(32 位版本) 注: DB2 UDB 安装最新的受支持版本的 IBM Developer Kit(如果还未 安装的话),除非 DB2 UDB 安装是先前 DB2 UDB 版本 8 安装 的更新。如果要更新先前的 DB2 UDB 版本 8 安装,必须从 CD-ROM 手工安装受支持的 IBM Developer Kit。 Perl Perl 5.004_04 或更新版本,DBI 0.93 或更新版本 PHP PHP 4.3.4 或更新版本 REXX Object REXX Interpreter for Linux V2.1 基于 DB2 UDB 2.6 版内核的 Linux 分发产品(在 x86-64 上)上的 32 位实例 支持下列编程语言和编译器: C GNU/Linux gcc V3.3 注: 必须使用“-m32”编译器选项来生成 32 位应用程序或例程(存储 过程和用户定义的函数)。 C++ GNU/Linux g++ V3.3 注: 1. 这些版本的 GNU/Linux g++ 编译器不接受某些 fstream 函数的整 数参数。有关更多信息,请参阅编译器文档。 2. 必须使用“-m32”编译器选项来生成 32 位应用程序或例程(存储 过程和用户定义的函数)。 Java IBM(R) Developer Kit and Runtime Environment for Linux x86, Java 2 Technology Edition V1.3.1 Service R4(32 位版本)和 V1.4.1 Service R1(32 位版本)。 注: DB2 UDB 安装最新的受支持版本的 IBM Developer Kit(如果还未 安装的话),除非 DB2 UDB 安装是先前 DB2 UDB 版本 8 安装 的更新。如果要更新先前的 DB2 UDB 版本 8 安装,必须从 CD-ROM 手工安装受支持的 IBM Developer Kit。 Perl Perl 5.8 PHP PHP 4.3.4 或更新版本 基于 DB2 UDB 2.6 版内核的分发产品(用于 Linux on x86-64)上的 64 位实例 支持下列编程语言和编译器: C GNU/Linux gcc V3.3 C++ GNU/Linux g++ V3.3 注: 这些版本的 GNU/Linux g++ 编译器不接受某些 fstream 函数的整 数参数。有关更多信息,请参阅编译器文档。 Java DB2 UDB 目前不支持任何 64 位的 Java Developer Kit for Linux on x86-64。 Perl Perl 5.8 PHP PHP 4.3.4 或更新版本 定制 SQL 过程的预编译和绑定选项 可通过使用以下命令设置实例范围的 DB2 注册表变量 DB2_SQLROUTINE_PREPOPTS 来定制 SQL 过程的预编译和绑定选项: db2set DB2_SQLROUTINE_PREPOPTS= 除版本 8.2 中提到的选项之外,还允许使用 REOPT 选项: BLOCKING {UNAMBIG | ALL | NO} DATETIME {DEF | USA | EUR | ISO | JIS | LOC} DEGREE {1 | degree-of-parallelism | ANY} DYNAMICRULES {BIND | RUN} EXPLAIN {NO | YES | ALL} EXPLSNAP {NO | YES | ALL} FEDERATED {NO | YES} INSERT {DEF | BUF} ISOLATION {CS | RR | UR | RS | NC} QUERYOPT optimization-level REOPT {ALWAYS | NONE | ONCE} VALIDATE {RUN | BIND} 需要 C/C++ 编译选项(Linux on POWER 64 位) 如果要使用 gcc/g++ 来为 DB2 通用数据库 Linux on POWER 版上的 64 位实例 构建 C/C++ 应用程序和例程,则需要编译器选项“-m64”。 如果要使用 xlc/xlC 来为 DB2 通用数据库 Linux on POWER 版上的 64 位实例 构建 C/C++ 应用程序和例程,则需要编译器选项“-q64”。 Micro Focus COBOL 存储过程的编译和链接命令(HP-UX) DB2 通用数据库版本 8.2 文档中显示的用于在 HP-UX 上使用 Micro Focus COBOL 构建存储过程的编译和链接命令不正确。实际脚本 sqllib/samples/cobol_mf/bldrtn中包含的编译命令是正确的。编译和链接命令 现在合并成单个命令,使用 -y选项来指定期望的输出是共享库。 Micro Focus COBOL 的最低支持版本(HP-UX) HP-UX 上的 Micro Focus COBOL 编译器和运行时的最低支持版本为 Micro Focus Server Express 2.2 - Service Pack 1及修订包 Fixpack22.02_14 for HP-UX PA-RISC 11.x (32/64bit)。此修订包可从 Micro Focus Support Line Web 站点 获取,网址如下:http://supportline.microfocus.com . 为 Micro Focus COBOL 存储过程设置环境变量(Windows) 为在 Windows 上运行 Micro Focus COBOL 外部例程,需要确保 Micro Focus COBOL 环境变量永久设置为系统变量。 过程 要将环境变量设置为系统变量: 1. 打开“控制面板” 2. 选择系统 3. 选择高级选项卡 4. 单击环境变量 5. 将这些变量添加至系统变量列表 在用户变量列表中、在命令提示符下或在脚本中设置环境变量是不够的。 应用程序开发:调用级接口(CLI) Trusted_Connection CLI/ODBC 配置关键字 关键字描述: 允许与当前认证的用户进行连接。 语法: Trusted_Connection=Yes 注: 如果在 db2cli.ini 文件中设置此关键字,它是无效的。而应在 SQLDriverConnect() 的连接字符串中提供它。 缺省设置: DB2 CLI 使用在 SQLDriverConnect() 的连接字符串中提供的用户标识 和密码,而不是当前认证的用户。 使用说明: 与数据库连接的 DB2 CLI 应用程序通常使用函数 SQLDriverConnect() 连接。此函数的其中一个自变量是 DriverCompletion 值,该值确定窗 口何时打开。以下是 DriverCompletion 的值: * SQL_DRIVER_PROMPT:始终启动对话。 * SQL_DRIVER_COMPLETE:只有当连接字符串中的信息不足时才启动对 话。 * SQL_DRIVER_COMPLETE_REQUIRED:只有当连接字符串中的信息不足 时才启动对话。只请求必需的信息。将提示用户输入必需的信息。 * SQL_DRIVER_NOPROMPT:不提示用户输入任何信息。尝试使用连接字 符串中的信息进行连接。如果没有足够的信息将返回 SQL_ERROR。 注: 可在关于 SQLDriverConnect() 的文档中找到关于 DriverCompletion 的更多详细信息。 某些应用程序(例如,Kerberos 环境中的应用程序)可能要求用户在 不提供用户标识或密码的情况下能连接到 DB2 UDB 服务器。如果应用 程序对 SQLDriverConnect() 调用使用 SQL_DRIVER_NO_PROMPT 选项, 则将在不进行用户认证的情况下尝试连接。也就不再需要此关键字。 在涉及第三方应用程序且应用程序使用的提示级别不是 SQL_DRIVER_NO_PROMPT 时,DB2 CLI 会打开一个窗口请求输入缺少的 信息。通过为 SQLDriverConnect() 的输入连接字符串提供 Yes 值( "Trusted_Connection=Yes"),将 Trusted_Connection 设置为 Yes, 从而使 DB2 CLI 忽略来自连接字符串的任何用户标识或密码字符串( 包括空白字符串),并忽略连接函数的提示级别。DB2 CLI 使用当前认 证的用户来尝试与数据库的连接。如果连接尝试失败,将提示用户输入 用户标识和密码。 此关键字仅在 SQLDriverConnect() 的连接字符串中使用;在 db2cli.ini 文件中设置此关键字无效。 SQLDescribeParam 函数的诊断表更新(CLI) SQLDescribeParam() 函数返回与预编译 SQL 语句关联的参数标记的描述。 已使用 SQLSTATE HYC00 更新诊断表。 诊断 表 24. SQLDescribeParam SQLSTATEs +--------+-------------------+----------------------------------------+ | SQLSTA | 描述 | 解释 | | TE | | | +--------+-------------------+----------------------------------------+ | HYC00 | 驱动程序不可用 | 在服务器上不能访问模式函数存储过程。在 | | | | 服务器上安装模式函数存储过程并确保可以 | | | | 访问它们。 | +--------+-------------------+----------------------------------------+ 调用级接口的异步执行 DB2 调用级接口(DB2 CLI)可以异步运行一部分函数。DB2 CLI 驱动程序在调用 函数之后但在该函数完成执行之前将控制权返回给应用程序。每次调用函数时, 它都会返回 SQL_STILL_EXECUTING,直到该函数完成运行为止,此时它返回另一 个值(例如,SQL_SUCCESS)。 异步执行只在单线程操作系统上才有益。在多线程操作系统上运行的应用程序应 在单独的线程中执行函数。可以对通常将请求发送至服务器,然后等待响应的那 些函数进行异步执行。异步执行的函数无须等待就将控制权返回给应用程序。然 后,该应用程序可以执行其他任务,或将控制权返回给操作系统,并使用中断来 反复轮询该函数,直到返回除 SQL_STILL_EXECUTING 之外的返回码为止。 从 DB2 通用数据库(UDB)版本 8.2 修订包 1(功能等同于版本 8.1 修订包 8 )开始就包括对 CLI 的异步执行的支持。有关此功能的文档,参阅 DB2 UDB 版本 7 信息中心,网址为 http://publib.boulder.ibm.com/infocenter/db2v7luw/index.jsp。版本 7 文 档中的所有信息适用于版本 8.2 修订包 1(功能等同于版本 8.1 修订包 8)和 更新版本。DB2 版本 8 信息中心不包含此功能的任何文档。 SQL_ATTR_PING_DB 连接属性 SQL_ATTR_PING_DB(DB2 CLI V8.2) SQL_ATTR_PING_DB 是一个 32 位的整数,它与 SQLGetConnectAttr() 函数一起 使用以获取 DB2 UDB 客户机和 DB2 UDB 服务器之间的现有连接的网络响应时间 。响应时间是以微秒为单位报告的。 如果先前已建立连接并且该连接已被数据库断开,则报告值 0。如果连接已被应 用程序关闭,则报告 SQLSTATE 为 08003。此连接属性可由 SQLGetConnectAttr() 返回,但不能由 SQLSetConnectAttr() 设置。任何尝试设置此属性的行为都将导 致 SQLSTATE 为 HYC00(驱动程序不可用)。 SQLBindParameter 函数(CLI) 在 SQLBindParameter 函数的文档中,“输入参数”一节中的描述不正确。正确 的描述如下所示: 输入参数 0 ColumnSize 意味着 DB2 CLI 将使用 SQL 类型的最大长度 ,该长度是作为列或存储过程参数的大小提供的。DB2 CLI 将使用此大 小执行任何必需的转换。 SQLMoreResults 函数(CLI) 在 SQLMoreResults 函数的文档中,不正确地引用了 SQL_ATTR_ROW_ARRAY_SIZE 语句属性。正确的语句属性是 SQL_ATTR_PARAMSET_SIZE。“用法”一节应如下所 示: 此函数用来按执行下列内容的顺序返回多个结果集: * 使用通过 SQL_ATTR_PARAMSET_SIZE 语句属性和 SQLBindParameter() 指定的 输入参数值数组执行参数化查询 其他环境属性 除了充当 CLI 连接属性之外,下列属性作为 CLI 环境属性时也是受支持的: * SQL_ATTR_INFO_ACCTSTR * SQL_ATTR_INFO_APPLNAME * SQL_ATTR_INFO_USERID * SQL_ATTR_INFO_WRKSTNNAME 有关这些属性的信息,请参阅 DB2 信息中心或 CLI Guide and Reference Volume 2 中的 CLI 连接属性文档。 动态可滚动游标需求 要对动态可滚动游标的结果集中的行执行更新和删除,UPDATE 或 DELETE 语句必 须包括基本表中至少一个唯一键的所有列。它可以是主键或任何其他唯一键。 RetCatalogAsCurrServer CLI/ODBC 配置关键字 关键字描述: 目录函数对目录列返回 CURRENT SERVER 值而不是 null 值。 db2cli.ini 关键字语法: RetCatalogAsCurrServer= 0 | 1 缺省设置: 如果目标 DBMS 对目录列返回 null,则将不会替换 CURRENT SERVER 值。 使用说明: 如果目标 DBMS 的目录函数对目录列返回 null 值,则将 RetCatalogAsCurrServer 设置为 1 会导致 DBMS 返回 CURRENT SERVER 值。 * 0 表示目录函数对目录列返回 null 值(缺省值)。 * 1 表示目录函数对目录列返回 CURRENT SERVER 值,而不是 null 值。 例如,假定目录函数 SQLTables() 返回一个结果集,其中 TABLE_CAT 列中的值为 null 值。 将 RetCatalogAsCurrServer 设置为 1 会导致 DBMS 在 TABLE_CAT 列中返回 CURRENT SERVER 值。 注: 此关键字受 DB2 UDB Linux 版、UNIX(R) 版和 Windows(R) 版版本 8.2 修订包 3(功能等同于版本 8.1 修订包 10)和更新版本支 持。 ReceiveTimeout CLI/ODBC 配置关键字 关键字描述: 指定就已建立的连接等待服务器回复的时间(以秒为单位),超过该时 间将终止尝试并生成通信超时错误。 db2cli.ini 关键字语法: ReceiveTimeout = 0 | 1 | 2 | ... | 32767 缺省设置: 客户机就已建立的连接无限期等待服务器的回复。 等效连接属性: SQL_ATTR_RECEIVE_TIMEOUT 使用说明: 缺省值为 0,指示客户机将无限期等待回复。接收超时在建立连接期间 不起作用;仅 TCP/IP 协议支持该参数,任何其他协议都将忽略该参数 。 SQL_ATTR_RECEIVE_TIMEOUT 连接属性 SQL_ATTR_RECEIVE_TIMEOUT(DB2 CLI V8) 32 位整数值,指示客户机就已建立的连接等待服务器回复的秒数,超 过该时间将终止尝试并生成通信超时错误。缺省值为 0,指示客户机将 无限期等待回复。接收超时在建立连接期间不起作用;仅 TCP/IP 协议 支持该参数,任何其他协议都将忽略该参数。支持的值是从 0 到 32767 的整数。 Reopt CLI/ODBC 配置关键字 关键字描述: 支持对带有专用寄存器或参数标记的 SQL 语句进行查询优化或重新优 化。 db2cli.ini 关键字语法: Reopt = 2 | 3 | 4 缺省设置: 不会在查询执行时进行查询优化。编译器选择的缺省估计值将用于专用 寄存器或参数标记。 等效的语句和连接属性: SQL_ATTR_REOPT 使用说明: 通过使用查询执行时为专用寄存器或参数标记提供的值来进行优化,而 不是使用编译器选择的缺省估计值进行优化。关键字的有效值包括: * 2 = SQL_REOPT_NONE。这是缺省值。不会在查询执行时进行查询优 化。编译器选择的缺省估计值将用于专用寄存器或参数标记。缺省 “NULLID”程序包集合用于执行动态 SQL 语句。 * 3 = SQL_REOPT_ONCE。第一次执行查询时会在查询执行时进行一次 查询优化。将使用与 REOPT ONCE 绑定选项绑定在一起的“NULLIDR1 ”程序包集合。 * 4 = SQL_REOPT_ALWAYS。每次执行查询时,会在查询执行时进行查 询优化或重新优化。将使用与 REOPT ALWAYS 绑定选项绑定在一起 的“NULLIDRA”程序包集合。 “NULLIDR1”和“NULLIDRA”是保留的程序包集合名称,使用时分别 暗示 REOPT ONCE 和 REOPT ALWAYS。必须使用下列命令显式创建这些 程序包集合: db2 bind db2clipk.bnd collection NULLIDR1 db2 bind db2clipk.bnd collection NULLIDRA 如果同时指定了 Reopt 和 CurrentPackageSet 关键字,则优先使用 CurrentPackageSet。 SQL_ATTR_REOPT 语句和连接属性 SQL_ATTR_REOPT(DB2 CLI V8) 32 位整数值,用于对包含专用寄存器或参数标记的 SQL 语句启用查询 优化。通过使用查询执行时为专用寄存器或参数标记提供的值来进行优 化,而不是使用编译器选择的缺省估计值进行优化。该属性的有效值包 括: * 2 = SQL_REOPT_NONE。这是缺省值。不会在查询执行时进行查询优 化。编译器选择的缺省估计值将用于专用寄存器或参数标记。缺省 “NULLID”程序包集合用于执行动态 SQL 语句。 * 3 = SQL_REOPT_ONCE。第一次执行查询时会在查询执行时进行一次 查询优化。将使用与 REOPT ONCE 绑定选项绑定在一起的“NULLIDR1 ”程序包集合。 * 4 = SQL_REOPT_ALWAYS。每次执行查询时,会在查询执行时进行查 询优化或重新优化。将使用与 REOPT ALWAYS 绑定选项绑定在一起 的“NULLIDRA”程序包集合。 “NULLIDR1”和“NULLIDRA”是保留的程序包集合名称,使用时分别 暗示 REOPT ONCE 和 REOPT ALWAYS。必须使用下列命令显式创建这些 程序包集合: db2 bind db2clipk.bnd collection NULLIDR1 db2 bind db2clipk.bnd collection NULLIDRA SQL_ATTR_REOPT 和 SQL_ATTR_CURRENT_PACKAGE_SET 是互斥的,因此 只能设置其中一项。 CurrentPackageSet CLI/ODBC 配置关键字 关键字描述: 在每次连接后发出 SET CURRENT PACKAGESET 语句。 db2cli.ini 关键字语法: CurrentPackageSet = schema name 缺省设置: 不追加该子句。 等效连接属性: SQL_ATTR_CURRENT_PACKAGE_SET 使用说明: 在每次连接至数据库之后,此选项发出 SET CURRENT PACKAGESET SQL 语句,并带有 CurrentPackageSet 值。在缺省情况下,将不追加此子 句。 SET CURRENT PACKAGESET SQL 语句设置模式名(集合标识),该名称 用来选择要用于后续 SQL 语句的程序包。 CLI/ODBC 应用程序发出动态 SQL 语句。可使用此选项来控制用于运行 下列语句的特权: * 选择从 CLI/ODBC 应用程序运行 SQL 语句时要使用的模式。 * 确保该模式中的对象具有期望的特权,然后重新进行相应的绑定。 * 将 CurrentPackageSet 选项设置为此模式。 CLI/ODBC 应用程序中的 SQL 语句将在指定模式中运行并使用在该处定 义的特权。 下列程序包集合名称是保留的:“NULLID”、“NULLIDR1”和“ NULLIDRA”。 如果同时指定了 Reopt 和 CurrentPackageSet 关键字,则优先使用 CurrentPackageSet。 SQL_ATTR_CURRENT_PACKAGE_SET 连接属性 SQL_ATTR_CURRENT_PACKAGE_SET(DB2 CLI V5) 以 null 结束的字符串,指示用来选择要用于后续 SQL 语句的程序包 的模式名(连接标识)。设置此属性将导致发出 SET CURRENT PACKAGESET SQL 语句。如果此属性是在连接之前设置的,则将在连接 时发出 SET CURRENT PACKAGESET SQL 语句。 CLI/ODBC 应用程序发出动态 SQL 语句。可使用此连接属性来控制用于 运行下列语句的特权: * 选择从 CLI/ODBC 应用程序运行 SQL 语句时要使用的模式。 * 确保该模式中的对象具有期望的特权,然后重新进行相应的绑定。 这通常意味着使用 COLLECTION 选项绑定 CLI 程序包( sqllib/bnd/db2cli.lst)。有关进一步的详细信息,请参阅 BIND 命令。 * 将 CURRENTPACKAGESET 选项设置为此模式。 CLI/ODBC 应用程序中的 SQL 语句将在指定模式中运行并使用在该处定 义的特权。 指定模式名的另一种方法是设置 CLI/ODBC 配置关键字 CURRENTPACKAGESET。 下列程序包集合名称是保留的:“NULLID”、“NULLIDR1”和“ NULLIDRA”。 SQL_ATTR_REOPT 和 SQL_ATTR_CURRENT_PACKAGE_SET 是互斥的,因此 只能设置其中一项。 MapBigintCDefault CLI/ODBC 配置关键字 关键字描述: 指定 BIGINT 列和参数标记的缺省 C 类型。 db2cli.ini 关键字语法: MapBigintCDefault = 0 | 1 | 2 缺省设置: BIGINT 数据的缺省 C 类型表示法为 SQL_C_BIGINT。 使用说明: MapBigintCDefault 控制在对 BIGINT 列和参数标记指定 SQL_C_DEFAULT 时使用 的 C 类型。此关键字应主要用于 Microsoft 应用程序,例如,Microsoft Access ,它不能处理 8 字节整数。按如下所示设置 MapBigintCDefault: * 0 - 用于缺省 SQL_C_BIGINT C 类型表示法 * 1 - 用于 SQL_C_CHAR C 类型表示法 * 2 - 用于 SQL_C_WCHAR C 类型表示法 此关键字会影响 CLI 函数的行为,其中 SQL_C_DEFAULT 可能被指定为 C 类型 ,例如,SQLBindParameter()、SQLBindCol() 和 SQLGetData()。 DescribeOutputLevel CLI/ODBC 配置关键字 关键字描述: 设置 CLI 驱动程序在准备或描述请求期间请求的输出列描述信息的级 别。 db2cli.ini 关键字语法: DescribeOutputLevel = 0 | 1 | 2 | 3 缺省设置: 请求表 25 的级别 2 中列出的描述信息。 使用说明: 此关键字控制 CLI 驱动程序在准备或描述请求期间请求的信息量。缺省情况下, 当服务器接收到描述请求时,它将返回包含在结果集列的表 25 的级别 2 中包含 的信息。但是,应用程序可能不需要此信息的全部或可能需要其他信息。 将 DescribeOutputLevel 关键字设置为能够满足客户机应用程序需要的级别可改 进性能,因为在客户机与服务器之间传送的描述数据被限制为应用程序需要的最 小量。如果 DescribeOutputLevel 设置被设置得过低,可能会对应用程序的功能 有影响(这取决于应用程序的需求)。用来检索描述信息的 CLI 函数在此情况下 不会失败,但返回的信息可能不完整。 DescribeOutputLevel 的受支持设置包括: * 0 - 不会对客户机应用程序返回任何描述信息 * 1 - 在级别 1(请参阅表 25)中归类的描述信息将返回至客户机应用程序 * 2 -(缺省值)在级别 2(请参阅表 25)中归类的描述信息将返回至客户机 应用程序 * 3 - 在级别 3(请参阅表 25)中归类的描述信息将返回至客户机应用程序 下表列出的字段将组成描述信息,服务器在接收到准备或描述请求时会返回此描 述信息。这些字段被分组成若干级别,而 DescribeOutputLevel CLI/ODBC 配置 关键字控制 CLI 驱动程序请求哪些级别的描述信息。 注: 并非所有级别的描述信息都受到 DB2 服务器的支持。所有级别的描述信息在 下列 DB2 服务器上受支持:DB2 通用数据库(UDB)Linux 版、UNIX 版和 Windows 版版本 8 和更新版本、DB2 UDB z/OS 版版本 8 和更新版本以及 DB2 UDB iSeries 版 V5R3 和更新版本。所有其他 DB2 服务器仅支持将 DescribeOutputLevel 设置为 2 或 0。 表 25. 描述信息的级别 +-----------------------+----------------------+----------------------+ | 级别 1 | 级别 2 | 级别 3 | +-----------------------+----------------------+----------------------+ | SQL_DESC_COUNT | 级别 1 的所有字段以 | 级别 1 和级别 2 的所 | | SQL_COLUMN_COUNT | 及: | 有字段 | | SQL_DESC_TYPE | SQL_DESC_NAME | 以及: | | SQL_DESC_CONCISE_TYPE | SQL_DESC_LABEL | SQL_DESC_BASE_COLUMN | | SQL_COLUMN_LENGTH | SQL_COLUMN_NAME | _NAME | | SQL_DESC_OCTET_LENGTH | SQL_DESC_UNNAMED | SQL_DESC_UPDATABLE | | SQL_DESC_LENGTH | SQL_DESC_TYPE_NAME | SQL_DESC_AUTO_UNIQUE | | SQL_DESC_PRECISION | SQL_DESC_DISTINCT_TY | _VALUE | | SQL_COLUMN_PRECISION | PE | SQL_DESC_SCHEMA_NAME | | SQL_DESC_SCALE | SQL_DESC_REFERENCE_T | SQL_DESC_CATALOG_NAM | | SQL_COLUMN_SCALE | YPE | E | | SQL_DESC_DISPLAY_SIZE | SQL_DESC_STRUCTURED_ | SQL_DESC_TABLE_NAME | | SQL_DESC_NULLABLE | TYPE | SQL_DESC_BASE_TABLE_ | | SQL_COLUMN_NULLABLE | SQL_DESC_USER_TYPE | NAME | | SQL_DESC_UNSIGNED | SQL_DESC_LOCAL_TYPE_ | | | SQL_DESC_SEARCHABLE | NAME | | | SQL_DESC_LITERAL_SUFF | SQL_DESC_USER_DEFINE | | | IX | D_ | | | SQL_DESC_LITERAL_PREF | TYPE_CODE | | | IX | | | | SQL_DESC_CASE_SENSITI | | | | VE | | | | SQL_DESC_FIXED_PREC_S | | | | CALE | | | +-----------------------+----------------------+----------------------+ 应用程序开发:编写客户机应用程序 不支持与 DB2 VM/VSE 版的 4 类 DB2 通用 JDBC 驱动程序连接 DB2 通用 JDBC 驱动程序不支持与 DB2 VM/VSE 版数据库的 4 类连接。在《应用 程序开发指南:编写客户机应用程序》中的主题“设置 Windows Java 环境”和 “安装 DB2 通用 JDBC 驱动程序”以及 DB2 UDB 信息中心都错误地指出 DB2 通 用 JDBC 驱动程序支持与 DB2 VM/VSE 版数据库的 4 类连接。 DB2 通用 JDBC 驱动程序连接集中器和综合系统(sysplex)工作负载平衡 使用 DB2 通用 JDBC 驱动程序 4 类连接 访问 DB2 UDB z/OS(R) 版服务器的 Java 应用程序可以利用它的连接集中器和综合系统(sysplex)工作负载平衡功 能。 这些功能类似于 DB2 Connect 的连接集中器和综合系统(sysplex)工作负载平 衡功能。 通过让许多连接对象使用同一物理连接,DB2 通用 JDBC 驱动程序 连接集中器可 以减少 DB2 UDB z/OS(R) 版数据库服务器支持大量客户机应用程序所需的资源, 从而减少与数据库服务器的物理连接总数。 DB2 通用 JDBC 驱动程序 综合系统(sysplex)工作负载平衡可以提高数据共享 组的可用性,因为驱动程序频繁地获取有关数据共享组成员的状态信息。驱动程 序使用此信息确定下一个事务应路由至的数据共享成员。借助综合系统(sysplex )工作负载平衡,DB2 UDB z/OS 版服务器和“z/OS 的工作负载管理器”(WLM) 确保在数据共享组的成员之间有效地分配工作,并确保在一个成员失败时将工作 传送到数据共享组的另一个成员。 DB2 通用 JDBC 驱动程序 使用传输对象和全局传输对象池来支持连接集中器和综 合系统(sysplex)工作负载平衡。对于与数据库服务器的每个物理连接,都存在 一个传输对象。启用连接集中器和综合系统(sysplex)工作负载平衡时,通过设 置传输对象的最大数目,可以随时设置与数据库服务器的最大物理连接数。 在驱动程序级别,使用 DB2 通用 JDBC 驱动程序 配置属性设置对传输对象数目 的限制。 在连接级别,使用数据源属性启用和禁用 DB2 通用 JDBC 驱动程序 连接集中器 和综合系统(sysplex)工作负载平衡并设置对传输对象数目的限制。 可用下列任一种方法来监视全局传输对象池: * 使用通过使用 DB2 通用 JDBC 驱动程序 配置属性启动的跟踪 * 使用应用程序编程接口 连接集中器和综合系统(sysplex)工作负载平衡的 DB2 通用 JDBC 驱动程序 配 置属性 下列每个配置属性都用于连接集中器和综合系统(sysplex)工作负载平衡 db2.jcc.dumpPool 指定为全局传输池事件写入的统计信息的类型(写入的总结统计信息除外)。 全局传输池用于连接集中器和综合系统(sysplex)工作负载平衡。 db2.jcc.dumpPool 的数据类型为整型(int.)。在写入任何统计信息之前, 还必须设置 db2.jcc.dumpPoolStatisticsOnSchedule 和 db2.jcc.dumpPoolStatisticsOnScheduleFile 配置属性以写入统计信息。 可以使用 db2.jcc.dumpPool 属性指定下列一种或多种统计信息类型: * DUMP_REMOVE_OBJECT(十六进制:X'01',十进制:1) * DUMP_GET_OBJECT(十六进制:X'02',十进制:2) * DUMP_WAIT_OBJECT (十六进制:X'04',十进制:4) * DUMP_SET_AVAILABLE_OBJECT(十六进制:X'08',十进制:8) * DUMP_CREATE_OBJECT (十六进制:X'10',十进制:16) * DUMP_SYSPLEX_MSG(十六进制:X'20',十进制:32) * DUMP_POOL_ERROR(十六进制:X'80',十进制:128) 要跟踪多种事件类型,将想要跟踪的事件类型的值加起来。例如,假定想要跟 踪 DUMP_GET_OBJECT 和 DUMP_CREATE_OBJECT 事件。与这些值等价的数字是 2 和 16,因此为 db2.jcc.dumpPool 值指定 18。 缺省值是 0,它表示只写入全局传输池的总结统计信息。 db2.jcc.dumpPoolStatisticsOnSchedule 指定将全局传输池统计信息写入由 db2.jcc.dumpPoolStatisticsOnScheduleFile 配置属性指定的文件的频率( 以秒计)。全局传输池用于连接集中器和综合系统(sysplex)工作负载平衡 。 缺省值是 -1,它表示不写入全局传输池统计信息。 db2.jcc.dumpPoolStatisticsOnScheduleFile 指定在其中写入全局传输池统计信息的文件的名称。全局传输池用于连接集中 器和综合系统(sysplex)工作负载平衡。 如果未指定 db2.jcc.dumpPoolStatisticsOnScheduleFile 配置属性,则不写 入全局传输池统计信息。 db2.jcc.maxTransportObjectIdleTime 指定从全局传输对象池中删除一个未使用的传输对象之前,该对象可以在池中 存在多长时间(以秒计)。传输对象用于连接集中器和综合系统(sysplex) 工作负载平衡。 db2.jcc.maxTransportObjectIdleTime 配置属性的缺省值是 60。将 db2.jcc.maxTransportObjectIdleTime 设置为一个小于 0 的值会导致立即从 池中删除未使用的传输对象。建议不要使用此操作,因为它会严重降低性能。 db2.jcc.maxTransportObjectWaitTime 指定当达到 db2.jcc.maxTransportObjects 值时,应用程序等待一个传输对 象的最长时间(以秒计)。传输对象用于连接集中器和综合系统(sysplex) 工作负载平衡。当应用程序等待的时间大于 db2.jcc.maxTransportObjectWaitTime 值时,全局传输对象池将抛出 SQLException。 db2.jcc.maxTransportObjectWaitTime 配置属性的缺省值是 -1。任何负数值 都表示应用程序永远等待下去。 db2.jcc.maxTransportObjects 指定全局传输对象池中用于连接集中器和综合系统(sysplex)工作负载平衡 的传输对象数目的上限。当池中传输对象的数目达到 db2.jcc.maxTransportObjects 值时,将从池中删除未使用的时间大于 db2.jcc.maxTransportObjectIdleTime 值的传输对象。 db2.jcc.maxTransportObjects 配置属性的缺省值是 -1,它表示对全局传输 对象池中传输对象的数目没有限制。 db2.jcc.minTransportObjects 指定全局传输对象池中用于连接集中器和综合系统(sysplex)工作负载平衡 的传输对象数目的下限。创建 JVM 时,池中没有传输对象。当需要传输对象 时,将它们添加到池中。在达到 db2.jcc.minTransportObjects 值之后,全 局传输对象池中的传输对象的数目在该 JVM 的生存期内永远也不会小于 db2.jcc.minTransportObjects 值。 db2.jcc.minTransportObjects 配置属性的缺省值是 0。小于或等于 0 的任 何值表示全局传输对象池可以为空。 连接集中器和综合系统(sysplex)工作负载平衡的 DB2 通用 JDBC 驱动程序 数 据源属性 下列每个 DB2 通用 JDBC 驱动程序 数据源属性都用于连接集中器和综合系统( sysplex)工作负载平衡 enableConnectionConcentrator 指示是否启用 DB2 通用 JDBC 驱动程序 的连接集中器功能。连接集中器功能 仅可用于与 DB2 UDB z/OS 版服务器的连接。 enableConnectionConcentrator 属性的数据类型为 boolean。缺省值是 false 。但是,如果 enableSysplexWLB 被设置为 true,则缺省值为 true。 enableSysplexWLB 指示是否启用 DB2 通用 JDBC 驱动程序 的综合系统(sysplex)工作负载平 衡功能。综合系统(sysplex)工作负载平衡功能仅可用于与 DB2 UDB z/OS 版服务器的连接。 enableSysplexWLB 属性的数据类型是 boolean。缺省值是 false。但是,如果 enableSysplexWLB 被设置为 true,则缺省情况下将 enableConnectionConcentrator 设置为 true。 maxTransportObjects 指定可用于与关联的数据源对象的所有连接的传输对象的最大数目。传输对象 用于连接集中器和综合系统(sysplex)工作负载平衡。如果未设置 enableConnectionConcentrator 或 enableSysplexWLB 属性以启用使用连接 集中器或综合系统(sysplex)工作负载平衡,则忽略 maxTransportObjects 值。 此属性的数据类型是整型(int.)。 如果尚未达到 maxTransportObjects 值并且传输对象在全局传输对象池中不 可用,则池将创建一个新的传输对象。如果达到 maxTransportObjects 值, 则应用程序将等待 db2.jcc.maxTransportObjectWaitTime 配置属性所指定的 时间长短。在经过该时间长短之后,如果池中仍没有可用的传输对象,则池将 抛出 SQLException。 maxTransportObjects 属性不覆盖 db2.jcc.maxTransportObjects 配置属性 。maxTransportObjects 属性对来自其他数据源对象的连接无效。如果 maxTransportObjects 值大于 db2.jcc.maxTransportObjects 值,则 maxTransportObjects 不会增加 db2.jcc.maxTransportObjects 值。 maxTransportObjects 属性的缺省值是 -1,它表示仅驱动程序的 db2.jcc.maxTransportObjects 值限制数据源的传输对象的数目。 在 WebSphere Application Server 中启用 DB2 通用 JDBC 驱动程序 连接集中器 和综合系统(sysplex)工作负载平衡功能的示例 下列过程是使用 WebSphere(R) Application Server 启用 DB2 通用 JDBC 驱动 程序 连接集中器和综合系统(sysplex)工作负载平衡功能的示例。 先决条件 服务器要求: * WLM for z/OS * DB2 UDB OS/390(R) 版和 z/OS 版版本 7 或更新版本 客户机要求: * DB2 通用 JDBC 驱动程序,修订包级别为 10 * WebSphere(R) Application Server V5.1 或更新版本 过程 要使用 WebSphere Application Server 启用 DB2 通用 JDBC 驱动程序 连接集 中器和综合系统(sysplex)工作负载平衡功能: 1. 通过在 z/OS 上的命令行处理器中或在 UNIX(R) 上的“系统服务”中发出下 列命令,验证 DB2 通用 JDBC 驱动程序 是否处于支持连接集中器和综合系统 (sysplex)工作负载平衡功能的正确级别: java com.ibm.db2.jcc.DB2Jcc -version 在输出中找到类似于以下内容的一行: [ibm][db2][jcc] Driver: IBM DB2 JDBC Universal Driver Architecture n n n 应为 2.7 或更大。 2. 设置 DB2 通用 JDBC 驱动程序 配置属性以对在驱动程序下创建的所有数据源 实例启用连接集中器或综合系统(sysplex)工作负载平衡功能。 在 DB2JccConfiguration.properties 文件中设置配置属性。 a. 创建 DB2JccConfiguration.properties 文件或编辑现有 DB2JccConfiguration.properties 文件。 b. 设置下列配置属性: * db2.jcc.minTransportObjects * db2.jcc.maxTransportObjects * db2.jcc.maxTransportObjectWaitTime * db2.jcc.dumpPool * db2.jcc.dumpPoolStatisticsOnScheduleFile 从类似于下列设置的设置开始: db2.jcc.minTransportObjects=0 db2.jcc.maxTransportObjects=1500 db2.jcc.maxTransportObjectWaitTime=-1 db2.jcc.dumpPool=0 db2.jcc.dumpPoolStatisticsOnScheduleFile= /home/WAS/logs/srv1/poolstats c. 将 DB2JccConfiguration.properties 的目录路径添加至 WebSphere Application Server DB2 通用 JDBC 驱动程序 类路径。 3. 设置 DB2 通用 JDBC 驱动程序 数据源属性以启用连接集中器或综合系统( sysplex)工作负载平衡功能。 在 WebSphere Application Server 管理控制台中,设置应用程序用来连接至 数据库服务器的数据源的下列属性: * enableSysplexWLB * enableConnectionConcentrator * maxTransportObjects 假定您想要连接集中器功能和综合系统(sysplex)工作负载平衡功能。从类 似于下列设置的设置开始: 表 26. DB2 通用 JDBC 驱动程序 连接集中器和综合系统(sysplex)工作负载平 衡功能的数据源属性设置示例 +-------------------------+-------------------------------------------+ | 属性 设置 | +-------------------------+-------------------------------------------+ | enableSysplexWLB true1 | +-------------------------+-------------------------------------------+ | maxTransportObjects 100 | +---------------------------------------------------------------------+ | 注: | | 1. 缺省情况下,将 enableConnectionConcentrator 属性设置为 true,因 | | 为 enableSysplexWLB 属性被设置为 true。 | +---------------------------------------------------------------------+ 4. 重新启动 WebSphere Application Server。 监视 DB2 通用 JDBC 驱动程序 连接集中器和综合系统(sysplex)工作负载平衡 功能的方法 要监视 DB2 通用 JDBC 驱动程序 连接集中器和综合系统(sysplex)工作负载平 衡功能,需要监视全局传输对象池。可用下列任一种方法来监视全局传输对象池 : * 使用通过设置 DB2 通用 JDBC 驱动程序 配置属性启动的跟踪 * 使用应用程序编程接口 用于监视全局传输对象池的配置属性 db2.jcc.dumpPool、db2.jcc.dumpPoolStatisticsOnSchedule 和 db2.jcc.dumpPoolStatisticsOnScheduleFile 配置属性控制对全局传输对象池的 跟踪。 例如,下列一组配置属性设置导致每 60 秒就将综合系统(sysplex)错误消息和 转储池错误消息写入名为 /home/WAS/logs/srv1/poolstats 的文件: db2.jcc.dumpPool=DUMP_SYSPLEX_MSG|DUMP_POOL_ERROR db2.jcc.dumpPoolStatisticsOnSchedule=60 db2.jcc.dumpPoolStatisticsOnScheduleFile=/home/WAS/logs/srv1/poolstats 池统计信息文件中的一个条目类似于如下所示: time Scheduled PoolStatistics npr:2575 nsr:2575 lwroc:439 hwroc:1764 coc:372 aooc:362 rmoc:362 nbr:2872 tbt:857520 tpo:10 字段的含义为: npr 自创建池以来,DB2 通用 JDBC 驱动程序 向池发出的请求总数。 nsr 自创建池以来,DB2 通用 JDBC 驱动程序 向池发出的成功请求数。成 功请求表示池返回了一个对象。 lwroc 已复用但不在池中的对象数。如果连接对象在事务边界处释放传输对象, 则可能会出现这种情况。如果连接对象稍后需要一个传输对象,并且原始 传输对象尚未被任何其他连接对象使用,则该连接对象可以使用该传输对 象。 hwroc 池中已复用的对象数。 coc 自创建池以来,DB2 通用 JDBC 驱动程序 创建的对象数。 aooc 超过 db2.jcc.maxTransportObjectIdleTime 配置属性所指定的空闲 时间并且已从池中删除的对象数。 rmoc 自创建池以来,已从池中删除的对象数。 nbr DB2 通用 JDBC 驱动程序 向池发出的、但由于池已达到其最大容量而 被池阻拦的请求数。如果在超过 db2.jcc.maxTransportObjectWaitTime 配置值并且抛出异常之前一个对象被返回到池,则阻拦的请求可能是成功 的。 tbt 被池阻拦的请求的总时间(以毫秒计)。如果应用程序使用多线程,则 这个时间可能比应用程序所用的执行时间长很多。 tpo 当前在池中的对象数。 用于监视全局传输对象池的应用程序编程接口 可以编写应用程序以收集有关全局传输对象池的统计信息。这些应用程序在 DB2PoolMonitor 类中创建对象并调用方法来检索有关池的信息。 例如,下列代码创建一个用于监视全局传输对象池的对象: import com.ibm.db2.jcc.DB2PoolMonitor; DB2PoolMonitor transportObjectPoolMonitor = DB2PoolMonitor.getPoolMonitor (DB2PoolMonitor.TRANSPORT_OBJECT); 在创建 DB2PoolMonitor 对象之后,可以使用下列方法来监视全局传输对象池。 getMonitorVersion 格式: public int getMonitorVersion() 检索随 DB2 通用 JDBC 驱动程序 交付的 DB2PoolMonitor 类的版本。 totalRequestsToPool 格式: public int totalRequestsToPool() 检索自创建池以来,DB2 通用 JDBC 驱动程序 向池发出的请求总数。 successfullRequestsFromPool 格式: public int successfullRequestsFromPool() 检索自创建池以来,DB2 通用 JDBC 驱动程序 向池发出的成功请求数。成功 请求表示池返回了一个对象。 numberOfRequestsBlocked 格式: public int numberOfRequestsBlocked() 检索 DB2 通用 JDBC 驱动程序 向池发出的、但由于池已达到其最大容量而被 池阻拦的请求数。如果在超过 db2.jcc.maxTransportObjectWaitTime 配置值 并且抛出异常之前一个对象被返回到池,则阻拦的请求可能是成功的。 totalTimeBlocked 格式: public long totalTimeBlocked() 检索被池阻拦的请求的总时间(以毫秒计)。如果应用程序使用多线程,则这 个时间可能比应用程序所用的执行时间长很多。 lightWeightReusedObjectCount 格式: public int lightWeightReusedObjectCount() 检索已复用但不在池中的对象数。如果连接对象在事务边界处释放传输对象, 则可能会出现这种情况。如果连接对象稍后需要一个传输对象,并且原始传输 对象尚未被任何其他连接对象使用,则该连接对象可以使用该传输对象。 heavyWeightReusedObjectCount 格式: public int heavyWeightReusedObjectCount() 检索池中已复用的对象数。 createdObjectCount 格式: public int createdObjectCount() 检索自创建池以来,DB2 通用 JDBC 驱动程序 创建的对象数。 agedOutObjectCount 格式: public int agedOutObjectCount() 检索超过 db2.jcc.maxTransportObjectIdleTime 配置属性所指定的空闲时间 并且已从池中删除的对象数。 removedObjectCount 格式: public int removedObjectCount() 检索自创建池以来,已从池中删除的对象数。 totalPoolObjects 格式: public int totalPoolObjects() 当前在池中的对象数。 OleDbReportIsLongForLongTypes CLI/ODBC 配置关键字 OleDbReportIsLongForLongTypes 关键字受下列数据库服务器支持: * DB2 UDB z/OS 版版本 6,带有 PTF UQ93891 * DB2 UDB z/OS 版版本 7,带有 PTF UQ93889 * DB2 UDB z/OS 版版本 8,带有 PTF UQ93890 * DB2 UDB Linux 版、UNIX 版和 Windows 版版本 8.2(功能等同于版本 8.1 修订包 7)和更新版本 关键字描述: 使用 DBCOLUMNFLAGS_ISLONG 来使 OLE DB 标志 LONG 数据类型。 db2cli.ini 关键字语法: OleDbReportIsLongForLongTypes = 0 | 1 等价语句属性: SQL_ATTR_REPORT_ISLONG_FOR_LONGTYPES_OLEDB 缺省设置: LONG 类型(LONG VARCHAR、LONG VARCHAR FOR BIT DATA、LONG VARGRAPHIC 和 LONG VARGRAPHIC FOR BIT DATA)没有设置 DBCOLUMNFLAGS_ISLONG 标志,这可能会导致在 WHERE 子句中使用这些 列。 使用说明: OLE DB 的客户机游标引擎和 OLE DB .NET 数据提供程序的 CommandBuilder 根据 IBM DB2 OLE DB 提供程序提供的列信息来生成更新和删除语句。如果生成的语句 在 WHERE 子句中包含 LONG 类型,则该语句将失败,这是因为不能在带有等号运 算符的搜索中使用 LONG 类型。将关键字 OleDbReportIsLongForLongTypes 设置 为 1 将使 IBM DB2 OLE DB 提供程序报告设置了 DBCOLUMNFLAGS_ISLONG 标志的 LONG 类型(LONG VARCHAR、LONG VARCHAR FOR BIT DATA、LONG VARGRAPHIC 和 LONG VARGRAPHIC FOR BIT DATA)。这可防止在 WHERE 子句中使用 LONG 列。 OleDbSQLColumnsSortByOrdinal CLI/ODBC 配置关键字 OleDbSQLColumnsSortByOrdinal 关键字受下列数据库服务器支持: * DB2 UDB z/OS 版版本 6,带有 PTF UQ93891 * DB2 UDB z/OS 版版本 7,带有 PTF UQ93889 * DB2 UDB z/OS 版版本 8,带有 PTF UQ93890 * DB2 UDB Linux 版、UNIX 版和 Windows 版版本 8.2(功能等同于版本 8.1 修订包 7)和更新版本 关键字描述: 使 OLE DB 的 IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) 返回 按 ORDINAL_POSITION 列排序的行集。 db2cli.ini 关键字语法: OleDbSQLColumnsSortByOrdinal = 0 | 1 等价语句属性: SQL_ATTR_SQLCOLUMNS_SORT_BY_ORDINAL_OLEDB 缺省设置: IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) 返回按 TABLE_ CATALOG、TABLE_SCHEMA、TABLE_NAME 和 COLUMN_NAME 列排序的行集。 使用说明: Microsoft OLE DB 规范要求 IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) 返回按 TABLE_CATALOG、TABLE_SCHEMA、TABLE_NAME 和 COLUMN_NAME 列排序的 行集。IBM DB2 OLE DB 提供程序遵守该规范。但是,通常已经编写了使用 Microsoft ODBC 桥提供程序(MSDASQL)的应用程序来获取按 ORDINAL_POSITION 排序的行集。将 OleDbSQLColumnsSortByOrdinal 关键字设置为 1 将使提供程序 返回按 ORDINAL_POSITION 排序的行集。 IBM DB2 OLE DB 提供程序的 DB2 数据源属性组 IBM DB2 OLE DB 提供程序已经添加了新的属性组:DB2 数据源。DB2 数据源的属 性集为 DBPROPSET_DB2DATASOURCE。 属性集的 GUID 为 {0x8a80412a,0x7d94,0x4fec,{0x87,0x3e,0x6c,0xd1,0xcd,0x42,0x0d,0xcd}} DBPROPSET_DB2DATASOURCE 有三种属性: * DB2PROP_REPORTISLONGFORLONGTYPES * DB2PROP_RETURNCHARASWCHAR * DB2PROP_SORTBYORDINAL DB2PROP_REPORTISLONGFORLONGTYPES #define DB2PROP_REPORTISLONGFORLONGTYPES 4 属性组:DB2 数据源 属性集:DB2PROPSET_DATASOURCE 类型:VT_BOOL 典型 R/W:R/W 描述:报告 Long 类型的 IsLong OLE DB 的客户机游标引擎和 OLE DB .NET 数据提供程序的 CommandBuilder 根据 IBM DB2 OLE DB 提供程序提供的列信息来生成更新和删除语句。如果生成的语句 在 WHERE 子句中包含 LONG 类型,则该语句将失败,这是因为不能在带有等号运 算符的搜索中使用 LONG 类型。 表 27. DB2PROP_REPORTISLONGFORLONGTYPES 值 +----------------+----------------------------------------------------+ | 值 | 含义 | +----------------+----------------------------------------------------+ | VARIANT_TRUE | 将使 IBM DB2 OLE DB 提供程序报告设置了 | | | DBCOLUMNFLAGS_ISLONG 标志的 LONG 类型(LONG VARCHA | | | R、LONG VARCHAR FOR BIT DATA、LONG VARGRAPHIC 和 | | | LONG VARGRAPHIC FOR BIT DATA)。这可防止在 WHERE | | | 子句中使用 LONG 列。 | +----------------+----------------------------------------------------+ | VARIANT_FALSE | 没有为 LONG VARCHAR、LONG VARCHAR FOR BIT DATA、LO | | | NG VARGRAPHIC 和 LONG VARGRAPHIC FOR BIT DATA 设置 | | | DBCOLUMNFLAGS_ISLONG。这是缺省值。 | +----------------+----------------------------------------------------+ DB2PROP_RETURNCHARASWCHAR #define DB2PROP_RETURNCHARASWCHAR 2 属性组:DB2 数据源 属性集:DB2PROPSET_DATASOURCE 类型:VT_BOOL 典型 R/W:R/W 描述:作为 WChar 来返回 Char 表 28. DB2PROP_RETURNCHARASWCHAR 值 +----------------+----------------------------------------------------+ | 值 | 含义 | +----------------+----------------------------------------------------+ | VARIANT_TRUE | OLE DB 将类型为 CHAR、VARCHAR、LONG VARCHAR 或 | | | CLOB 的列描述为 DBTYPE_WSTR。ISequentialStream 中 | | | 隐含的数据的代码页将为 UCS-2。这是缺省值。 | +----------------+----------------------------------------------------+ | VARIANT_FALSE | OLE DB 将类型为 CHAR、VARCHAR、LONG VARCHAR 或 | | | CLOB 的列描述为 DBTYPE_STR。ISequentialStream 中隐 | | | 含的数据的代码页将为客户机的本地代码页。 | +----------------+----------------------------------------------------+ DB2PROP_SORTBYORDINAL #define DB2PROP_SORTBYORDINAL 3 属性组:DB2 数据源 属性集:DB2PROPSET_DATASOURCE 类型:VT_BOOL 典型 R/W:R/W 描述:按序数排序 Microsoft OLE DB 规范要求 IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) 返回按 TABLE_CATALOG、TABLE_SCHEMA、TABLE_NAME 和 COLUMN_NAME 列排序的 行集。IBM DB2 OLE DB 提供程序遵守该规范。但是,通常已经编写了使用 Microsoft ODBC 桥提供程序(MSDASQL)的应用程序来获取按 ORDINAL_POSITION 排序的行集。 表 29. DB2PROP_SORTBYORDINAL 值 +----------------+----------------------------------------------------+ | 值 | 含义 | +----------------+----------------------------------------------------+ | VARIANT_TRUE | 将使提供程序返回按 ORDINAL_POSITION 排序的行集。 | +----------------+----------------------------------------------------+ | VARIANT_FALSE | 将使提供程序返回按 TABLE_CATALOG、TABLE_SCHEMA、TA | | | BLE_NAME 和 COLUMN_NAME 排序的行集。这是缺省值。 | +----------------+----------------------------------------------------+ DB2Binder 语法图中不正确的 URL 语法 在“安装 DB2 通用 JDBC 驱动程序”这一主题中,DB2Binder 语法图不正确地定 义了 DB2 通用 JDBC 驱动程序的 URL 语法。下图中显示了 DB2Binder 的 URL 语法的正确表示: DB2Binder 语法 +----------------------------------------------------------------------+ | >>-java--com.ibm.db2.jcc.DB2Binder------------------------------> | | | | >---url jdbc:db2://server-+---------+-/database-----------------> | | '-:--port-' | | | | >---user user-ID---password password--+---------------+---------> | | '--size integer-' | | | | >--+-----------------------------+------------------------------> | | '--collection collection-name-' | | | | >--+-------------------------------+--+-------+---------------->< | | | .-,------------. | '--help-' | | | V | | | | '--tracelevel ---trace-option-+-' | +----------------------------------------------------------------------+ 重新路由 DB2 通用 JDBC 驱动程序客户机 DB2 通用数据库(UDB)Linux 版、UNIX 版、 版和 Windows 版中的自动客户机 重新路由功能允许客户机应用程序从与服务器的通信断开恢复,以便它们能继续 处理最小的中断。 每当服务器锁定时,该服务器连接的每个客户机都会接收到一个通信错误,从而 终止连接并导致应用程序错误。如果您非常重视可用性,应准备好备用的设置或 故障转移支持。(故障转移是指一个服务器失效时另一个服务器接管操作的能力 。)在任何一种情况下,DB2 通用 JDBC 驱动程序客户机都将尝试重新建立与新 服务器或原始服务器的连接,该服务器可能会在故障转移节点上运行。重新建立 连接后,应用程序将接收到 SQLException 异常,通知它事务失败,但是应用程 序可以继续进行下一事务。 限制 * DB2 通用 JDBC 驱动程序客户机重新路由支持仅对使用 javax.sql.DataSource 接口的连接可用。 * 必须在服务器上指定了备用服务器位置之后,客户机应用程序才能从通信中断 恢复。数据库管理员使用 UPDATE ALTERNATE SERVER FOR DATABASE 命令指定 备用服务器。 过程 在数据库管理员在服务器实例中的特定数据库中指定备用服务器位置之后,主服 务器位置和备用服务器位置将在连接时返回至客户机。DB2 通用 JDBC 驱动程序 创建可引用对象 DB2ClientRerouteServerList 的实例,并将该实例存储在它的 瞬态内存中。如果通信中断,DB2 通用 JDBC 驱动程序将尝试使用从服务器返回 的服务器信息来重新建立连接。 clientRerouteServerListJNDIName 数据源属性在客户机上提供附加客户机重新 路由支持;clientRerouteServerListJNDIName 有两个功能: * 它允许备用服务器信息在 JVM 之间持久存在 * 它提供备用服务器位置以防首次连接至数据库服务器失败 clientRerouteServerListJNDIName 标识对备用服务器信息的 JNDI 存储库中的 DB2ClientRerouteServerList 实例的 JNDI 引用。在成功连接至主服务器之后, clientRerouteServerListJNDIName 提供的备用服务器信息将被来自该服务器的 信息覆盖。如果定义了 clientRerouteServerListJNDIName 属性,则在故障转移 之后,DB2 通用 JDBC 驱动程序将尝试把更新后的信息传播至 JNDI 存储。如果 指定了 clientRerouteServerListJNDIName,则将把在 DB2ClientRerouteServerList 中指定的主服务器信息用于连接。如果未指定主服 务器,则将使用在数据源上指定的 serverName 信息。 DB2ClientRerouteServerList 是有以下四种属性的可序列化 Java bean: * alternateServerName * alternatePortNumber * primaryServerName * primaryPortNumber 提供了用于访问这些属性的 Getter 和 setter 方法。 DB2ClientRerouteServerList 类的定义为如下所示: package com.ibm.db2.jcc; public class DB2ClientRerouteServerList implements java.io.Serializable, javax.naming.Referenceable { public String[] alternateServerName; public synchronized void setAlternateServerName(String[] alternateServer); public String[] getAlternateServerName(); public int[] alternatePortNumber; public synchronized void setAlternatePortNumber(int[] alternatePortNumberList); public int[] getAlternatePortNumber(); public synchronized void setPrimaryServerName (String primaryServerName); public String getPrimaryServerName (); public synchronized void setPrimaryPortNumber (int primaryPortNumber) public int getPrimaryPortNumber (); } 新建立的故障转移连接是使用原始数据源属性配置的,但是服务器名称和端口号 除外。此外,在原始连接期间修改的任何 DB2 UDB 专用寄存器将在故障转移连接 中使用 DB2 通用 JDBC 驱动程序来重新建立。 在发生通信故障时,DB2 通用 JDBC 驱动程序首先尝试恢复至主服务器。如果恢 复至主服务器失败,驱动程序就会尝试连接至备用位置(故障转移)。重新建立 连接之后,该驱动程序会向应用程序抛出 java.sql.SQLException 及 SQLCODE - 4498,以便对应用程序指示已经自动与备用服务器重新建立了连接。于是该应用 程序重试该事务。 使 DB2ClientRerouteServerList 保持持久的过程 要设置存储器以使 DB2ClientRerouteServerList 保持持久,遵循下列步骤: 1. 创建 DB2ClientRerouteServerList 的实例并将该实例绑定至 JNDI 注册表。 例如: // Create a starting context for naming operations InitialContext registry = new InitialContext(); // Create a DB2ClientRerouteServerList object DB2ClientRerouteServerList address=new DB2ClientRerouteServerList(); // Set the port number and server name for the primary server address.setPrimaryPortNumber(50000); address.setPrimaryServerName("mvs1.sj.ibm.com"); // Set the port number and server name for the alternate server int[] port = {50002}; String[] server = {"mvs3.sj.ibm.com"}; address.setAlternatePortNumber(port); address.setAlternateServerName(server); registry.rebind("serverList", address); 2. 将 DB2ClientRerouteServerList 对象的 JNDI 名称指定给数据源属性 clientRerouteServerListJNDIName。例如: datasource.setClientRerouteServerListJNDIName("serverList"); 定制 DB2 通用 JDBC 驱动程序配置属性 DB2 通用 JDBC 驱动程序配置属性允许您设置具有驱动程序范围作用域的属性值 。这些设置将应用于各个应用程序和数据源实例。可以更改这些设置而不必更改 应用程序源代码或数据源特征。 每个 DB2 通用 JDBC 驱动程序配置属性设置使用以下格式: property=value 如果配置属性以 db2.jcc.override 开头,则该配置属性适用于所有连接并将覆 盖任何具有相同属性名的连接或数据源属性。如果配置属性以 db2.jcc 或 db2.jcc.default 开头,则配置属性值将为缺省值。连接或数据源属性设置将覆 盖该值。 过程 要设置配置属性: * 将配置属性设置为 Java 系统属性。这些设置将覆盖任何其他设置。 对于独立 Java 应用程序,可通过在执行 java 命令时对每个配置属性指定 -Dproperty=value 来将配置属性设置为 Java 系统属性。 * 在您在 db2.jcc.propertiesFile Java 系统属性中指定其名称的资源中设置 配置属性。例如,可对 db2.jcc.propertiesFile 值指定绝对路径名。 对于独立 Java 应用程序,可通过在执行 java 命令时指定 -Ddb2.jcc.propertiesFile=path 选项来设置配置属性。 * 在名为 DB2JccConfiguration.properties 的资源中设置配置属性。标准 Java 资源搜索用于查找 DB2JccConfiguration.properties。仅当未设置 db2.jcc.propertiesFile Java 系统属性时,DB2 通用 JDBC 驱动程序才会搜 索此资源。 DB2JccConfiguration.properties 可能是独立文件,也可能包括在 JAR 文件 中。 如果 DB2JccConfiguration.properties 是独立文件,则 DB2JccConfiguration.properties 的路径必须在 CLASSPATH 并置中。 如果 DB2JccConfiguration.properties 在 JAR 文件中,该 JAR 文件必须在 CLASSPATH 并置中。 可设置下列 DB2 通用 JDBC 驱动程序配置属性。所有属性都是可选的。 db2.jcc.override.traceFile 对 Java 驱动程序代码启用 DB2 通用 JDBC 驱动程序跟踪,并指定跟 踪文件名称所基于的名称。 对 db2.jcc.override.traceFile 属性值指定全限定文件名。 db2.jcc.override.traceFile 属性将覆盖连接或数据源对象的跟踪文 件属性。 例如,对 db2.jcc.override.traceFile 指定以下设置将允许跟踪 DB2 通用 JDBC 驱动程序 Java 代码并记录至名为 /SYSTEM/tmp/jdbctrace 的文件: db2.jcc.override.traceFile=/SYSTEM/tmp/jdbctrace 应在 IBM 软件支持机构的指导下设置跟踪属性。 db2.jcc.sqljUncustomizedWarningOrException 指定 DB2 通用 JDBC 驱动程序在未定制 SQLJ 应用程序运行时所执行 的操作。db2.jcc.sqljUncustomizedWarningOrException 可能有下列 值: 0 DB2 通用 JDBC 驱动程序不会在未定制 SQLJ 应用程序运行 时生成警告或异常。这是缺省值。 1 DB2 通用 JDBC 驱动程序将在未定制 SQLJ 应用程序运行时 生成警告。 2 DB2 通用 JDBC 驱动程序将在未定制 SQLJ 应用程序运行时 生成异常。 已除去 db2secFreeToken 函数 db2secFreeToken 函数(标记拥有的可用内存)不再是 db2secGssapiServerAuthFunctions_1 用户认证插件 API 的一部分。 仔细部署定制的安全性插件 如果安全性插件的部署未经过充分编码、复查和测试,则会影响 DB2 通用数据库 (UDB)安装的完整性。DB2 UDB 对于许多常见类型的故障采取了一些预防措施, 但是,并不能保证部署用户编写的安全性插件时的完整性。 安全性插件 如果要使用您自己的定制安全性插件,可在通过 CLP 发出的连接语句或动态 SQL 语句上使用最多 255 个字符的用户标识。 安全性插件 API 对于 db2secGetGroupsForUser、db2secValidatePassword 和 db2secGetAuthIDs API,输入参数 dbname 可为空,而其对应长度输入参数 dbnamelen 将设置为 0。 安全性插件命名约定(Linux 和 UNIX) 在所有 Linux 和 UNIX 平台上,现在接受将 .so 作为用户编写的安全性插件库 的文件扩展名。 在 AIX 上,安全性插件库的扩展名可能是 .a 或 .so。如果同时存在两个版本的 插件库,则使用 .a 版本。 对于 HP-UX on PA-RISC,安全性插件库的扩展名可以是 .sl或 .so。如果同时存 在两个版本的插件库,则使用 .sl 版本。 在所有其他 Linux 和 UNIX 平台上,.so 是安全性插件库唯一支持的文件扩展名 。 安全性插件库的限制 在 AIX 上,安全性插件库的文件扩展名可以是 .a 或 .so。用于装入插件库的机 制取决于使用哪个扩展名: 文件扩展名为 .a 的插件库 文件扩展名为 .a 的插件库被假定为包含共享对象成员的归档。这些成 员必须命名为 shr.o(32 位)或 shr64.o(64 位)。单个归档可同时 包含 32 位和 64 位成员,这允许它在两种类型的平台上进行部署。 例如,要构建 32 位归档式插件库: xlc_r -qmkshrobj -o shr.o MyPlugin.c -bE:MyPlugin.exp ar rv MyPlugin.a shr.o 文件扩展名为 .so 的插件库 文件扩展名为 .so 的插件库被假定为动态可装入共享对象。这种对象是 32 位还是 64 位取决于在构建时使用的编译器和链接程序选项。例如 ,要构建 32 位插件库: xlc_r -qmkshrobj -o MyPlugin.so MyPlugin.c -bE:MyPlugin.exp 在除了 AIX 之外的所有平台上,安全性插件库总是被假定为动态可装入的共享对 象。 对 DB2 通用 JDBC 驱动程序的 GSS-API 插件支持 通过使用 DB2 UDB 版本 8.2 Linux 版、UNIX 版和 Windows 版,您可以采用插 件(可装入的库)的形式创建自己的认证机制。 DB2 UDB 引擎装入并访问这些插 件以执行用户认证。为了支持用 Java 编写的客户应用程序,DB2 通用 JDBC 驱 动程序在 DB2 UDB V8.2 修订包 4 中提供了安全插件支持。 对于使用 DB2 通用 JDBC 驱动程序执行插件认证的 Java 应用程序,用户需要通 过扩展抽象类 com.ibm.db2.jcc.DB2JCCPlugin 并设置以下属性来实施自己的插 件: * 用户标识和密码:这些是将要用于认证的用户凭证 * 插件名称:这是指服务器端的插件模块的名称 * 安全性机制:必须被设置为插件安全性 * 插件:这是指客户机应用程序端的插件模块 请注意以下示例: java.util.Properties properties = new java.util.Properties(); properties.put("user", "db2admin"); properties.put("password", "admindb2"); properties.put("pluginName", "gssapi_simple"); properties.put("securityMechanism", new String(""+com.ibm.db2.jcc.DB2BaseDataSource.PLUGIN_SECURITY+"")); properties.put("plugin", new JCCSimpleGSSPlugin()); Connection con = java.sql.DriverManager.getConnection(url, properties); GSS-API 安全性插件不支持多个流认证 GSS-API 认证仅限于使一个令牌从客户机流至服务器和使一个令牌从服务器流至 客户机。这些令牌是从客户机上的 gss_init_sec_context() 和服务器上的 gss_accept_sec_context() 获得的。尝试更多流的 GSS-API 插件将生成安全性 插件意外错误,从而导致连接失败。 GSS-API 安全性插件不支持消息加密和签名 消息加密和签名在 GSS-API 安全性插件中不可用。 独立应用程序中的事务的隐式结束 所有应用程序终止(正常和异常)隐式回滚未完成的工作单元,不管操作系统如 何都是如此。 分布式事务支持 在 DB2 通用数据库(UDB)版本 8.2 的“新增内容”文档中,『DB2 通用 JDBC 驱动程序改进』一节中的分布式事务支持信息中提供了不正确的信息。本节的最 后一句不正确。正确信息应为: 从版本 8.2 开始,DB2 UDB 支持符合 XA 规范的分布式事务处理。此支持实施 Java 2 Platform, Enterprise Edition(J2EE)Java 事务服务(JTS)和 Java 事务 API(JTA)规范。 应用程序开发:编写服务器应用程序 多结果集公共语言运行时(CLI)过程 公共语言运行时(CLR)过程可以返回的最大结果集数目是受到限制的。这一限制 由 DB2 .NET 数据提供程序可以支持在一个连接内同时打开的 DB2DataReader 对 象的最大数目确定。并发活动数据阅读器支持使得多个 DB2DataReader 对象能够 在一个连接内打开。因此,可从一个 CLR 过程返回多个结果集。 公共语言运行时(CLR)例程执行控制方式(EXECUTION CONTROL 子句) 作为数据库管理员或应用程序开发者,您可能想要通过限制例程在运行时的操作 来保护与 DB2 通用数据库(UDB)外部例程相关联的组合件以避免遭到恶意篡改 。DB2 .NET CLR 例程支持标识允许例程在运行时执行的操作类型的执行控制方式 的规范。在运行时,DB2 UDB 会检测例程是否尝试执行超出其指定执行控制方式 的作用域的操作,这有助于确定组合件是否受到危害。 要设置 CLR 例程的执行控制方式,在该例程的 CREATE 语句中指定可选 EXECUTION CONTROL 子句。有效方式包括: * SAFE * FILEREAD * FILEWRITE * NETWORK * UNSAFE 要修改现有 CLR 例程中的执行控制方式,执行 ALTER PROCEDURE 或 ALTER FUNCTION 语句。 如果未对 CLR 例程指定 EXECUTION CONTROL 子句,缺省情况下该 CLR 例程会使 用最多限制的执行控制方式 SAFE 运行。使用此执行控制方式创建的例程只能访 问由数据库管理器控制的资源。较少限制的执行控制方式允许例程访问本地文件 系统(FILEREAD 或 FILEWRITE)或网络上的文件。执行控制方式 UNSAFE 指定未 对例程的行为作任何限制。使用 UNSAFE 执行控制方式定义的例程可执行二进制 代码。 这些控制方式表示可允许操作的层次结构,在该层次结构中,较高级别的方式包 括的操作在它下面的级别中是允许的。例如,执行控制方式 NETWORK 允许例程访 问网络上的文件、本地文件系统上的文件以及由数据库管理器控制的资源。尽量 使用最多限制的执行控制方式并避免使用 UNSAFE 方式。 如果 DB2 UDB 在运行时检测到 CLR 例程在尝试其执行控制方式的作用域之外的 操作,DB2 UDB 将返回错误(SQLSTATE 38501)。 只能对 LANGUAGE CLR 例程指定 EXECUTION CONTROL 子句。EXECUTION CONTROL 子句的应用能力的作用域仅限于 .NET CLR 例程本身,并未扩展至它可能调用的 任何其他例程。 公共语言运行时(CLR)例程中的最大十进制精度和小数位 DB2 通用数据库(UDB)中的 DECIMAL 数据类型的精度为 31 位,小数位为 28 位。.NET CLR System.Decimal 数据类型被限于 29 位精度和 28 位小数位。因 此,DB2 UDB 外部 CLR 例程一定不能将超过 (2^96)-1 的值(可使用 29 位精度 和 28 位小数位表示的最高值)指定给 System.Decimal 数据类型变量。如果进 行了这种指定,DB2 UDB 将生成运行时错误 (SQLSTATE 22003, SQLCODE -413)。 执行例程 CREATE 语句后,如果 DECIMAL 数据类型参数是使用超过 28 的小数位 定义的,DB2 UDB 将生成错误 (SQLSTATE 42611, SQLCODE -604)。 命令参考 db2licm - 许可证管理工具命令参数说明 此文档更新适用于 db2licm 命令的 -p 参数。关键字 MEASURED 不再有效,DB2 已忽略此关键字。 RESTORE DATABASE 命令的 TSM 示例 TSM 示例(示例 6)中的 TSM options 两边缺少单引号,应该是: * 指定定界字符串: db2 restore db sample use TSM options "'-fromnode bar -fromowner dmcinnis'" db2demigdbd 用法示例 以下显示的 db2demigdbd 的使用示例按操作系统进行了组织。 要逆向迁移 UNIX 和 Linux 上的系统数据库目录文件: db2demigdbd $HOME/sqllib 1 要逆向迁移 UNIX 和 Linux 上的本地系统数据库目录文件: db2demigdbd ~/user/NODE0000 1 要逆向迁移 UNIX 和 Linux 上的实例中的系统和所有本地数据库目录文件: db2demigdbd $HOME/sqllib 2 要逆向迁移 Windows 上的系统数据库目录文件: db2demigdbd d:\sqllib\db2 1 其中,db2 是当前实例。 要逆向迁移 Windows 上的本地系统数据库目录文件: db2demigdbd d:\db2\NODE0000 1 要逆向迁移 Windows 上的实例中的系统和所有本地数据库目录文件: db2demigdbd d:\sqllib\db2 2 使用说明: 一旦开始运行 db2updv8 命令以将系统目录更新为当前的版本 8 级别,就不再 支持回退到 V8.1。 其他信息: 要获取在 DPF(数据库分区功能)环境中运行此命令的示例,请参阅 http://www.ibm.com/support/docview.wss?rs=71&uid=swg21217949 处的技术说 明 更正 db2ckbkp 命令的使用说明 “-p”选项显示每个对象类型的页数。但是,如果对 DMS 表空间数据制作了备份 ,则带“-p”选项的 db2ckbkp 命令的输出并不显示所有不同对象类型的页数。 在这种情况中,它只显示总页数 SQLUDMSTABLESPACEDATA。 对 SQLUDMSLOBDATA 显示 0 值,对 DMS 表空间显示 SQLUDMSLONGDATA。 以下提供了对 DMS 表空间数据制作了备份时 db2ckbkp -p 的输出节样本: SQLUDMSTABLESPACEDATA (0c): 87 SQLUDMSLOBDATA (0e): 0 SQLUDMSLONGDATA (0f): 0 数据库对象和标识的命名约定 在命名 数据库管理器 对象(例如,数据库和表)时,以下约定适用。 * 表示 数据库管理器 对象的名称的字符串可以包含以下任何字符:a-z、A-Z、 0-9、@、# 和 $。 * 除非另外注明,否则您可以使用小写字母输入名称;但 数据库管理器 进程会 将它们作为大写字母来处理。 此约定的例外是那些表示系统网络体系结构(SNA)下的名称的字符串。此时 ,许多值都是区分大小写的,例如,逻辑单元名称(partner_lu 和 local_lu )。输入的名称必须与出现在对应于那些项的 SNA 定义中时一样。 * 数据库名称或数据库别名是一个唯一的的字符串,它包含了从 1 个到 8 个字 母、数字或键盘字符(它们来自上述信息中描述的字符集)。 数据库被编目在系统和本地数据库目录中,方法是数据库别名在一个字段中, 原始名在另一字段中。对大多数函数来说,数据库管理器 会使用在数据库目 录的别名字段中输入的名称。例外情况是 CHANGE DATABASE COMMENT 和 CREATE DATABASE,此时必须指定目录路径。 * 表或视图的名称或别名是一个 SQL 标识符,它是一个长度为 1 至 128 个字 符的唯一的的字符串。列名的长度可以是 1 到 30 个字符。 标准表名的结构是 schema.tablename。模式是创建表时使用的唯一的用户标 识。已声明临时表的模式名必须是 SESSION。 * 要编目到节点目录中的远程节点的本地别名不能超过 8 个字符的长度。 * 字符串中的第一个字符必须是字母字符、@、# 或 $;它不能是数字或字母序列 SYS、DBM 或 IBM。 在命名用户标识和认证标识时,以下约定适用。 * 表示 数据库管理器 对象的名称的字符串可以包含以下任何字符:a-z、A-Z、 0-9、@、# 和 $。 * 在安全性插件支持时,用户标识和组也可包含以下任何附加字符:_、!、%、 (、)、{、}、-、. 和 ^。 * 在通过命令行处理器输入时,包含以下任何字符的用户标识和组都必须使用引 号来定界:!、%、(、)、{、}、-、. 和 ^。 * 字符串中的第一个字符必须是字母字符、@、# 或 $;它不能是数字或字母序列 SYS、DBM 或 IBM。 * 认证标识在 Windows 32 位操作系统上不能超过 30 个字符,在所有其他操作 系统上不能超过 8 个字符。 * 组标识的长度不能超过 30 个字符。 REORGCHK 命令 已修订 REORGCHK 命令中使用的索引统计信息公式。新公式及其解释如下: * 公式 F5: 100 * (KEYS * (ISIZE + LEAF_REC_OVERHEAD) + (CARD - KEYS) * DUPKEYSIZE ) / ((NLEAF - NUM EMPTY LEAFS - 1) * (INDEXPAGESIZE - 96) > MIN(50, (100 - PCTFREE)) 其中 LEAF_REC_OVERHEAD = 9,而 DUPKEYSIZE = 5。 如果索引中的可用空间大于 50%,或者当 PCTFREE 大于 50 时,索引中的可 用空间大于 PCTFREE%,则建议进行重组。仅当 NLEAF - NUM EMPTY LEAFS - 的值大于 0 时,才检查此公式。(从 NLEAF 的值中减去 1 是因为通常未填 充分配的最后一个叶子页。) * 公式 F6: (100 - PCTFREE) * [ Floor((100 - min(10, PCTFREE)) / 100 * (INDEXPAGESIZE - 96) / (ISIZE + NONLEAF_REC_OVERHEAD)) ** (NLEVELS - 2)] * (INDEXPAGESIZE - 96) / (KEYS * (ISIZE + LEAF_REC_OVERHEAD) + (CARD - KEYS) * DUPKEYSIZE) < 100 其中 NONLEAF_REC_OVERHEAD = 12。 确定重新创建索引是否将生成具有较少层次的树。此公式检查当索引树比当前 树少一个层次时该索引树中的空间大小与需要的空间大小的比率。如果可以创 建少一个层次的树并且仍保持 PCTFREE 可用,则建议进行重组。索引条目的 实际数目应该大于 NLEVELS - 1 索引树可以处理条目数的 90%(或 100 - PCTFREE)(仅当 NLEVELS > 1 时才检查)。 注: 所有公式都基于统计信息。统计信息和这些公式的结果只是估计值。查看 REORGCHK 的结果时应该谨记这一点。 REORG INDEXES/TABLE 命令 重组索引或表。 REORG INDEXES ALL FOR TABLE 表名选项通过将索引数据重建成非分段的物理连 续页面来重组在表上定义的所有索引。如果指定索引选项的 CLEANUP ONLY 选项 ,则将执行清除,而不重建索引。如果尝试对已声明临时表上的索引使用此命令 ,则将返回 SQLSTATE 42995 错误。 REORG TABLE 表名选项通过重新构造行以除去分段数据并压缩信息来重组表。可 通过两种方法中的一种来实现表重组: 传统 只允许在重组的前面阶段对数据进行有限的只读访问。 Inplace 在整个重组过程中都允许访问数据,但不能确保以最佳的顺序排列数据 。Inplace 表重组方法只适用于具有 2 类索引和无扩展索引的表。 当选择任一种类型的重组方法时,在重组表之后,都会重建该表的索引。但是, 使用 inplace 方法将不能以最佳方式重组索引,因此,以后可能会需要重组这些 索引以减少索引分段并回收索引对象空间。 示例 对于传统(脱机)REORG TABLE(如 DB2 通用数据库(TM)(UDB)版本 7 中的缺 省值),输入以下命令: db2 reorg table employee index empid allow no access indexscan longlobdata 注: 缺省值在 DB2 UDB 版本 8 中不同。 使用说明 DB2 UDB 提供了两种重组表的方法:传统和 inplace。一般情况下,传统表重组 更快,但仅当在重组期间应用程序运行而没有对表的写访问权时才应使用它。如 果环境不允许此限制,尽管 inplace 重组更慢,但它可以在后台发生,而正常数 据访问继续。 传统表重组方法可以用最快的速度完成表重组,特别适用于不需要重组 LOB 或 LONG 数据的场合。此外,这种方法在重组表后还会以最佳的顺序重建索引。除重 组的最后阶段之外,只读应用程序可以在其他任何阶段访问表的原始副本,因为 永久性表将在此阶段替换表的影子副本并重建索引。 Inplace 表重组的速度较慢,并且不能确保以最佳的顺序排列数据,但它允许应 用程序在重组期间访问表。此外,任何具有相应权限的人员均可使用模式和表名 暂停和恢复 inplace 表重组。 已更新的限制 REORG 实用程序不支持使用昵称。 * 已声明临时表不支持 REORG TABLE 命令。 * 不能对视图使用 REORG TABLE 命令。 * 表重组与范围集群表不兼容,因为表的范围区域始终是集群的。 * 脱机表重组不允许在重组过程中对表所在的表空间启动联机备份操作。 * SMS 表的联机表重组不允许在重组过程中对表所在的表空间启动联机备份操作 。 * DMS 表的联机表重组允许在重组过程中对表所在的表空间启动联机备份操作。 在截断阶段可能会存在重组操作的锁定等待。 * REORG TABLE 不能使用基于索引扩展的索引。 BACKUP DATABASE 命令 使用说明 请注意下列限制: * 当正在联机重组 DMS 表空间中的表时,允许对该表空间启动联机备份操作。 在截断阶段可能会存在重组操作的锁定等待。 * 当正在联机重组 SMS 表空间中的表时,不允许对该表空间启动联机备份操作 。这两个操作需要互斥锁定。 迁移数据库 限制 版本 8 文档中提到,如果数据库已迁移至 DB2 UDB 版本 8 修订包级别,则不需 要迁移任何数据库,这是有歧义的。更具体地说,如果数据库为版本 8 级别(版 本 8.1 或 8.2 或后续修订包),则修订包之间不需要数据库迁移。版本 8.2 中 的数据库目录文件结构有一些更改,并且在从版本 7 或版本 8.1 迁移至版本 8.2 时,将自动执行迁移。但是,如果要从版本 8.2 返回至版本 8.1,则必须运行 db2demigdbd 以复原数据库目录文件结构。如果没这么做,在尝试访问数据库时 将导致 SQL10004 错误。 db2inidb - 初始化镜像数据库命令 在发出 db2inidb database as mirror 命令之前,不要发出 db2 connect to database 命令。 在初始化分割镜像数据库之前尝试连接至该数据库将擦除前滚恢复所需的日志文 件。 连接会将数据库设置回暂挂数据库时它所处于的状态。如果在暂挂时数据库被标 记为处于一致状态,则 DB2 通用数据库会认为不需要进行崩溃恢复并且会清空日 志以供到将来使用。如果出现这种情况,则尝试前滚会产生 SQL4970 错误。 db2iupdt 命令的使用说明 从版本 8.2 开始,在使用 db2iupdt 命令更新 DB2 通用数据库实例时,必须先 停止对该实例运行的所有 DB2 进程。 db2sqljcustomize 命令的新增参数 db2sqljcustomize 命令有了新参数。 db2sqljcustomize - DB2 SQLJ 概要文件定制程序命令 -storebindoptions 将 -bindoptions 和 -staticpositioned 的值存储在序列化概要文件 中。如果在调用 dbsqljbind 工具时未指定这些值,将使用存储在序列 化概要文件中的值。当使用 .grp文件调用定制程序时,这些值将存储 在各个 .ser 文件中。可使用 db2sqljprint 工具来查看存储的值。 sqlj 命令的新增参数 sqlj 命令有了新参数。 sqlj - DB2 SQLJ 转换程序命令 -db2optimize 指定 SQLJ 转换程序为 DB2 通用数据库而优化的连接上下文类生成代 码。此选项将对用户定义的上下文优化代码,但不会对缺省上下文优化 代码。在使用此选项运行 SQLJ 转换程序时,DB2 通用 JDBC 驱动程序 文件 db2jcc.jar 必须在 CLASSPATH 中以编译生成的 Java 应用程序。 监视和故障诊断命令(db2pd)更新 监视和故障诊断 DB2 命令(db2pd)从 DB2 UDB 内存集合检索信息。db2pd系统 命令在以下方面做了改进: 新增 -hadr 参数 在版本 8.2(功能等同于版本 8.1 修订包 7)中引入,-hadr 参数报告高可用性 灾难恢复信息。每个已报告元素的描述可在《系统监视器指南和参考》的『高可 用性灾难恢复』一节中找到 新增 -utilities 参数 在版本 8.2(功能等同于版本 8.1 修订包 7)中引入,-utilities 参数报告实 用程序信息。每个已报告元素的描述可在《系统监视器指南和参考》的『实用程 序』一节中找到。 新增 -activestatements 参数 在版本 8.2.2(功能等同于版本 8.1 修订包 9)中引入,-activestatements 参 数返回有关活动参数的信息。将返回下列信息: AppHandl 使用活动语句的应用程序句柄,包括节点和索引。 UOW-ID 对于与 AppHandl 相关联的应用程序,这是其中的语句变为活动状态的 工作单元标识。 StmtID 工作单元中的语句标识。 AnchID 程序包高速缓存动态 SQL 散列锚的标识。 StmtUID 在散列锚中唯一的程序包高速缓存动态 SQL 语句标识。 EffISO 语句的有效隔离级别。 EffLockTOut 语句的有效锁定超时值。 EffDegree 语句的有效并行度。 StartTime 启动语句的时间。 LastRefTime 应用程序上次引用该语句的时间。 新增用于 -locks 参数的 wait 选项 从版本 8.2.2(功能等同于版本 8.1 修订包 9)开始,可以对 -locks 参数指定 wait选项以便仅返回处于等待状态的锁定和将要等待的锁定。 新增 -applications 参数的返回字段 从版本 8.2.2(功能等同于版本 8.1 修订包 9)开始,-applications 参数返回 四个新字段: C-AnchID 此新字段是当前语句的程序包高速缓存动态 SQL 散列锚的标 识。如果当前没有任何语句,则此字段的值为 0。仅当应用程序要执行 与该语句相关联的请求(如针对游标的 FETCH 请求)时,才会填充当 前散列锚标识。完成请求处理后,该值将设置为 0。对于静态 SQL 语 句,该值也会设置为 0。 C-StmtUID 此新字段是当前语句的散列锚中的程序包高速缓存动态 SQL 语句唯一 标识。如果当前没有任何语句,则此字段的值为 0。仅当应用程序在执 行与该语句相关联的请求时,才会填充当前语句唯一标识。执行请求后 ,该值将设置为 0。对于静态 SQL 语句,该值也会设置为 0。 L-AnchID 此新字段是应用程序上一次执行的语句的程序包高速缓存动态 SQL 散 列锚标识。如果上一次没有执行任何语句(在执行任何动态 SQL 语句 之前),则此字段的值为 0。对于静态 SQL 语句,该值也会设置为 0 。每次执行完请求后,将填充上一个锚散列标识,并且该标识将保留至 下一个相关联的请求完成为止。 L-StmtUID 此新字段是应用程序上一次执行的语句的散列锚中的程序包高速缓存动 态 SQL 语句唯一标识。如果上一次没有执行任何语句或者上一次执行 的语句为静态 SQL,则此字段的值为 0。在当前请求完成后将填充上一 个语句标识,并且该标识将保留至下一个请求完成为止。 对 SET CLIENT 命令的更新 SET(TM) CLIENT 命令指定后端进程的连接设置。 从版本 8 开始,将忽略此命令的命令参数 SYNCPOINT。为了保持向后兼容性,将 继续包括 SYNCPOINT。 对 PRECOMPILE 命令的更新 PRECOMPILE 命令将处理包含嵌入式 SQL 语句的应用程序源文件。将生成经过修 改的源文件,它包含对 SQL 的主语言调用,并且在缺省情况下将在数据库中创建 程序包。 从版本 8 开始,将忽略此命令的命令参数 SYNCPOINT。为了保持向后兼容性,将 继续包括 SYNCPOINT。 对 UPDATE HISTORY FILE 命令的更新 更新历史文件条目中的位置、设备类型或注释。 命令参数 STATUS 指定条目的新状态。 先前的文档不正确地指出:STATUS 命令的参数值可以是“I”,以将该条目标记 为不活动。有效值包括: A 将条目标记为活动的。 E 将条目标记为已到期。 对 EXPORT 和 IMPORT 命令的更新 EXPORT 和 IMPORT 命令的『必需的连接』子节的完整内容为如下所示: 必需的连接 数据库。如果启用了隐式连接,则会与缺省数据库建立连接。从 Linux、UNIX、 或 Windows 客户机对 Linux、UNIX、 或 Windows 数据库服务器的实用程序访问 必须是通过引擎直接连接,而不能是通过 DB2 Connect 网关或回送来连接。 对 LOAD 命令的更新 INDEXING MODE 参数的 AUTOSELECT 值的完整信息为如下所示: INDEXING MODE AUTOSELECT LOAD 实用程序将自动决定是采用 REBUILD 还是 INCREMENTAL 方式。 将根据装入的数据量和索引树的深度来作出决定。与索引树深度相关的 信息存储在索引对象中。RUNSTATS 不需要填充此信息。AUTOSELECT 是 用来建立索引的缺省方式。 LOAD 实用程序的文件类型修饰符 已经更新了对“generatedoverride”修饰符的描述中的 SET INTEGRITY 命令。 还更新了对“usedefaults”修饰符的描述。 更新为如下所示: 表 30. 用于装入的有效文件类型修饰符:所有文件格式 +-------------------+-------------------------------------------------+ | 修饰符 | 描述 | +-------------------+-------------------------------------------------+ | generatedoverride | 此修饰符指示 LOAD 实用程序接受表中所有生成列的 | | | 用户提供数据(与这些类型的列的常见规则相反)。 | | | 在从另一个数据库系统中迁移数据或者从在 | | | ROLLFORWARD DATABASE 命令上使用 RECOVER DROPPED | | | TABLE 选项恢复的数据中装入表时,使用此修饰符会 | | | 很有用。当使用此修饰符时,将拒绝任何对不可空的 | | | 生成列没有数据或有 NULL 数据的行(SQL3116W)。 | | | 注: 当使用此修饰符时,表将处于 CHECK PENDING( | | | 检查暂挂)状态。要使表脱离 CHECK PENDING(检查 | | | 暂挂)状态而不验证用户提供的值,可在执行装入操 | | | 作之后发出以下命令: | | | SET INTEGRITY FOR < table-name > GENERATED | | | COLUMN | | | IMMEDIATE UNCHECKED | | | 要使表脱离 CHECK PENDING(检查暂挂)状态并强制 | | | 验证用户提供的值,可在执行装入操作之后发出以下 | | | 命令: | | | SET INTEGRITY FOR < table-name > IMMEDIATE | | | CHECKED. | | | | | | 不能将此修饰符与 generatedmissing 或 | | | generatedignore 修饰符配合使用。 | +-------------------+-------------------------------------------------+ | usedefaults | 如果已经指定了目标表列的源列,但是一个或多个行 | | | 实例不包含任何数据,则会装入缺省值。以下是缺少 | | | 数据的一些示例: | | | * 对于 DEL 文件:为列值指定了两个相邻列定界符 | | | (",,")或者指定了用任意空格数隔开的两个相邻列 | | | 定界符(", ,")。 | | | * 对于 DEL/ASC/WSF 文件:没有足够的列数或者对 | | | 于原始规范来说不是足够长的行。 | | | 注: 对于 ASC 文件,NULL 列值并不被认为是显式缺 | | | 少,也不会使用缺省值来替代 NULL 列值。对于数字 | | | 、日期、时间和时间戳记列,NULL 列值是使用全部为 | | | 空格字符来表示的,或者通过对任何类型的列使用 | | | NULL INDICATOR 来指示列为 NULL。 | | | 在没有使用此选项的情况下,如果源列的行实例中不 | | | 包含任何数据,则会发生下面的其中一种情况: | | | * 对于 DEL/ASC/WSF 文件:如果列是可空的,则会 | | | 装入 NULL。如果列是不可空的,则实用程序将拒绝该 | | | 行。 | +-------------------+-------------------------------------------------+ IMPORT 实用程序的文件类型修饰符 “usedefaults”和“codepage=x”修饰符的描述已更新为如下所示: 表 31. 用于导入的有效文件类型修饰符:所有文件格式 +-------------------+-------------------------------------------------+ | 修饰符 | 描述 | +-------------------+-------------------------------------------------+ | usedefaults | 如果已经指定了目标表列的源列,但是一个或多个行 | | | 实例不包含任何数据,则会装入缺省值。以下是缺少 | | | 数据的一些示例: | | | * 对于 DEL 文件:为列值指定了两个相邻列定界符 | | | (",,")或者指定了用任意空格数隔开的两个相邻列 | | | 定界符(", ,")。 | | | * 对于 DEL/ASC/WSF 文件:没有足够的列数或者对 | | | 于原始规范来说不是足够长的行。 | | | 注: 对于 ASC 文件,NULL 列值并不被认为是显式缺 | | | 少,也不会使用缺省值来替代 NULL 列值。对于数字 | | | 、日期、时间和时间戳记列,NULL 列值是使用全部为 | | | 空格字符来表示的,或者通过对任何类型的列使用 | | | NULL INDICATOR 来指示列为 NULL。 | | | 在没有使用此选项的情况下,如果源列的行实例中不 | | | 包含任何数据,则会发生下面的其中一种情况: | | | * 对于 DEL/ASC/WSF 文件:如果列是可空的,则会 | | | 装入 NULL。如果列是不可空的,则实用程序将拒绝该 | | | 行。 | +-------------------+-------------------------------------------------+ 表 32. 用于导入的有效文件类型修饰符:ASCII 码文件格式(ASC/DEL) +-------------------+-------------------------------------------------+ | 修饰符 | 描述 | +-------------------+-------------------------------------------------+ | codepage=x | x 是 ASCII 字符串。该值被解释为输出数据集中的数 | | | 据的代码页。在导入操作期间,将此代码页中的字符 | | | 数据转换为应用程序代码页。 | | | 必须满足下列规则: | | | * 对于纯 DBCS(图形)、混合 DBCS 和 EUC,定界 | | | 符仅限于 x00 到 x3F 范围(包括 x00 和 x3F)。 | | | * nullindchar 必须指定在代码点 x20 和 x7F 之间 | | | (包括 x20 和 x7F)的标准 ASCII 集合中包括的字 | | | 符。这表示 ASCII 符号和代码点。 | | | | | | 注: | | | 1. codepage 修饰符不能与 lobsinfile 修饰符配合 | | | 使用。 | | | 2. 如果在将代码页从应用程序代码页转换为数据库 | | | 代码页时进行数据扩充,则数据可能会被截断,并且 | | | 可能会丢失数据。 | +-------------------+-------------------------------------------------+ ATTACH 命令 ATTACH 命令的 USER 参数指定认证标识。在 Windows 操作系统上连接至 DB2 通 用数据库实例时,可采用与 Microsoft Windows NT Security Account Manager (SAM)兼容的格式来指定用户名。限定符必须为 NetBIOS 式名称,其最大长度为 15 个字符。例如,domainname\username。 RECOVER DATABASE 命令 在版本 8.2 文档的 RECOVER DATABASE 命令的『示例』一节中,时间戳记格式 yyyy:mm:dd:hh:mm:ss 是不正确的。 正确的格式为 yyyy-mm-dd-hh.mm.ss。 UPDATE HISTORY FILE 命令 UPDATE HISTORY FILE 命令会更新历史文件条目中的位置、设备类型、注释或状 态。 已更新的命令语法 >>-UPDATE HISTORY--+-FOR--object-part-+--WITH-------------------> '-EID--eid---------' >--+-LOCATION--new-location--DEVICE TYPE--new-device-type-+---->< +-COMMENT--new-comment---------------------------------+ '-STATUS--new-status-----------------------------------' 已更新命令参数 FORobject-part 对要更新的历史条目指定标识。这是带有可选序号 001 至 999的时间 戳记。 注: 不能用于更新条目状态。要更新条目状态,转而指定 EID。 STATUS new-status 指定条目的新状态。只有备份条目才能更新状态。有效值包括: A 活动。大多数条目是活动的。 I 不活动。不再在活动日志链上的备份映像变得不活动。 E 到期。因为存在的活动映像的数目超出 NUM_DB_BACKUPS 而 不再需要的备份映像被标志为到期。 D 不再可用于恢复的备份映像应标记为已删除。 db2updv8 - 将数据库更新至版本 8 当前级别命令 此命令使用下列方法更新数据库中的系统目录以支持当前级别: * 引入随当前数据库管理器提供的新例程 * 将 ODBC/CLI/JDBC 模式过程编目为可信过程以改进性能和可伸缩性 * 修正 SYSPROC.SNAPSHOT_QUIESCERS 表函数的返回参数中的两个印刷错误: * OUIESCER_TBS_ID 已更正为 QUIESCER_TBS_ID * OUIESCER_STATE 已更正为 QUIESCER_STATE * 修正 LOB 列的列描述符以使记录位与目录表一致 * 创建 SYSIBM.SYSREVTYPEMAPPINGS 视图 * 更新 SYSSTAT.COLUMNS 和 SYSSTAT.TABLES 的视图定义 * 将 SYSCOLDIST.DISTCOUNT 列更新为可更新 * 更新 SYSINDEXES.TBSPACEID 列以便不设置列标志 * 修正 17 个表函数的参数长度。有关函数的完整列表,请参阅《版本 8.2 发 行说明》的 『文档更新 | SQL 管理例程』一节中的『快照 UDF 的列扩展』 主题。 * 启用以下内置例程: * HEALTH_DBM_INFO * HEALTH_DBM_HI * HEALTH_DBM_HI_HIS * HEALTH_DB_INFO * HEALTH_DB_HI * HEALTH_DB_HI_HIS * HEALTH_TBS_INFO * HEALTH_TBS_HI * HEALTH_TBS_HI_HIS * HEALTH_CONT_INFO * HEALTH_CONT_HI * HEALTH_CONT_HI_HIS * GET_WRAP_CFG_C * LIST_FILES_C * ODBC_DISCOVERY * HEALTH_HI_REC * EXEC_DB2_SCRIPT * HEALTH_HI_REC * EXEC_DB2_SCRIPT * ADMIN_LIST_HIST * GET_DBM_CONFIG * 将 33 个 SYSPROC 快照 UDF 改变为 THREADSAFE: * SNAPSHOT_DBM * SNAPSHOT_FCM * SNAPSHOT_FCMNODE * SNAPSHOT_SWITCHES * SNAPSHOT_APPL_INFO * SNAPSHOT_APPL * SNAPSHOT_STATEMENT * SNAPSHOT_LOCKWAIT * SNAPSHOT_AGENT * SNAPSHOT_SUBSECT * SNAPSHOT_DATABASE * SNAPSHOT_BP * SNAPSHOT_LOCK * SNAPSHOT_TABLE * SNAPSHOT_DYN_SQL * SNAPSHOT_TBS * SNAPSHOT_TBS_CFG * SNAPSHOT_QUIESCERS * SNAPSHOT_CONTAINER * SNAPSHOT_RANGES * SNAPSHOT_TBREORG * HEALTH_DBM_INFO * HEALTH_DBM_HI * HEALTH_DBM_HI_HIS * HEALTH_DB_INFO * HEALTH_DB_HI * HEALTH_DB_HI_HIS * HEALTH_TBS_INFO * HEALTH_TBS_HI * HEALTH_TBS_HI_HIS * HEALTH_CONT_INFO * HEALTH_CONT_HI * HEALTH_CONT_HI_HIS * 更改以下函数的参数长度: * SQLCACHE_SNAPSHOT * SNAPSHOT_APPL_INFO * SNAPSHOT_STATEMENT * SNAPSHOT_LOCKWAIT * SNAPSHOT_DATABASE * SNAPSHOT_BP * SNAPSHOT_LOCK * SNAPSHOT_TABLE * SNAPSHOT_TBREORG * SNAPSHOT_SUBSECT * SNAPSHOT_DYN_SQL * HEALTH_DBM_INFO * HEALTH_DBM_HI * HEALTH_DBM_HI_HIS * HEALTH_DB_INFO * HEALTH_DB_HI * HEALTH_DB_HI_HIS * DB_PARTITIONS * GROUPS_FOR_USER * DB_PARTITION * 将以下函数更改为使用模式 db2schema 而不是废弃不用的 db2schem,并使它 们能修改 SQL 数据: * SQLTABLES * SQLTABLEPRIVILEGES * SQLSTATISTICS * SQLSPECIALCOLUMNS * SQLPROCEDURES * SQLPROCEDURECOLS * SQLPRIMARYKEYS * SQLFOREIGNKEYS * SQLCOLUMNS * SQLCOLPRIVILEGES * 将以下函数更改为使用模式 db2schema 而不是已经废弃的模式 db2schem: * SQLUDTS * SQLGETTYPEINFO 权限 sysadm 必需的连接 数据库。此命令自动建立与指定数据库的连接。 命令语法 >>-db2updv8-- -d--database-name---------------------------------> >--+----------------------------+--+-----+--------------------->< '- -u--userid-- -p--password-' '- -h-' 命令参数 -d database-name 指定要更新的数据库的名称。 -u userid 指定用户标识。 -p password 指定该用户的密码。 -h 显示帮助信息。当指定了此选项时,其他所有的选项都会被忽略,且只 显示帮助信息。 示例 在安装当前级别(修订包或新版本)之后,通过发出以下命令来更新样本数据库 中的系统目录: db2updv8 -d sample 使用说明 1. 此命令仅可在运行 DB2 通用数据库版本 8.1.2 或更新版本的数据库上使用。 如果多次发出该命令,将不会报告任何错误,而且每个目录更新仅应用一次。 2. 要启用新的内置函数,所有应用程序必须与数据库断开连接并且必须取消对该 数据库的激活(如果已经激活了它的话)。 格式化陷阱文件(Windows) 现有新工具 db2xprt.exe 可供您格式化陷阱文件(*.TRP)。此工具会将 DB2 通 用数据库的二进制陷阱文件格式化为可供人们阅读的 ASCII 码文件。陷阱文件在 缺省情况下位于实例目录(DB2INSTPROF)中,在设置了 DIAGPATH 数据库管理器 配置参数的情况下在诊断数据目录路径中。 权限 您必须具有对 DIAGPATH 目录的访问权。 命令语法 >>-db2xprt--+----------+--+----+--+----+--infile--+---------+-->< +-/p--path-+ '-/m-' '-/n-' '-outfile-' '-/v-------' 命令参数 /p path 分号(;)隔开指向二进制文件和 PDB 文件所在位置的路径。 /v 显示版本信息。 /m 格式化内存转储及陷阱文件的剩余部分。 /n 格式化与行号信息无关的数据。 infile 指定输入文件。 outfile 指定输出文件。 数据移动 绑定由导出、导入和装入实用程序使用的文件 名为 db2uImpInsUpdate.bnd 的新绑定文件已添加至导入实用程序,其缺省隔离 级别为读稳定性(RS)。此绑定文件仅由导入实用程序在 INSERT_UPDATE 期间使 用。导入实用程序的 INSERT、REPLACE 和 CREATE 选项仍然使用 db2uimpm.bnd 文件。 db2uImpInsUpdate.bnd 绑定文件不能与 INSERT BUF 选项绑定在一起。尝试在 db2uImpInsUpdate.bnd 绑定至 INSERT BUF 的情况下执行 IMPORT INSERT_UPDATE 将导致导入实用程序失败,从而产生以下错误: SQL3525:“INSERT_UPDATE”选项与“INSERT BUF BIND ON DB2UIMPINSUPDATE.BND”选项不兼容。 将导入与缓冲插入配合使用 版本 8.2 的 Data Movement Utilities Guide and Reference 指出: 缓冲插入功能不能与指定了 INSERT_UPDATE 参数的导入操作一起使用。系 统引入了新的绑定文件(db2uimpm2.bnd)来强制实施此限制。 因为引入了新的绑定文件,所以陈述应为: 缓冲插入功能不能与指定了 INSERT_UPDATE 参数的导入操作一起使用。系 统引入了新的绑定文件(db2uImpInsUpdate.bnd)来强制实施此限制。 使用 IMPORT 实用程序时丢失了索引信息 可以使用 IMPORT 实用程序来重新创建通过 EXPORT 实用程序保存的表。 数据移动主题“使用导入来重新创建已导出的表”概述了未保留原始表的属性。 除了已经说明的属性以外,也未保留下列属性: * 索引信息: * 包含列(如果有的话) * 索引名,如果索引是主键索引的话 * 降序顺序,如果索引是主键索引的话(缺省值为升序) 数据恢复和高可用性 备份概述 请注意下列限制: * 当正在联机重组 DMS 表空间中的表时,允许对该表空间启动联机备份操作。 在截断阶段可能会存在重组操作的锁定等待。 * 当正在联机重组 SMS 表空间中的表时,不允许对该表空间启动联机备份操作 。这两个操作需要互斥锁定。 使用备份 以下限制适用于备份实用程序: * 表空间备份操作和表空间复原操作不能同时运行,即使涉及的是不同的表空间 。 * 如果想要能够在分区数据库环境中执行前滚恢复,则必须在节点列表上定期备 份数据库且必须具有系统中余下节点的至少一个备份映像(即使不包含该数据 库的用户数据)。下列两种情况都需要在不包含数据库的用户数据的数据库分 区服务器中存在数据库分区的备份映像: * 在建立上一个备份之后已将一个数据库分区服务器添加到数据库系统,因 此需要在此数据库分区服务器上执行正向恢复。 * 使用时间点恢复,它要求系统中的所有数据库分区都处于前滚暂挂状态。 * DMS 表空间的联机备份操作与下列操作不兼容: * 装入 * 重组(仅脱机);(可以在正在备份的表空间中使用联机表重组,尽管 在重组操作的截断阶段中可能存在锁定等待)。 * 废弃表空间 * 截断表 * 创建索引 * 最初未记录任何内容(与 CREATE TABLE 和 ALTER TABLE 语句配合使 用) 高可用性灾难恢复概述 当执行 START HADR、STOP HADR 或 TAKEOVER HADR 命令时,可能会生成相应的 错误代码:SQL01767N、SQL01769N 或 SQL01770N,原因码为 98。该原因码指示 在运行该命令的服务器上没有安装 HADR 的许可证。要更正该问题,使用 db2licm 安装有效的 HADR 许可证,或者安装这样一个版本的服务器:它将有效 HADR 许 可证作为其分发产品的一部分。 跨平台备份和复原支持 DB2 通用数据库(UDB)支持跨平台备份和复原操作。 可以将 DB2 UDB 版本 8 32 位 Windows 平台上创建的数据库复原至 DB2 UDB 版 本 8 64 位 Windows 平台,反之亦然。 可将 DB2 UDB 版本 8 32 位 Linux x86 平台上创建的数据库复原至 DB2 UDB 版 本 8 64 位 Linux x86-64 或 IA64 平台,反之亦然。 可将在 DB2 UDB 版本 8 AIX、HP-UX、Linux PPC、Linux zSeries 或 Solaris 操作环境平台(32 位或 64 位)上创建的数据库复原至 DB2 UDB 版本 8 AIX、 HP-UX、Linux PPC、Linux zSeries 或 Solaris 操作环境平台(32 位或 64 位 )。 备份至磁带(Linux) Linux 上的 3480 和 3490 磁带设备的最大块大小限制为 61440 个字节 表 33. Linux 上的 3480 和 3490 磁带设备的最大块大小限制 +-----------------+-----------------+----------------+----------------+ | 设备 | 连接 | 块大小限制 | DB2 缓冲区大小 | | | | | 限制(以 4 KB | | | | | 页计) | +-----------------+-----------------+----------------+----------------+ | 3480 | s370 | 61 440 | 15 | +-----------------+-----------------+----------------+----------------+ | 3490 | s370 | 61 440 | 15 | +-----------------+-----------------+----------------+----------------+ Tivoli Storage Manager 当调用 BACKUP DATABASE 或 RESTORE DATABASE 命令时,可以指定想要使用 Tivoli Storage Manager(TSM)产品来管理数据库或表空间备份或复原操作。除 了在下列平台上之外,需要的 TSM 客户机 API 的最低级别为 V4.2.0: * 64 位 Solaris 系统,它需要 TSM 客户机 API V4.2.1。 * 64 位 Windows NT 操作系统,它需要 TSM 客户机 API V5.1。 * 32 位 Linux for iSeries 和 pSeries(R),至少需要 TSM 客户机 API V5.1.5 * 64 位 Linux for iSeries 和 pSeries,至少需要 TSM 客户机 API V5.3 * AMD Opteron 系统上的 64 位 Linux,至少需要 TSM 客户机 API V5.2.0。 * 64 位 Linux for zSeries,至少需要 TSM 客户机 API V5.2.2。 HADR 本地主机和本地服务参数的值限制 在准备 update database configuration 命令时对高可用性灾难恢复(HADR)本 地主机和本地服务参数(HADR_LOCAL_SVC 和 HADR_REMOTE_SVC)指定值的情况下 ,这些值必须是未在用于任何其他服务的端口。如果使用 Linux 或 UNIX 命令行 来配置参数,还应在 /etc/services 文件中设置这些值。 高可用性灾难恢复的其他系统需求 如果在主数据库上创建表空间并且备用数据库上的日志回放因为容器不可用而失 败,则主数据库不会接收到指示日志回放失败的错误消息。 要检查日志回放错误,必须在创建新的表空间时监视 db2diag.log 和备用数据库 上的管理日志。 如果发生接管表空间操作,新创建的表空间在新的主数据库上将不可用。要从此 情况恢复,从备份映像复原新的主数据库上的表空间。 在以下示例中,在数据库 MY_DATABASE 被用作新的主数据库之前,将在该数据库 上复原表空间 MY_TABLESPACE: 1. db2 connect to my_database 2. db2 list tablespaces show detail 注: 运行 db2 list tablespaces show detail 命令以显示所有表空间的状态 并获取步骤 5 所需的表空间标识号。 3. db2 stop hadr on database my_database 4. db2 "restore database my_database tablespace (my_tablespace) online redirect" 5. db2 "set tablespace containers for my_tablespace_ID_# ignore rollforward container operations using (path '/my_new_container_path/')" 6. db2 "restore database my_database continue" 7. db2 rollforward database my_database to end of logs and stop tablespace "(my_tablespace)" 8. db2 start hadr on database my_database as primary 高可用性灾难恢复的非复制操作 版本 8.2 文档指出: 未复制 BLOB 和 CLOB;但是,将在备用数据库上为其分配空间。 该句子应为如下所示: 未复制非记录 BLOB 和 CLOB;但是,将在备用数据库上为其分配空间。 HADR 不支持原始日志 高可用性灾难恢复(HADR)不支持对数据库日志文件使用原始 I/O(直接磁盘访 问)。如果使用 START HADR 命令启动 HADR,或者如果在配置了 HADR 的情况下 重新启动数据库,将检测原始日志,相关联的命令将会失败并带有 SQL1768N 原 因码“9”。 比较故障监视器和运行状况监视器 运行状况监视器和故障监视器是对单数据库实例起作用的工具。运行状况监视器 使用运行状况指示器来评估数据库管理器性能或数据库性能的特定方面的运行状 况。运行状况指示器测量数据库对象(例如,表空间)特定类的某些方面的运行 状况。运行状况指示器可针对特定的条件来评估,以确定数据库对象的那个类的 运行状况。此外,运行状况指示器可以在指示器超出阈值或指示数据库对象处于 非正常状态时生成警报通知您。 相比之下,故障监视器只负责保持它监视的实例已启动且正在运行。如果它监视的 DB2 UDB 实例异常终止,故障监视器会重新启动该实例。故障监视器在 Windows 上不可用。 关闭故障监视 要对数据库实例 DB2INST1 关闭故障监视,可从 DB2 UDB 命令窗口输入以下命令 : db2fm -i db2inst1 -f no 注: 如果故障监视器注册表文件不存在,将使用缺省值。 要确认已不再对 DB2INST1 运行故障监视器,可在 UNIX 系统上输入以下命令: ps -ef|grep -i fm 在 Linux 系统上,输入以下命令: ps auxw|grep -i fm 显示了 db2fmd 和 DB2INST1 的一个条目指示出仍在对那个实例运行故障监视器 。要关闭故障监视器,作为实例所有者可输入以下命令: db2fm -i db2inst1 -D 数据仓库中心 在 AIX 和 Solaris 操作系统上设置仓库客户机环境 在 AIX 和 Solaris 操作系统上运行仓库客户机之前,您必须正确地设置语言环 境。 要设置语言环境,可从命令行输入以下命令:export LC_ALL= 注意以下示例:export LC_ALL=Ja_JP,其中 Ja_JP 是您的本地语言环境。 如果未设置此环境变量,GUI 应用程序可能无法正确运行并会导致 Java 错误。 在安装仓库变换器之前更新数据库管理器配置 在《DB2 仓库管理器标准版安装指南》版本 8.2 中,『在安装仓库变换器之前更 新数据库管理器配置』主题不正确地指导您更新 SDK 路径参数。必须更新 JDK 路径参数。 在安装仓库变换器之前,使用“DB2 命令行处理器”来更新目标 DB2 实例的数据 库管理器配置。 过程 要在安装仓库变换器之前更新数据库管理器配置: 1. 将 JDK 路径参数(JDK_PATH)设置为安装了 JDK 的子目录: UPDATE DATABASE MANAGER CONFIGURATION USING JDK_PATH path 其中 path 是安装了 JDK 的子目录。 注: 不要将 bin 目录包括在 JDK_path 中。如果正在使用安装了变换器的 DB2 通用数据库版本 7.2(或更早版本)目标,则应更新对应于 JDK_PATH 的 JDK11_PATH。 2. 将“Java 虚拟机”堆大小参数(JAVA_HEAP_SZ)设置为 4096: UPDATE DATABASE MANAGER CONFIGURATION USING JAVA_HEAP_SZ 4096 VW_NETRC 环境变量已添加至数据仓库中心(UNIX) 从数据仓库中心版本 8.2 修订包 10(功能等同于版本 8.1 修订包 3)开始,就 可以在 UNIX 操作系统上设置 VW_NETRC 环境变量,但不能在 Linux 上设置。将 VW_NETRC 环境变量设置为 off 允许您人工维护 .netrc 文件。有关 .netrc 文 件的正确格式的信息,参阅操作系统的文档。 运行并发 FTP 用户定义的程序可能会损坏 .netrc 文件。如果想要运行并发 FTP 用户定义的程序步骤,可以将 VW_NETRC 环境变量设置为 off(VW_NETRC=OFF) 。将此环境变量添加至远程代理程序的代理守护程序概要文件以及缺省或本地代 理程序的 IWH.environment 文件。 DB2 数据仓库中心需要 Unicode 格式数据库 在安装 DB2 通用数据库版本 8.1 修订包 7 或更新版本之后,需要运行“仓库控 制数据库管理”工具来创建新的采用 Unicode 格式的仓库控制数据库。 先决条件 要创建并存储现有仓库控制数据库的副本,工作站必须有足够的磁盘空间来存储 此副本,还需要有仓库控制数据库所占用空间的两倍空间量来存储临时文件。例 如,如果现有仓库控制数据库为 10 MB,则在现有仓库控制数据库所在的同一实 例中必须提供总共为 30 MB 的空间。 过程 遵循下列步骤以便按 Unicode 格式创建新的仓库控制数据库: 1. 运行“仓库控制数据库管理”工具: * 在 Windows 上:单击开始并选择程序 -> IBM DB2 -> 设置工具 -> 仓库 控制数据库管理。 * 在 AIX 上:运行 db2wcdbm 脚本。 2. 输入现有仓库控制数据库的名称。然后就会提示您输入新的仓库控制数据库名 称。这将创建新的 Unicode 仓库控制数据库。 定义 DB2 仓库源和目标 以下更新会影响两个“数据仓库中心”主题: * 定义 DB2 仓库源 * 定义仓库目标 缺省情况下,当您定义仓库源或仓库目标时,返回的表数目为 250。但是,可以 使用新的环境变量 VWS_MAX_TABLELIST 来设置返回的表的数目。可以返回的表的 最大数目为 40000。根据列表中表名的大小不同,此数目可能会小一些。建议您 指定一个远远小于 40000 的数。 对商业智能教程的更新 验证是否向 ODBC 注册了 DWCTBC 和 TBC_MD 数据库 在版本 8 中,在教程中使用的控制数据库 TBC_MD 不必是系统 ODBC 数据源。但 是,目标数据库或数据源 DWCTBC 必须是系统 ODBC 数据源。 打开定义仓库源笔记本 打开“教程相关源”的“定义仓库源”笔记本的过程已更改。 过程 要打开“教程相关源”的“定义仓库源”笔记本: 1. 从数据仓库中心窗口中右键单击仓库源文件夹。 2. 单击定义 --> ODBC --> DB2 --> DB2 系列。 “定义仓库源”笔记本打开。 打开定义仓库目标笔记本 打开“定义仓库目标”笔记本的过程已更改。 过程 要打开“定义仓库目标”笔记本: 1. 从数据仓库中心窗口中右键单击仓库目标文件夹。 2. 单击定义 --> ODBC --> DB2 --> DB2 系列。 “定义仓库目标”笔记本打开。 设置仓库日志文件的清除限制 日志文件保存一些记录,直到达到指定的计数限制为止。缺省计数限制是 1000 条记录。运行的每个作业通常创建 12 到 15 条日志记录。通过更新“仓库属性 ”页“服务器”选项卡上的当总记录数等于此数目时清除日志字段来将清除限制 设置为满足您的需要的某个数字。 CURSOR 装入的数据仓库中心支持 DB2 通用数据库装入步骤现在就允许将视图或表用作步骤的源,这导致 LOAD FROM CURSOR。 为了映射向导中的列以进行 CURSOR 装入,必须选择根据输入文件中的列位置映 射列单选按钮。 Unicode 仓库控制数据库迁移和局限性 从版本 8.2 的数据仓库中心开始,仓库控制数据库必须是 Unicode 数据库。如果 Unicode 仓库控制数据库来自版本 8.2 之前的数据仓库中心版本,仍然必须通过 使用仓库控制数据库管理工具创建新的 Unicode 控制数据库。 如果迁移来自版本 8.2 之前的数据仓库中心版本的仓库控制数据库,则仓库控制 数据库管理工具将运行 db2move 命令以将数据移至新的 Unicode 控制数据库。 在此过程期间,将出现一个窗口,显示 db2move 命令的进度。此迁移路径仅出现 一次。 数据仓库中心在 Sybase 服务器上不支持 Unicode。 修改于列的日期格式中的更改 在“数据仓库中心”主窗口的详细视图中,修改于列中的日期的格式已作了更新。 修改于列中的日期显示为您的语言环境中的格式,并且包括时间。日期格式中的 这一更改确保对修改于列上的对象的排序正常运行。此更新适用于导航器和详细 视图中显示的数据仓库中心对象的大多数列表,例如: * 主题 * 进程 * 仓库模式 * 仓库代理程序站点 * 程序 * 步骤 * 数据资源 * 用户 * 用户组 在数据仓库中心中定义统计变换器 要对数据执行统计变换,定义想要使用的统计变换器。 过程 要定义统计变换器: 1. 打开“进程技术模型”窗口。 2. 单击变换器图标并从可用变换器列表中选择变换器。 3. 按该变换器的规则的要求将选择的变换器链接至仓库源和仓库目标。 每个变换器都有特定规则,说明该变换器必须以什么方式链接至仓库源和仓库目 标。有关更多信息,请参阅每个变换器的文档。 准备安装仓库代理程序 在安装 DB2 仓库管理器时,仓库服务器、仓库客户机以及所有仓库代理程序都必 须在相同的版本和修订包级别上。 iSeries 仓库代理程序的先决条件 要对 V5R2 和 V5R3 系统上的 DB2 仓库管理器使用 iSeries 仓库代理程序,需 要以下 PTF: PTF SI13558 此数据库 PTF 使 iSeries 上的 CLI 能够处理 Unicode 数据。 DB2 .NET 数据提供程序 并发活动数据阅读器支持 DB2 .NET 数据提供程序现在支持使用并发活动数据阅读器。这表示您可以从使用 同一 DB2Connection 实例的多个 DB2DataReader 实例并发访问数据。每个 DB2DataReader 实例必须与它自己的 DB2Command 实例相关联。为了将相关联的 DB2Command 实例用于任何其他用途,必须显式调用 DB2DataReader.Close 方法。 DB2Connection.ConnectionString 属性 DB2Connection.ConnectionString 属性还有附加关键字: CurrentSchema 在成功连接之后要使用的模式。成功连接之后,SET CURRENT SCHEMA 语句将发送至 DB2 服务器。这允许应用程序命名 SQL 对象而不必用模 式名来限定它们。 DB2 Connect 对通过网关进行的认证类型协商的更改 从 DB2 Connect(TM) 版本 8.2.2(功能等同于版本 8.1 修订包 9)开始,在认 证协商中,网关不再是被动的参与者。网关已经成为积极角色。网关中的数据库 目录条目中指定的认证类型覆盖在客户机上编目的认证类型。客户机、网关和服 务器必须全部指定兼容类型。如果未在数据库目录条目中指定网关上的编目认证 类型,则 SERVER 认证将是服务器请求的缺省类型。但是,如果服务器不支持 SERVER 认证,则仍将在客户机与服务器之间进行协商。此行为与客户机的行为形 成对比,在未指定认证类型的情况下,客户机的认证类型缺省为 SERVER_ENCRYPT 。 如果已在客户机上设置了“设置客户机 API”的 DB2NODE 或 SQL_CONNECT_NODE 选项,则不会使用在网关上编目的认证类型。在这些情况下,仍将在客户机与服 务器之间进行严格协商。 如果服务器的数据库管理器配置中指定 SERVER_ENCRYPT 作为认证类型,则该服 务器不再接受来自请求 SERVER 认证的客户机的连接。 新增安全性方案 已经为 APPC 连接添加了新的安全性方案: 认证 GSSPLUGIN 安全性 无 验证 GSS API 安全性插件机制 对图解的更正 下列 DB2 Connect 企业版主题的图解是不正确的: * 使用 DB2 Connect 企业版访问主机或 iSeries DB2 数据 * 从使用 Java 的 Web 访问 DB2 数据 下表概述了对『使用 DB2 Connect 企业版访问主机或 iSeries DB2 数据』主题 中的图解的更正。 表 34. 对『使用 DB2 Connect 企业版访问主机或 iSeries DB2 数据』主题中的 图解的更正 +-------------------+-------------------------------------------------+ | 主题中的位置 | 更正 | +-------------------+-------------------------------------------------+ | 所有四个图解的图 | * 对“DB2 OS/390 版 V5R1”的引用应该为“DB2 | | 注 | OS/390 版版本 6 或更新版本”。 | | | * 对“DB2 AS/400(R) 版 V4R2”的引用应该为“DB2 | | | iSeries 版 V5R1 或更新版本”。 | +-------------------+-------------------------------------------------+ | 第一个图解(图 1 | 所有对“APPC”和“SNA 通信支持”的引用都是不正 | | :DB2 Connect 企 | 确的。DB2 Linux、Unix 和 Windows 服务器(包括 | | 业版) | DB2 Connect 企业版)不支持将 SNA/APPC 作为 DB2 | | | 运行时客户机的入站协议。 | +-------------------+-------------------------------------------------+ 下表概述对『从使用 Java 的 Web 访问 DB2 数据』主题中的图解的更正。 表 35. 对『从使用 Java 的 Web 访问 DB2 数据』主题中的图解的更正 +-------------------+-------------------------------------------------+ | 主题中的位置 | 更正 | +-------------------+-------------------------------------------------+ | 图注 | * 对“DB2 OS/390 版 V5R1”的引用应该为“DB2 | | | OS/390 版版本 6 或更新版本”。 | | | * 对“DB2 AS/400 版 V4R2”的引用应该为“DB2 | | | iSeries 版 V5R1 或更新版本”。 | +-------------------+-------------------------------------------------+ 开发中心 DB2 开发中心版本 8.2 需要级别 9.2.9 的分布式调试器 DB2 开发中心版本 8.2 现在需要版本 9.2.9 的 IBM 分布式调试器。如果没有安 装版本 9.2.9 的分布式调试器,则不能使用开发中心来调试 Java 存储过程。 版本 9.2.9 的分布式调试器不再支持 Solaris 操作环境。 有关分布式调试器的更多信息,请访问分布式调试器 Web 站点,网址如下: http://www.ibm.com/software/awdtools/debugger。 DB2 开发中心的“更改变量范围”窗口中的长度限制 在使用 DB2 开发中心中的“更改变量范围”对话框更改变量的长度时,最大长度 为 1024 个字节。此局限性目前仅在英语版消息中作了说明。 对 DB2 通用 2 类和 4 类驱动程序的限制 在版本 8.2 中,已添加支持以允许用户在“开发中心”中使用 DB2 通用 2 类和 4 类驱动程序连接至 DB2 通用数据库(UDB)数据库。但是,如果尝试使用其中 一个驱动程序连接至 iSeries 服务器或者连接至版本 8.1 或较早版本的 DB2 UDB 服务器,将显示以下错误消息: 与 的连接失败。找不到 IBM DB2 通用驱动程序(JCC)。 有关要使用哪些驱动程序来避免此错误的其他信息,请参阅 DB2 信息中心中标 题为『JDBC 驱动程序』的主题。 图形用户界面工具 修改语句终止字符 从 DB2 通用数据库(UDB)版本 8.2 修订包 1(功能等同于版本 8.1 修订包 8 )开始,可以修改正在命令行处理器(CLP)或者“命令编辑器”中运行的脚本中 的语句终止字符。这种正在开发的修改方法类似于 DB2 UDB OS/390 版中当前提 供的方法。以下示例说明可以如何更改每个语句后面的终止字符: connect to gilroy user newton using password; select * from newton.department; --#SET TERMINATOR : select * from newton.employee: --#SET TERMINATOR @ select * from newton.department@ --#SET TERMINATOR ; select * from newton.department; --#SET TERMINATOR & terminate& 当脚本中包含复合语句时,能够更改终止字符是很重要的。在以下示例中,DB2 UDB 假定它在复合 CREATE TRIGGER 语句中遇到的第一个 ; 是整个 CREATE TRIGGER 语句的终止字符。但是,实际情况并不是这样。它只是复合 CREATE TRIGGER 语句中的其中一个语句的终止字符。 CONNECT TO SAMPLE; DROP TRIGGER newton.NWTTRIGGER; CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0'); insert into newton.nwttable values( -1, '-1'); END; CONNECT RESET; TERMINATE; 以下示例说明可以如何修改脚本中的语句终止字符以获得期望的结果。 CONNECT TO SAMPLE; DROP TRIGGER newton.NWTTRIGGER; --#SET TERMINATOR @ CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0'); insert into newton.nwttable values( -1, '-1'); END@ --#SET TERMINATOR ; CONNECT RESET; 如果不需要脚本在 DB2 OS/390 版上以本地方式运行,或者您的 DB2 UDB 脚本不 连接至 OS/390,则建议不要使用 --#SET TERMINATOR 这种方法来修改语句终止 字符。而是应该使用现有的 -tdX 或 ;-- 选项。 -tdX 选项允许您在使用 CLP 命令调用脚本时指定终止字符。“X”表示正在用作 语句终止字符的字符。例如,在以下命令中: db2 -tvf test.txt -td& 当运行 test.txt 文件中的脚本时,& 将用作语句终止字符。如果该脚本中包含 复合 CREATE TRIGGER 语句,则它将被编写为: CONNECT TO SAMPLE& DROP TRIGGER newton.NWTTRIGGER& CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0'); insert into newton.nwttable values( -1, '-1'); END& CONNECT RESET& TERMINATE& 注: -tdX 选项在“命令编辑器”中不可用。 还可以使用 ;-- 选项来重新编写包含复合 CREATE TRIGGER 语句的脚本,如下所 示: CONNECT TO SAMPLE; DROP TRIGGER newton.NWTTRIGGER; CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0');-- insert into newton.nwttable values( -1, '-1');-- END; CONNECT RESET; TERMINATE; 控制中心的数据库详细信息窗格中的数据库不可用状态 可使用控制中心的详细信息窗格来查看有关数据库的信息。在对象树或内容窗格 中选择数据库将显示其状态总结。在某些情况下,数据库信息可能不可用。不可 用的某些原因将在下表中描述。 表 36. 数据库状态不可用的原因 +--------------------+------------------------------------------------+ | 数据库状态元素 | 不可用状态的可能原因 | +--------------------+------------------------------------------------+ | 上次备份 | * 未对该数据库执行任何备份。 | | | * 用户没有访问此信息的必需权限。 | +--------------------+------------------------------------------------+ | 大小 | * 数据库是版本 8.2 之前的版本。 | | | * 用户没有访问此信息的必需权限。 | +--------------------+------------------------------------------------+ | 容量 | * 数据库是版本 8.2 之前的版本。 | | | * 数据库有多个分区。 | | | * 用户没有访问此信息的必需权限。 | +--------------------+------------------------------------------------+ | 运行状况 | * 运行状况监视器未打开。 | | | * 计时延迟。从数据库激活至其运行状况状态可用 | | | 大约有 5 分钟的延迟。 | +--------------------+------------------------------------------------+ | 维护 | * 数据库是版本 8.2 之前的版本。 | +--------------------+------------------------------------------------+ 生成缺省写至表输出(创建事件监视器) 已将生成按钮添加至“输出选项”对话框,它是从“创建事件监视器”窗口启动 的。单击“生成”按钮会生成缺省写至表输出选项。此输出相当于 db2evtbl 命 令生成的语法。 生成的选项向用户显示在创建事件监视器时将包括哪些表和数据元素。用户可修 改该命令以符合需要。 生成的语法基于“创建事件监视器”窗口中指定的事件监视器名和事件类型。在 生成输出选项语法之前指定事件监视器名和事件类型。 如果事件监视器名和事件类型在生成输出选项之后更改,将显示一条消息,提醒 用户在创建事件监视器之前重新生成输出选项。如果未重新生成输出选项,将根 据先前指定的事件监视器名生成事件表。 信息目录中心 配置样本脚本 ICCConfig.jacl 和 ICCConfig.properties 样本脚本是随带有 DB2 嵌入式应用 程序服务器的 Web 信息目录中心提供的。可使用这些样本脚本来配置带有 WebSphere Application Server 5 的 Web 信息目录中心。这些脚本位于 sqllib\samples\icweb 目录中。 Web 服务器配置 在配置带有 DB2 嵌入式应用程序服务器的 Web 信息目录中心时,如果元数据包 含用于访问服务器上的文件的 URL,必须通过在 Web 服务器配置中使用别名将这 些 URL 映射至正确位置。还必须映射帮助和版权链接。如果使用 DB2 嵌入式应 用程序服务器,则 Web 服务器必须正确配置并运行以使这些链接生效(即使在不 必插入至 Web 服务器的情况下)。 安装和配置补遗 DB2 节点配置文件 - db2nodes.cfg resourcesetname 参数仅在 AIX、HP-UX、Solaris 操作环境和 Linux 上受支持。 在 Linux 操作系统上,resourcesetname 列定义一个与系统上的“非一致性内存 访问”(NUMA)节点相对应的数字。除了具有 NUMA 策略支持的 2.6 内核外,还 必须提供 numactl 系统实用程序。有关 Linux 操作系统上 NUMA 支持的更多信 息,参阅 numact1 的 man 页。 在 Linux 操作系统上使用 resourcesetname 的示例 此示例显示如何设置具有四个 NUMA 节点的计算机,每个逻辑节点与一个 NUMA 节点关联。 过程 1. 确保系统上存在 NUMA 功能。 2. 发出以下命令: $ numactl --hardware 输出类似于如下所示: available: 4 nodes (0-3) node 0 size: 1901 MB node 0 free: 1457 MB node 1 size: 1910 MB node 1 free: 1841 MB node 2 size: 1910 MB node 2 free: 1851 MB node 3 size: 1905 MB node 3 free: 1796 MB 3. 在此示例中,系统上存在四个 NUMA 节点。按如下所示编辑 db2nodes.cfg 文 件,以使每个“多逻辑节点”(MLN)与系统上的一个 NUMA 节点关联。 0 hostname 0 hostname 0 1 hostname 1 hostname 1 2 hostname 2 hostname 2 3 hostname 3 hostname 3 DB2NOLIOAIO 注册表变量被替换为 DB2LINUXAIO(Linux) 从版本 8.2.2(功能等同于版本 8.1 修订包 9)开始,不推荐使用 DB2 通用数 据库(UDB)注册表变量 DB2NOLIOAIO。对于 Linux 用户,DB2NOLIOAIO 注册表 变量已替换为 DB2LINUXAIO。 * 要在 Linux 上启用异步 I/O(AIO)支持,运行以下命令: db2set DB2LINUXAIO=true 并重新启动 DB2 UDB。 注: 要使用 AIO,用户必须安装 libaio-0.3.98 或更新版本并具有支持 AIO 的内核。 * 要在 Linux 上禁用 AIO 支持,运行以下命令: db2set DB2LINUXAIO=false 并重新启动 DB2 UDB。 DB2 UDB 的应用程序服务器 用于 DB2 通用数据库(UDB)的应用程序服务器不再支持远程管理或存储过程。 已更新主题如下所示: 启用 DB2 UDB 的应用程序服务器 启用数据库要执行下列操作: * 连接至指定数据库 * 创建并填充元数据表 * 更新 DBM CFG 参数 JDK_PATH 和 JAVA_HEAP_SZ * 安装 DB2 Web Services 应用程序。 先决条件 在 Linux 上,在安装应用程序之后但是在启用应用程序服务器之前,必须设置 Linux Java 环境。有关设置 Linux Java 环境的详细信息,参阅《应用程序开发 指南:构建和运行应用程序》一书。 过程 要启用 DB2 UDB 的应用程序服务器,执行下列操作: 1. 作为 Linux 或 UNIX 操作系统上的 root 用户或者作为在 Windows 操作系统 上具有 Administrator 特权的用户登录至 DB2 服务器。 2. 对于基于 Linux 和 UNIX- 的操作系统运行以下命令: . /db2instance_path/sqllib/db2profile 其中 db2instance_path 是创建 DB2 UDB 实例的位置。 3. 运行下列命令中的一个: * 对于 Linux 和 UNIX 操作系统: AppServer_install_path/bin/enable.sh -db db_alias -user db_user -password db_password -db2path path_to_sqllib -instance instance_name -easpath path_to_eas -fencedid fenced_userid * 对于 Windows 操作系统: AppServer_install_path\bin\enable -db db_alias -user db_user -password db_password -db2path path_to_sqllib -instance instance_name -easpath path_to_eas 其中: * db_alias 是要启用的数据库的别名。 * db_user 是连接至数据库时要使用的用户标识。 * db_password 是要与用户标识配合使用来连接至数据库的密码。 * path_to_sqllib 是指向 DB2 UDB 实例 SQLLIB 目录的路径。此路径与必 需的 JAR 文件配合使用以更新 DB2EAS。 * instance_name 是 DB2 UDB 实例的名称。 * path_to_eas 是嵌入式应用程序服务器的路径。 * fenced_userid 是受防护的用户的用户标识。 一旦启用了 DB2 UDB 的应用程序服务器,该应用程序服务器就会自动启动。 在本地启动 DB2 UDB 的应用程序服务器 仅应对在 .NET 环境中创建 Web 服务或运行 XML Metadata Registry(XMR)的 系统使用受防护用户标识来启动应用程序服务器。 远程启动 DB2 UDB 的应用程序服务器 本节已被除去。DB2 UDB 的应用程序服务器不再支持远程管理。 在本地停止 DB2 UDB 的应用程序服务器 仅应对在 .NET 环境中创建 Web 服务或运行 XML Metadata Registry(XMR)的 系统使用受防护用户标识来停止应用程序服务器。 远程停止 DB2 UDB 的应用程序服务器 本节已被除去。DB2 UDB 的应用程序服务器不再支持远程管理。 卸载 DB2 UDB 的应用程序服务器 本节已被除去。DB2 UDB 的应用程序服务器不再支持远程管理。 DB2 嵌入式应用程序服务器支持 DB2 嵌入式应用程序服务器的启用数据库必须位于 32 位实例中。从 DB2 嵌入式 应用程序服务器访问的任何数据库可位于 32 位或 64 位实例中。 部署 DB2 Web 工具 在 DB2 Web 工具部署期间,使用 JDK 1.4 的应用程序服务器不再需要定制 CLASSPATH 变量。所有依赖性(包括 XML 解析器和变换器的依赖性)现在是使用 Web 模块部署的,应该按 J2EE 规范从 WEB-INF\lib 目录装入。此更改会影响两 个信息主题: * 在 WebLogic 应用程序服务器上部署 DB2 Web 工具 * 在其他应用程序服务器上部署 DB2 Web 工具 已更新主题如下所示: 在 WebLogic 应用程序服务器上部署 DB2 Web 工具 此任务描述如何在 BEA WebLogic 7.0 上部署和配置 DB2 Web 工具(包括 Web 命令中心和 Web 运行状况中心)。这些工具在 Web 服务器上作为 Web 应用程序 运行以便通过 Web 浏览器访问 DB2 服务器。 先决条件 在 WebSphere 上安装 DB2 Web 工具之前,确保已经安装有: * BEA WebLogic 7.0 应用程序服务器。 * IBM DB2 管理客户机版本 8。 * 符合 HTML 4.0 的 Web 浏览器。 注: DB2 Web 工具是使用 Netscape 4.x、Netscape 6.x、Netscape 7.x、 Mozilla 1.x、Internet Explorer 5.x、Opera 6.x、Konqueror 3.x( Linux)和 EudoraWeb 2.x(Palm OS)测试的。使用某些未经测试的 Web 浏览器可能要求在 servlet 配置中添加显式引用。 限制 以下限制适用于 DB2 Web 工具部署: * 在中间层和 DB2 服务器之间,不支持多种语言和代码页转换。尽管服务器的 语言就是用于显示的语言,但某些字符可能显示不正确。 * 为了在 Web 运行状况中心中查看数据库、表空间和表空间容器的运行状况警 报,需要确保数据库是在 Web 应用程序服务器上编目的。 * 使用 Web 浏览器按钮(停止、后退和历史)在使用 DB2 Web 工具时不受支持 。 * 如果正在将 Netscape Navigator 4 与 DB2 Web 工具配合使用,浏览器显示 将无法正确刷新。如果遇到此问题,可通过使窗口最小化然后再最大化以刷新 显示。您还可以通过先将浏览器窗口隐藏在另一窗口之下然后再将它在前台打 开的方式来刷新显示内容。 * 要将您自己的别名分配给任何 DB2 通用数据库(UDB)系统、实例节点或数据 库,您必须通过使用“DB2 配置助手”或“DB2 控制中心”,在应用程序服务 器上显式对其进行编目。 * 在第一次启动时,DB2 Web 工具初始化所花的时间比后续启动要长得多。这段 等待时间大多数是由于在进行自动编目过程。如果不想使用自动编目功能,可 通过 servlet 配置关闭自动编目来缩短必须等待的时间。 注: servlet 配置参数是在部署描述符文件 web.xml 中提供的。参数名和缺 省值随每一发行版而有所变化。某些应用程序服务器可能允许通过其接 口或通过直接编辑 web.xml 文件来更改这些参数。 * 在使用台式或膝上型计算机浏览器时,输出(结果)缓冲区的绝对最大大小为 1MB,即使它被配置为较大容量时也是如此。如果是 PDA Web 浏览器,则此限 制为 1KB。 * 在 Linux、UNIX、 和 Windows 操作系统上,DB2 Web 工具自动发现并编目与 应用程序服务器处于同一 TCP/IP 网络的任何系统。同一 TCP/IP 网络上的系 统的 IP 地址的前三位相同。这些工具尝试使用原始远程 TCP/IP 主机名编目 DB2 UDB 系统节点。如果存在名称重复,则这些工具指定唯一的随机名称。如 果想要任何其他 DB2 管理服务器可访问,则必须在应用程序服务器上显式编 目它们。这包括不在应用程序服务器所在 TCP/IP 网络上的使用 TCP/IP 的任 何服务器以及不使用 TCP/IP 的任何服务器。 * 在 Linux、UNIX、 和 Windows 操作系统上,DB2 Web 工具尝试自动发现并编 目驻留在已编目 DB2 UDB 系统上的任何 DB2 UDB 实例节点和数据库。可为多 个通信协议配置远程实例,因此,目录将包含已自动编目实例支持的每种协议 的独立节点条目。如果存在名称重复,则这些工具指定唯一的随机名称。 过程 要在 WebLogic 应用程序服务器上安装 DB2 Web 工具: 1. 完成下列操作以通过 WebLogic 管理控制台部署 DB2 Web 工具: a. 启动 WebLogic 管理控制台。 b. 单击窗口的左边窗格中的域 -> 部署 -> Web 应用程序。 c. 单击配置新的 Web 应用程序链接以安装 DB2 Web 工具 Web 应用程序。 d. 浏览文件系统列表以查找 Sqllib\tools\web\db2wa.war。 e. 单击 db2wa.war 文件名旁边的选择。 f. 要从可用服务器列表中选择服务器以容纳 DB2 Web 工具,选择该服务器并 单击箭头以将该服务器移至目标服务器。 注: 必须保留原始的名称 db2wa,因为 DB2 Web 工具已经对其进行硬编码 。 g. 单击配置和部署。 h. 等待应用程序服务器刷新所选服务器上的 Web 应用程序的部署状态。如果 成功,则应该会显示 Deployed=true 2. 调用 DB2 Web 工具 Web 应用程序,它位于: http://server_name:app_server_port_number/db2wa 例如,http://server_name:7001/db2wa。 在其他应用程序服务器上部署 DB2 Web 工具 此任务描述如何在其他应用程序服务器(例如,Tomcat 4.0 和 Macromedia JRun 4.0)上部署和配置 DB2 Web 工具(包括 Web 命令中心和 Web 运行状况中心) 。这些工具在 Web 服务器上作为 Web 应用程序运行以便通过 Web 浏览器访问 DB2 服务器。 先决条件 在安装 DB2 Web 工具之前,确保已经安装有: * 应用程序服务器,例如: * Tomcat 4.0 Servlet/JSP 容器(http://jakarta.apache.org/tomcat/) * Macromedia JRun 4.0 * IBM DB2 管理客户机版本 8。 * 符合 HTML 4.0 的 Web 浏览器。 限制 以下限制适用于 DB2 Web 工具部署: * 在中间层和 DB2 服务器之间,不支持多种语言和代码页转换。尽管服务器的 语言就是显示的语言,但某些字符可能显示不正确。 * 为了在 Web 运行状况中心中查看数据库、表空间和表空间容器的运行状况警 报,需要确保数据库是在 Web 应用程序服务器上编目的。 * 使用 Web 浏览器按钮(停止、后退和历史)在使用 DB2 Web 工具时不受支持 。 * 如果正在将 Netscape Navigator 4 与 DB2 Web 工具配合使用,浏览器显示 将无法正确刷新。如果遇到此问题,则可以通过先最小化窗口再打开窗口的方 式来刷新显示。您还可以通过先将浏览器窗口隐藏在另一窗口之下然后再将它 在前台打开的方式来刷新显示内容。 * 要将您自己的别名分配给任何 DB2 UDB 系统、实例节点或数据库,您必须通 过使用“DB2 配置助手”或“DB2 控制中心”,在应用程序服务器上显式对其 进行编目。 * 在第一次启动时,DB2 Web 工具初始化所花的时间比后续启动要长得多。这段 等待时间大多数是由于在进行自动编目过程。如果不想使用自动编目功能,可 通过 servlet 配置关闭自动编目来缩短必须等待的时间。 注: servlet 配置参数是在部署描述符文件 web.xml 中提供的。参数名和缺 省值随每一发行版而有所变化。某些应用程序服务器可能允许通过其接 口或通过直接编辑 web.xml 文件来更改这些参数。 * 当使用台式或膝上型计算机浏览器时,输出(结果)缓冲区的绝对最大大小为 1MB,即使将其配置为更大也是这样。如果是 PDA Web 浏览器,则此限制为 1KB。 * 在 Linux、UNIX、 和 Windows 操作系统上,DB2 Web 工具自动发现并编目与 应用程序服务器处于同一 TCP/IP 网络的任何系统。同一 TCP/IP 网络上的系 统的 IP 地址的前三位相同。这些工具尝试使用原始远程 TCP/IP 主机名编目 DB2 UDB 系统节点。如果存在名称重复,则这些工具指定唯一的随机名称。如 果想要任何其他 DB2 管理服务器可访问,则必须在应用程序服务器上显式编 目它们。这包括不在应用程序服务器所在 TCP/IP 网络上的使用 TCP/IP 的任 何服务器以及不使用 TCP/IP 的任何服务器。 * 在 Linux、UNIX、 和 Windows 操作系统上,DB2 Web 工具尝试自动发现并编 目驻留在已编目 DB2 UDB 系统上的任何 DB2 UDB 实例节点和数据库。可为多 个通信协议配置远程实例,因此,目录将包含已自动编目实例支持的每种协议 的独立节点条目。如果存在名称重复,则这些工具指定唯一的随机名称。 过程 以下是使用应用程序服务器(例如,Tomcat 4.0 或 Macromedia JRun 4.0)安装 DB2 Web 工具的过程: Tomcat 4.0 1. 通过完成下列操作来准备 Tomcat 4.0 配置文件(CLASSPATH): a. 创建新的环境/系统变量 CATALINA_HOME,以包含至 Tomcat 4.0 的路径(根目录)。例如,D:\jakarta-tomcat-4.0.3。 b. 确认“Tomcat Servlet/JSP 容器”工作是否正常: 1) 通过从 Tomcat 的 bin 目录运行 startup.bat 来启动 Tomcat。 2) 通过 Web 浏览器访问主 Web 页面 http://localhost:8080/ 。 2. 通过查找 DB2 Web 工具安装路径(即, Sqllib\tools\web\db2wa.war)并将 db2wa.war 复制到 Tomcat 的 部署目录(即,Tomcat 的 webapps 目录)中来将 DB2 Web 工具部 署到 Tomcat Servlet/JSP 容器中。 3. 通过完成下列操作在 Tomcat Servlet/JSP 容器上调用 DB2 Web 工 具: a. 打开“DB2 命令窗口”,并将目录更改为 Tomcat 的 bin 目录。 b. 启动 Tomcat,方法是使用 startup.bat 并确认是否已将新目录 (db2wa)添加到 webapps 目录中。 注: 从命令提示符窗口运行 startup.bat 将不设置 DB2PATH。 为启用正在设置的 DB2PATH,需要将 CLASSPATH 行更改 为显式引用 DB2 UDB 安装路径而不是 %DB2PATH% 环境变 量。 c. DB2 Web 工具企业应用程序位于 http://localhost:8080/db2wa ,可使用符合 HTML 4.0 的 Web 浏览器访问。 JRun 1. 通过完成下列任务来为 DB2 Web 工具准备新的应用程序服务器: 建议 建议创建新的应用程序服务器,但并非必须创建此服务器。为进行 测试,可使用缺省服务器,而且只需要配置 JVM 类路径和部署。 a. 启动“JRun 管理控制台”,并且作为应用程序服务器管理员登 录。 b. 使用位于主页右上角的创建新的服务器来创建新的应用程序服务 器。切勿从 localhost 更改主机名选择。 c. 输入新的服务器名称(DB2WebToolsServer)并单击“JRun 服务 器目录”。系统会自动填写该值。 d. 单击创建服务器按钮。 e. 记录生成的值或输入用于以下方面的新值: * JNDI 提供程序 URL * Web 服务器端口号。这将是在 DB2 Web 工具的 URL 中使用 的值(即,http://localhost:web_server_port_numer/db2wa ) * Web 连接器代理端口号 f. 如有必要,请单击更新端口号,然后关闭窗口。 2. 通过完成下列任务在 JRun 应用程序服务器上部署 DB2 Web 工具: a. 启动所选择的用来管理 DB2 Web 工具 Web 应用程序的应用程序 服务器(DB2WebToolsServer,缺省服务器或任何其他服务器, 但是管理服务器除外)。 b. 单击 Web 应用程序,然后单击添加。 c. 浏览部署文件部分以在 DB2 UDB 安装路径中选择 Sqllib\tools\web\db2wa.war 文件。 d. 单击部署,并确认上下文路径是否为 /db2wa。 e. 选择应用程序服务器并确认 DB2 Web 工具应用程序是否出现在 Web 应用程序部分中。不要在此页面上单击应用。 f. 从主页的左上角面板中选择主页链接。 g. 从主页视图中重新启动包含 DB2 Web 工具的应用程序服务器( DB2WebToolsServer)。 DB2 Web 工具企业应用程序位于 http://localhost: your_web_server_port_numer/db2wa,可使用符合 HTML 4.0 的 Web 浏览器访问。 块设备上的直接 I/O(Linux) 直接 I/O 现在在具有 2.6 内核的 Linux 分发产品的文件系统和块设备上受支持 。块设备上的直接 I/O 是对直接磁盘访问或原始 I/O 指定设备容器的另一方法 。直接 I/O 的性能与原始字符设备方法相当。当 CREATE TABLESPACE 语句对容 器路径指定块设备名时,DB2 通用数据库(UDB)将在打开表空间时启用直接 I/O 。先前使用原始 I/O 方法实现的相同性能需要使用原始实用程序将块设备绑定至 字符设备。 表 37. 直接 I/O 与原始 I/O 的比较 +----------------------------------+----------------------------------+ | 将块设备与直接 I/O 配合使用的原 | 使用字符设备驱动程序和原始实用程 | | 始 I/O(新方法) | 序的原始 I/O(旧方法) | +----------------------------------+----------------------------------+ | CREATE TABLESPACE dms1 | CREATE TABLESPACE dms1 | | MANAGED BY DATABASE | MANAGED BY DATABASE | | USING (DEVICE '/dev/sda5' | USING (DEVICE '/dev/raw/raw1' | | 11170736) | 11170736) | +----------------------------------+----------------------------------+ 尽管 DB2 UDB 仍支持将原始实用程序用于原始 I/O 的方法,但最新分发产品已 不推荐使用此功能,将来可能会除去它。首选方法是通过直接指定设备来使用新 方法。 建议 如果想要利用直接磁盘访问,使用直接 I/O 创建 DMS 设备容器以避免将来发生 迁移问题。 注: Linux/390 上的 DB2 UDB 不支持直接 I/O。 DB2 信息中心守护程序(Linux 和 UNIX) DB2 信息中心守护程序负责控制 DB2 文档服务器。该守护程序是 DB2 信息中心 安装的一部分,由两个文件组成: * db2icd - 初始化脚本 * db2ic.conf - 配置文件 这些文件安装在下列位置: AIX /etc/db2icd /var/db2/v81/db2ic.conf HP /sbin/init.d/db2icd /var/opt/db2/v81/db2ic.conf Solaris 操作环境 /etc/init.d/db2icd /var/db2/v81/db2ic.conf Linux /etc/init.d/db2icd /var/db2/v81/db2ic.conf 启动或停止信息中心守护程序 (AIX、Solaris 操作环境、HP 和 Linux) 唯一需要手工启动或停止该守护程序的情况就是您想要更改该守护程序的配置变 量。通常,按照在安装 DB2 信息中心期间创建的运行级别,该守护程序会在系统 启动时启动。 过程 要停止和启动信息中心守护程序: 1. 如果守护程序已经在运行,则停止它。在命令行处输入: INIT_DIR/db2icd stop 其中 INIT_DIR是先前列出的 db2icd 文件的安装目录。 2. 通过编辑 db2ic.conf 文件来更改该守护程序的任何变量。现在可修改提供文 档的 TCP 端口号以及守护程序运行时使用的临时工作空间的位置。 3. 启动该守护程序。在命令行处输入: INIT_DIR/db2icd start 其中 INIT_DIR是先前列出的 db2icd 文件的安装目录。 当守护程序启动时,它将使用新的环境变量。 还可选择立即关闭并重新启动该守护程序。在命令行处输入: INIT_DIR/db2icd restart 其中 INIT_DIR是先前列出的 db2icd 文件的安装目录。 可随时检查该守护程序的状态。在命令行处输入: INIT_DIR/db2icd status 其中 INIT_DIR是先前列出的 db2icd 文件的安装目录。该守护程序返回当前状态 并显示守护程序的标识(如果守护程序活动的话)。 响应文件关键字和样本文件 要使用响应文件来安装 DB2 信息中心版本 8.2,使用以下信息: 响应文件关键字(PROD) INFORMATION_CENTER 响应文件名称 db2doce.rsp 响应文件安装错误代码 以下错误代码仅适用于 Windows,而不适用于 Linux 和 UNIX 操作系统。 3010 安装成功,但需要系统重新启动以完成安装。 安装 DB2 服务器必需的用户帐户(Windows) 添加配额 添加配额用户权限在 Windows XP 和 Windows Server 2003 操作系统上已更改为调整进程的内存配额。 DB2 安装程序授予的用户权限 - 调试程序 DB2 安装程序不会授予“调试程序”用户权限。DB2 安装程序将授予下 列用户权限: * 充当操作系统的一部分 * 创建标记对象 * 锁定内存中的页 * 作为服务登录 * 添加配额 * 替换进程级标记 异步 I/O 支持(Linux) 异步 I/O(AIO)支持现在在 Linux(2.6 内核和某些 2.4 内核)上可供原始设 备和 O_DIRECT 文件系统使用。AIO 改进了页清除程序性能。可通过发出 db2set 命令来启用或禁用 Linux 上的 AIO。 要使用 AIO,用户必须安装 libaio-0.3.98 或更新版本并具有支持 AIO 的内核 。用户还必须运行 db2set DB2LINUXAIO=true 命令并重新启动 DB2 通用数据库。 修改了 db2ln 命令以创建 DB2 UDB 64 位库链接(Linux 和 UNIX) 在先前级别的 DB2 通用数据库(UDB)版本 8 中,db2ln 命令在 /usr/lib 和 /usr/include 下创建了某些 DB2 链接。在同时支持 32 位和 64 位 DB2 UDB 实 例的平台上,缺省情况下这些链接指向 DB2DIR/lib64 或 DB2DIR/include64 下 的库文件或包含文件,其中 DB2DIR 是 DB2 UDB 版本 8 的安装目录。如果不期 望使用缺省值,则可以通过运行带有 -w 标志的 db2ln 命令来指定位宽: db2ln -w 32|64 这可以防止 DB2 UDB 32 位实例在某些平台上与 64 位实例共存。 从 DB2 UDB 版本 8.2 开始,db2ln 命令将在那些平台上的适当目录中创建 DB2 64 位库链接。在此情况下,-w 标志仅用于填充 /usr/include。当 db2ln 命令为 DB2 UDB 库文件创建链接时,在受支持的平台上将同时创建 32 位和 64 位链接 。这允许 32 位和 64 位实例同时存在和运行。 在某些 Linux 分发产品上,development rpm 命令与 /usr/lib/libdb2.so 或 /usr/lib64/libdb2.so 库一起提供。此库用于 Sleepycat Software 的 Berkeley DB 实施,并且与 IBM 的 DB2 UDB 不相关。但是,此文件将阻止 db2ln 命令和 db2rmln 命令起作用。db2ln 命令不会覆盖该文件,db2rmln 命令不会除去该文 件。在此情况下,要编译使用 DB2 UDB 的应用程序,编译和链接过程需要分别提 供指向 DB2 UDB 的头和库的完整路径。建议采用这种方法,因为它允许对同一计 算机上的 DB2 UDB 的多个发行版进行编译和链接。 有关使用 db2ln 命令的限制的详细信息,请参阅《DB2 UDB 版本 8.2 安装和配置 》手册。 Query Patroller 查询类行为更新 在通过 Query Patroller 中心或 Query Patroller 命令行执行下列其中一个任 务后,将返回一条警告消息: * 添加查询类 * 除去查询类 * 更新查询类的最高查询成本 警告消息为: DQP1024W 只有重新启动 Query Patroller 服务器,针对查询类的创建、 更改或除去操作才会起作用。 同样,DB2 Query Patroller(TM) Guide: Installation, Administration, and Usage版本 8.2 指出,在创建、更改或除去查询类后必须重新启动 Query Patroller 服务器,更改才会生效。 这一消息和指南中的陈述不再准确。先前列出的三个查询类任务将即时生效,除 非存在正在排队或运行的查询。如果存在正在排队的或运行的查询(包括新提交 的查询),则查询类更改将在正在排队的或运行的查询完成时生效。如果不想等 待所有正在排队和运行的查询完成,则必须重新启动 Query Patroller 服务器。 注: 对于之前版本的 Query Patroller,更新查询类的最大查询数目总时即时生 效。 受管查询状态的定义更新 已取消和完成这两种查询状态的含义已更新,如下所示: 已取消 查询已被管理员、提交者或概要文件设置了带编辑权限的 MONITORING 特权的操作员通过 Query Patroller 中心或 Query Patroller 命令行取消。只有正在运行、挂起、已释放和已排队的查询 才能够已取消。 完成 成功地完成了查询。 注: 尽管查询本身完成并且没有任何错误,但如果完成是由于外部事件 (如 DB2 force 应用程序)导致的,则应用程序可能会接收到 错误。 在运行 Query Patroller 历史数据生成器之前创建说明表 在对 Query Patroller 运行历史数据生成器时,如果说明表已不存在,生成器将 创建它们。但是,强烈建议在运行历史数据生成器之前创建说明表。当创建说明 表时,确保在同一分区上创建它们。在同一分区上活动地创建说明表将提高“说 明”设施的性能。此改进会提高历史数据生成器的性能。 检查 Query Patroller 日志文件以进行历史分析 如果“随时间的推移查询活动”(历史分析)报告的说明运行列显示查询的状态为 未成功运行,则尚未生成有关该查询的历史数据。因此,该查询将不会显示在任 何历史分析报告或图中。如版本 8 中所述,要确定查询未成功的原因,可以检查 qpuser.log 文件。 除了检查 qpuser.log 文件之外,还应检查 qpdiag.log 文件。 历史数据生成器的异常关闭 如果运行历史数据生成器并以异常方式关闭它,将在下一次尝试运行历史数据生 成器时接收到错误。异常关闭的示例有: * DB2 通用数据库意外停止 * 发出 db2stop force 命令 * 发出 killdb2 命令 当历史数据生成器异常关闭时,必须在尝试重新运行历史数据生成器之前发出以 下命令: qp -d database generate historical_data stop 其中 database 标识要对其运行命令的数据库。 动态查询类更新 某些查询类操作不再需要停止 Query Patroller 然后重新启动它就可以生效。 在下表中,活动查询是状态为“正在运行”或“已排队”的查询。 表 38. 查询类更改生效的条件 +----------------------------------+----------------------------------+ | 更改的性质 | 更改生效的条件 | +----------------------------------+----------------------------------+ | 添加、除去或更新查询类。 | 如果没有活动查询,则更改立即生效 | | | 。 | +----------------------------------+----------------------------------+ | 更新只涉及对最大查询数的更改的查 | 立即生效,即使存在活动查询也不例 | | 询类。 | 外。 | +----------------------------------+----------------------------------+ | 更新只涉及对最大查询成本的更改的 | 如果存在活动查询,则在下列任一情 | | 查询类。 | 况下更新生效: | | | * 停止 Query Patroller 然后重新 | | | 启动它。 | | | * 没有其他活动查询。 | | | 注: 当存在针对最大查询成本的更改 | | | 暂挂时,任何种类的后续查询类更新 | | | 在满足前面两个条件的其中一个之前 | | | 都不会生效。 | +----------------------------------+----------------------------------+ | 添加或除去查询类。 | 如果存在活动查询,则添加或除去在 | | | 下列任一情况下生效: | | | * 停止 Query Patroller 然后重新 | | | 启动它。 | | | * 没有其他活动查询。 | +----------------------------------+----------------------------------+ 嵌套的查询行为 不能对嵌套的查询进行排队。取而代之,如果嵌套的查询超出通常会导致对它进 行排队的阈值时,它将立即运行。 SQL 语句类型造成的局限性 与前面的文档相反,可对带有以下语句的查询进行排队: * 包含带有主机变量的静态 SQL 的查询 * 包含标识值函数(IDENTITY_VAL_LOCAL)或序列值函数(如 NEXT VALUE FOR 或 PREVIOUS VALUE FOR)的查询 使用终端服务客户机时的分辨率局限性 使用分辨率为 640x480 的终端服务客户机连接至运行 Query Patroller 中心的 远程桌面时,“提交首选项”窗口可能显示为空白。要使“提交首选项”窗口正 常显示,必须使用高于 640x480 的分辨率。 新的查询提交的组支持 从版本 8.2 开始,DB2 通用数据库(UDB)支持操作系统组之外的用户组。因此 ,Query Patroller 中心的“查询提交首选项”窗口中的要使用的提交者概要文件 下拉列表中有一点变化。 如果已登录但没有对应 Query Patroller 用户管理的 DBADM 权限或编辑特权, 则只能为您自己添加或更新提交首选项。在此情况下,要使用的提交者概要文件 下拉列表包含您所属的 DB2 UDB 组(而不仅仅是您所属的操作系统组)的现有提 交者概要文件。 如果已登录并具有对应 Query Patroller 用户管理的 DBADM 权限或编辑特权, 可为其他用户添加或更新提交首选项。在此情况下,要使用的提交者概要文件下 拉列表包含所有现有组提交者概要文件。 Query Patroller 调度局限性 在 Query Patroller 中心中使用调度时,可使用“调度”窗口将调度保存至文件 并在以后导入它们。如果有使用修订包 6 或较早版本保存的调度,则不能使用版 本 8.2 或更新版本来导入该调度。此局限性是由于随 DB2 UDB 版本 8.2 引入的 JDK 级别之间的序列化中的更改造成的。 使用 RUN IN BACKGROUND QUERY 命令所需的权限 要运行 RUN IN BACKGROUND QUERY 命令,您必须是一开始提交查询的提交者。 为结果表创建别名 从 Query Patroller V8.1 修订包 5 开始,Query Patroller 停止在与查询提交 者的授权标识相匹配的模式中创建结果表。Query Patroller 转而开始在公共 DB2QPRT 模式中创建结果表。为允许使用提交者的模式引用结果表,Query Patroller V8.2 引入了一个选项,用于自动为 Query Patroller 新创建的每个 结果表创建别名。该结果表是在 DB2QPRT 模式中创建的,而该别名是在与提交者 的授权标识相匹配的模式中创建的。 要打开或关闭此选项,使用 CREATE_RESULT_TABLE_ALIASES 选项发出 UPDATE QP_SYSTEM 命令: >>-UPDATE QP_SYSTEM USING---------------------------------------> >--+-DEFAULT------------------------------+-------------------->< '-CREATE_RESULT_TABLE_ALIASES--+-'Y'-+-' '-'N'-' 除去孤线程结果表别名 使用 CREATE_RESULT_TABLE_ALIASES 选项创建的别名将在废弃结果表时自动废弃 。但是,在两种情况下可能会废弃结果表而不废弃相应的别名。 * 在未使用 qp 命令行或 Query Patroller 中心的情况下手工废弃结果表时。 * 如果使用非查询提交者或不具有 DBADM 权限的操作员权限,通过 qp 命令行或 Query Patroller 中心来废弃结果表。 为清除没有对应结果表的别名,已经创建了新命令 REMOVE RESULT_TABLE_ALIASES 。每当结果表作为 Query Patroller 调度结果表清除过程的一部分被清除时,此 命令将自动执行。REMOVE RESULT_TABLE_ALIASES 命令使用以下查询获取要清除 的别名的列表: with a as (select tabschema, tabname from syscat.tables where type = 'A' and tabname like 'QUERY%_RESULTS'), t as (select tabname from syscat.tables where type = 'T' and tabname like 'QUERY%_RESULTS') select all tabschema, tabname from a where not exists (select * from t where t.tabname=a.tabname) 先决条件 您必须具有 DBADM 权限。 过程 1. 发出 REMOVE RESULT_TABLE_ALIASES 命令 此命令除去废弃其对应结果表之后仍然存在的所有别名。这些别名一开始是由 Query Patroller 为结果表创建的。 命令语法 >>-REMOVE RESULT_TABLE_ALIASES--------------------------------->< 注: 有关使用命令行界面输入 Query Patroller 命令以及 Query Patroller 命 令的一般语法的信息,请参阅 Query Patroller 命令行界面。 受防护用户标识需要对 qpdiag.log 文件和路径具有写访问权 Query Patroller 使用一些受防护的存储过程,它们可能会将条目记入 qpdiag.log 文件。因此,受防护的用户标识必须具有写入 qpdiag.log 文件以及 qpdiag.log 文件驻留的路径的访问权。 快速入门 更新安装在您的计算机或内部网服务器上的 DB2 信息中心 要更新安装在本地的 DB2 信息中心,可从 http://www.ibm.com/software/data/db2/udb/support/downloadv8_docfix.html 处下载最新的 DB2 文档修订包。但 DB2 文档修订包是不定期发布的,可能未反 映当前最新的 DB2 文档级别。DB2 文档的最新版本始终是位于 http://publib.boulder.ibm.com/infocenter/db2help/ 处的 DB2 信息中心的那 个版本。 内存需求 DB2 通用数据库(UDB)至少需要 256 MB RAM。对于只运行 DB2 UDB 和 DB2 图 形用户界面工具的系统,至少需要 512MB RAM 内存。但是,为了改善性能,建议 使用 1GB RAM 内存。这些需求不包括正在系统上运行的其他软件所需的任何附加 内存。 确定内存需求时,要了解下列内容: * 对于 DB2 客户机支持,这些内存需求针对以 5 个并发客户机连接为基数的并 发客户机连接。每 5 个客户机连接将需要附加 16 MB RAM。 * 内存需求受数据库系统的大小和复杂性,以及数据库活动的扩展数据块和访问 系统的客户机数影响。 * 在 Linux 操作系统上,建议交换空间的大小至少为 RAM 大小的两倍,但这不 是必需的。 对 DB2 UDB 客户机支持的说明 版本 8.1 的《DB2 客户机快速入门》指南中的『DB2 客户机』主题指出: DB2 客户机可以连接至比该客户机的发行版级别晚两个发行版或者早一个 发行版的 DB2 服务器,还可以连接至与它处于同一个发行版级别的服务器 。 针对该陈述的修正如下: 虽然在某些环境中可以进行从版本 N 客户机到版本 N + 2 服务器的连接 ,但只有在版本 N 仍是有效产品时,DB2 支持小组才提供对这种配置的支 持。一旦版本 N 被废弃不用,DB2 支持小组就不再支持此配置。DB2 支持 小组已不再支持与 DB2 版本 8 服务器连接的 DB2 版本 7 客户机,因为 版本 7 已被废弃不用。 修改内核参数(Linux) 在安装 DB2 UDB 之前,应考虑更新 Linux 内核参数。必要时,DB2 通用数据库 (UDB)将自动提高 IPC 限制。根据特定需要,您可能想要进一步提高这些限制。 先决条件 必须具有 root 用户权限才能修改内核参数。 过程 要更新内核参数: Red Hat 和 SuSE 使用 2.4.X 系列内核的系统对于消息队列参数(msgmni)有一个缺省 值,它只允许同时与 DB2 UDB 进行数个连接。还必须更改信号数组参 数才能使 DB2 UDB 成功运行。要检查共享内存段、信号数组和消息队 列限制,可发出 ipcs -l 命令。 以下输出来自 ipcs -l 命令。 # ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 // SHMMNI max seg size (kbytes) = 262144 // SHMMAX max total shared memory (kbytes) = 8388608 // SHMALL min seg size (bytes) = 1 ------ Semaphore Limits -------- max number of arrays = 1024 // SEMMNI max semaphores per array = 250 max semaphores system wide = 256000 max ops per semop call = 32 semaphore max value = 32767 ------ Messages: Limits -------- max queues system wide = 1024 // MSGMNI max size of message (bytes) = 65535 // MSGMAX default max size of queue (bytes) = 16384 // MSGMNB 其中 max semaphores system wide = max number of arrays x max semaphores/array 对于 32 位 Linux 内核,通过将下列条目添加至缺省系统控制配置文件 /etc/sysctl.conf 来修改内核参数: kernel.msgmni = 1024 kernel.sem = "250 256000 32 1024" kernel.shmmax=268435456 对于 64 位 Linux 内核,通过将下列条目添加至缺省系统控制配置文件 /etc/sysctl.conf 来修改内核参数: kernel.msgmni = 1024 kernel.sem = "250 256000 32 1024" kernel.shmmax=1073741824 运行带有 -p 参数的 sysctl 来从缺省文件 /etc/sysctl.conf 装入 sysctl 设置: sysctl -p 启动期间,网络初始化脚本从 sysctl.conf 文件读取条目。 在某些分发产品上,可能需要在其中一个系统初始化文件(例如, rc.local)中添加 sysctl -p 以便在每次重新启动之后设置内核参数。 修改内核参数(Solaris 操作环境) 以下信息是对《DB2 服务器快速入门》指南中的『修改内核参数(Solaris 操作 环境)』主题的修正: 要让 DB2 通用数据库(UDB)正常工作,建议更新系统的内核配置参数。可使用 db2osconf实用程序来建议推荐的内核参数。 要使用 db2osconf 命令,必须先安装 DB2 UDB。db2osconf实用程序只能从 $DB2DIR/bin 运行。 修改内核参数之后,必须重新启动系统。 DB2 通用数据库易捷版版本 8.2 基础手册可供下载 IBM DB2 通用数据库易捷版(DB2 UDB 易捷版)是 DB2 通用数据库版本 8 产品 系列的最新成员。它集 IBM 的广受好评 DB2 UDB 关系数据库的超强能力、功能 和可靠性于一身,而且使打包、安装和部署简化,能够以最低的投资成本满足中 小型企业的数据管理需要。 DB2 UDB 易捷版是为内部数据库技能较少的客户设计的,他们需要与他们的应用 软件解决方案集成的易于安装的数据库。该产品是多用户版本的 DB2 UDB,在单 机和局域网(LAN)环境中支持本地和远程应用程序。 要获取 DB2 UDB 易捷版的进一步信息,可从 DB2 UDB 产品手册 Web 页面下载 Quick Beginnings for DB2 Express Edition 和 DB2 Universal Database Express Edition Version 8.2 Basics,网址如下: http://www.ibm.com/software/data/db2/udb/support/manualsv8.html 验证数据库是否准备好迁移 版本 8.2 的主题中的先决条件部分说明如何验证数据库是否准备好进行迁移: 先决条件 确保实例所有者主目录中的 migration.log 文件包括以下文 本:Version of DB2CKMIG being run: VERSION 8。 此先决条件事实上是在该过程结束时执行的迁移后步骤。 DB2 UDB 的 Common Criteria 认证 已经 Common Criteria 认证的有关 DB2 UDB 配置的权威信息可在 http://niap.nist.gov/cc-scheme 中找到。 Spatial Extender 验证 Spatial Extender 安装 runGseDemo 样本程序可用来熟悉 DB2 Spatial Extender 的应用程序编程。有关 样本程序用来创建支持空间的数据库并对该数据库中的数据执行空间分析的步骤 的描述,参阅标题为『DB2 Spatial Extender 样本程序』的主题。此主题在信息 中心和《Spatial Extender 和 Geodetic Extender 用户指南和参考》中。 DB2 Spatial Extender 提供另一样本程序 seBankDemoRunBankDemo,它将演示如 何将空间功能添加至现有信息系统。 有关这两个样本程序的更多信息,请参阅下列目录中的自述文件: Windows ~\sqllib\samples\spatial ~\sqllib\samples\spatial\bank Linux 和 UNIX ~/sqllib/spatial ~/sqllib/spatial/bank SQL 管理例程 SNAP_GET_DYN_SQL 表函数的结果集中描述的列名不正确 DB2 信息中心版本 8.2.2(功能等同于版本 8.1 修订包 9)中的『SNAP_GET_DYN _SQL 表函数』主题不正确地描述了 SNAP_GET_DYN_SQL 表函数的结果集。 其中一列被描述为 STMT_TXT,这是不正确的。 输出列的正确名称应为 STMT_TEXT。 快照监视器表函数具有特定于版本的视图 已经对下列快照监视器表函数定义了特定于版本的视图,这些表函数是在 DB2 通 用数据库版本 8.2.2(功能等同于版本 8.1 修订包 9)中引入的: * SNAP_GET_CONTAINER * SNAP_GET_DB * SNAP_GET_DYN_SQL * SNAP_GET_STO_PATHS * SNAP_GET_TAB * SNAP_GET_TBSP * SNAP_GET_TBSP_PART 特定于版本的视图如下所示: * SYSCATV82.SNAPCONT * SYSCATV82.SNAPDB * SYSCATV82.SNAPDYNSQL * SYSCATV82.SNAPSTOPATHS * SYSCATV82.SNAPTAB * SYSCATV82.SNAPTBSPACE * SYSCATV82.SNAPTBSPACEPART 因为不能保证来自快照监视器表函数的结果表在各个发行版之间保持不变,所以 建议在想要保证结果表的情况下使用特定于版本的视图。每个视图包含来自相关 联的快照监视器表函数的结果表的所有列。 GET_DB_CONFIG 过程要求用户临时表空间的页大小最小为 8K GET_DB_CONFIG 过程要求用户临时表空间的页大小至少为 8K。 用于显示如何使用 GET_DB_CONFIG 过程的描述示例应替换为以下示例。 使用命令行处理器(CLP),更改 logretain 和 userexit 数据库配置参数的值 。通过调用 GET_DB_CONFIG 过程来检索原始的(在磁盘上)和更新的(在内存中 )值。 UPDATE DB CFG USING LOGRETAIN RECOVERY USEREXIT YES CALL SYSPROC.GET_DB_CONFIG() 以下是来自此过程调用的部分输出的示例。 Result set 1 -------------- DBCONFIG_TYPE ... LOGRETAIN ... USEREXIT... ------------- ----------- ----------- 0 1 1 1 0 0 2 record(s) selected. Return Status = 0 SQL 引用 CREATE PROCEDURE(SQL)语句权限 如果此语句的授权标识有 SYSADM 权限但没有 DBADM 权限,此标识将被授予隐式 DBADM 权限以用于创建过程。这种情况适用于 CREATE PROCEDURE 语句(SQL)而 不是 CREATE PROCEDURE 语句(外部)。 EXPLAIN_DIAGNOSTIC:新的说明表 对于因为 EXPLAIN_STATEMENT 表中的说明语句的特定实例而产生的每一条诊断消 息,EXPLAIN_DIAGNOSTIC 表都包含一个条目。 EXPLAIN_GET_MSGS 表函数查询 EXPLAIN_DIAGNOSTIC 和 EXPLAIN_DIAGNOSTIC_DATA 说明表并返回格式化消息。 表 39. EXPLAIN_DIAGNOSTIC 表 列名 | 数据类型 | 可空 | 键 | 描述 | | | 1 | --------------+----------+-------+-----+------------------------------ EXPLAIN_REQU | VARCHAR( | 否 | PK | 此说明请求的发起方的授权标识 ESTER | 128) | | 和 | 。 | | | FK | --------------+----------+-------+-----+------------------------------ EXPLAIN_TIME | TIMESTAM | 否 | PK | 说明请求的发起时间。 | P | | 和 | | | | FK | --------------+----------+-------+-----+------------------------------ SOURCE_NAME | VARCHAR( | 否 | PK | 说明动态语句时运行的程序包的 | 128) | | 和 | 名称,或者说明静态 SQL 时源 | | | FK | 文件的名称。 --------------+----------+-------+-----+------------------------------ SOURCE_SCHEM | VARCHAR( | 否 | PK | 说明请求的来源的模式或限定符 A | 128) | | 和 | 。 | | | FK | --------------+----------+-------+-----+------------------------------ SOURCE_VERSI | VARCHAR( | 否 | PK | 说明请求的来源的版本。 ON | 64) | | 和 | | | | FK | --------------+----------+-------+-----+------------------------------ EXPLAIN_LEVE | CHAR(1) | 否 | PK | 与此行相关联的说明信息的级别 L | | | 和 | 。 | | | FK | 有效值包括: | | | | * O:原始文本(由用户输入) | | | | * P:PLAN SELECTION --------------+----------+-------+-----+------------------------------ STMTNO | INTEGER | 否 | PK | 程序包中与此说明信息相关联的 | | | 和 | 语句号。对于动态说明 SQL 语 | | | FK | 句设置为 1。对于静态 SQL 语 | | | | 句,此值与用于 | | | | SYSCAT.STATEMENTS 目录视图的 | | | | 值相同。 --------------+----------+-------+-----+------------------------------ SECTNO | INTEGER | 否 | PK | 程序包中包含此 SQL 语句的节 | | | 和 | 号。对于动态说明 SQL 语句, | | | FK | 这是在运行时用于包含此语句的 | | | | 该节的节号。对于静态 SQL 语 | | | | 句,此值与用于 | | | | SYSCAT.STATEMENTS 目录视图的 | | | | 值相同。 --------------+----------+-------+-----+------------------------------ DIAGNOSTIC_I | INTEGER | 否 | PK | EXPLAIN_STATEMENT 表中的语句 D | | | | 的特定实例的诊断标识。 --------------+----------+-------+-----+------------------------------ CODE | INTEGER | 否 | 否 | 指定给每条诊断消息的唯一编号 | | | | 。消息 API 可使用该编号来检 | | | | 索诊断消息的完整文本。 1. PK 表示该列是主键的一部分;FK 表示该列是外键的一部分。 EXPLAIN_DIAGNOSTIC_DATA:新的说明表 EXPLAIN_DIAGNOSTIC_DATA 表包含 EXPLAIN_DIAGNOSTIC 表中记录的特定诊断消 息的消息标记。消息标记提供特定于生成该消息的 SQL 语句的执行的其他信息。 EXPLAIN_GET_MSGS 表函数查询 EXPLAIN_DIAGNOSTIC 和 EXPLAIN_DIAGNOSTIC_DATA 说明表并返回格式化消息。 表 40. EXPLAIN_DIAGNOSTIC_DATA 表 列名 | 数据类型 | 可空 | 键 | 描述 | | | 1 | --------------+----------+-------+-----+------------------------------ EXPLAIN_REQU | VARCHAR( | 否 | FK | 此说明请求的发起方的授权标识 ESTER | 128) | | | 。 --------------+----------+-------+-----+------------------------------ EXPLAIN_TIME | TIMESTAM | 否 | FK | 说明请求的发起时间。 | P | | | --------------+----------+-------+-----+------------------------------ SOURCE_NAME | VARCHAR( | 否 | FK | 说明动态语句时运行的程序包的 | 128) | | | 名称,或者说明静态 SQL 时源 | | | | 文件的名称。 --------------+----------+-------+-----+------------------------------ SOURCE_SCHEM | VARCHAR( | 否 | FK | 说明请求的来源的模式或限定符 A | 128) | | | 。 --------------+----------+-------+-----+------------------------------ SOURCE_VERSI | VARCHAR( | 否 | FK | 说明请求的来源的版本。 ON | 64) | | | --------------+----------+-------+-----+------------------------------ EXPLAIN_LEVE | CHAR(1) | 否 | FK | 与此行相关联的说明信息的级别 L | | | | 。 | | | | 有效值包括: | | | | * O:原始文本(由用户输入) | | | | * P:PLAN SELECTION --------------+----------+-------+-----+------------------------------ STMTNO | INTEGER | 否 | FK | 程序包中与此说明信息相关联的 | | | | 语句号。对于动态说明 SQL 语 | | | | 句设置为 1。对于静态 SQL 语 | | | | 句,此值与用于 | | | | SYSCAT.STATEMENTS 目录视图的 | | | | 值相同。 --------------+----------+-------+-----+------------------------------ SECTNO | INTEGER | 否 | FK | 程序包中包含此 SQL 语句的节 | | | | 号。对于动态说明 SQL 语句, | | | | 这是在运行时用于包含此语句的 | | | | 该节的节号。对于静态 SQL 语 | | | | 句,此值与用于 | | | | SYSCAT.STATEMENTS 目录视图的 | | | | 值相同。 --------------+----------+-------+-----+------------------------------ DIAGNOSTIC_I | INTEGER | 否 | PK | EXPLAIN_STATEMENT 表中的语句 D | | | | 的特定实例的诊断标识。 --------------+----------+-------+-----+------------------------------ ORDINAL | INTEGER | 否 | 否 | 完整消息正文中标记的位置。 --------------+----------+-------+-----+------------------------------ TOKEN | VARCHAR( | 是 | 否 | 要插入到完整消息正文中的消息 | 1000) | | | 标记;可能会被截断。 --------------+----------+-------+-----+------------------------------ TOKEN_LONG | BLOB(3M) | 是 | 否 | 其他详细信息(如果有的话)。 1. PK 表示该列是主键的一部分;FK 表示该列是外键的一部分。 说明设施使用的模式 说明设施在限定要填充的说明表时使用下列标识作为模式: * 动态 SQL 的会话授权标识 * 静态 SQL 的语句授权标识 该模式可能与一组说明表或指向另一模式下的一组说明表的别名相关联。 如果在该模式下找不到任何说明表,说明设施将检查 SYSTOOLS 模式下的说明表 并尝试使用这些表。 日期时间值的字符串表示法 时间字符串 时间的字符串表示法是以数字开头的字符串,长度至少为 4 个字符。可包括结尾 空格;可忽略时间的小时部分中的前导零,而秒数可以全部忽略。如果秒数被忽 略,将采用 0 秒隐式规范。因此,13:30 相当于 13:30:00。 时间的有效字符串格式列在下表中。每个格式是由名称和相关联的缩写标识的。 表 41. 时间的字符串表示法的格式 +---------------------------+-------------+-------------+-------------+ | 格式名 | 缩写 | 时间格式 | 示例 | +---------------------------+-------------+-------------+-------------+ | 国际标准组织 | ISO | hh.mm.ss | 13.30.05 | +---------------------------+-------------+-------------+-------------+ | IBM 美国标准 | USA | hh:mm AM 或 | 1:30 PM | | | | PM | | +---------------------------+-------------+-------------+-------------+ | IBM 欧洲标准 | EUR | hh.mm.ss | 13.30.05 | +---------------------------+-------------+-------------+-------------+ | 日本工业标准公元 | JIS | hh:mm:ss | 13:30:05 | +---------------------------+-------------+-------------+-------------+ | 站点定义 | LOC | 取决于应用 | - | | | | 程序的地域 | | | | | 代码 | | +---------------------------+-------------+-------------+-------------+ 从版本 8.2 开始,“AM”和“PM”可以小写或大写表示。 系统监视器 运行状况指示器总结 在 DB2 信息中心版本 8.2.2(功能等同于版本 8.1 修订包 9)中的『运行状况 指示器总结』主题中指出,数据库自动存储器使用率运行状况指示器的标识是 db.db_auto_storage_util,这是不正确的。 数据库自动存储器使用率运行状况指示器的正确标识为 db.auto_storage_util。 未启用连接集中器的情况下列出去耦应用程序列表 即使未启用连接集中器,在发出 list applications 命令时也可能可以看到去耦 应用程序。 运行时回滚过程的进度监视 运行时回滚的进度监视使用应用程序快照提供回滚事件的进度信息。回滚事件包 括两种类型: 工作单元回滚 包括整个事务的显式(用户调用)和隐式(强制)回滚。 保存点回滚 包括语句和应用程序级别保存点。嵌套保存点被视为单个单元,使用最 外部的保存点。 提供的信息包括回滚事件的启动时间、要完成的工作总量和完成的工作。工作度 量为字节。 总工作单元是需要对事务或保存点回滚的日志流的范围。 完成的工作单元显示已回滚的日志流中的相对位置。 对已完成的工作的更新是在处理每个日志记录之后进行的。因为日志记录的大小 有所变化,所以更新并非均匀执行。 GET SNAPSHOT FOR ALL APPLICATIONS 命令中的样本输出 Application Snapshot Application handle = 6 Application status = Rollback Active Start Time = 02/20/2004 12:49:27.713720 Completed Work = 1024000 bytes Total Work = 4084000 bytes Application Snapshot Application handle = 10 Application status = Rollback to Savepoint Start Time = 02/20/2004 12:49:32.832410 Completed Work = 102400 bytes Total Work = 2048000 bytes 注: 如果回滚在快照期间不活动,则回滚元素将不显示出来。 XML Extender 更改 dxxGenXML、dxxGenXMLClob、dxxRetrieveXML 和 dxxRetrieveXMLClob 存储 过程的参数 已更改下列存储过程的 override 参数的描述: * dxxGenXML() * dxxGenXMLClob() * dxxRetrieveXML() * dxxRetrieveXMLClob() 更新如下所示: 参数 表 42. dxxGenXML、dxxGenXMLClob、dxxRetrieveXML 和 dxxRetrieveXMLClob 存 储过程的 Override 参数 +-----------+--------------------------------------------+------------+ | 参数 | 描述 | IN/OUT 参 | | | | 数 | +-----------+--------------------------------------------+------------+ | override | 覆盖 DAD 文件中的条件。输入值基于 override | IN | | | Type。 | | | | * NO_OVERRIDE:空字符串。 | | | | * SQL_OVERRIDE:有效 SQL 语句。使用此 | | | | overrideType 需要在 DAD 文件中使用 SQL 映 | | | | 射。输入 SQL 语句覆盖 DAD 文件中的 SQL_stm | | | | t。 | | | | * XML_OVERRIDE:包含一个或多个表达式的字 | | | | 符串,这些表达式用字 AND 分隔。使用此 | | | | overrideType 需要在 DAD 文件中使用 | | | | RDB_node 映射。 | | +-----------+--------------------------------------------+------------+ 将 XML 文档分解成 DB2 UDB 数据 分解表大小限制 分解使用 RDB_node 映射来指定如何通过抽取元素和属性值并将它们存储在表行 中来将 XML 文档分解成 DB2 UDB 表。将每个 XML 文档中的值存储在一个或多个 DB2 UDB 表中。每个表最多可以拥有从每个文档分解出来的 10240 行。 例如,如果一个 XML 文档分解成五个表,则这五个表中的每个表最多可以拥有该 特定文档的 10240 行。如果该表拥有多个文档的行,则对于每个文档,它最多可 以拥有 10240 行。 使用多次出现的元素(元素的位置路径在 XML 结构中可以多次出现)将影响行数 。例如,如果一个文档包含出现 20 次的元素 ,则该文档可以在一个表中 分解为 20 行。使用多次出现的元素时,考虑从单个文档最多可以将 10240 行分 解到一个表中。 分解大于 1 MB 的文档 不需要通过先废弃然后重新创建存储过程 dxxShredXML 来分解大于 1 MB 的文档 。要分解大于 1 MB 的文档,只需调用存储过程 dxxShredXML100MB,它可以将文 档分解成最大为 100 MB。尽管 dxxShredXML100MB 可以处理大型文档,但是可能 需要增大其他资源才能成功地完成该存储过程。要通过样本程序 dxxshrd 来调用 存储过程,使用新标志“-large”。例如: dxxshrd -large mydb xxx.xml 如果 DB2 通用数据库的版本早于版本 8 修订包 6,则必须运行 dxxMigv 来将 XML Extender 迁移至当前级别,这样才能运行新的存储过程。 使用 XML Extender 配置 MQ XML UDF 必须配置并启用 MQ XML 用户定义的函数(UDF)才能使用它们。 先决条件 通过遵循『安装 DB2 WebSphere MQ 函数』主题中的过程来安装 UDF,可在信息 中心或《IBM DB2 Information Integrator 应用程序开发者指南》中找到该主题 。 过程 要使用 XML Extender 配置和启用 MQ XML UDF: 1. 打开 DB2 命令提示符窗口。 2. 通过输入以下命令连接至将使用 MQ XML UDF 的数据库: db2 connect to 3. 切换至安装 DB2 通用数据库的路径中的 bnd 目录,例如: * SQLLIB/bnd(Linux 和 UNIX) * C:\Program Files\IBM\SQLLIB\bnd(Windows) 4. 使用以下命令将数据库绑定至 XML Extender: db2 bind @dbxxbind.lst 5. 使用以下命令绑定数据库以便 XML Extender 使用 MQ XML UDF: db2 bind mqxml.bnd 6. 使用以下命令将数据库绑定至 CLI: db2 bind @db2cli.lst XML Extender 环境变量 DB2DXX_MIN_TMPFILE_SIZE DB2 XML Extender 可将大型文档将在临时文件中以避免在处理时使用大量内存。 在带有大量物理内存的系统上,可避免将文档移至临时文件以降低输入/输出活 动量。环境变量 DB2DXX_MIN_TMPFILE_SIZE 指示 XML Extender 使用内存缓冲区 (而不是临时文件)来处理小于指定值的文档。该变量仅在服务器上适用。如果 多个物理节点参与分区环境,可在每个节点上以不同方式设置该变量以反映安装 在每台计算机上的内存量。如果未设置环境变量,则大于 128 KB 的文档在处理 期间将自动放置在临时文件中。小于 128 KB 的文档将在内存中处理。 DB2XML.XMLVarchar UDT 重新定义 可重新定义用户定义的类型(UDT)DB2XML.XMLVarchar,最大可达 32 KB。要更改 XMLVarchar UDT 的大小,在对 XML Extender 启用数据库之前创建 UDT。 有关更多信息,请参阅《DB2 XML Extender 管理和编程》。 附录A. DB2 UDB 修订包 CD 的目录结构 Windows 操作系统 修订包 CD 上的文件位于以下位置: 表 43. Windows 文件 +------------------+--------------------------------------------------+ | 文件 | 位置 | +------------------+--------------------------------------------------+ | DB2 产品文件: | x:\db2 | +------------------+--------------------------------------------------+ | 安装先决条件: | x:\doc\\install.txt | +------------------+--------------------------------------------------+ | 安装先决条件(HT | x:\doc\\install.htm | | ML): | | +------------------+--------------------------------------------------+ | 许可证文件: | x:\db2\license | +------------------+--------------------------------------------------+ | 发行说明: | x:\doc\\release.txt | +------------------+--------------------------------------------------+ | 发行说明(HTML) | x:\doc\\db2ir\index.htm | | : | | +------------------+--------------------------------------------------+ 其中: * x: 指的是 CD 驱动器 * 指的是语言目录,由 5 个字符的代码组成,对应表 45 的其中一种语言 UNIX 操作系统 修订包 CD 上的文件位于以下位置 表 44. UNIX 文件 +------------------+--------------------------------------------------+ | 文件 | 位置 | +------------------+--------------------------------------------------+ | DB2 产品文件: | /cdrom/db2 | +------------------+--------------------------------------------------+ | 安装先决条件: | /cdrom/doc//install.txt | +------------------+--------------------------------------------------+ | 安装先决条件(HT | /cdrom/doc//install.htm | | ML): | | +------------------+--------------------------------------------------+ | 许可证文件: | /cdrom/db2/license | +------------------+--------------------------------------------------+ | 发行说明: | /cdrom/doc//release.txt | +------------------+--------------------------------------------------+ | 发行说明(HTML) | /cdrom/doc//db2ir/index.htm | | : | | +------------------+--------------------------------------------------+ 其中: * /cdrom 指的是安装点 * 指的是语言目录,由 5 个字符的代码组成,对应表 45 的其中一种语言 下表描述语言目录名及其对应语言。 表 45. 目录名及其对应的语言 +----------------+----------------------------------------------------+ | 目录 | 语言 | +----------------+----------------------------------------------------+ | ar_AA | 阿拉伯语 | +----------------+----------------------------------------------------+ | bg_BG | 保加利亚语 | +----------------+----------------------------------------------------+ | cs_CZ | 捷克语 | +----------------+----------------------------------------------------+ | da_DK | 丹麦语 | +----------------+----------------------------------------------------+ | de_DE | 德语 | +----------------+----------------------------------------------------+ | el_GR | 希腊语 | +----------------+----------------------------------------------------+ | en_US | 英语 | +----------------+----------------------------------------------------+ | es_ES | 西班牙语 | +----------------+----------------------------------------------------+ | fi_FI | 芬兰语 | +----------------+----------------------------------------------------+ | fr_FR | 法语 | +----------------+----------------------------------------------------+ | hr_HR | 克罗地亚语 | +----------------+----------------------------------------------------+ | hu_HU | 匈牙利语 | +----------------+----------------------------------------------------+ | it_IT | 意大利语 | +----------------+----------------------------------------------------+ | iw_IL | 希伯莱语 | +----------------+----------------------------------------------------+ | ja_JP | 日语 | +----------------+----------------------------------------------------+ | ko_KR | 韩国语 | +----------------+----------------------------------------------------+ | nl_NL | 荷兰语 | +----------------+----------------------------------------------------+ | no_NO | 挪威语 | +----------------+----------------------------------------------------+ | pl_PL | 波兰语 | +----------------+----------------------------------------------------+ | pt_BR | 巴西葡萄牙语 | +----------------+----------------------------------------------------+ | pt_PT | 葡萄牙语 | +----------------+----------------------------------------------------+ | ro_RO | 罗马尼亚语 | +----------------+----------------------------------------------------+ | ru_RU | 俄语 | +----------------+----------------------------------------------------+ | sk_SK | 斯洛伐克语 | +----------------+----------------------------------------------------+ | sl_SI | 斯洛文尼亚语 | +----------------+----------------------------------------------------+ | sv_SE | 瑞典语 | +----------------+----------------------------------------------------+ | tr_TR | 土耳其语 | +----------------+----------------------------------------------------+ | zh_CN | 简体中文 | +----------------+----------------------------------------------------+ | zh_TW | 繁体中文 | +----------------+----------------------------------------------------+ 注: 1. 目录名可能以大写字母或小写字母显示,这取决于您的操作系统。 2. 此 CD 上可能不会显示先前列表中的所有目录,这是因为并未在所有 CD 上提 供所有语言目录。 3. 从版本 8.2 开始,『安装说明』是《发行说明》中的一节。 附录B. 与 IBM 联系 在中国,请致电下列其中一个号码以与 IBM 联系: * 800-810-1818 或 (010) 84981188 分机 5151,可获得售前客户服务 * 800-810-1818 或 (010) 84981188 分机 5200,可获得售后客户服务 * 800-810-1818 或 (010) 84981188 分机 5017, 可获得市场营销与销售的信息 要查找您所在国家或地区的 IBM 营业处,可在网上查看 IBM 全球联系人目录( Directory of Worldwide Contacts),网址为:http://www.ibm.com/planetwide B.1 产品信息 有关 DB2 通用数据库产品的信息可通过万维网获取,网址为:http://www- 900.ibm.com/cn/software/db2/ 此站点包含有关技术资料库、订购书籍、产品下载、新闻组、修订包、新闻和 Web 资源链接的最新信息。 有关如何在中国以外的国家或地区与 IBM 联系的信息,请访问 IBM Worldwide 页面,网址为:www.ibm.com/planetwide 附录C. 声明 IBM 可能并非在在所有国家或地区都提供本文档中讨论的产品、服务或功能特性 。有关您当前所在区域的产品和服务的信息,请向您当地的 IBM 代表咨询。任何 对 IBM 产品、程序或服务的引用并非意在明示或暗示只能使用 IBM 的产品、程 序或服务。只要不侵犯 IBM 的知识产权,任何同等功能的产品、程序或服务,都 可以代替 IBM 产品、程序或服务。但是,评估和验证任何非 IBM 产品、程序或 服务,则由用户自行负责。 IBM 公司可能已拥有或正在申请与本文档内容有关的各项专利。提供本文档并未 授予用户使用这些专利的任何许可。您可以用书面方式将许可查询寄往: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. 有关双字节(DBCS)信息的许可查询,请与您所在国家或地区的 IBM 知识产权部 门联系,或用书面方式将查询寄往: IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106, Japan 本条款不适用英国或任何这样的条款与当地法律不一致的国家或地区: International Business Machines Corporation 以“按现状”的基础提供本出 版物,不附有任何形式的(无论是明示的还是默示的)保证,包括(但不限于) 对非侵权性、适销性和适用于某特定用途的默示保证。某些国家或地区在某些交 易中不允许免除明示或默示的保证。因此,本条款可能不适用于您。 本信息中可能包含技术方面不够准确的地方或印刷错误。此处的信息将定期更改 ;这些更改将编入本资料的新版本中。IBM 可以随时对本资料中描述的产品和/ 或程序进行改进和/或更改,而不另行通知。 本信息中对非 IBM Web 站点的任何引用都只是为了方便起见才提供的,不以任何 方式充当对那些 Web 站点的保证。那些 Web 站点中的资料不是 IBM 产品资料的 一部分,使用那些 Web 站点带来的风险将由您自行承担。 IBM 可以按它认为适当的任何方式使用或分发您所提供的任何信息而无须对您承 担任何责任。 本程序的被许可方如果要了解有关程序的信息以达到如下目的:(i)允许在独立 创建的程序和其他程序(包括本程序)之间进行信息交换,以及(ii)允许对已 经交换的信息进行相互使用,请与下列地址联系: IBM Canada Limited Office of the Lab Director 8200 Warden Avenue Markham, Ontario L6G 1C7 CANADA 只要遵守适当的条件和条款,包括某些情形下的一定数量的付费,都可获得这方 面的信息。 本资料中描述的许可程序及其所有可用的许可资料均由 IBM 依据 IBM 客户协议 、IBM 国际软件许可协议或任何同等协议中的条款提供。 此处包含的任何性能数据都是在受控环境中测得的。因此,在其他操作环境中获 得的数据可能会有明显的不同。有些测量可能是在开发级的系统上进行的,因此 不保证与一般可用系统上进行的测量结果相同。此外,有些测量是通过推算而估 计的,实际结果可能会有差异。本文档的用户应当验证其特定环境的适用数据。 涉及非 IBM 产品的信息可从这些产品的供应商、其出版说明或其他可公开获得的 资料中获取。IBM 没有对这些产品进行测试,也无法确认其性能的精确性、兼容 性或任何其他关于非 IBM 产品的声明。有关非 IBM 产品性能的问题应当向这些 产品的供应商提出。 所有关于 IBM 未来方向或意向的声明都可随时更改或收回,而不另行通知,它们 仅仅表示了目标和意愿而已。 本信息可能包含在日常业务操作中使用的数据和报告的示例。为了尽可能完整地 说明问题,这些示例可能包含个人、公司、品牌和产品的名称。所有这些名称都 是虚构的,如与实际商业企业所使用的名称和地址有雷同,纯属巧合。 版权许可: 本信息可能包括源语言形式的样本应用程序,这些样本说明不同操作平台上的编 程方法。如果是为按照在编写样本程序的操作平台上的应用程序编程接口(API) 进行应用程序的开发、使用、经销或分发为目的,您可以任何形式对这些样本程 序进行复制、修改、分发,而无须向 IBM 付费。这些示例并未在所有条件下作全 面测试。因此,IBM 不能担保或暗示这些程序的可靠性、可维护性或功能。 凡这些样本程序的每份拷贝或其任何部分或任何衍生产品,都必须包括如下版权 声明: (C)(贵公司的名称)(年)。此部分代码是根据 IBM 公司的样本程序衍生出来 的。 (C) Copyright IBM Corp. (输入年份). All rights reserved. C.1 商标 下列各项是 International Business Machines Corporation 在美国和/或其他 国家或地区的商标,且已在 DB2 UDB 文档库中的至少一份文档中使用。 ACF/VTAM iSeries AISPO LAN Distance AIX MVS AIXwindows MVS/ESA AnyNet MVS/XA APPN Net.Data AS/400 NetView BookManager OS/390 C Set++ OS/400 C/370 PowerPC CICS pSeries Database 2 QBIC DataHub QMF DataJoiner RACF DataPropagator RISC System/6000 DataRefresher RS/6000 DB2 S/370 DB2 Connect SP DB2 Extenders SQL/400 DB2 OLAP Server SQL/DS DB2 Information Integrator System/370 DB2 Query Patroller System/390 DB2 Universal Database SystemView Distributed Relational Tivoli Database Architecture VisualAge DRDA VM/ESA eServer VSE/ESA Extended Services VTAM FFST WebExplorer First Failure Support Technology WebSphere IBM WIN-OS/2 IMS z/OS IMS/ESA zSeries 下列各项是其他公司的商标或注册商标,且已在 DB2 UDB 文档库中的至少一份文 档中使用: Microsoft、Windows、Windows NT 和 Windows 徽标是 Microsoft Corporation 在美国和/或其他国家或地区的商标。 Intel 和 Pentium 是 Intel Corporation 在美国和/或其他国家或地区的商标。 Java 和所有基于 Java 的商标是 Sun Microsystems, Inc. 在美国和/或其他国 家或地区的商标。 UNIX 是 The Open Group 在美国和其他国家或地区的注册商标。 Linux 是 Linus Torvalds 在美国和/或其他国家或地区的商标。 其他公司、产品或服务名称可能是其他公司的商标或服务标记。