局限性

| | |

db2look - 自动存储器表空间的局限性

|

对于使用自动存储器表空间的数据库,db2look 命令将成功完成。但它不会显示特定于自动存储器表空间的表空间信息。

SNAP_GET_DB 表函数返回的结果不完整

如果在数据库分区功能(DPF)环境中输入 -2(全局快照)来调用 SNAP_GET_DB 表函数,该函数将对以下四列返回不完整的结果:

不能为全局快照聚集这些元素。要检索这些快照元素值的完整集合,应在每个分区上分别调用 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(R) UDB 版本 7 和 DB2 UDB 版本 8。

不能使用 inplace 表重组重组长字段和 LOB 数据

在 inplace 或联机表重组期间,不能重组长字段和 LOB 数据。通过使用 REORG TABLE 命令指定 LONGLOBDATA 参数,可以使用传统或脱机表重组来重组长字段和 LOB 数据。然而,应该注意,尽管重组长字段和 LOB 数据允许回收可用空间,但它不能改善集群,并且极大地增加了完成重组所需的时间。

客户机应用程序中分块游标中的锁定行为不一致

在游标稳定性(CS)隔离中,数据库服务器上与当前游标位置关联的行始终被锁定。在锁定访问期间,可以将多行返回到单个缓冲区中。大多数情况下,在服务器端处理的最后一行的大小不是正好合适,它将被分割到两个缓冲区中。在第二个缓冲区接收到此分割行之前,应用程序将看不到此行。因此,返回到应用程序的行将不会被锁定。

在很少情况下,在服务器端处理的最后一行的大小正好合适,那么游标位置将保留在缓冲区内的最后一行上,这表示返回到应用程序的最后一行将被锁定。

使用 ODBC 将数据导出至文件仓库程序

使用 ODBC 将数据导出至文件仓库程序不支持下列 Sybase 数据类型:

在开发中心的集成 SQL 调试器中不受支持的数据类型

下列数据类型在集成到开发中心的“SQL 调试器”中不受支持:

开发中心中的结构类型

“开发中心”不再支持创建结构类型。

开发中心对于 64 位操作系统的局限性

开发中心不支持针对 64 位服务器调试 Java(TM) 存储过程。调试 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 异常并将会失败:

要解决此局限性,通过运行以下命令确保将 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) 系统之前,必须满足以下需求:

在 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.lstddcsmvs.lstddcs400.lstddcsvm.lstddcsvse.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 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 位实例下使用下列任何一种方法来创建工具目录:

从版本 8.1.4 开始,支持在 Linux(AMD64)上的 32 位实例下创建工具目录数据库。

不支持创建工具目录数据库(AIX、Solaris 操作环境和 HP-UX)

不支持在 DB2 通用数据库(UDB)的安装期间针对 64 位混合平台上的 64 位实例创建工具目录。混合平台为:

如果您想要针对 64 位实例创建工具目录,则可以在安装 DB2 UDB 之后通过命令行处理器使用 CREATE TOOLS CATALOG CLP 命令或者使用控制中心来完成。对于此操作,还需要安装 64 位 IBM(R) Developer Kit for Java。有关更多详细信息,参阅《DB2 管理指南》的『DB2 管理服务器』一节。

DB2 UDB 易捷版和 DB2 工作组服务器版版本 8.2 的内存限制

对于下列产品有内存限制:

调度仓库进程使其以一定时间间隔运行

当调度仓库进程使其以一定时间间隔运行时,必须确定在进程中运行所有生产步骤所花的最长时间,并相应地调度时间间隔。如果进程超过已安排的时间间隔,则对该进程安排的所有后续事件将不会运行,并且不会被重新安排。

版本 8 中 SNA 支持的局限性

从用于 Windows 和 UNIX 操作系统的 DB2 通用数据库(UDB)企业服务器版(ESE)版本 8 和用于 Windows 和 UNIX 操作系统的 DB2 Connect(TM) 企业版(CEE)版本 8 中撤销了以下支持:

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 命令行处理器并发出下列命令:
    1. CREATE DATABASE PARTITION GROUP partition_group_name 
           ON DBPARTITIONNUM partition_number
    2. 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 之前创建的并且有下列任一权限的操作员:

将在 Query Patroller 第一次使用此模式创建结果表时授予对 DB2QPRT 模式的 DROPIN 特权。

在创建或更新以下操作员的概要文件时还将授予这些操作员对 DB2QPRT 模式的 DROPIN 特权:在安装修订包 5 之后授予有编辑权限的 MONITORING 特权或授予有编辑权限的 HISTORICAL ANALYSIS 特权的操作员。

运行状况指示器限制

如果指示器进入关闭状态,则运行状况监视器不能为 db2.db2_op_status 运行状况指示器执行操作。例如,当指示器正在监视的实例由于显式停止请求和异常终止而变得不活动时,就会导致这种状态。如果想要实例在任何异常终止之后自动重新启动,则配置故障监视器以使实例保持高可用性。

[ 页的顶部 |上一页 | 下一页 | 目录 ]