SQL 信息 ID
消息
说明
用户响应

SQL1000N

别名 是无效的数据库别名。 在命令或 api 中指定的别名无效。 此别名必须包含 1 到 8 个字符(在 MBCS 国家或地区中,是字节),且所有字符都必须来自数据库管理器基本字符集。

无法处理该命令。

使用正确的别名重新提交该命令。

SQL1001N

名称 是无效的数据库名称。 在命令中指定的数据库名称的语法无效。 数据库名称必须包含 1 到 8 个字符,并且所有字符都必须来自数据库管理器基本字符集。

无法处理该命令。

使用正确的数据库名称重新提交该命令。

sqlcode:-1001

sqlstate:2E000

SQL1002N

驱动器 是无效的驱动器。 在命令中指定的驱动器无效。 驱动器是单个字符(A 至 Z),指示数据库或数据库目录所在的软盘驱动器或硬盘分区。

无法处理该命令。

用正确的驱动器重新提交该命令。

SQL1003N

密码无效,因为语法不正确或者密码与指定的数据库的密码不匹配。 密码长度应该等于或小于 18 个字符。 但是,如果将要为 APPC 对话验证密码,那么密码的长度不能超过 8 个字符。 确保密码不长于允许的限制。

sqlcode:-1003

sqlstate:28000

SQL1004C

文件系统没有足够的存储空间用来处理命令。 在指定的文件系统中没有足够存储器用来处理命令。

在 Windows 环境下的分区数据库环境中,分区数据库组中的每个节点都必须要有完全相同的物理硬盘驱动器规范(盘符),且可使用(必须包含可使用的空间),才能使 CREATE DATABASE 命令成功。 物理硬盘驱动器盘符是在数据库管理器配置中指定的。 如果 DFTDBPATH 为空白,那么缺省值将是实例拥有的机器上安装了数据库产品的硬盘驱动器路径(安装路径)。

无法处理该命令。

选择另一个文件系统或者从指定的文件系统中擦除一些非数据库文件,以便为数据库管理器功能提供空间。

在 Windows 环境下的分区数据库环境中,依次执行下列步骤:

  • 确定所需要的硬盘驱动器规范(盘符)。 驱动器盘符是在错误消息中指定的。
  • 确定数据库分区的哪个节点遇到了问题。 通常可以在实例所拥有节点的 db2diag 日志文件中找到此信息。
  • 更正遇到问题的个别节点上的驱动器问题,或更改数据库管理器配置中的驱动器规范,以便使分区数据库组的每个节点上都可以使用同一驱动器(且有足够的空间)。
  • 请重新发出该命令。

SQL1005N

数据库别名 名称 已存在于本地数据库目录或系统数据库目录中。 已使用指定的别名。 如果在目录数据库命令中未指定别名,那么将数据库名称用作别名。 当创建数据库时,别名与数据库名称相同。

当系统数据库目录中已存在别名时,在目录数据库命令中可能发生此错误。

在创建数据库命令上,此错误可能发生在下列其中一种情况中:

  • 在系统数据库目录和本地数据库目录中已存在此别名。
  • 在系统数据库目录中已存在别名,但是不在本地数据库目录中。
  • 本地数据库目录中已存在别名,但是不在系统数据库目录中。
对于目录数据库命令,从系统数据库目录中对别名取消编目,并重新提交原始命令,或者用另一个别名来编目数据库。

对于创建数据库命令,对前面列示的三种情况分别执行以下操作:

  • 删除使用该别名的数据库。 重新提交原始命令。
  • 对别名取消编目。 重新提交原始命令。
  • 将别名编目到系统数据库目录中。 删除使用相同别名的数据库。 重新提交原始命令。

SQL1006N

应用程序的代码页 代码页 与数据库的代码页 代码页 不匹配。 应用程序不能与数据库相连,因为活动代码页与创建数据库时的活动代码页不同。

无法处理该命令。

退出当前的应用程序,并返回到操作系统。 更改进程的代码页,并重新启动应用程序。

SQL1007N

在表空间中查找对象页时出错。 在表空间中存在毁坏的内部数据库页或内部逻辑错误。 停止使用对象或表空间。 与 IBM 服务中心联系,以检查对象和表空间。

sqlcode:-1007

sqlstate:58034

SQL1008C

存储器组或表空间标识无效。 所指定的存储器组或表空间标识不存在。 它大于当前的最大存储器组或表空间标识,或者已删除该存储器组或表空间。 停止使用数据库。 保存错误日志中的诊断信息,并与 IBM 软件支持机构联系。

sqlcode:-1008

sqlstate:58036

SQL1009N

命令无效。 当在仅作为客户机的工作站上发出该命令,或对远程数据库发出该命令时,该命令不受支持。 这样的命令的一个示例是编目本地数据库。

无法处理该命令。

可能的解决方案包括:

  • 从不是仅有客户机工作站或从数据库所在的工作站发出指定的命令。
  • 验证数据库是否已正确地编目。
  • 发出另一个命令。

SQL1010N

类型 是无效的类型参数。 在 Database Environment 命令中指定的类型无效。 对于间接数据库,它必须是“0”;而对于远程数据库,它必须是“1”。

另外,在 Unix 平台上,对于具有 DCE 全局名的数据库,类型可以是“3”。

无法处理该命令。

使用有效类型重新提交该命令。

SQL1011N

在 CATALOG DATABASE 命令中没有为间接条目指定驱动器。 对间接条目发出了 CATALOG DATABASE 命令,但是未指定路径。 间接条目必须指定数据库驻留的路径。

无法处理该命令。

使用所需的路径重新提交该命令或更改类型。

SQL1012N

在 CATALOG DATABASE 命令中没有为远程条目指定节点名。 在 CATALOG DATABASE 命令中没有对远程条目指定 节点名 参数。 远程条目必须指定数据库的节点名。

无法处理该命令。

以 nodename 参数或另一类型重新提交该命令。

SQL1013N

找不到数据库别名或数据库名称 名称 命令中指定的数据库名称或别名不是现有数据库,或者在(客户机或服务器)数据库目录或 db2dsdriver.cfg 配置文件中找不到该数据库。 确保系统数据库目录中存在所指定的数据库名称。 如果系统数据库目录中不存在数据库名称,那么该数据库要么不存在,要么尚未编目该数据库名称。

如果系统数据库目录中出现该数据库名称并且输入类型为 INDIRECT,那么确保指定的本地数据库目录中存在该数据库。 如果条目类型是 REMOTE,那么应确保该数据库存在并且已在服务器的数据库目录中编目。

对于带有 AT DBPARTITIONNUM 子句的 CREATE DATABASE,请确保数据库名称在具有条目类型 INDIRECT 并且目录数据库分区号不等于 -1 的系统数据库目录中。

联合系统用户:除上面的响应以外,还应验证 SYSCAT.SERVERS 中指定的数据库名称是否均有效。 更正其中指定了不存在数据库的任何 SYSCAT.SERVERS 条目。

sqlcode:-1013

sqlstate:42705

SQL1014W

在正在扫描的目录、文件或列表中没有更多的条目。 完成了对目录、文件或列表的扫描。 不需要执行任何操作。

SQL1015N

数据库处于不一致状态。 不一致状态的可能原因包括:

  • 数据库由于先前会话异常终止(例如电源故障)而处于脱机状态。
  • 如果发出 db2ckupgrade 命令时遇到了错误:
    • 数据库处于联机状态,并且已发出修改数据库数据的 SQL。
    • 数据库处于联机状态,并且已启用 HADR。

仅限于 DB2 pureScale 环境,可能的原因还包括:

  • 此 DB2 成员上的数据库由于先前会话异常终止而处于脱机状态。
  • 由于先前会话异常终止,数据库在整个 DB2 pureScale 实例中处于脱机状态。
  • 在数据库处于不一致状态(例如备份暂挂、前滚暂挂或复原暂挂)时,尝试执行添加操作或删除操作。 并且,执行删除操作时,所有表空间必须处于一致状态。
  • 无法对此数据库进行 HADR 配置。
  • 在执行一项或多项删除操作后尝试执行添加操作,但未执行脱机备份。
  • 如果在进行下列其中一项拓扑更改后发出命令时遇到了此错误:
    1. 源成员拓扑包含一些在目标成员拓扑中不存在的成员。
    2. 源数据库是 ESE,但目标实例是 DB2 pureScale 实例。
    3. 源数据库是 DB2 pureScale 实例,但目标实例是 ESE。
  • 如果数据库由于先前会话异常终止而处于脱机状态,那么执行下列操作作为响应:
    1. 使用 RESTART DATABASE 命令来重新启动数据库。 在分区数据库服务器环境中,必须在所有数据库分区上发出该命令。
  • 如果发出 db2ckupgrade 命令时遇到了此错误,请执行下列操作作为响应:
    1. 对该数据库执行清除关闭。
    2. 关闭后,如果在数据库上启用了 HADR,请在数据库上发出 STOP HADR 命令。
    3. 重新发出 db2ckupgrade 命令。

仅限于 DB2 pureScale 环境:

  • 如果此 DB2 成员上的数据库由于先前会话异常终止而处于脱机状态,那么执行下列操作作为响应:缺省情况下,在 DB2 pureScale 环境中会自动启动成员崩溃恢复,因此不需要用户执行任何操作。 如果未自动启用成员崩溃恢复,那么通过发出 RESTART DATABASE 命令对此 DB2 成员执行成员崩溃恢复。即使一个成员不一致,仍然可以在其他一致的成员上完成某些数据库操作。 要在对成员进行崩溃恢复期间访问数据库,请连接至活动的 DB2 成员。 要访问此特定成员,请等到完成对成员进行崩溃恢复之后。
  • 如果由于先前会话异常终止,数据库在整个 DB2 pureScale 实例中处于脱机状态,请提醒用户,数据库在恢复完成之后才可用。 后续步骤取决于是否自动启用组崩溃恢复。 如果已启用(这是缺省情况),那么不需要用户执行任何操作。 如果未启用自动组崩溃恢复,请执行下列操作作为响应:
    1. 通过发出 RESTART DATABASE 命令执行组崩溃恢复。
    2. 恢复完成后,对具有不确定事务的任何其他成员执行成员崩溃恢复。
  • 备份处于备份暂挂状态的数据库或表空间,然后重新提交添加或删除操作。
  • 如果使用循环日志记录连接至数据库以具体化任何现有删除操作,请继续重新发出添加命令。
  • 这不是受支持的操作,数据库必须一致。 如果这是数据库的副本,请在源实例上使数据库一致,然后将其移至目标实例。

sqlcode:-1015

sqlstate:55025

SQL1016N

CATALOG NODE 命令中指定的 local_lu 别名 名称 无效。 不允许 CATALOG NODE 命令中指定的本地逻辑单元 ( local_lu) 别名。 本地逻辑单元别名是本地 SNA 逻辑单元别名,必须为 1 到 8 个字符,并且不能包含空白字符。

无法处理该命令。

验证别名是否为允许的逻辑单元名。 验证名称中所使用的字符。 使用有效的逻辑单元名重新提交该命令。

SQL1017N

CATALOG NODE 命令中指定的方式参数 方式 无效。 不允许 CATALOG NODE 命令中指定的 mode

mode 参数标记了通信管理器用来设置会话的通信概要文件。 该方式必须为 1 到 8 个字符。 有效字符为大写或小写 A 到 Z、0 到 9、#、@ 和 $。第一个字符必须是字母。 系统将小写字符更改为大写字符。

无法处理该命令。

验证名称是否是允许的方式名。 验证名称中所使用的字符。 用正确的方式重新提交该命令。

SQL1018N

CATALOG NODE 命令中指定的节点名 名称 已存在。 CATALOG NODE 命令的 nodename 参数中指定的节点名已在此文件系统上的节点目录中编目。

无法处理该命令。

如果正确输入了 nodename 参数,那么继续处理。

如果节点已编目信息不再有效,那么在节点目录中对已编目节点取消编目,并重新提交该命令。 如果节点已编目信息有效,那么定义新节点名,并使用新节点名重新提交该命令。

SQL1019N

命令中指定的节点名 名称 无效。 在命令中所指定的节点名无效。 节点名可以为 1 到 8 个字符,并且所有字符都必须来自数据库管理器基本字符集。 指定的节点名不能与本地实例名相同。

无法处理该命令。

通过显示 DB2INSTANCE 环境变量的值,确保节点名与本地实例名不同。 在 UNIX 操作系统上,可输入以下命令来显示 DB2INSTANCE 环境变量。

echo $DB2INSTANCE 

在 Windows 操作系统上,可输入以下命令来显示 DB2INSTANCE 环境变量。

echo %DB2INSTANCE% 

用正确的节点名重新提交该命令。

SQL1020C

节点目录已满。 节点目录不能保留任何条目。

无法处理该命令。

取消编目节点目录中任何不需要的条目。

SQL1021N

找不到 UNCATALOG NODE 命令中指定的节点名 名称 在节点目录中找不到命令中指定的 节点名

无法处理该命令。

如果 nodename 参数正确,那么节点可能已取消编目,处理可继续。 否则,用正确的节点名重新提交该命令。

SQL1022C

没有足够的内存用来处理该命令。 没有足够的随机存取存储器 (RAM) 可用来处理该命令。

如果调用了远程过程,那么远程过程可使用大于允许的最大值 (4K) 的局部变量空间。

如果语句涉及用户定义的函数 (UDF),那么 ASLHEAPSZ 数据库管理器配置参数控制的内存集可能大于可用的内存。

无法处理该命令。

停止该应用程序。 可能的解决方案包括:

  • 将 CONFIG.SYS 文件中的 MEMMAN NO SWAP、NO MOVE 选项更改为 SWAP、MOVE。
  • 移除后台进程。
  • 减小定义内存分配的配置参数的值,包括 ASLHEAPSZ(如果失败的语句涉及 UDF )。
  • 安装更多随机存取存储器 (RAM)。
  • 如果调用了远程过程,那么应确保远程过程使用的局部变量空间小于或等于 4K。
  • 如果正在使用“远程数据服务”,那么由于每个应用程序至少使用一个块,因此要增大服务器和客户机配置中“远程数据服务”堆的大小(rsheapsz)。

sqlcode:-1022

sqlstate:57011

SQL1023C

通信对话失败。 在通信对话期间出错。

无法处理该命令。

再次尝试运行原始命令。 如果错误仍存在,请与通信管理员联系。

联合系统用户:数据源也可能会检测到此情况。

sqlcode:-1023

sqlstate:08001

SQL1024N

不存在数据库连接。 没有与数据库连接。 除非先前执行了 SQL CONNECT,否则不能处理其他 SQL 语句。

无法处理该命令。

如果与数据库断开连接时发生错误,那么继续处理。 如果在另一条 SQL 语句中发生错误,那么发出 SQL CONNECT 语句,并重新提交该命令或语句。

sqlcode:-1024

sqlstate:08003

SQL1025N

未停止数据库,因为数据库仍是活动的。 如果有任何应用程序与数据库管理器控制下的数据库相连,或者激活了任何数据库,或者有任何活动 HADR 主数据库或备用数据库在此数据库管理器的控制之下,那么不能处理停止数据库管理器命令。

未执行任何操作。

通常不需要执行任何操作。 要停止数据库管理器,所有活动应用程序都必须与它们正在使用的所有数据库断开连接。 或者,用户可使用 FORCE 命令强制应用程序断开连接,并使用 DEACTIVATE 命令释放数据库,包括任何 HADR 主数据库或备用数据库。

SQL1026N

数据库管理器已活动。 当在数据库管理器已启动的情况下发出 db2start 命令时,将会返回此消息。 db2start 命令未发生任何错误,此消息仅供参考。 不需要任何响应。

SQL1027N

找不到节点目录。 不能处理列表节点目录命令,因为找不到节点目录。

无法处理该命令。

用适当的参数发出 CATALOG NODE 命令,并重新提交当前的命令。

SQL1029N

CATALOG NODE 命令中指定的 partner_lu 别名 名称 无效。 CATALOG NODE 命令中指定的 partner_lu 别名未曾指定,或包含无效字符。 partner_lu 别名是伙伴 SNA 逻辑单元别名,必须是 1 到 8 个字符,并且不能包含空白字符。

无法处理该命令。

检查 partner_lu 是否有输入错误。 验证别名是否为允许的逻辑单元名。 验证在别名中所使用的字符。 用正确的 partner_lu 重新提交该命令。

SQL1030C

数据库目录已满。 系统数据库目录或本地数据库目录都不能再保存更多条目。

无法处理该命令。

取消编目目录中任何不需要的条目。 如果本地数据库目录已满,那么在另一个文件系统上创建新的数据库。

SQL1031N

在指示的文件系统中找不到数据库目录。 找不到系统数据库目录或本地数据库目录。 尚未创建数据库,或者没有正确编目该数据库。

无法处理该命令。

验证数据库是否是用正确的路径规范创建的。 Catalog Database 命令带有路径参数,它指定数据库所在的目录。

sqlcode:-1031

sqlstate:58031

SQL1032N

未发出启动数据库管理器的命令。 尚未处理启动数据库管理器的命令。 必须先处理该命令才可以发出停止数据库管理器、任何 SQL 语句或实用程序的命令。

无法处理该命令。

发出启动数据库管理器命令,然后重新提交当前命令。

如果使用多个逻辑节点,那么应确保已正确设置了 DB2NODE 环境变量。 DB2NODE 环境变量指示应用程序将要尝试连接的节点。 必须将 DB2NODE 设置为在应用程序的同一主机上定义的其中一个节点的节点号。

在 DB2 pureScale 环境中,通过下列其中一种方式对此消息作出响应:

  • 将 DB2NODE 环境变量设置为处于活动状态的 DB2 成员。
  • 在一台未配置为仅运行集群高速缓存工具 (CF) 的计算机上重新运行此命令。

sqlcode:-1032

sqlstate:57019

SQL1033N

不能访问数据库目录,因为正在使用该目录。 如果当前正在更新数据库目录,那么不能对其进行访问。 同样,如果因任何原因已经访问了目录,那么不能访问该目录以进行更新。 系统数据库目录或本地数据库目录中都存在此情况。

无法处理该命令。

等到完成访问之后再重新提交该命令。

sqlcode:-1033

sqlstate:57019

SQL1034C

数据库已损坏,所以用于处理数据库的所有应用程序已停止。 数据库已损坏。 数据库要在恢复之后才能使用。 与数据库相连的所有应用程序都已经断开连接,并且在数据库上运行应用程序的所有进程都已经停止。

无法处理该命令。

通常,通过执行下列步骤对此错误作出响应:

  1. 通过发出 RESTART DATABASE 命令来恢复此数据库。
  2. 如果 RESTART DATABASE 命令始终失败,那么您可能需要从备份复原数据库。

在分区数据库环境中,通过执行下列步骤对此错误作出响应:

  1. 从备份复原数据库之前,请参阅 syslog 以确定 RESTART DATABASE 命令是否由于发生数据库分区故障或通信故障而失败
  2. 如果 RESTART DATABASE 命令由于发生数据库分区故障或通信故障而失败,那么应确保满足下列条件:
    • 数据库管理器已启动并且正在运行
    • 所有数据库分区之间都可以进行通信
  3. 使用 db2_all 命令重新提交 RESTART DATABASE 命令:
     db2_all db2 restart database <database_name> 
  4. 如果 RESTART DATABASE 命令完成后仍有未解析的不确定事务,请多次运行 RESTART DATABASE 命令以确保已解析所有不确定事务。

在 DB2 pureScale 环境中,通过执行下列步骤对此错误作出响应:

  1. 请参阅管理日志以确定 RESTART DATABASE 命令是否由于正在重新启动的成员无法访问共享存储设备而失败。
  2. 如果 RESTART DATABASE 命令由于正在重新启动的成员无法访问共享存储设备而失败,请解决访问问题,然后重试 RESTART DATABASE 命令。
  3. 如果正在重新启动的成员能够访问共享存储设备,请从另一个成员发出 RESTART DATABASE 命令。
  4. 如果这些操作都不起作用,请复原此数据库,然后执行前滚操作。

如果您在执行前滚处理期间遇到了此错误,那么通过执行下列步骤对此错误作出响应:

  1. 从备份复原数据库。
  2. 再次执行前滚操作。

如果您正在安装样本数据库,那么通过执行下列步骤对此错误作出响应:

  1. 删除样本数据库
  2. 再次安装样本数据库

sqlcode:-1034

sqlstate:58031

SQL1035N

操作失败,因为无法以请求的方式来连接指定的数据库。 当用户连接至数据库时,缺省情况下,该连接处于共享方式。 如果另一个用户已经以互斥方式连接至同一数据库,那么共享连接尝试将失败并返回此消息。 类似地,如果用户尝试以互斥方式访问数据库,但是已经以共享方式访问该数据库,那么连接尝试将失败并返回此消息。

在下列类型的情况下也会返回此消息:

  • 已达到数据库的最大连接数。
  • 请求了互斥使用数据库,但另一个用户已经在以互斥方式使用该数据库。
  • 已显式激活数据库(共享访问),这会阻止该操作建立与该数据库的互斥连接。
  • 在数据库处于停顿状态时,尝试删除数据库分区。

在 pureScale 环境中,当发生以下事件系列时,可能会返回此消息:

  1. 对数据库启动了脱机操作(例如,备份、复原或前滚),并且该操作获得了与数据库的互斥连接。
  2. 未释放启动该脱机操作失败(例如,由于发生了硬件或软件故障)的成员和该脱机操作所拥有的互斥连接。
  3. 启动该脱机操作的成员无法自动重新启动。
请执行下列故障诊断步骤:

  1. 通过使用带有 SHOW DETAIL 参数和 GLOBAL 参数的 LIST APPLICATIONS 命令,确定哪些用户应用程序或系统应用程序已打开与数据库的连接。
  2. 等待那些已打开与数据库的连接的应用程序关闭其连接。
  3. 通过使用下列命令或语句来终止任何剩余的与数据库的连接:
    • QUIESCE DATABASE 命令
    • CONNECT RESET 语句
    • FORCE APPLICATION ALL 命令
    • DEACTIVATE DATABASE 命令
  4. 在 DB2 pureScale 环境中,重新启动在执行脱机操作时关闭的任何成员。
  5. 如果数据库处于停顿状态,请将其取消停顿。
  6. 再次连接。

sqlcode:-1035

sqlstate:57019

SQL1036C

访问数据库时,发生 I/O 错误。 下列任何一种情况都表示可能发生了此问题:

  • 系统不能打开、读取或写入数据库文件。
  • 系统不能创建数据库,因为系统在创建数据库文件或数据库目录时出错。
  • 因为在系统删除数据库的数据库文件或目录时出错,所以系统不能删除该数据库。
  • 因为在系统创建或删除数据库的数据库文件或目录时接收到中断,所以系统不能创建数据库。
  • 系统在连接期间找不到数据库子目录或数据库配置文件。

问题原因按它们的发生频率排序:

  • 在活动日志路径目录中找不到日志文件。
  • 尝试对其执行操作的数据库目录存在问题。
  • 磁盘空间可能不足而无法完成操作。

不能使用该数据库。

与解释中描述的问题原因相对应的适当响应是:

  • 要验证是否丢失了日志文件,请检查 db2diag 日志文件以确定是否已发生日志记录错误(返回码包含 SQLO_FNEX)。 如果存在日志记录错误,那么此错误将包含丢失的日志文件的名称。 确保该文件位于活动日志路径目录中。 如果找不到该文件,请复原数据库,然后将数据库前滚到日志文件中引用的早于丢失日志文件的时间点(使用比丢失的文件的时间戳记更早的时间戳记)。
  • 数据库目录可能存在问题。 检查目录的完整性。 潜在问题的示例包括:许可权问题、安装点问题以及毁坏。
  • 增大文件系统大小。

注意:如果在 CREATE DATABASE 或 DROP DATABASE 期间发生错误,那么后续的 CREATE DATABASE 或 DROP DATABASE 命令将尝试擦除不成功的 CREATE DATABASE 或 DROP DATABASE 命令所遗留的文件或目录。

sqlcode:-1036

sqlstate:58030

SQL1037W

节点目录为空。 尝试读取节点目录的内容,但目录中不存在任何条目。 不需要执行任何操作。

sqlcode:+1037

sqlstate:01606

SQL1038C

访问节点目录时发生了 I/O 错误。 由于 I/O 错误,不能访问节点目录。

无法处理该命令。

重新提交该命令。 如果错误继续,那么移除节点目录(sqllib 目录下面的 sqlnodir),并重新编目网络上的节点名。

sqlcode:-1038

sqlstate:58031

SQL1039C

当访问数据库目录时,发生了 I/O 错误。 不能访问系统数据库目录或本地数据库目录。 不仅系统编目数据库或取消对数据库的编目时可能发生此错误,而且系统访问在目录中编目的数据库时,此错误也可能发生。

无法处理该命令。

可能的解决方案包括:

  • 如果软盘系统中发生错误,那么验证驱动器中的软盘是否正确,并且是否已预编译好使用。 验证是否没有写保护。
  • 如果数据库目录被破坏,请从备份版本复原在那里编目的数据库,并对它们进行编目。

如果正在安装样本数据库,那么删除它并再次安装样本数据库。

sqlcode:-1039

sqlstate:58031

SQL1040N

该语句失败,因为连接至数据库的应用程序已达到最大数目。 连接至数据库的每个应用程序导致分配某些专用内存。 要管理内存使用,通过设置 maxappls 配置参数,可配置可(本地和远程)连接至数据库的最大并行应用程序数。

如果连接至数据库的应用程序数等于数据库配置文件中定义的最大值,那么会返回此消息。

通过下列其中一种方式对此消息作出响应:

  • 等待其他应用程序与数据库断开连接,然后重新提交该语句。
  • 如果需要更多应用程序并行运行,请增大 maxappls 数据库配置参数的值或将 maxappls 设置为“AUTOMATIC”。

sqlcode:-1040

sqlstate:57030

SQL1041N

已启动最大并发数据库数。 应用程序尝试启动不活动的数据库,但活动的数据库数已经等于在系统配置文件中所定义的最大值。

无法处理该命令。

等待其中一个数据库变成不活动的。 如果要求更多数据库同时活动,那么增大 numdb 的值。 在下一次成功地启动数据库管理器之后,新值将生效。

sqlcode:-1041

sqlstate:57032

SQL1042C

发生了意外的系统错误。 发生了系统错误。 此错误的一些可能原因是:

  • 未正确安装数据库管理器,或者未正确设置环境。
  • 在基于 UNIX 的系统上,可能需要运行 db2iupdt 来更新数据库管理器实例,以便能够获得新的系统配置,或者能够访问与安装或移除某些产品选项、修订包或修改级别相关联的功能。
  • 如果您未使用正确的 DB2 管理服务器密码,可能就会获得此消息。

无法处理该命令。

  • 要更新实例以获取对函数运行 DB2IUPDT <InstName> 的配置或访问权。
  • 如果在尝试与数据库相连时发生错误,那么获取跟踪信息(指示如下),并与 IBM 支持机构联系。

如果这些建议不适用于此问题,请确保系统时间和日期设置正确,并确保系统有足够的可用内存和交换/调页空间。

重新提交当前命令。

如果问题仍然存在,那么停止然后重新启动该数据库管理器。

如果还有错误,那么重新安装数据库管理器。

如果跟踪处于活动状态,那么在操作系统命令提示符处调用“独立跟踪设施”。 请与您的技术服务代表联系,并提供下列信息:

需要的信息:

  • 问题描述
  • SQLCODE 或消息号
  • SQLCA 内容(如果有可能)
  • 跟踪文件(如果有可能)。

联合系统用户:如果有必要,请找出导致请求失败的数据源中的问题。 如果问题发生于数据源,那么遵循该数据源的问题确定过程。

sqlcode:-1042

sqlstate:58004

SQL1043C

“数据库服务”不能初始化系统目录。 返回了错误 错误 在初始化系统目录期间,CREATE DATABASE 命令失败。 记录消息号 (SQLCODE) 和此消息中的错误。

如果跟踪处于活动状态,那么在操作系统命令提示符处调用“独立跟踪设施”。 然后与技术服务代表联系,并提供以下信息:

  • 环境:应用程序
  • 需要的信息:
    • 问题描述
    • SQLCODE 或消息号和错误标识
    • SQLCA 内容(如果有可能)
    • 跟踪文件(如果有可能)。

SQL1044N

由于中断而取消处理。 用户可能按了中断键序列。

处理停止。

联合系统用户:数据源也可能会检测到此情况。

继续执行以处理中断。

如果正在安装样本数据库,那么删除它并再次安装样本数据库。

如果正在启动数据库管理器,那么在发出任何 db2 命令之前发出 db2stop。

sqlcode:-1044

sqlstate:57014

SQL1045N

找不到数据库,因为未正确编目该数据库。 数据库目录中的间接条目指向另一个非 HOME 条目。

无法处理该命令。

用目录扫描命令验证所有关联数据库目录中的条目。

sqlcode:-1045

sqlstate:58031

SQL1046N

授权标识无效。 登录时指定的权限对于数据源或数据库管理器无效。 发生了下列情况之一:

  • 对于 Windows 平台,权限包含的字符超过 30 个,对于其他平台,权限包含的字符超过 128 个。
  • 权限中包含对权限无效的字符。 有效字符是 A 到 Z、a 到 z、0 到 9、#、@ 和 $。
  • 权限是 PUBLIC 或 public。
  • 权限以 SYS、sys、IBM、ibm、SQL 或 sql 开始。
  • 该权限违反某些特定于数据源的命名约定。

无法处理该命令。

用有效的授权标识登录。

联合系统用户:如果有必要,请找出拒绝请求的数据源存在的问题,并使用对于该数据源有效的授权标识。

sqlcode:-1046

sqlstate:28000

SQL1047N

应用程序已经与另一个数据库相连。 在应用程序已与另一个数据库相连时不能创建数据库。

当已与另一个数据库相连时,不允许将文件与数据库进行绑定。

无法处理该命令。

与活动数据库断开连接,并重新提交该命令。

SQL1048N

START USING DATABASE 或 CONNECT TO 命令中使用的参数 参数 无效。 对于共享访问,该参数必须为 S,对于互斥使用,该参数必须为 X,对于在单节点上的互斥使用,该参数必须为 N。 对于 DB2 Connect 连接,仅支持 S。 仅在 MPP 配置中支持 N。 START USING DATABASE 或 CONNECT TO 命令中的 use 参数必须是 S(表示共享使用)或 X(表示互斥使用)。 如果使用 DB2 Connect 来连接至数据库,那么只允许共享访问。 在 SQLENV.H 文件中提供了这些值的助记等式。

无法处理该命令。

用有效的 use 参数重新提交该命令(最好从助记等式)。

SQL1049C

应用程序状态出错。 数据库连接已丢失。 与数据库的连接已丢失。

无法处理该命令。

发出 CONNECT RESET 语句。

SQL1050N

不能取消编目数据库,因为它是主数据库。 在 UNCATALOG DATABASE 命令中指定的数据库是主数据库。 不能对主数据库取消编目,因为删除数据库时,它们的目录条目就被删除了。

无法处理该命令。

如果正确地指定了数据库名称,那么继续处理。

SQL1051N

路径 路径 不存在或无效。 下列其中一个条件为真:

  • 对数据库目录或存储路径指定的值不存在或不可访问。
  • 对数据库目录或存储路径指定的值包含与数据库代码页不兼容的字符。
  • 存储路径必须具有绝对路径名,不能是相对路径名。
  • 尝试了激活或连接至数据库,但找不到存储路径或该路径不可访问。
  • 在维护在备份映像中定义的存储路径同时,尝试复原自动存储器数据库。 但是,找不到存储路径或该路径不可访问。
  • 前滚操作尝试重新应用与添加存储路径相关的日志记录,但找不到存储路径或该路径不可访问。
  • 正在尝试删除与此数据库不相关联的存储路径。
  • 正在尝试添加具有多个存储路径的远程存储器组或将存储路径添加到现有的远程存储器组。
  • 首次启用控制文件恢复路径时,该控制文件恢复路径不存在。
  • 首次启用控制文件恢复路径时,控制文件恢复路径中已存在一个或两个全局和/或成员恢复数据库目录。
  • 首次启用控制文件恢复路径时,该控制文件恢复路径与 CREATE DATABASE 重叠。
  • 首次启用控制文件恢复路径时,恢复数据库目录与其他数据库的现有恢复数据库目录重叠。
  • 使用先前激活的控制文件恢复路径时,该控制文件恢复数据库目录中缺少恢复控制文件或文件不一致,或者激活时全局和成员恢复数据库目录之一或两者都不存在。

如果您正在使用集群管理器,那么当数据库管理器无法将给定存储路径添加到集群管理器配置时,可能会返回此消息。 集群管理器中生成的错误消息将记录在 db2diag 日志文件中。

不能处理语句或命令。

根据情况:

  • 如果路径不存在,那么创建路径;或者如果路径不可访问,那么更改路径的许可权。 重新提交语句或命令。
  • 在数据库目录和存储路径中使用符合命名规则的字符。
  • 如果指定了相对存储路径名,那么改为指定其绝对路径名。 重新提交语句或命令。
  • 解决存储路径的问题并重新提交命令。 如果存储路径不再可用,那么必须从备份映像中复原数据库。
  • 如果存储路径不存在,那么创建路径;或者如果路径不可访问,那么更改路径的许可权。 或者,可以使用 RESTORE DATABASE 命令的 ON 参数或者使用 SET STOGROUP PATHS 命令重新定义存储路径。
  • 如果存储路径不存在,那么创建路径;或者如果路径不可访问,那么更改路径的许可权。 或者,再次复原数据库并重新定义与该数据库相关联的存储路径。 如果在复原期间重新定义了存储路径,那么将忽略之后添加的所有存储路径日志记录。
  • 如果尝试删除存储路径,请确保它存在并且与该数据库相关联。 然后再次尝试该请求。
  • 当使用正在使用远程存储器的存储器组时,您只能指定单个存储路径。
  • 确保为控制文件恢复指定的路径已存在。
  • 请检查现有恢复数据库目录的内容,尤其是它们是否已过时,或者是否属于另一个数据库。 如果可能,请除去恢复数据库目录,或者指定其他控制文件恢复路径。
  • 请确保 CREATE DATABASE 的路径和控制文件恢复路径指定了不同的路径。
  • 请指定其他控制文件恢复路径。
  • 确定恢复控制文件缺失或不一致的原因。 重新创建缺少的恢复控制文件或目录,或指定其他控制文件恢复路径。

如果您正在使用集群管理器,那么更正问题并重新提交该命令:

  1. 查看 db2diag 日志文件,以获取集群管理器中生成的错误消息。
  2. 对 db2diag 日志文件中的集群管理器错误消息作出响应,以解决导致数据库管理器无法将路径添加到集群管理器配置的底层问题。
  3. 重新提交该命令。

sqlcode:-1051

sqlstate:57019

SQL1052N

数据库路径 路径 不存在。 该命令的 path 参数中指定的路径无效。 不存在具有该名称的路径,或者在 DB2_CREATE_DB_ON_PATH 注册表变量被禁用时,指定了路径(仅限于 Windows)。

在 Windows 或 UNIX 环境下的分区数据库环境中,分区数据库组中的每个节点都必须有相同的硬盘驱动器规范(路径)可用并且具有可用空间,才能成功执行 CREATE DATABASE 命令。 硬盘驱动器路径是在数据库管理器配置中指定的。 如果 DFTDBPATH 为空白,那么缺省值将是实例拥有的机器上安装了数据库产品的硬盘驱动器路径(安装路径)。

无法处理该命令。

用正确的数据库路径重新提交该命令。

在 Windows 或 UNIX 环境下的分区数据库环境中,遵循下列步骤:

  • 确定所需要的硬盘驱动器规范(路径)。 该路径是在错误消息中指定的。
  • 确定数据库分区的哪个节点遇到了问题。 通常可以在实例所拥有节点的 db2diag 日志文件中找到此信息。
  • 更正遇到问题的节点上的驱动器问题,或着更改数据库管理器配置中的驱动器规范,以使分区数据库组的每个节点上都可以使用同一驱动器并且具有足够的空间。
  • 请重新发出该命令。
  • 在 Windows 上,如果所有将访问该数据库的应用程序都基于 V9 或更高版本的外部 API,那么可以启用 DB2_CREATE_DB_ON_PATH 注册表变量以支持将路径作为数据库路径。

SQL1053N

已经在处理中断。 系统当前正在处理中断,所以不能处理另一个中断。

忽略中断请求。

等到当前的中断处理完成之后再重新提交该命令。

SQL1054N

正在执行 COMMIT,不能中断。 系统当前正在处理 COMMIT。 用户输入了中断键序列。

忽略中断请求。

联合系统用户:数据源也可能会检测到此情况。

等到 COMMIT 完成之后再重新提交该请求。

SQL1055N

正在执行 ROLLBACK,不能中断。 系统当前正在处理 ROLLBACK。 用户输入了中断键序列。

忽略中断请求。

联合系统用户:数据源也可能会检测到此情况。

等到完成 ROLLBACK 之后再重新提交该请求。

SQL1056N

已经打开 8 个数据库目录扫描。 在此进程中已经打开 8 个数据库目录扫描。 不允许多于 8 个打开扫描。

无法处理该命令。

发出一条或多条 CLOSE DIRECTORY SCAN 命令,并重新提交该命令。

sqlcode:-1056

sqlstate:54029

SQL1057W

系统数据库目录为空。 尝试读取系统数据库目录的内容,但该目录中不存在任何条目。 不需要执行任何操作。

sqlcode:+1057

sqlstate:01606

SQL1058N

Directory Scan 命令中的句柄参数无效。 Directory Scan 命令中指定的 handle 参数无效。 该 handle 必须是从 OPEN DIRECTORY SCAN 或 OPEN NODE DIRECTORY SCAN 命令返回的句柄。

无法处理该命令。

使用有效的 handle 参数重新提交该命令。

SQL1059N

不能处理 GET NEXT 命令,因为未发出 Open Scan 命令。 在打开扫描之前发出了目录扫描命令。

无法处理该命令。

发出 OPEN DIRECTORY SCAN 或 OPEN NODE DIRECTORY SCAN 命令,并重新提交当前的命令。

SQL1060N

用户 授权标识 不具有 CONNECT 特权。 指定的授权标识没有访问该数据库的 CONNECT 特权。 在用户可连接数据库之前,必须授予其 CONNECT 特权。 当使用可信连接上允许的用户标识发出了切换用户请求,而该用户标识并不具备对该数据库的 CONNECT 特权时,也会返回此错误。 该连接处于未连接状态。

联合系统用户:数据源也可能会检测到此情况。

无法处理该命令。

与数据库的系统管理员或数据库管理员联系,请求对授权标识的 GRANT CONNECT。 重新提交该命令。

如果由于一个切换用户请求而返回了此错误,那么在使用有效用户标识发出切换用户请求之前(建立了可信连接的用户标识或者可信连接上允许的用户标识都是有效用户标识),如果发出了任何 SQL 语句,都会返回错误(SQLSTATE 08003)。 当该连接脱离未连接状态之后,它仍然是可信连接。

联合系统用户:如果有必要,请找出导致请求失败的数据源中的问题,并确保已对该数据源授予正确的特权。 对于连接至数据库时所需要的特权,某些数据源可能会使用与 CONNECT 特权不同的名称。

sqlcode:-1060

sqlstate:08004

SQL1061W

已成功完成 RESTART DATABASE 命令,但存在针对数据库的不确定事务。 尽管重新启动数据库操作已成功,但仍然需要解析现有不确定事务。 数据库是可用的,但如果与该数据库的最后一个连接被删除之前未解析不确定事务,那么数据库需要再次重新启动才可用。

在 DB2 pureScale 环境中,不确定事务的影响取决于与它们相关联的 DB2 成员以及刚完成的恢复操作的类型。 如果不确定事务与从其中发出重新启动操作的 DB2 成员相关联,那么数据库将可用,但与不确定事务相关联的任何数据都将不可访问。 如果重新启动命令启动了组崩溃恢复,并且不确定事务与另一个 DB2 成员相关联,那么该 DB2 成员在经历成员崩溃恢复之前将保持不一致,并且在此成员崩溃恢复完成之前,不确定事务不可解析。

解析不确定事务,或者准备好每次要使用数据库时重新启动此数据库。 如果(在 XA/DTP 环境中)正在使用数据库的事务管理器(TM)可用,那么管理员应该指导 TM 解析不确定事务。 或者,在非常小心的前提下,管理员可使用 CLP 来试探性地完成事务。

  • 在分区数据库服务器环境中,RESTART DATABASE 命令是针对每个分区运行的。 为确保在所有分区上重新启动该数据库,请使用以下命令:
    db2_all db2 restart database   <database_name> 

    如果所有数据库分区都在运行,那么发出此命令将解析所有不确定事务。

    可能必须多次运行此命令以确保所有不确定事务都已解析。

  • 在 DB2 pureScale 环境中,用户响应取决是否启用了自动恢复(缺省情况下,启用了自动恢复)。 如果启用了自动恢复,那么在任何成员上启动数据库管理器进程模型(即,通过 db2start 命令或者通过 DB2 集群服务启动)后,将自动进行成员崩溃恢复。 如果未启用自动恢复,那么必须使用 RESTART DATABASE 命令来手动启动对成员进行崩溃恢复。 在这两种情况下,成员崩溃恢复完成之后,可解析不确定事务。

SQL1062N

找不到数据库路径 路径 命令中指定的数据库 path 参数不存在。 如果未指定路径,那么使用在系统配置文件中所定义的缺省路径,但是该缺省路径不存在。

在 Windows 环境下的分区数据库环境中,分区数据库组中的每个节点都必须要有完全相同的物理硬盘驱动器规范(盘符),且可使用(必须包含可使用的空间),才能使 CREATE DATABASE 命令成功。 物理硬盘驱动器盘符是在数据库管理器配置中指定的。 如果 DFTDB 为空白,那么缺省值将是实例拥有的机器上安装了数据库产品的硬盘驱动器路径(安装路径)。

无法处理该命令。

验证路径或缺省路径,并且确保它们在系统中存在。 重新提交该命令。

在 Windows 环境下的分区数据库环境中,依次执行下列步骤:

  • 确定所需要的硬盘驱动器规范(盘符)。 驱动器盘符是在错误消息中指定的。
  • 确定数据库分区的哪个节点遇到了问题。 通常可以在实例拥有节点的 db2diag 日志文件中找到此信息。
  • 更正遇到问题的个别节点上的驱动器问题,或更改数据库管理器配置中的驱动器规范,以便使分区数据库组的每个节点上都可以使用同一驱动器(且有足够的空间)。
  • 请重新发出该命令。

SQL1063N

DB2START 处理成功。 成功地完成了用于启动数据库管理器的命令。

SQL1064N

DB2STOP 处理成功。 成功地完成了用于停止数据库管理器的命令。

SQL1065W

已成功地创建数据库或者对数据库进行升级,但是在绑定 列表名 列表中的一个或多个绑定文件时发生错误。 未对绑定列表文件中下列位置的文件进行绑定:列表 一个或多个实用程序未绑定至数据库。 列表文件 列表名 包含绑定文件的列表。 列表 中的编号指示列表文件中未绑定文件的相对位置。

未将所列示的实用程序绑定文件绑定至已创建或者已升级的数据库。

使用绑定文件列表 列表名 将所指示的实用程序与数据库进行绑定。 在调用绑定程序时不要使用格式选项。

SQL1066N

DB2START 处理成功。 未成功启动 IPX/SPX 协议支持。

未成功启动 IPX/SPX 协议支持。 远程客户机不能使用 IPX/SPX 来与服务器相连。 原因可能是:

  • 工作站没有向 NetWare 文件服务器登录。
  • 工作站没有在 NetWare 文件服务器绑定程序中创建对象的权限。
  • 网络上的另一个数据库管理器正在使用在数据库管理器配置文件中所指定的同一对象名。
确保工作站已向 NetWare 文件服务器登录,并且具有足够的权限在文件服务器的绑定程序中创建对象。 用户必须以 SUPERVISOR 或具有同等权限的身份来登录。 同时要确保数据库管理器配置文件中所指定的对象名对于网络中的所有数据库管理器是唯一的。 进行任何更正,运行 DB2STOP,然后再次运行 DB2START。

如果问题继续,那么在操作系统命令提示符处输入 DB2TRC ON -L 0X100000。 再次运行 DB2START,然后在命令提示符处输入 DB2TRC DUMP 文件名以保存跟踪信息。 要关闭跟踪,输入 DB2TRC OFF。 与服务协调员联系,并提供跟踪信息。

SQL1067N

DB2STOP 处理不成功。 未成功停止 IPX/SPX 协议支持。

未成功停止 IPX/SPX 协议支持。 原因可能是:

  • 工作站没有向 NetWare 文件服务器登录。
  • 工作站没有在 NetWare 文件服务器绑定程序中删除对象的权限。
确保工作站已向 NetWare 文件服务器登录,并且有足够的权限来删除文件服务器的平构库中的对象。 用户必须以 SUPERVISOR 或具有同等权限的身份来登录。 进行任何更正,并再次运行 DB2STOP。

如果问题继续,那么在操作系统命令提示符处输入 DB2TRC ON -L 0X100000。 再次运行 DB2STOP,然后在命令提示符处输入 DB2TRC DUMP 文件名以保存跟踪信息。 要关闭跟踪,输入 DB2TRC OFF。 与服务协调员联系,并提供跟踪信息。

SQL1068N

在 DB2DOMAINLIST 环境变量处未定义拥有 CONNECT 或 ATTACH 语句的用户标识 用户标识 的域。 CONNECT TO 或 ATTACH TO 语句中的用户标识不属于在 DB2DOMAINLIST 环境变量中所定义的域。 通过使用 DB2SET 命令来指定拥有 DB2DOMAINLIST 环境变量中的用户标识的域名。

sqlcode:-1068

sqlstate:08004

SQL1069N

数据库 名称 不是主数据库。 数据库不是本地数据库。 在系统数据库目录中本地数据库被编目为间接类型,此条目引用同一节点上的本地数据库目录中的主条目。 不能删除远程数据库。

无法处理该命令。

如果指定的数据库名称不正确,那么用正确的数据库名称重新提交该命令。 如果指定的数据库名称正确,并且想要从数据库目录中移除数据库名称,那么使用 UNCATALOG DATABASE 命令。

SQL1070N

数据库名称参数的地址无效。 应用程序使用的地址对于数据库名称参数无效。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

更正应用程序,以便使用正确的地址并且输入字符串以 NULL 结束。

SQL1071N

数据库别名参数的地址无效。 应用程序使用了对此参数无效的地址。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

确保应用程序使用有效地址,且输入字符串以 NULL 结束。

SQL1072C

请求已失败,因为数据库管理器资源处于不一致状态。 数据库管理器可能已不正确地终止,或者另一个应用程序使用系统资源的方式与数据库管理器使用系统资源的方式发生冲突。 有多种情况可能会返回此消息:

  • 数据库管理器已不正确地终止。 (例如,在基于 UNIX 的系统上,如果使用“kill”命令而不是使用 STOP DATABASE MANAGER 命令来终止进程,那么可能会发生这种情况)。
  • 另一个应用程序或用户可能已移除数据库管理器资源。 (例如,在基于 UNIX 的系统上,具有足够特权的用户可能无意中使用“ipcrm”命令移除了数据库管理器所拥有的进程间通信 (IPC) 资源)。
  • 另一个应用程序对系统资源的使用与数据库管理器对系统资源的使用发生冲突。 (例如,在基于 UNIX 的系统上,另一个应用程序可能正在使用数据库管理器用来创建 IPC 资源的键)。
  • 数据库管理器的另一个实例可能正在使用相同的资源。 在基于 UNIX 的系统上,如果两个实例位于不同的文件系统上,并且 sqllib 目录刚好使用冲突的 IPC 键,那么可能会发生此情况。
请复查 db2diag 诊断日志文件,以了解更详细的诊断信息。

执行下列其中一个或多个故障诊断步骤和资源清除步骤,然后重新提交失败的请求:

  • 移除所有使用该实例标识来运行的数据库管理器进程。例如,在基于 UNIX 的系统上,执行下列步骤:
    1. 通过发出 db2_ps 命令来列出所有使用该实例标识来运行的数据库管理器进程。
    2. 通过发出以下命令来移除那些进程:
       kill -9 <process-ID> 
  • 确保任何其他应用程序都未使用该实例标识来运行,然后移除该实例标识所拥有的所有资源。例如,在基于 UNIX 的系统上,执行下列步骤:
    1. 通过发出以下命令来列出该实例标识所拥有的所有 IPC 资源:
      ipcs | grep <instance-ID> 
    2. 通过发出以下命令来移除那些资源:
       ipcrm -[q|m|s] <instance-ID> 
  • 如果发现两个实例可以单独启动,但无法同时处于活动状态,请以实例所有者身份执行下列步骤,为那些实例中的一个实例生成新的 IPC 键:
    对于单个数据库分区实例:
    1. 删除 sqllib/.ftok 文件。
    2. 运行 sqllib/bin/db2ftok 命令以生成新 .ftok 文件。
    对于多个数据库分区实例:
    1. 在 sqllib 所在的层创建另一个目录。
    2. 将 sqllib 中的所有内容移至新目录。
    3. 删除 sqllib。
    4. 将新目录重命名为 sqllib。

SQL1073N

节点目录发行版号不正确。 节点目录发行版号与产品期望的发行版号不匹配。 节点目录可能来自于前发行版。 重新编目所有节点条目,并再次尝试运行该命令。

SQL1074N

密码参数的地址无效。 应用程序使用了对此参数无效的地址。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

确保应用程序使用有效地址,且输入字符串以 NULL 结束。

SQL1075N

数据库注释参数的地址无效。 应用程序使用了对此参数无效的地址。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

确保应用程序使用有效地址,且输入字符串以 NULL 结束。

SQL1076N

计数参数的地址无效。 应用程序使用了对 count 参数无效的地址。

无法处理该命令。

确保在应用程序中使用了有效地址。

SQL1077N

句柄参数的地址无效。 应用程序使用了对 handle 参数无效的地址。

无法处理该命令。

确保在应用程序中使用了有效地址。

SQL1078N

缓冲区参数的地址无效。 应用程序使用了对 buffer 参数无效的地址。

无法处理该命令。

确保在应用程序中使用了有效地址。

SQL1079N

节点名参数的地址无效。 应用程序使用了无效的 nname 参数地址。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

确保应用程序使用有效地址,且输入字符串以 NULL 结束。

SQL1080N

local_lu 名称参数的地址无效。 应用程序使用了对 local_lu 名称参数无效的地址。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

确保应用程序使用有效地址,且输入字符串以 NULL 结束。

SQL1081N

partner_lu 名称参数的地址无效。 应用程序使用了对 partner_lu 参数无效的地址。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

确保应用程序使用有效地址,且输入字符串以 NULL 结束。

SQL1082N

方式参数的地址无效。 应用程序使用了对 mode 参数无效的地址。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

确保应用程序使用有效地址,且输入字符串以 NULL 结束。

SQL1083N

不能创建数据库,因为无法处理数据库描述块,原因码:原因码

应用程序发出了 CREATE DATABASE 命令,但因为下列其中一种原因而不能处理数据库描述符块 (DBDB):

1
DBDB 的地址无效。
2
DBDB 的 SQLDBDID 字段的值无效。 它应设置为值 SQLDBDB1。
4
DBDB 的 SQLDBCSS 字段的值无效。 使用 CLP 命令 CREATE DATABASE 时,指定的 COLLATE USING 选项值无效。
5
在 SQLDBUDC 中指定的整理值对于整理类型 SQL_CS_UNICODE 无效。 使用 CLP 命令 CREATE DATABASE 时,指定的 COLLATE USING 选项值对于 UTF-8 代码集无效。
6
不能使用显式整理类型和隐式代码集来创建数据库。 必须指定期望的代码集,或将整理保留为 SQL_CS_SYSTEM。 使用 CLP 命令 CREATE DATABASE 时,必须指定期望的代码集和显式整理类型,或者使用不附带 COLLATE USING 选项的隐式整理。

无法处理该命令。

更正错误,并重新提交命令。

SQL1084C

数据库管理器无法分配共享内存,因为已经达到操作系统内核内存限制。 在某些操作系统上,某些内核参数的缺省值不是足够大,无法满足运行数据库的要求。 如果任何其他软件与 DB2 数据库在同一系统上运行,那么其他软件将争用操作系统资源,这将使得配置内核参数更加困难。 为了简化内核参数配置,在某些操作系统上启动实例时,数据库管理器会自动调整某些内核参数设置。 此外,有一个称为 db2osconf 的工具,可以在某些操作系统上使用此工具来确定建议您在运行数据库系统时采用的最小操作系统内核设置值。

在执行活动(例如,激活数据库或者将数据库前滚)期间,如果由于已经达到操作系统内核内存限制(例如,Linux 上的 SHMMAX)而使得数据库管理器无法分配共享内存,就会返回此消息。

通过执行下列其中一个或多个故障诊断步骤,对此错误作出响应:

  • 通过运行以下命令来生成数据库配置建议:
     DB2 AUTOCONFIGURE APPLY NONE 
  • 增大操作系统内核设置值,此设置会限制可用于数据库管理器的操作系统内存量。
  • 通过减小 database_memory 配置参数的值来减少数据库使用的内存量。
  • 仅在 Linux 操作系统上:某些内核配置参数(例如,SHMMAX)的缺省值对于 DB2 LUW 来说不是足够大。 请确定当前的内核配置参数设置值,并修改任何不是足够大的内核参数值。

如果在您执行这些故障诊断步骤之后仍然发生此错误,那么使用 db2support 实用程序来收集诊断信息,然后与 IBM 软件支持机构联系。

sqlcode:-1084

sqlstate:57019

SQL1085N

不能分配应用程序堆。 应用程序不能与数据库相连,因为数据库管理器不能分配数据库配置文件中指定的应用程序堆的 4K 页。 系统超过 4K 页。 无法处理该命令。

可以采用的解决方案包括:

  • 减小数据库配置文件中的应用程序堆大小(applheapsz)。
  • 减小数据库配置文件中的最大应用程序数。
  • 移除后台进程。
  • 安装更多的内存。

sqlcode:-1085

sqlstate:57019

SQL1086C

发生操作系统错误 错误 命令收到来自操作系统的错误,它阻止进一步处理。

无法处理该命令。

请参阅操作系统用户出版物以确定错误的性质。

SQL1087W

已成功地创建数据库或者对数据库进行升级,但是在打开列表文件 名称 时发生错误。 DB2 实用程序未绑定至数据库。 CREATE DATABASE 或 UPGRADE DATABASE 命令无法打开包含实用程序绑定文件列表的列表文件。 该列表文件应位于 sqllib 子目录的 bnd 子目录中。

未将实用程序绑定文件绑定至已创建或者已升级的数据库。

将实用程序与数据库进行绑定。 在调用绑定程序时不要使用格式选项。

SQL1088W

已成功地创建数据库或者对数据库进行升级,但是在绑定实用程序时发生错误。 实用程序未与数据库进行绑定。 CREATE DATABASE 或 UPGRADE DATABASE 命令无法将实用程序绑定文件绑定至数据库。

未将实用程序绑定文件绑定至新创建的或者已升级的数据库。

执行以下操作:

  • 将实用程序与数据库进行绑定。 在调用绑定程序时不要使用格式选项。
  • 在数据库服务器中绑定 db2schema.bnd 文件。

SQL1089W

已创建数据库,但实用程序的绑定被中断。 实用程序未与数据库进行绑定。 将实用程序与数据库进行绑定时,CREATE DATABASE 被中断。 可能已按下中断键序列。

实用程序绑定文件未与最新创建的数据库进行绑定。

将实用程序与数据库进行绑定。 在调用绑定程序时不要使用格式选项。

SQL1090C

预编译的应用程序和实用程序的发行版号无效。 预编译的应用程序或实用程序的发行版号与安装的数据库管理器版本的发行版号不兼容。

如果应用程序正在使用下一级别的数据库管理器库或 DLL,同时又访问数据库管理器配置文件的已安装版本,也将发生此错误。

无法处理该命令。

验证您的应用程序处理将获得的数据库管理器库或 DLL 是否没有更旧的版本。

如果问题仍然存在,那么使用当前数据库管理器重复预编译进程。 只使用利用可兼容发行版级别的数据库管理器进行预编译的应用程序。

SQL1091C

数据库的发行版号不受支持。 数据库的发行版号与实例的发行版号不同。 此发行版号是在创建数据库或者对数据库进行升级时设置的,或者是在系统目录中定义的最高版本、发行版、修订版和修订包级别。

无法处理该命令。

如果在对数据库进行升级或者复原数据库期间发生错误,说明您正在尝试对具有不兼容发行版的数据库进行升级或复原。

如果在移除修订包之后的首次连接时出错,那么表示您尝试连接至仅在更高修订包级别才受支持的数据库。

如果在对数据库进行升级或者复原数据库期间发生错误,那么必须首先将数据库升级到支持在您要升级到的 DB2 副本中进行数据库升级的发行版。

如果在移除修订包之后首次连接至数据库时发生错误,请从备份来复原数据库,然后从处于支持此数据库的修订包级别的 DB2 副本中发出“将数据库更新为当前级别”命令。

sqlcode:-1091

sqlstate:08004

SQL1092N

由于用户标识无权执行所请求的命令或操作,因此请求的命令或操作失败。 用户标识:用户标识 用户认证是使用 DB2 数据库系统外部的安全性工具(操作系统或另一产品的组成部分)完成的。 授权是使用 DB2 工具(使用 DB2 表和配置文件)来执行的。 当认证或授权发生问题时,可能会返回此消息。

由于多个代理程序在不同级别控制访问权(本地操作系统登录凭证、Windows 用户组、域、Kerberos 之类的第三方安全服务、命令的执行上下文、DB2 权限级别以及数据库对象等等),因此认证和授权问题的故障诊断非常复杂。

下面是一些有可能返回此消息的常见场景(按操作环境排列):

使用了组的 Windows 操作系统
以下是对使用了组的 Windows 环境中可能会返回此消息的场景的描述:

DB2 数据库配置:

  • 已安装数据库产品,并且数据库管理器实例用户设置为 Windows LocalSystem 帐户(或者设置为另一个本地 Windows 帐户)。
  • 未设置 DB2_GRP_LOOKUP 环境变量。

失败的操作:

  • 用户尝试使用远程域中定义的两部分用户标识来连接到数据库。

故障原因:

  • 由于未设置环境变量 DB2_GRP_LOOKUP,因此数据库管理器尝试在定义了该用户标识的位置对组进行枚举。 但是,由于数据库管理器正在 LocalSystem 帐户的上下文中运行,无权访问网络,因此无法在定义了该用户标识的位置对组进行枚举。
使用了 Kerberos 的 Windows 操作系统
在使用了 Kerberos 认证的 Windows 环境中,当尝试使用不是域帐户的帐户来登录计算机时,可能会返回此消息。
使用了“扩展安全性”的 Windows 操作系统
在启用了“扩展安全性”的 Windows 环境中,如果并非本地 DB2USERS 组或 DB2ADMNS 组成员的用户标识尝试使用或修改数据库资源,那么可能会返回此消息。
轻量级目录访问协议 (LDAP) 环境
在 LDAP 环境中,可能会返回此消息,如果用户标识或 Db2 Connect 网关没有权限执行 CATALOG DATABASE、CATALOG … NODE 或 CATALOG DCS DATABASE 命令。
Windows 命令提示符
在 Windows Vista 或更高版本的 Windows 操作系统上,命令提示符可能具有标准的用户特权,即使用户具有管理特权也是如此。 如果从只具有标准特权的命令提示符执行需要管理特权的命令,那么可能会返回此消息。
联合数据库环境
在联合环境中的联合服务器或联合数据源上,可能会发生此错误。
通常,请通过执行下列故障诊断步骤对此错误作出响应:

  1. 与系统管理员或数据库管理员一起,收集关于给定用户标识所具有的特权和权限的信息。 以下是收集关于给定用户标识的此类信息的方法示例:
     db2 SELECT * FROM TABLE (SYSPROC.AUTH_LIST_GROUPS_FOR_AUTHID('<ID>')) 
  2. 找出失败的尝试操作。
  3. 将给定用户标识所具有的特权和权限与尝试的操作作比较。
  4. 使用另一个具有所需权限和特权的用户标识,或者通过执行下列一种或多种类型的管理操作将所需特权授予该用户标识:
    • 将该用户标识添加到必需的组
    • 改变该用户标识所属的组的权限或特权
    • 使用 GRANT 语句,专门授权该用户标识执行该操作

以下是响应特定场景的方式的一些示例:

使用了 Kerberos 的 Windows 操作系统
在使用了 Kerberos 认证的 Windows 环境中,请使用域帐户来登录计算机。
使用了“扩展安全性”的 Windows 操作系统
在启用了“扩展安全性”的 Windows 环境中,要使用或修改数据库资源,请执行下列其中一项操作:

  • 将该用户标识添加到本地 DB2USERS 组或 DB2ADMNS 组。
  • 使用作为本地 DB2USERS 组或 DB2ADMNS 组成员的用户标识。
轻量级目录访问协议 (LDAP) 环境
在 LDAP 环境中,如果用户标识或 Db2 Connect 网关没有权限执行 CATALOG DATABASE、CATALOG … NODE 或 CATALOG DCS DATABASE 命令使用户能够使用 catalog_noauth 数据库管理器配置参数,在没有 SYSADM 权限的情况下,对数据库和节点或 DCS 和 ODBC 目录进行编目和取消编目。
Windows 命令提示符
要使用完全管理特权来运行命令,请执行下列步骤:

  1. 使用 DB2 数据库安装过程中创建的“命令窗口 – 管理员”快捷方式,打开将使用完全管理特权运行的命令窗口。
  2. 从使用完全管理特权运行的命令窗口中启动命令。
联合环境
确定是联合服务器返回了错误还是联合数据源返回了错误,然后执行本消息中描述的故障诊断步骤。

SQL1093N

用户没有登录。

用户必须先登录才可以处理任何需要权限的命令。 此错误的可能原因包括:

  • 无法获得用户标识。
  • 尝试登录时发生意外的操作系统错误。
  • 应用程序正在后台进程中运行。
  • 用户取消了尝试的登录。

无法处理该命令。

用有效的用户标识登录,并重新提交该命令。 如果几个并发进程都在尝试登录,那么等一会儿重试登录过程。

sqlcode:-1093

sqlstate:51017

SQL1094N

不能访问节点目录,因为正在对其进行更新。 当正在更新节点目录时,不能扫描或使用该目录。 同样,如果因任何原因已经访问了目录,那么不能访问该目录以进行更新。

无法处理该命令。

在完成更新之后重新提交该命令。

sqlcode:-1094

sqlstate:57009

SQL1095N

已经打开了 8 个节点目录扫描。 在此进程中已经打开了 8 个节点目录扫描,不允许打开 8 个以上的节点目录扫描。

无法处理该命令。

发出一条或多条 CLOSE NODE DIRECTORY SCAN 命令。 重新提交该命令。

sqlcode:-1095

sqlstate:54029

SQL1096N

对于此节点类型,该命令无效。 在不支持该命令的节点上发出了命令,或者发现对此节点类型设置的系统环境不正确。 例如,在客户机节点上数据库作为 LOCAL 来编目。

无法处理该命令。

验证对于该节点类型,命令和参数是否正确。 还要验证处理命令所在的环境是否正确。 重新提交该命令。

SQL1097N

在节点目录中找不到节点名。 在远程数据库的数据库目录中列示的节点名或者在连接命令中指定的节点名未在节点目录中编目。

无法处理该命令。

联合系统用户:数据源也可能会检测到此情况。

验证在数据库目录中列示的节点名或连接命令的对象在节点目录中是否已编目。 如果该节点未列示在节点目录中,那么提交 CATALOG NODE 命令。

联合系统用户:除这些操作之外,还验证所有 SYSCAT.SERVERS 条目中列示的节点名是否正确。 如果该节点未列示在节点目录中,且服务器是 DB2 系列的一个成员,那么对该节点发出 CATALOG NODE 命令。

sqlcode:-1097

sqlstate:42720

SQL1098N

应用程序已经与此数据库相连。 请求了与数据库相连,但应用程序已经与指定的数据库相连。

无法处理该命令。

不需要执行任何操作。

sqlcode:-1098

sqlstate:53056

SQL1099N

软盘有写保护。 尝试对驻留在具有写保护的软盘上的数据库进行写操作。

无法处理该语句。

验证您是否正在使用正确的软盘。 如果有必要,请移除软盘的保护。

SQL1100W

尚未在“节点目录”中编目在 Catalog Database 命令中指定的节点名 名称 Catalog Database 命令指定了节点名 名称,但未在节点目录中编目该节点名。 必须先编目节点名,才可使用远程数据库。

成功完成 CATALOG DATABASE 命令。

发出 CATALOG NODE 命令。

SQL1101N

使用指定的授权 ID 和密码无法访问节点node-name上的远程数据库名称 请求了与节点 节点名 上的远程数据库 名称 的连接,但是远程节点不接受对此节点(在远程授权表中或在运行时)指定的授权标识和密码组合。

联合系统用户:当出现以下任一情况时也会发生此错误:

  • 没有用户映射,并且远程授权标识或远程密码与在连接至 DB2 联合数据库时所指定的授权标识和密码不匹配。
  • 用户映射未指定 REMOTE_PASSWORD 选项,以及连接到 DB2 联合数据库时未指定密码。
  • 用户映射未指定 REMOTE_PASSWORD 选项,以及连接到 DB2 联合数据库时远程密码和指定密码不匹配。
  • 用户映射未指定 REMOTE_AUTHID 选项,以及连接到 DB2 联合数据库时远程授权标识和指定授权标识不匹配。
  • 远程授权标识或远程密码和用户映射指定的不匹配。

无法处理该请求。

使用远程系统的有效授权标识和密码的组合来重新提交该请求。

sqlcode:-1101

sqlstate:08004

SQL1102N

未指定数据库名称。 未提供数据库名称以继续对数据库进行升级。

无法处理该语句。

指定要升级的数据库名称。

SQL1103W

成功完成了 UPGRADE DATABASE 命令。 成功完成了 UPGRADE DATABASE 命令。 如果在非 HADR 备用数据库上发出,那么可立即访问此数据库。

注意,如果数据库已经处于当前级别并且未进行升级,那么也将返回此消息。

如果在 HADR 备用数据库上发出,那么数据库元数据已升级至当前级别并且 HADR 重放服务已在后台开始。 数据库将处于“升级中”状态,并且直到它已重放从主数据库接收到的所有升级日志记录后,才能接受新连接(如果已启用“在备用项上读取”)。

如果在非 HADR 备用数据库上发出,请执行升级后任务。

如果在 HADR 备用数据库上发出,请在主数据库上发出 UPGRADE DATABASE 命令。

SQL1104N

程序名参数的地址无效。 应用程序使用了对程序名无效的地址。

无法处理该命令。

在应用程序中使用正确的地址。

SQL1105N

在“远程应用程序界面”过程中不允许 SQL CONNECT RESET 语句。 远程应用程序过程中包含 SQL CONNECT RESET 语句。

不允许继续执行远程过程。

移除 SQL CONNECT RESET 语句,并再次尝试执行该远程过程。

sqlcode:-1105

sqlstate:38003

SQL1106N

装入了指定的 DLL 名称 模块,但不能执行函数 函数 找不到 DLL(动态链接库)中的函数。

无法处理该命令。

确保正确构建了 DLL 模块。 请参阅定义文件中的模块。

sqlcode:-1106

sqlstate:42724

SQL1107N

装入指定的 DLL 名称 时接收到中断。 装入 DLL(动态链接库)模块时,命令被中断,可能是被 Ctrl+Break 中断的。

处理停止。

重新提交该命令。

sqlcode:-1107

sqlstate:42724

SQL1108N

装入指定的 DLL 名称 时接收到意外的 I/O 错误或操作系统错误。 尝试装入程序名字段中指定的 DLL(动态链接库)模块时发生了意外错误。

无法处理该命令。

重新提交当前命令。 如果还有错误,那么重新安装数据库管理器。

如果重新安装并不更正该错误,那么如果可能,记录消息号(SQLCODE)和 SQLCA 中的所有信息。

如果跟踪处于活动状态,那么在操作系统命令提示符处调用“独立跟踪设施”。 然后与技术服务代表联系。

sqlcode:-1108

sqlstate:42724

SQL1109N

由于数据库管理器无法装入以下 DLL,因此未处理此命令:文件名 当数据库管理器无法装入动态链接库 (DLL) 时,返回此消息。 通过执行以下故障诊断步骤对此错误作出响应:

  1. 确定给定的库文件与哪个产品组件相关联。
  2. 验证相关联产品组件的安装。 (例如,DB2 数据库的各个库的路径必须包括在环境变量 LIBPATH 中。)

sqlcode:-1109

sqlstate:42724

SQL1110N

提供的数据区无效,不能使用。 未正确初始化数据区。

无法处理该命令。

确保正确初始化了由用户提供的输入 SQLDA 或输出 SQLDA 字段。

SQL1111N

指定的程序名 名称 无效。 DLL(动态链接库)模块或程序名语法不正确。

无法处理该命令。

确保正确地指定了 DLL 或程序名。

sqlcode:-1111

sqlstate:42724

SQL1112N

没有足够的系统资源用来装入指定的 DLL 名称 没有足够的随机存取存储器 (RAM) 用来装入指定的 DLL(动态链接库)模块。

无法处理该命令。

停止该应用程序。 可以采用的解决方案包括:

  • 将 CONFIG.SYS 文件中的 MEMMAN NO SWAP、NO MOVE 选项更改为 SWAP、MOVE。
  • 移除后台进程。
  • 减小定义内存分配的配置参数的值。
  • 安装更多随机存取存储器 (RAM)。

sqlcode:-1112

sqlstate:42724

SQL1113N

在输出 SQLDA 中,sqlvar n 的数据类型从 类型-1 更改为 类型-2 远程存储过程更改了输出 SQLDA 中第 n 个 sqlvar 的数据类型;n 是第一个不匹配的 sqlvar 的序号。

存储过程没有返回任何数据。

更正远程存储过程,以便不更改输出 SQLDA 中的数据类型信息。

sqlcode:-1113

sqlstate:39502

SQL1114N

在输出 SQLDA 中,sqlvar n 的数据长度 从 长度-1 更改为 长度-2 远程存储过程更改了输出 SQLDA 中第 n 个 sqlvar 的数据长度;n 是第一个不匹配的 sqlvar 的序号。

存储过程没有返回任何数据。

更正远程存储过程,以便不更改输出 SQLDA 中的数据长度信息。

sqlcode:-1114

sqlstate:39502

SQL1115N

在输出 SQLDA 中,sqlvar 的数目从 数量-1 更改为 数量-2 远程过程更改了输出 SQLDA 中的 sqld 字段;sqld 是在 SQLDA 中使用的 sqlvar 的数目。

存储过程没有返回任何数据。

更正远程存储过程,以便不更改输出 SQLDA 中的 sqld 字段。

sqlcode:-1115

sqlstate:39502

SQL1116N

连接或激活数据库 name 失败,这是因为该数据库处于 BACKUP PENDING 状态。 指定的数据库需要进行备份,以便为前滚恢复提供一个起始点。 通过调用 BACKUP 例程来备份该数据库,或者,如果不需要执行前滚恢复,请将数据库配置参数 LOGARCHMETH1 和 LOGARCHMETH2 设置为 OFF。

在 DB2 pureScale 环境中,必须执行完全脱机数据库备份。

sqlcode:-1116

sqlstate:57019

SQL1117N

因为处于 ROLL-FORWARD PENDING 状态,所以不能连接或激活数据库 名称 允许指定的数据库进行前滚恢复,它已经复原,但是没有前滚。

没有建立连接。

联合系统用户:数据源也可能会检测到此情况。

前滚数据库,或指示您不希望通过使用 ROLLFORWARD 命令来前滚。 注意,如果不前滚数据库,那么将不对该数据库应用自从上次备份该数据库以来写入的记录。

联合系统用户:如果需要,请找出使请求被拒绝的数据源中的问题,并对该数据源执行适当的恢复操作以使数据源一致。

sqlcode:-1117

sqlstate:57019

SQL1118N

因为先前备份不完整,所以不能连接或激活数据库 名称 数据库处于不一致状态,因为在备份期间发生了系统错误。

没有建立连接。

联合系统用户:数据源也可能会检测到此情况。

发出 BACKUP 命令,然后再次尝试运行该命令。

联合系统用户:如果有必要,请找出导致请求失败的数据源中的问题,并在再次尝试运行该命令之前对该数据源发出 BACKUP 命令。

sqlcode:-1118

sqlstate:57019

SQL1119N

因为先前复原不完整或者仍在进行,所以不能连接或激活数据库 名称 数据库处于不一致状态,因为在复原函数期间发生了系统错误或者仍在进行复原。

没有建立连接。

联合系统用户:数据源可能会检测到此情况。

确保在成功复原数据库之后才尝试重新发出当前命令。

联合系统用户:如果有必要,请找出导致请求失败的数据源中的问题,并在再次尝试运行该命令之前对该数据源发出 RESTORE 命令。

sqlcode:-1119

sqlstate:57019

SQL1120N

因为先前备份或复原不完整,所以不能连接或激活数据库 名称 数据库处于不一致状态,因为在备份或复原期间发生了系统错误。 不能确定是否正在进行备份或复原。

没有建立连接。

联合系统用户:数据源也可能会检测到此情况。

发出 BACKUP 或 RESTORE 命令,然后再次尝试运行该命令。

联合系统用户:如果有必要,请找出导致请求失败的数据源中的问题,并在再次尝试运行该命令之前对该数据源发出 BACKUP 或 RESTORE 命令。

sqlcode:-1120

sqlstate:57019

SQL1121N

节点结构参数的地址无效。 应用程序使用了无效的节点结构参数地址。 地址指向未分配的缓冲区,或者缓冲区不够大,无法装下必需的输入。

无法处理该命令。

验证程序是否分配了所需要的缓冲区,重新提交该命令。

SQL1122N

协议结构参数的地址无效。 应用程序使用了无效的协议结构参数地址。 地址指向未分配的缓冲区,或者地址指向不正确的协议缓冲区。

无法处理该命令。

验证程序是否根据节点结构中的协议字段来分配了必需的缓冲区,并重新提交该命令。

SQL1123N

协议 类型 无效。 在节点结构中对 Catalog 命令指定的协议类型不表示识别的值。 在 sqlenv 头文件中定义有效协议类型。

无法处理该命令。

验证节点结构中的协议类型,并重新提交该命令。

SQL1124N

远程工作站名 名称 无效。 未在 Catalog 命令的协议结构中指定远程工作站名称,或者指定的远程工作站名称包含无效字符。

无法处理该命令。

验证在远程工作站名中指定的字符。 用有效的工作站名重新提交该命令。

SQL1125N

适配器号 编号 无效。 在 Catalog 命令的协议结构中指定的适配器号无效。

无法处理该命令。

验证适配器号是否有效,并重新提交该命令。

SQL1126N

网络标识 标识 无效。 在 APPN 协议结构中对 Catalog 命令指定的网络标识无效。 网络标识标识远程逻辑单元(LU)所在的 SNA 网络。 网络标识必须具有 1 到 8 个字符。 有效字符为 A 到 Z、a 到 z、0 到 9、#、@ 和 $。第一个字符必须是字母或特殊字符:#、@ 或 $。系统会将小写字符更改为大写。

无法处理该命令。

验证在网络标识中指定的字符。 用有效的网络标识重新提交该命令。

SQL1127N

远程工作站名 名称 无效。 在 APPN 协议结构中对 Catalog 命令指定的远程逻辑单元(LU)名称无效。 远程 LU 名就是远程 SNA 逻辑单元名,且必须是 1 到 8 个字符。 有效字符为 A 到 Z、a 到 z、0 到 9、#、@ 和 $。第一个字符必须是字母或特殊字符:#、@ 或 $。系统会将小写字符更改为大写。

无法处理该命令。

验证在远程 LU 名中指定的字符。 用远程 LU 名重新提交该命令。

SQL1128W

继续装入操作,但未创建一致点。 原因码:原因码 将数据装入表时,可使装入实用程序在每次处理给定数目的行后建立一致点。 一致点允许中断的装入操作从最新一致点重新启动。

您可以使用装入命令的 SAVECOUNT 参数,指定在一致点之间装入多少行。 某些实用程序(例如,db2move)使用装入实用程序,并设置 SAVECOUNT 值(缺省值)。

在使用一致点方面,存在一些限制。 当尝试以不受支持的方式使用一致点时,装入操作会继续,但不会创建一致点。 在两种常见场景中会显示此消息:

  • 直接调用 LOAD 命令,且指定了 SAVECOUNT 参数
  • 装入实用程序由其他实用程序使用,且缺省情况下,后者指定了 SAVECOUNT 值

原因码指示了遇到的限制:

1
将数据装入 MDC 或 ITC 表时,不支持一致点。
2
指定文件类型不支持一致点。
3
将数据装入分区表时,不支持一致点。
4
将数据装入包含 XML 列的表时,不支持一致点。
5
将数据装入按列组织的表时,不支持一致性点。
6
将数据装入到保留的行长度超过其页面大小的按行组织的表时,不支持一致性点。
不需要执行任何操作。 装入操作继续,且不使用一致点。

SQL1129N

无法启动新的存储过程进程,因为没有足够的资源用来创建新进程。 无法启动新的存储过程进程,因为没有足够的资源用来创建新进程。 请执行下列其中一项操作:

  • 减少使用 DB2 的用户数
  • 增大系统进程限制。

sqlcode:-1129

sqlstate:42724

SQL1130N

无法启动新的存储过程进程,因为已经达到服务器上允许存在的最大进程数。 无法启动新的存储过程进程,因为已经达到服务器上允许同时存在的最大进程数。 增大 fenced_pool 配置参数的值。

sqlcode:-1130

sqlstate:42724

SQL1131N

存储过程进程已异常终止。 例程名称:例程名称。 特定名称:特定名称 DB2 的体系结构设计为便于应用程序在与数据库服务器不同的地址空间中运行。 在另外的地址空间中运行应用程序,可防止应用程序编程错误导致覆盖数据库管理器内部缓冲区或文件,还可以防止应用程序错误导致数据库管理器崩溃。 受防护方式进程 (db2fmp) 负责在不同于数据库服务器的地址空间中执行受防护存储过程和用户定义函数。

如果在运行所指定的例程时 db2fmp 进程异常终止,那么会返回此消息。 db2fmp 进程可能由于许多原因而异常终止,其中包括下列原因:

  • 在 db2fmp 进程所执行的存储过程或者用户定义的函数的实现中存在编码错误(例如,除数为 0,或者存在超出范围的指针引用)。
  • 另一个进程使用信号(例如,终止信号 SIGTERM)终止了 db2fmp 进程。
  • 安装 Java 例程时 SQLJ.INSTALL_JAR 失败,因为受防护用户没有在服务器上创建必需目录或写入必需目录的许可权。
请执行以下步骤以解决此错误:

  1. 请查看存储过程或者用户定义的函数的代码并对其进行单元测试,从而确保此存储过程或者用户定义的函数中不存在可能会导致异常终止的编码错误。
  2. 通过检查系统中正在运行的所有应用程序和访问系统的用户的行为,确保其他应用程序或用户不会db2fmp发送终止信号。
  3. 请再次运行此存储过程。

如果因为 SQLJ.INSTALL_JAR 失败而返回此消息,请将受防护标识添加至实例所有者组。

sqlcode:-1131

sqlstate:38503

SQL1132N

不允许在存储过程中执行此命令。 在存储过程范围内发出了非法命令。

不允许继续执行过程。

删除程序中的非法命令,然后重试。

sqlcode:-1132

sqlstate:38003

SQL1133N

在 DARI(存储过程)函数内修改了输出 SQLDA 的 sqlvar 内的指针地址(索引 = n)。 已经在用户预编译的 DARI 功能内改变了输出 SQLDA 的 sqlvar 中的“sqlind”或“sqldata”指针。

存储过程没有返回任何数据。

更正输出 SQLDA 内指示的 sqlvar 的使用情况以便在 DARI(存储过程)函数例程内不更改指针地址。

sqlcode:-1133

sqlstate:39502

SQL1134N

对于数据库认证类型 CLIENT,在存储过程的作用域内不允许运行此命令。 如果数据库认证类型为客户端,则不允许在存储过程中使用需要系统管理员授权的命令。

存储过程没有返回任何数据。

不允许继续执行过程。

移除过程中的未经授权的命令,然后重新运行存储过程。

sqlcode:-1134

sqlstate:38003

SQL1135N

创建数据库时,对段数指定的值无效。 指定的分段数量超出范围。 有效范围是 1 到 256。 重新指定分段数量,然后尝试重新创建数据库。

SQL1136N

创建数据库时,对缺省表空间扩展数据块大小(dft_extentsize)指定了无效值。 对缺省表空间扩展数据块大小(dft_extentsize)指定的值超出了范围。 有效范围是 2 到 256。 更正表空间扩展数据块大小,然后再次尝试。

SQL1137W

删除数据库 数据库别名 时,数据库管理器不能除去数据库路径或某些容器。 要求进行清除。 当尝试移除容器或数据库目录时,不能访问容器列表,或者发生了一些故障。

如果您正在使用集群管理器,那么当数据库管理器无法从集群管理器配置中移除给定数据库别名的容器路径,可能会返回此错误。 集群管理器中生成的错误消息将记录在 db2diag 日志文件中。

可以使用操作系统命令手动移除系统管理的容器(目录)和数据库管理的文件容器。 要释放设备容器,请与 IBM 服务代表联系以获得帮助。

如果已通过“新建日志路径”配置参数更改了日志目录,那么手动卸下日志目录文件系统,并移除日志和数据库目录。

如果您正在使用集群管理器,那么更正问题并从集群管理器配置中移除该路径:

  • 查看 db2diag 日志文件,以获取集群管理器中生成的错误消息。
  • 对 db2diag 日志文件中的集群管理器错误消息作出响应,以更正导致集群管理器无法从其配置中移除该路径的底层问题。
  • 使用集群管理器的工具和实用程序从集群管理器配置中移除此数据库的容器路径。

SQL1138W

迁移唯一索引 名称,以支持延迟的唯一性检查。 未创建新索引。 对现有索引尝试了 CREATE INDEX 操作。 因为尚未迁移索引以支持延迟唯一性检查,所以执行了此迁移。

唯一索引的迁移格式将允许对多行进行更新,以便在更新语句结束时而不是在更新每行时检查索引列的唯一性。

不需要执行任何操作。

sqlcode:+1138

sqlstate:01550

SQL1139N

表空间的总大小太大。 当前表空间的大小太大。 REGULAR 表空间的大小被限制为 0x01000000(16777216)页,而 LARGE 和 TEMPORARY 表空间的大小被限制为 0x7FFF FEFF(2147483391)页。 查阅管理通知日志以了解详细信息。 减小表空间的大小,并更正 SQL 语句。

sqlcode:-1139

sqlstate:54047

SQL1140W

成本类别成本类别estimate-amount1处理器秒estimate-amount2服务单位)的估计处理器成本超过限制数量服务单位的资源限制警告阈值。 预编译动态 INSERT、UPDATE、DELETE 或 SELECT SQL 语句所导致的成本估计值超过了在资源限制规范表(RLST)中指定的警告阈值。

如果 DB2 的成本类别值为“B”,那么也会发出此警告,并且在 RLST 的 RLF_CATEGORY_B 列中指定的缺省操作是发出警告。

estimate_amount1
如果要执行已预编译好的 INSERT、UPDATE、DELETE 或 SELECT 语句时的成本估计(以处理器秒计)。
estimate_amount2
执行预编译的 INSERT、UPDATE、DELETE 或 SELECT 语句时的成本估计(以服务单元计)。
cost-category
此 SQL 语句的 DB2 的成本类别。 可能值是 A 或 B。
limit-amount
警告阈值(以服务单元计)是在 RLST 的 RLFASUWARN 列中指定的。

成功地预编译了动态 INSERT、UPDATE、DELETE 或 SELECT 语句。 如果执行已预编译好的语句时超过了在 RLST 中指定的 ASUTIME 值,那么可能会发出 SQLCODE -905。

确保有应用程序逻辑用来处理警告,以便允许执行语句,或停止执行语句。 如果因为成本类别值为“B”而返回了此 SQLCODE,那么原因可能是语句正在使用参数标记,或某些统计信息对于所引用的表和列不可用。 确保管理员已在所引用的表上运行了实用程序 RUNSTATS。 还可能是因为执行语句时将调用 UDF,或者对于 INSERT、UPDATE 或 DELETE 语句,在已更改的表上定义了触发器。 检查此语句的 DSN_STATEMNT_TABLE 或 IFCID 22 记录,以便找到此 SQL 语句被置于成本类别“B”中的原因。

如果警告是由消耗了太多处理器资源的 SQL 语句引起的,那么尝试重写该语句以便更有效地执行该语句。 另一个选项是请求管理员来增大 RLST 中的警告阈值。

sqlcode:+1140

sqlstate:01616

SQL1141N

操作完成,但发生了错误或警告。 详细信息位于需要使用 db2inspf 实用程序来格式化的结果文件 文件名 中。 在分区数据库环境中,文件扩展名与数据库分区节点号相对应。 文件位于由 DIAGPATH 数据库管理器配置参数指定的目录中。 使用 db2inspf 实用程序来格式化检查数据结果文件 文件名

SQL1142N

不能完成操作,因为已经在使用文件 文件名 已经有现有文件正在使用在 INSPECT 命令中指定的文件名。

无法处理该命令。

使用未使用的另一文件名重新提交该命令。 或者移除现有文件 文件名 并重新提交该命令。

在分区数据库环境中,文件扩展名与数据库分区节点号相对应。 文件位于由 DIAGPATH 数据库管理器配置参数指定的目录中。

SQL1143N

不能完成操作,因为文件 文件名 发生了文件错误。 由于 I/O 错误,不能访问文件。 系统无法打开、读取或写入文件。 文件可能不完整,或者磁盘可能已满。

实用程序停止了处理过程。

记录来自 SQLCA 的所有错误信息(如果有可能)。 查看诊断日志文件以了解其他信息。

在数据库分区环境中,文件扩展名与数据库分区节点号相对应。 文件位于由 DIAGPATH 数据库管理器配置参数指定的目录中。

sqlcode:-1143

sqlstate:5UA0A 和 5UA0B

SQL1144N

由于创建索引失败,当前事务已回滚。 底层 sqlcode:sqlcode 在同一事务中,删除了关于表的最后保留的索引,然后创建了关于同一个表的新索引。 索引创建由于错误 sqlcode 而失败,或者被 ROLLBACK TO SAVEPOINT 语句回滚(sqlcode=0)。 当关于表的最后保留的索引的删除索引尚未落实时,就不能成功完成索引创建的回滚。 当存在这些情况时,就会回滚整个事务。 注意,还可以通过在 ALTER TABLE 语句中添加或删除唯一键或主键约束来创建或删除索引。

运行时标记 sqlcode 指示返回的底层 sqlcode。

如果有可能,在创建关于同一个表的新索引之前落实对索引的删除,以避免回滚整个事务。

如果 sqlcode 不是 0,那么参阅 sqlcode 的消息以进行更正操作。 需要再次发出在回滚事务中的所有语句。 如果 sqlcode 为零,并且在保存点作用域中删除了索引,那么在删除关于同一个表的旧索引之前,可能需要对语句进行重新排序以便创建新索引。 如果是在同一 ALTER TABLE 语句中删除和添加唯一键或主键约束,那么可能需要用两条语句来完成此操作,在第一条语句中执行添加(ADD),而在第二条语句中执行删除。

sqlcode:-1144

sqlstate:40507

SQL1145N

当使用网关集中器时,PREPARE 语句不受支持。 原因码:原因码

由于下列原因之一,语句失败,原因码 分别为:

1
当网关集中器功能部件为 ON 时,不支持嵌入式 SQL 中的动态预编译语句。 在此配置中,仅当客户机是 CLI 应用程序时,才支持动态预编译语句。
2
当网关集中器功能部件为 ON 时,不支持动态预编译 SET 语句。

根据原因码的不同,请执行下列操作:

1
更改应用程序以对动态 SQL 语句使用 CLI,或更改应用程序以使用静态 SQL。
2
对 SET 语句使用 EXECUTE IMMEDIATE。

sqlcode:-1145

sqlstate:560AF

SQL1146N

没有关于表 表名 的任何索引。 为索引重组指定的 表名 没有任何索引。 使用有效的表名重新提交该命令。

SQL1147W

对于 MDC 和 ITC 表,忽略了 TOTALFREESPACE。 因为对于 MDC 和 ITC 表,表可用空间是严格管理的,所以 TOTALFREESPACE 文件类型修饰符是不必要的,将被忽略。 不需要执行任何操作。

SQL1148N

需要刷新索引。 但是,索引驻留在当前处于备份暂挂状态的表 空间中,无法刷新索引。 需要刷新索引,但是,索引驻留在当前处于备份暂挂状态的表空间中,无法刷新索引。 完成数据库或表空间备份并重新提交查询或命令。

SQL1149N

CLP 错误clp-msg-id返回简短文本clp-msg-short-text。 请参阅 CLP 消息文档以了解详细信息。 遇到了 CLP 错误。 使用 clp-消息标识 信息来查找所指示的 CLP 消息的适当消息详细信息。 请参阅 CLP 消息信息,以了解有关要执行的操作的详细信息。

sqlcode:-1149

sqlstate:5U007

SQL1150N

用户标识参数的地址无效。 应用程序使用了对此参数无效的地址。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

确保应用程序使用有效地址,且输入字符串以 NULL 结束。

SQL1151N

Load 实用程序 REMOTEFETCH 介质选项无效。 原因码:原因码

调用 Load 实用程序时使用了 REMOTEFETCH 介质类型,但指定了一个或多个不兼容或无效的自变量。 这是由下列其中一个原因引起的:

1
服务器不支持 REMOTEFETCH 介质类型。
2
未指定源数据库名称。
3
指定了密码字段,但未指定用户标识字段。
4
指定了源表名字段或模式字段中的其中一个字段,但未指定另一个字段。
5
同时指定了源表名字段和源语句字段。
6
既未指定源表名字段也未指定源语句字段。
7
指定的隔离级别无效。
8
其中一个指定的自变量超出该自变量的最大适用大小。
9
未正确地设置 SQLU_REMOTEFETCH_ENTRY API 结构。
10
数据库服务器不支持用户定义的租户。
11
在 SQLU_REMOTEFETCH_ENTRY API 结构中访问输入租户名称时,遇到了错误。

与每个原因码相对应的响应如下所示:

1
确保服务器级别为 V9 或更高版本。
2
确保指定了源数据库名称。 此字段是必需的。
3
如果未指定用户标识字段,那么不要指定密码字段。
4
如果提供的是源表名而不是源查询,那么确保同时指定源表名和模式。
5
指定源表名和模式,或者指定源语句,但不要同时指定这两者。
6
指定源表名和模式,或者指定源语句。
7
确保指定的隔离级别正确。
8
确保提供的自变量及其长度标记(API)全都有效。
9
确保正确地设置并初始化了 SQLU_REMOTEFETCH_ENTRY API 结构。 未使用的字段应该为 NULL。 应该设置长度值。
10
确保数据库服务器支持用户定义的租户。
11
确保已设置 SQLU_REMOTEFETCH_ENTRY API 结构并且已正确初始化租户名称和长度。

SQL1152N

实用程序优先级无效。 指定的优先级不在合法范围 0 – 100 之内。 重新发出命令并指定有效的优先级。

SQL1153N

实用程序标识 实用程序标识 不存在。 找不到指定的实用程序标识。 指定了无效的标识,或者该实用程序已完成。 验证该实用程序是否存在并重新提交命令。 要确定该实用程序是否已完成,请查看数据库管理器快照数据。

SQL1154N

无法设置不支持调速的实用程序的优先级。 已尝试对不支持调速的实用程序进行调速。 实用程序将继续未调速地运行。

SQL1155W

超出数据类型的范围的数值已经被适当地替换为最大值或最小值。 要为 ADMIN_CMD 过程产生的结果集中的一列指定的值大于该列的数据类型的最大值,或者小于该数据类型的最小值。 如果该值大于最大值,那么已指定该数据类型的最大值。 如果该值小于最小值,那么已指定该数据类型的最小值。 对于 SMALLINT 数据类型,为最大值指定的值为 32767,最小值为 -32768。 对于 INTEGER 数据类型,为最大值指定的值为 2147483647,最小值为 -2147483648。 对于 BIGINT 数据类型,为最大值指定的值为 9223372036854775807,最小值为 -9223372036854775808。 请参阅 db2diag 日志文件,以便了解 ADMIN_CMD 过程返回的实际值。

sqlcode: +1155

sqlstate:01608

SQL1156N

实用程序操作标识无效。 提供的实用程序操作标识无效。 它不能为空,并且它必须是先前从 SYSPROC.ADMIN_CMD 过程中为它执行的实用程序返回的值。 但是,一旦由 SYSPROC.ADM_REMOVE_MSGS 过程从服务器中移除了消息,就不再可以使用实用程序操作标识来表示服务器上的消息。 既未从服务器中检索消息,也未从服务器中移除消息。 验证是否提供了正确的值。 SYSPROC.ADMIN_CMD 过程在第一个结果集的 MSG_RETRIEVAL 和 MSG_REMOVAL 列返回 SQL 语句。 它们包含与正在执行的实用程序相对应的操作标识。 使用这些 SQL 语句来检索或移除消息。

sqlcode:-1156

sqlstate:5U008

SQL1157N

在触发器中不能调用例程 例程名 不允许在触发器中调用例程 例程名。 触发器不支持执行 API、执行 COMMIT 语句和返回结果集。 从触发器定义中移除例程引用。

sqlcode:-1157

sqlstate:42987

SQL1158N

限制访问目录 目录名 目录 目录名 可能包含数据库敏感信息,因此要限制对其进行访问。 为了维护数据库完整性,应用程序不能在此目录下创建新文件、读取文件、写入文件或者删除文件。 指定另一个目录名。

sqlcode:-1158

sqlstate:42832

SQL1159N

初始化 IBM Data Server Provider for .NET 期间发生错误。 原因码:原因码 可以使用 IBM Data Server Provider for .Net 来访问 IBM 数据库系统。

当数据库产品安装出现问题时,将返回此消息。 如果启用了 Windows 扩展安全性功能,并且用来启动 Internet 信息系统 (IIS) 服务的标识并不隶属于 DB2ADMNS 组或 DB2USERS 组,那么也可能会返回此消息。

此消息的原因码仅适用于 IBM 支持人员。

通过执行下列其中一项或多项操作,对此消息作出响应:

  • 如果这是第一次在此计算机上安装数据库产品,请查看安装日志以找出所有可能的错误,然后从添加或删除程序控制面板 applet 运行数据库产品修复操作。
  • 如果启用了 Windows 扩展安全性功能,请确保使用数据库产品的应用程序标识和用户标识属于 DB2ADMNS 组或 DB2USERS 组。
  • 卸载数据库产品,然后再次重新安装数据库产品。

如果错误仍存在,请收集下列诊断信息并与 IBM 支持机构联系:

  • 随此消息返回的原因码
  • 安装日志

SQL1160N

不能装入 DOS 网络协议 TSR。 尚未装入指定的通信协议的“终止并驻留”(TSR)网络驱动程序。 在尝试使用网络通信之前,必须装入 TSR。 确保已成功装入指定的通信协议的 TSR,然后再次运行应用程序。

SQL1161W

协调处理失败。 在 DB2 Data Links Manager 中未定义 DataLink 列。 查阅管理通知日志以了解详细信息。 在 DB2 Data Links Manager 上丢失了关于表的一个或多个 DataLink 列的元数据信息。 协调处理已失败。 表处于“DataLink 协调不可能”(DRNP)状态。 要使表脱离“DataLink 协调不可能”状态,遵循《管理指南》中“从“DataLink 协调不可能”状态移除表”中所提到的过程。

SQL1162W

协调处理失败。 在处理异常期间,DB2 Data Links Manager 变得不可用。 在处理协调异常期间,表数据所引用的一个或多个 DB2 Data Links Manager 变得不可用。 协调处理已失败。 表处于“DataLink 协调暂挂”(DRP)状态。 再次运行协调。

SQL1163N

由于标识符类型ident-type的标识符名称ident-name太长,无法启用该表进行数据采集。 对于超过特定长度的特定标识类型,不支持数据捕获。 处理尝试的更改时,发现类型为 标识类型 的标识 标识名 太长。 数据捕获启用所允许的标识类型和最大长度如下所示:

  1. 列。 要启用数据捕获,列名不能长于 128 字节。
  2. 表。 要启用数据捕获,表名不能长于 128 字节。
  3. 模式。 要启用数据捕获,模式名不能长于 128 字节。
如果将对此表启用数据捕获,请确保涉及的标识不超过解释中指示的最大大小。 否则对表禁用数据捕获,以使用更长的标识名。

sqlcode:-1163

sqlstate:42997

SQL1164N

在 SQL 语句中使用的类型为 类型 的 SQLDA 或主变量无效。 原因码 原因码,主机变量/SQLVAR 编号 变量编号 处理 SQL 语句中的 SQLDA 或主机变量时出错。

如果应用程序员修改了预编译器的输出、在应用程序中使用了以 SQL 开始的变量名,或以另一种方式覆盖了调用参数列表,那么由预编译器创建的调用参数列表可能不正确。

另外,如果 SQLDA 是由应用程序直接传送的,那么可能不能正确地初始化。

主机变量/SQLDA 类型:

1
输入主机变量或 SQLDA
2
输出主机变量或 SQLDA

在带有主机变量的 SQL 语句中,使用主机变量号从该语句或子语句(对于复合 SQL)的起始位置开始计数,以找出无效的主机变量。 对于使用 SQLDA 的语句,SQLVAR 号用于查找无效的 SQLVAR。 对于输入 SQLDA,只对输入主机变量或 SQLVAR 进行计数;对于输出 SQLDA,与此类似。 注意,此号码从 1 开始,可能不是对所有原因码都适用。 对原因码的解释如下所示:

1
SQLDA.SQLN 小于 SQLDA.SQLD
2
SQLVAR.SQLTYPE 无效。
3
在 SQLVAR.SQLLEN 或 SQLVAR2.SQLLONGLEN 中指定的长度对于 SQLVAR.SQLTYPE 中给定的 SQL 类型不正确。
4
存在“大对象 SQLVAR”,但是 SQLDA.SQLDAID 的 SQLDOUBLED 字段未设置为 ‘2’。
5
提供了输入 varchar,其当前长度(来自 varchar 本身的长度字段)大于最大长度。 最大长度是由 SQLVAR.SQLLEN 的声明(当为主机变量时)或 SQLVAR.SQLLEN 的设置(当为用户定义的 SQLDA 时)来确定的。
6
传送了当前长度(在 LOB 本身的长度字段中,或是由 SQLVAR2.SQLDATALEN 指针指示)大于最大长度的输入“大对象”。 最大长度是由 SQLVAR2.SQLLONGLEN 的声明(当为主机变量时)或 SQLVAR2.SQLLONGLEN 的设置(当为用户定义的 SQLDA. 时)来确定的。
7
双字节字符大对象具有由 SQLVAR2.SQLDATALEN 指针指示的奇数值,它总是以字节为单位,即使对于 DBCLOB 也是如此。
8
SQLDATA 指针无效,或者它指向的存储器空间不够。
9
SQLIND 指针无效,或者它指向的存储器空间不够。
10
SQLDATALEN 指针无效,或者它指向的存储器空间不够。
11
当前 SQL 语句需要特定数目的输入主机变量/SQLVAR。

无法处理该语句。

检查应用程序中是否有记录的任何错误。 注意,程序员不要尝试修改预编译器输出。

sqlcode:-1164

sqlstate:07002

SQL1165W

不能赋值给主机变量,因为该值不在主机变量的数据类型的范围之内。 对主机变量列表执行的 FETCH、VALUES 或 SELECT 失败,因为主机变量不够大,所以不能容纳检索到的值。

继续语句处理,返回空指示符 -2。

验证表定义是否是当前的,并且主机变量是否具有正确的数据类型。 有关 SQL 数据类型的范围,请参阅 SQL Reference

sqlcode:+1165

sqlstate:01515

SQL1166W

尝试用零作除数。 处理算术表达式时导致用零作除数。 返回此警告时可能带有一行,但不是导致警告的行。 例如,这种情况会发生在谓词的算术表达式中,或者发生在使用系统临时表来处理查询时。 可能再次发出警告,因为每当将空指示符变量设置为 -2 时,也会返回该警告。

继续语句处理,使用空值作为除法表达式的结果,并且可能返回空指示符 -2。

检查 SQL 语句以确定问题的原因。 如果问题与数据有关,那么需要检查发生错误时所处理的数据。

sqlcode:+1166

sqlstate:01564

SQL1167W

发生算术溢出或其他算术异常。 处理算术表达式时导致算术溢出、下溢或其他算术异常。 返回此警告时可能带有一行,但不是导致警告的行。 例如,这种情况会发生在谓词的算术表达式中,或者发生在使用系统临时表来处理查询时。 可能再次发出警告,因为每当将空指示符变量设置为 -2 时,也会返回该警告。

继续语句处理,使用空值作为算术表达式的结果,并且可能返回空指示符 -2。

检查 SQL 语句以确定问题的原因。 如果问题与数据有关,那么需要检查发生错误时所处理的数据。 请参阅 SQL Reference 以了解数据类型的有效范围。

sqlcode:+1167

sqlstate:01519

SQL1168N

Load 实用程序 REMOTEFETCH 介质错误。 原因码:原因码 Load 实用程序遇到与 REMOTEFETCH 介质相关联的错误。 这是由下列其中一个原因引起的:

1
无法与 REMOTEFETCH 介质自变量中指定的数据库名称建立连接。
2
REMOTEFETCH 介质自变量中指定的源表名不存在,或者无法访问源表。
3
无法准备(PREPARED)REMOTEFETCH 介质自变量中指定的源查询。
4
源表或源查询的结果集与目标表定义不兼容。
5
从源表或源查询访存记录时出错。
与每个原因码相对应的响应如下所示:

1
确保数据库名称、用户标识和密码自变量全都正确。
2
确保表名正确。
3
确保查询有效。
4
确保源表/源查询的列定义与目标表的列定义兼容。
5
检查 db2diag 日志文件,以确定错误根源。

SQL1169N

说明语句时出错。 原因码:原因码 已调用说明工具来说明先前使用 REOPT ONCE 编译的语句,但是发生了如下列其中一个原因码所描述的错误:

  1. 无法在程序包高速缓存中找到指定的语句。
  2. 尚未使用 REOPT ONCE 编译高速缓存的语句。
  3. 已在带有 REOPT ONCE 的多个环境中编译了高速缓存的语句,不能对其进行唯一地标识。
  4. 对高速缓存的重新优化的语句无法找到值。
  5. Explain 表的一个列太小。 其他信息 标识了模式名、表名和列名以及存储说明工具生成的数据所需的列大小,其格式为 模式名.表名.列名建议大小)。如果名称非常长,那么 其他信息 可能会被截断。 db2diag 日志文件将包含更多详细信息。
对应原因码的用户响应为:

  1. 确保指定的语句文本与程序包高速缓存中的语句的语句文本相匹配。
  2. 使用 REOPT ONCE 重新编译语句。 请参阅《命令参考》以了解详细信息。
  3. 确保语句具有带有 REOPT ONCE 设置的唯一环境。
  4. 确保在最初重新优化了语句的数据库分区上说明了该语句。
  5. 确定必需的列大小在表和数据库中能否放得下。 如果放得下,那么使用 ALTER TABLE 语句来增大列大小。

sqlcode:-1169

sqlstate:560C9

SQL1170N

不能继续执行操作,因为数据库分区 数据库分区 不可用。 数据库分区 数据库分区 不可用。 当将新的存储路径用作 RESTORE 命令的一部分或者运行使用 ON DBPARTITIONNUM 子句的 BACKUP 命令时,就会发生此错误。 在数据库分区变得可用之后重新提交 BACKUP 或 RESTORE 命令。 如果不可用的数据库分区不能变得可用,那么在不指定新的存储路径的情况下重新提交 RESTORE 命令,或者从 BACKUP 命令中排除该数据库分区。

sqlcode:-1170

sqlstate:5U013

SQL1171N

已达到存储路径的最大数目。 一个存储器组的存储路径的最大数目为 128,已经达到了此数目。 发出的 CREATE DATABASE 命令或 ALTER STOGROUP 语句可能包含太多路径,或者数据库可能已经使用了允许的最大数目。 如果运行 CREATE DATABASE 命令时发生了此错误,那么表示指定了太多存储路径。 减少存储路径数,然后重新发出该命令。

如果执行 ALTER STOGROUP 语句时发生了此错误,那么可能指定的路径数超过了允许的最大路径数,或者指定的路径数与此存储器组已经在使用的路径数之和大于最大值。 减少在 ALTER 语句中指定的存储路径数,然后重新提交该语句。

sqlcode:-1171

sqlstate:5U009

SQL1172N

对非目录数据库分区执行的复原操作不能指定自动存储路径。 当复原到分区数据库中的非目录分区时,复原操作指定了存储路径列表。 这是不受支持的。 在不指定存储路径列表的情况下再次执行复原操作,或者首先使用存储路径的新列表来复原目录分区。

sqlcode:-1172

sqlstate:5U010

SQL1173N

复原操作必须指定自动存储路径。 先前已尝试在指定分区数据库中的自动存储路径列表的情况下复原目录分区,但是复原失败。 该目录分区上的任何后续复原操作也必须指定自动存储路径列表。 一旦通过前滚操作使数据库恢复为正常状态,就会从数据库中移除此限制。 在指定自动存储路径列表的情况下再次执行复原操作。

sqlcode:-1173

sqlstate:5U011

SQL1174N

路径 路径 中的数据库分区表达式无效或者它被错误地使用。 原因码:原因码 在指定的路径 路径 中找到了使用 $N 表示法的数据库分区表达式,但是不允许使用该表达式或者它被错误地指定。 原因码如下所示:

1
数据库分区表达式已被用作数据库路径的一部分,隐式地指定为第一个存储路径,或者显式地使用了 DBPATH ON 选项,这些是不允许的。
2
在路径中找到了数据库分区表达式,但是由于存在语法错误而无法对它进行求值。
3
数据库分区表达式指定了超出允许范围的数目。 如果数目是在 N 自变量之前指定 ($[number]N),那么数目可以是从 2 到 6(包括 2 和 6 在内)。
从数据库路径中移除数据库分区表达式。 或者,如果正在从列表中的第一个存储路径来派生数据库路径,那么使用 DBPATH ON 选项来显式地提供数据库路径,而给定的数据库路径不包含数据库分区表达式。 更正数据库分区表达式。 重新提交该命令。

sqlcode:-1174

sqlstate:5U012

SQL1175I

已减少装入分区代理程序数以优化 REMOTEFETCH 的执行。 为了优化 REMOTEFETCH 并行性,Load 实用程序已自动减少了分区代理程序数。

SQL1176N

为 参数-1 参数和 参数-2 参数指定的值不兼容。 为命令或 API 的参数提供了不兼容的值。 修改其中一个参数,然后重新提交该命令。 请参阅 Command or API Reference,以了解有关有效值的更多信息。

SQL1177N

在当前数据库服务器环境中,在运行时执行例程 例程名(特定名称 特定名称)失败。 只能在 Windows 操作系统环境中的数据库服务器上创建和运行 OLE、OLEDB 和 CLR 例程。 而当前数据库服务器不在 Windows 操作系统环境中。 因此无法从此服务器中调用这些例程。 请在 Windows 操作系统环境中的数据库服务器上创建 OLE、OLEDB 或 CLR 例程,然后再次尝试从该数据库服务器中调用这些例程。

sqlcode:-1177

sqlstate:42997

SQL1178N

名为object-name的联合对象类型没有引用联合数据库对象。 由 对象名 标识的类型为 对象类型 的对象是使用关键字 FEDERATED 定义的,但语句中的全查询未引用联合数据库对象。

无法处理该语句。

从语句中移除关键字 FEDERATED。

sqlcode:-1178

sqlstate:429BA

SQL1179W

名为object-name对象类型可能要求调用者在数据源对象上拥有必要的权限。 由 对象名 标识的对象引用联合对象(如 OLE 数据库表函数、联合例程、联合视图或昵称),其中实际数据作为数据源存在。 当访问数据源数据时,用户映射和授权检查是根据启动该操作的用户来进行的。

如果 对象类型 是 SUMMARY TABLE,那么操作正在为具体化查询表刷新数据。 调用了 REFRESH TABLE 或 SET INTEGRITY 语句(这些语句将导致刷新)的用户可能需要具有必需的特权才能访问数据源中的基础数据源对象。

如果 对象类型 是 VIEW,那么该视图的任何用户可能需要具有必需的特权才能访问数据源中的基础数据源对象。

如果 对象类型 是 PROCEDURE、FUNCTION 或 METHOD,那么例程的调用程序可能需要具有必要的特权才能访问例程中的任何 SQL 语句的数据源上的底层数据源对象。

如果 对象类型 是 PACKAGE,并且此消息是在预编译或绑定应用程序时产生的,那么应用程序的调用者可能需要具备必需的特权才能访问此应用程序中的任何静态 SQL 语句的数据源中的底层数据源对象。

如果 对象类型 是 PACKAGE,并且此消息是在创建 SQL 或 XQuery 过程时产生的,那么此过程的调用者可能需要具备必需的特权才能访问此过程中的任何 SQL 语句的数据源中的底层数据源对象。

在任何情况下,尝试访问数据源对象时都可能发生权限错误。

为对象授予特权可能不足以支持从数据源访问数据的操作。 可能需要对数据源中的底层数据源对象授予用户访问权。

如果 对象类型 是 PACKAGE,并且此消息是在预编译或绑定应用程序时产生的,请在 PRECOMPILE(PREP)或 BIND 命令中指定 FEDERATED YES 选项。

如果 对象类型 是 PACKAGE,并且此消息是在创建 SQL 或 XQuery 过程时产生的,请将 SQL 和 XQuery 过程的预编译和绑定选项设置为包含 FEDERATED YES 选项。 通过设置注册表变量 DB2_SQLROUTINE_PREPOPTS 或者调用 SYSPROC.SET_ROUTINE_OPTS 过程来设置 SQL 和 XQuery 过程的预编译和绑定选项。 例如,要设置注册表变量,在操作系统的命令提示符处发出下列命令:

 db2set DB2_SQLROUTINE_PREPOPTS="FEDERATED YES" 

sqlcode: +1179

sqlstate:01639

SQL1180N

例程 例程名 (特定名称 特定名称)导致了一个 OLE 错误。 HRESULT=hresult。 诊断文本:消息正文 数据库管理器在尝试与用户定义的函数 (UDF) 或存储过程 例程名(特定名称 特定名称)的 OLE 自动服务器通信时,接收到 OLE 错误代码。 HRESULT hresult 是返回的 OLE 错误代码,而 消息正文 是检索到的错误消息。

下面显示了错误消息部分列表、HRESULTS 和可能的原因。 OLE 可能更改了错误消息正文,也可能添加了新的错误代码。

未知接口(0x80020001):
指定的 OLE 对象不支持 IDispatch 接口。
类型不匹配(0x80020005):
一个或多个 SQL 数据类型与方法自变量的数据类型不匹配。
未知名称(0x80020006):
找不到指定的 OLE 对象的指定方法名。
无效参数数目(0x8002000E):
传送到方法的自变量数与该方法接受的自变量数不相同。
无效类字符串(0x800401F3):
指定的 ProgID 或 CLSID 无效。
类未注册(0x80040154):
未正确注册 CLSID。
找不到应用程序(0x800401F5):
找不到本地服务器 EXE。
找不到类的 DLL(0x800401F8):
找不到正在处理的 DLL。
服务器执行失败(0x80080005):
创建 OLE 对象失败。
请参阅 OLE Programmer’s Reference Guide,以获取完整文档,包括特殊术语的含义。

sqlcode:-1180

sqlstate:42724

SQL1181N

例程 例程名 (特定名称 特定名称) 发生异常,且描述为 消息正文 用户定义的函数 (UDF) 或存储过程 例程名(特定名称 特定名称)发生了异常。 消息正文显示由例程返回的异常情况的文本式描述。 用户将需要理解异常的含义。 咨询例程的程序设计者。

sqlcode:-1181

sqlstate:38501

SQL1182N

用户定义的函数 函数名 不能初始化指定 OLE 数据库提供程序的数据源对象。 HRESULT=hresult。 诊断文本:消息正文 不能实例化或初始化指定 OLE 数据库提供程序的 OLE 数据库数据源对象。 hresult 是返回的 OLE 数据库错误代码,而 消息正文 是检索到的错误消息。

下面显示 HRESULTS 和可能原因的部分列表。

0x80040154
类(OLE 数据库提供程序)未注册。
0x80040E73
指定的初始化字符串不符合规范。
0x80004005
未指定的错误(初始化期间)。
验证是否正确注册了 OLE 数据库提供程序,以及是否正确初始化了连接字符串中的参数。 查阅 Microsoft OLE DB Programmer’s Reference 和 Data Access SDK 以获取 HRESULT 码和“OLE 数据库核心组件”中的 Data Links API 连接字符串语法的完整文档。

sqlcode:-1182

sqlstate:38506

SQL1183N

用户定义的函数 函数名 从指定的 OLE 数据库提供程序接收到 OLE 数据库错误。 HRESULT=hresult。 诊断文本:消息正文 指定的 OLE 数据库提供程序返回了 OLE 数据库错误代码。 hresult 是返回的 OLE 数据库错误代码,而 消息正文 是检索到的错误消息。

下面显示 HRESULTS 和可能原因的部分列表。

0x80040E14
该命令包含一个或多个错误,例如,传递命令文本中的语法错误。
0x80040E21
出错,例如,提供的 columnID 无效(DB_INVALIDCOLUMN)。
0x80040E37
指定的表不存在。
查阅 Microsoft OLE DB Programmer’s Reference 和 Data Access SDK 以获取 HRESULT 码的完整文档。

sqlcode:-1183

sqlstate:38506

SQL1184N

有一个或多个 EXPLAIN 表不是使用当前版本的 DB2 创建的。 在使用 db2exmig 工具迁移这些表,或者使用当前版本的 DB2 的 CLP 脚本 EXPLAIN.DDL 来删除这些表,然后重新创建它们之前,EXPLAIN 将无法插入到这些表中。 请更正 Explain 表的定义,使其与 sqllib 下 misc 目录中的 CLP 脚本 EXPLAIN.DDL 中为 Explain 表提供的 SQL 数据定义语言语句相匹配。

如果您过去使用所提供的脚本创建了 Explain 表,那么可以使用 db2exmig 工具来迁移这些表,也可以使用当前版本的 DB2 的 CLP 脚本 EXPLAIN.DDL 来删除这些表,然后重新创建它们。 如果您定制了 Explain 表,而不是使用 EXPLAIN.DDL 文件中所提供的定义,那么调整表定义,以便与当前 EXPLAIN.DDL 文件中的表定义更好地匹配。

调整 Explain 表定义之后,重新发出该命令。

sqlcode:-1184

sqlstate:55002

SQL1185N

绑定程序包时不正确地使用了 FEDERATED  如果  为 NO,那么程序包中至少有一个静态 SQL 语句包括对昵称或者 OLE 数据库表函数或 OLE 数据库过程的引用。 在此情况下,必须指定 FEDERATED YES 以绑定程序包。

如果  为 YES,那么程序包中没有静态 SQL 语句包括对昵称或者 OLE 数据库表函数或 OLE 数据库过程的引用。 在此情况下,必须指定 FEDERATED NO 以绑定程序包。

未创建程序包。

指定正确的 FEDERATED 选项。

SQL1186N

名为object-name的对象类型正在被修改为联合对象,或者正在被创建为联合对象,但没有指定 FEDERATED 子句。 由 对象名 标识的对象引用联合对象(如 OLE 数据库表函数、联合例程、联合视图或昵称),其中实际数据作为数据源存在。

如果正在改变非联合视图且全查询现在直接或间接引用联合数据库对象,那么必须指定 FEDERATED。

如果正在改变联合视图且全查询仍直接或间接引用联合数据库对象,那么不能指定 NOT FEDERATED。

如果正在创建具体化查询表并且全查询直接或间接引用联合数据库对象,那么不能指定 NOT FEDERATED。

如果正在创建 SQL 例程并且该例程直接或间接引用联合数据库对象,那么不能指定 NOT FEDERATED。

要将非联合视图改变为联合视图,可指定 FEDERATED 子句。

要改变一个仍将作为联合视图的联合视图,不要指定 NOT FEDERATED 子句。

要创建在其中全查询直接或间接引用联合数据库对象的具体化查询表,不要指定 NOT FEDERATED 子句。

要创建直接或间接引用联合数据库对象的 SQL 例程,不要指定 NOT FEDERATED 子句。

sqlcode:-1186

sqlstate:429BA

SQL1187W

已成功地创建数据库或者对数据库进行升级,但是在创建详细死锁事件监视器 事件监视器名 时发生错误。 未创建详细死锁事件监视器。 CREATE DATABASE 或 UPGRADE DATABASE 命令无法为已创建的数据库或者已升级的数据库创建详细死锁事件监视器。 创建详细死锁事件监视器(如果想要)。

SQL1188N

SELECT 或 VALUES 语句的列 源列号 与表列 目标列号 不兼容。 源列具有 sqltype 源-sql-类型,而目标列具有 sqltype 目标-sql-类型 源列和目标列不兼容。 这可能是由 SELECT 或 VALUES 语句的列的不正确顺序或 METHOD P 或 METHOD N 规范的不正确顺序导致的。 更正命令以便源列和目标列相兼容,然后重新提交命令。

SQL1189N

对于指定的文件类型,指定的 LOAD METHOD 无效。 为指定文件类型指定了无效的 METHOD。 使用另一 METHOD 重新提交命令。

SQL1190N

LOAD 实用程序遇到 SQLCODE sqlcode,SQLSTATE sqlstate 以及消息标记 标记列表 LOAD 实用程序遇到 SQLCODE sqlcode 的错误并且已经停止处理。 在《消息参考》中查找 SQLCODE sqlcode。 执行需要的更正操作,然后重新提交命令。

SQL1191N

在 METHOD 参数中指定的列 列规范 不存在。 列 列规范 不存在于查询的结果中。 更正无效的列规范并重新提交命令。

SQL1192W

为当前文件类型指定了过多的输入源。 允许的最大数目是 最大输入源 指定的文件类型不允许为单个装入指定超过 最大输入源 个的输入源。 以不超出 最大输入源 个的输入源数目重新提交命令.

SQL1193I

实用程序正开始通过 SQL 语句 语句 装入数据。 这是一条参考消息,它指示通过 SQL 语句执行的装入操作已开始。 不需要执行任何操作。

SQL1194W

与目标列号row-num相对应的行col-num中的值无效。 已经拒绝了该行。 拒绝第 行号 行的原因是与目标列 列号 相对应的值对于该列是无效值。

原因可能是:

  • 数值不在它的目标列的最小或最大范围之内。
  • 字符值对于它的目标列过长。
检查输入值。 如果有必要,请定义一个新表,将目标列 列号 替换为更合适的定义列并重复该过程。

SQL1195N

工具目录数据库 数据库名称 创建或初始化在 服务器名 上失败。 SQLCODE = SQLCODE 工具目录数据库 数据库名称 创建或初始化在 服务器名 上失败。 SQLCODE = SQLCODE 请参阅从操作返回的 SQLCODE 的用户响应。

SQL1196W

备份成功完成。 但是,不能与一个或多个“Data Links 文件管理器”联系。 此备份的时间戳记是 备份映像时间戳记 备份成功完成。 在备份处理期间,一个或多个“Data Links 文件管理器”不可用。 当“Data Links 文件管理器”可用时,需要来自它们的附加验证。 停止备份处理期间不可用的“Data Links 文件管理器”。 一旦可与所有“Data Links 文件管理器”联系,数据库管理器将自动完成此备份映像的最终验证。

SQL1197N

命令命令中的关键字关键字指定的值无效。 为 命令 指定的 关键字 值无效。 对于数值,该值可能超过定义的范围。 对于其他类型,指定的值不在定义的一组有效值内。 从命令 命令 的参考文档中确定哪些是有效值并进行适当的更改。 如果此错误已经由 API 返回,那么从 命令 API 的参考文档中确定哪些是相应 API 选项的有效值并进行适当的更改。

SQL1198N

此命令在当前低级别客户机/服务器配置中不受支持。 原因码:原因码 由于服务器与客户机之间不兼容,因此您输入的命令在当前配置中不受支持。 可能的原因码如下所示:

1
不支持可滚动游标从 V8 之前的客户机通过 V8 或更高版本的网关到达数据库服务器。
2
不支持实用程序命令从 V8 之前的客户机通过 V8 或更高版本的网关到达任何数据库服务器。
3
不支持通过 V8 或更高版本的网关来访问 V8 之前的服务器。
4
不支持实用程序命令从 V8 或更高版本的客户机到达 V8 之前的服务器。
5
V8 之前的客户机只能访问使用 CCSID 值创建的表、表函数和过程,该 CCSID 值的相应代码页与数据库代码页相同。
6
不支持执行从 V9 以前的客户机前滚到 V9 或更高版本服务器的表空间时间点前滚命令,这是因为这些命令的某些功能是在客户端运行的。 当 V9 之前的客户机连接至 V9 或更高版本的服务器时,该客户机将不能执行这些操作。
7
后备级别的 API 在当前客户机/服务器配置中不受支持。
98
对于从 V8 或更高版本的客户机与 V8 之前的服务器之间的连接,不支持该操作。
99
对于从 V8 之前的客户机与 V8 或更高版本的服务器之间的连接,不支持该操作。
100
当前客户机中,当前数据库级别不支持表空间时间点前滚命令。 必须将客户机更新为与当前数据库级别兼容的级别,以便运行这些命令。
操作视原因码而定,如下所示:

1
不要从低级别客户机通过网关来使用可滚动游标。 使用直接的客户机/服务器连接或者将客户机升级到兼容的发行版。
2
不要从低级别客户机通过网关来发出实用程序命令。 使用直接的客户机/服务器连接或者将客户机升级到兼容的发行版。
3
使用兼容级别的网关或者配置与服务器的直接连接(不使用网关)。
4
使用兼容的客户机级别来发出 V8 实用程序命令。
5
使用 V8 或更高版本的客户机访问使用 CCSID 值创建的表、表函数和过程,该 CCSID 值的相应代码页与数据库代码页不同。
6
使用 V9.1 客户机来重新提交前滚到时间点命令。 并且,应该前滚到日志末尾(而不是前滚到某个时间点)。
7
使用更高版本的 API,以便继续用于当前客户机/服务器配置。
98
使用兼容级别的客户机来发出此命令或者考虑升级服务器的代码级别。
99
使用兼容级别的服务器来发出此命令,或者考虑升级客户机的代码级别。
100
将客户机更新为与当前数据库级别兼容的级别,然后重新提交“前滚到时间点”命令。

sqlcode:-1198

sqlstate:42997

SQL1200N

对象参数无效。

在 COLLECT DATABASE STATUS 函数调用中为对象参数指定的值无效。 有效值为:

SQLE_DATABASE
收集单个数据库的状态。
SQLE_DRIVE
收集单个路径上的所有 LOCAL 数据库的状态。
SQLE_LOCAL
收集所有 LOCAL 数据库的状态。

无法处理该命令。

更正对象参数,重新提交 COLLECT DATABASE STATUS 函数调用。

SQL1201N

状态参数无效。

在 COLLECT DATABASE STATUS 函数调用中为状态参数指定的值无效。 有效值为:

SQLE_SYSTEM
将收集系统状态。
SQLE_DATABASE
将收集系统状态和数据库状态。
SQLE_ALL
将收集系统状态、数据库状态和用户状态。

无法处理该命令。

更正状态参数,重新提交 COLLECT DATABASE STATUS 函数调用。

SQL1202N

尚未收集状态。 对 GET NEXT DATABASE STATUS BLOCK 或 FREE DATABASE STATUS RESOURCES 函数调用中的 handle 参数指定的值无效。 句柄必须是 COLLECT DATABASE STATUS 函数调用中返回的正函数值。

这是进程中执行的第二个 COLLECT DATABASESTATUS 函数调用。 第一个 COLLECT DATABASE STATUS 调用已终止;不能再使用它的句柄。

无法处理该命令。

更正 handle 参数并重新提交 COLLECT DATABASE STATUS 函数调用。

SQL1203N

没有用户与该数据库相连。 请求了数据库的用户状态,但是没有用户与该数据库相连。

无法处理该命令。

验证数据库名称和连接状态。 用当前正在使用的数据库重新提交该命令。

SQL1204N

已安装的数据库管理器版本不支持代码页 代码页 和/或地域代码 地域代码 此版本的数据库管理器不支持活动代码页和/或地域代码。

无法处理该命令。

选择此版本的数据库管理器支持的活动代码页和地域代码。

联合系统用户:如果有必要,请找出导致请求失败的数据源中的问题,并选择联合服务器和数据源都支持的活动代码页和地域代码。

退出当前的程序,并返回到操作系统。

sqlcode:-1204

sqlstate:22522

SQL1205N

已指定的代码页 代码页 和/或地域代码 地域 无效。 此版本的 DB2 不支持“创建数据库”命令指定的活动代码页和/或地域代码。

无法处理该命令。

有关 Db2/2 支持的有效代码页和地域代码对的详细信息,请参阅命令参考中的“创建数据库”命令。

SQL1206N

在此数据库配置中不支持 PRUNE LOGFILE。

在下列情况下,不支持 PRUNE LOGFILE 请求:

  1. 数据库不处于可恢复方式。 如果 LOGARCHMETH1 设置为 DISK、TSM、VENDOR、USEREXIT 或 LOGRETAIN,或者如果 LOGARCHMETH2 设置为 DISK、TSM 或 VENDOR,那么数据库处于可恢复方式。
  2. 活动的日志文件路径设置为原始设备。
不要对此数据库发出 PRUNE LOGFILE 命令。

SQL1207N

找不到通信管理器配置文件 名称 在指定的路径中或者缺省驱动器上的 CMLIB 目录中找不到在 CATALOG NODE 命令中指定的通信管理器配置文件名。

无法处理该命令。

用正确的配置文件名和路径重新提交该命令。

SQL1208W

可用内存量可能影响了 Load 实用程序的性能。 Load 实用程序无法分配所有请求的内存。 操作仍能够成功完成,但性能可能欠佳。 可供 Load 实用程序使用的内存量由 Load 实用程序的 DATA BUFFER 选项值确定,或者由 util_heap_sz 数据库配置参数值确定。 如果合适,为将来的 Load 实用程序调用增大内存限制值。

SQL1209W

在 CATALOG NODE 函数中指定的 partner_lu 名 名称 不存在。 已创建一个名称。 在位于缺省驱动器的 CMLIB 目录中的通信管理器配置文件中不存在 CATALOG NODE 函数中指定的逻辑伙伴单元名。

创建了指定名称的逻辑单元概要文件。

不需要执行任何操作。

SQL1210W

为一个或多个配置文件参数返回缺省值。 返回的一个或多个 DOS 请求者/WINDOWS 请求者的配置值是缺省值。 可能在“DOS 请求者/WINDOWS 请求者”配置文件中没有定义该参数,或者打不开配置文件,或者读取文件时出错。 确保“DOS 请求者/WINDOWS 请求者”的配置文件存在于适当路径中,并且显式地定义了该参数。

SQL1211N

计算机名称 名称 无效。 在 NPIPE 协议结构中对 Catalog 命令指定的计算机名称无效。 计算机名称的大小必须为 15 个字符或更少。

无法处理该命令。

验证计算机名称是否有效,并重新提交该命令。

SQL1212N

实例名 名称 无效。 为 Catalog 命令指定的实例名无效。 实例名的大小必须为 8 个字符或更少。

无法处理该命令。

验证实例名是否有效,并重新提交该命令。

SQL1213N

更改密码 LU 名 名称 无效。 在 APPN 协议结构中对 CATALOG 命令指定的更改密码逻辑单元(LU)名称无效。

更改密码 LU 名是远程 SNA LU 名,且必须是 1 到 8 个字符。 有效字符为 A 到 Z、a 到 z、0 到 9、#、@ 和 $。第一个字符必须是字母或特殊字符:#、@ 或 $。系统会将小写字符更改为大写。

无法处理该命令。

验证在更改密码 LU 名中指定的字符。

用有效的更改密码 LU 名重新提交该命令。

SQL1214N

事务程序名 名称 无效。 在 CATALOG 命令的 APPN 协议结构中指定的事务程序(TP)名无效。

TP 名是远程“SNA 应用程序”TP 名,且必须是 1 到 64 个字符。 有效字符为 A 到 Z、a 到 z、0 到 9、#、@ 和 $。第一个字符必须是字母或以下特殊字符:#、@ 或 $。

无法处理该命令。

验证 TP 名中指定的字符。

用 TP 名重新提交该命令。

SQL1215N

LAN 适配器地址 地址 无效。 在 CATALOG 命令的 APPN 协议结构中指定的 LAN 适配器地址无效。

LAN 适配器地址是远程 SNA LAN 适配器地址,必须是 12 位十六进制数。

无法处理该命令。

验证 LAN 适配器地址。

用有效的 LAN 适配器地址重新提交该命令。

SQL1216N

此数据库不支持图形数据和图形函数。 数据库的代码页不支持图形数据。 数据类型 GRAPHIC、VARGRAPHIC、LONG VARGRAPHIC 和 DBCLOB 对于此数据库无效。 GRAPHIC 文字和 VARGRAPHIC 标量函数对于此数据库无效。

无法处理该语句。

联合系统用户:数据源也可能会检测到此情况。

使用有效的数据类型重新提交该命令。

sqlcode:-1216

sqlstate:56031

SQL1217N

目标数据库不支持 REAL 数据类型。 SQL 操作正在使用数据类型 REAL(单精度浮点数)作为输入变量或输出变量。 在此请求的目标数据库上不支持 REAL 数据类型。

未处理该语句。

将与 SQL 数据类型 REAL 相对应的任何主机变量的声明替换为与应用程序中的 SQL 数据类型 DOUBLE 相对应的声明。

sqlcode:-1217

sqlstate:56099

SQL1218N

在缓冲池 缓冲池号 中当前没有任何页面可用。 当前正在使用缓冲池中的所有页。 请求使用另一个页面失败。

无法处理该语句。

缓冲池不够大,此时无法向所有数据库进程或线程提供页。 缓冲池太小,或者存在的活动进程或线程太多。

如果再次执行,该语句可能成功。 如果频繁发生此错误,那么下列某些操作或所有操作可能会防止进一步的故障:

  1. 增大缓冲池大小
  2. 减小数据库代理程序和/或连接的最大数目。
  3. 减小最大并行度
  4. 减小此缓冲池中表空间的预取大小。
  5. 将某些表空间移到其他缓冲池中。

sqlcode:-1218

sqlstate:57011

SQL1219N

因为无法分配专用虚拟内存,所以请求失败。 实例不能分配足够的专用虚拟内存用来处理请求。 这可能是在其他(不相关)进程中执行共享内存分配的结果。

可以通过下列方法来更正问题:

  • 停止在机器上正在运行的其他应用程序,特别是那些使用大量共享内存的应用程序。

sqlcode:-1219

sqlstate:57011

SQL1220N

数据库管理器无法分配共享内存。 数据库管理器在不同时间分配内存和取消分配内存。 发生特定事件时(例如,应用程序建立连接时),可以为特定内存区分配内存;当配置发生更改时,也可以取消分配内存。

通常,如果由于发生了下列其中一个问题而使得数据库管理器无法执行操作,就会返回此消息:

  • 数据库管理器的内存资源不足
  • 环境内存资源不足

具体来说,如果下列类型的内存资源存在分配或配置问题,就会返回此消息:

  • 实例内存
  • 系统中可用的物理内存量
  • 系统中分配的共享内存标识数
  • 共享内存段的大小
  • 系统中可用的调页空间量或交换空间量
调查当前内存配置,作为对此消息的响应:

  • 将数据库管理器配置参数 instance_memory 设置为 AUTOMATIC。
  • 验证是否有足够的内存资源可用于满足数据库管理器和系统上正在运行其他程序的需求。
  • 在 32 位 Linux 上,将内核参数 shmmax 增大到 256 MB。 在 64 位 Linux 上,将内核参数 shmmax 增大到 1GB。
  • 适当情况下,通过停止其他正在使用系统的程序来释放系统资源以供数据库管理器使用。

SQL1221N

无法分配应用程序支持层堆。

无法分配应用程序支持层堆。 导致此错误的原因可能是数据库管理器或正在尝试的操作环境中的内存资源不足。 可导致此错误的内存资源包括:

  • 系统中分配的共享内存标识数
  • 系统中可用的调页空间量或交换空间量
  • 系统中可用的物理内存量

下列其中一项或多项:

  • 验证是否有足够的内存资源可用于满足数据库管理器和系统上正在运行其他程序的需求。
  • 减小 aslheapsz 配置参数。
  • 在适当的地方,停止使用该系统的其他程序。

sqlcode:-1221

sqlstate:57011

SQL1222N

应用程序支持层堆中没有足够的存储空间可用来处理请求。 使用了应用程序支持层堆中的所有可用的内存。 增大配置参数 aslheapsz 的值。

sqlcode:-1222

sqlstate:57011

SQL1224N

由于数据库管理器发生错误或者被强制中断,从而无法接受新的请求,已终止正在处理的所有请求或者已终止所指定的请求。 可能会由于多种原因而返回此消息,其中包括:

客户机/服务器配置问题
  • 在使用 TCP/IP 协议的客户机/服务器环境中:对客户机上的 TCP/IP 服务名称指定的端口号与服务器上的端口号不同。 联合服务器或数据源可以检测到这种错误情况。
数据库管理器代理程序不可用
  • 在数据库服务器上,已停止或者尚未启动数据库管理器。
  • 管理员已强制使数据库代理进程与系统脱离。
  • 数据库管理器进程异常终止。
此用户标识没有足够的权限
  • 此用户标识在另一具有 SYSADM 权限的用户发出 FORCE QUIESCE 命令时被强制与系统脱离。 FORCE QUIESCE 命令将强制使所有对数据库或实例不具有 CONNECT QUIESCE 权限或者不属于具有 CONNECT QUIESCE 权限的组的用户与系统脱离。
  • 在 Windows 操作系统环境中:启用了“扩展安全性”,并且此用户标识不是 DB2USERS 或 DBADMINS 组的成员。
数据库目录冲突
  • 存在两个数据库,即一个本地数据库和一个远程数据库,并且它们的数据库名称和数据库别名都相同。
  • 已将一个本地数据库编目为远程数据库。
  • 在更改一个或多个数据库的编目方式之后,由于数据库管理器仍在使用数据库编目信息的高速缓存副本,因此这些更改未生效。
达到已配置的数据库限制或系统资源限制
  • 应用程序使用的事务日志空间量超出 max_log 或 num_log_span 数据库配置参数所允许使用的空间量。
  • 协调代理程序不足,无法处理应用程序请求。 如果应用程序在 WITH HOLD 游标中挂起锁定,并且进行排队以便以集中器方式执行,那么可能会导致活动代理程序被挂起以等待这些锁定。
  • 此连接的空闲时间超出 CONNECTIONIDLETIME 阈值所指定的时间。
  • 某个使用此连接的工作单元的持续时间超出 UOWTOTALTIME 阈值所指定的时间,并且此连接已由于阈值操作指定了 FORCE APPLICATION 而终止。
  • 某个查询的运行时间超出 SQL_ATTR_QUERY_TIMEOUT 语句属性所指定的时间。
所请求的功能不受支持
  • 尝试连接到处于轻度重新启动方式的成员。
在新添加的成员上激活数据库
  • 如果正在新添加的成员上首次激活数据库,那么新添加的成员上的后续数据库连接尝试直到首次激活完成后才能成功。
重新连接至数据库。

如果此连接仍发生故障,请在数据库管理员的帮助下执行下列故障诊断步骤:

  1. 仅限于联合环境:确定是联合数据源返回了错误还是联合数据库服务器返回了错误。
  2. 确保客户机/服务器配置正确:
    1. 确认通信子系统(包括网络电缆、网卡以及 TCP/IP 之类的通信协议)是否已启动并处于运行状态。
    2. 在使用 TCP/IP 协议的客户机/服务器环境中:请对客户机上的 TCP/IP 服务名称指定与服务器上的端口号相同的端口号。
  3. 确保数据库管理器已启动并处于运行状态:
    1. 确定数据库管理器是否已启动并处于运行状态。
    2. 在 db2diag 日志文件中查找有关数据库管理器进程已中断或异常终止的证据。
    3. 如果数据库管理器已停止,或者诊断日志中存在有关任何数据库管理器代理程序已中断或异常终止的证据,请重新启动数据库管理器。
  4. 确保此用户标识有权执行下列操作:
    • 如果数据库或实例已停顿,请执行下列其中一项操作:
      • 取消停顿数据库或实例。
      • 将此用户标识添加到具有 CONNECT QUIESCE 权限的组。
    • 在 Windows 操作系统环境中:如果已启用“扩展安全性”,请将相应的用户标识添加至本地 Windows 安全组 DB2USERS 或 DB2ADMNS。
  5. 消除任何数据库目录冲突:
    1. 将本地数据库目录内容和系统目录内容与数据库配置作比较。 尤其是,查找下列问题:
      • 确保没有任何两个数据库的名称或别名相同。
      • 确保将本地数据库编目为本地数据库,并确保将所有远程数据库都编目为远程数据库。
    2. 对数据库的编目方式进行任何更改之后,请停止并重新启动数据库管理器实例。
  6. 进行必要的配置和应用程序更改,以避免超出数据库或操作系统限制:通过复查 db2diag 日志文件确定已超出的限制,然后执行下列一项或多项更改:
    • 通过进行下列一项或多项更改,减少应用程序由于使用过多事务日志空间而被强制关闭的机会:
      • 更改应用程序,以便更频繁地发出落实语句。
      • 增大 max_log 或 num_log_span 数据库配置参数。
    • 通过进行下列一项或多项更改,减少应用程序由于没有足够的协调代理程序而被强制关闭的机会:
      • 增大 max_coordagents 的值(相对于 max_connections 的值而言)。
      • 减少对 WITH HOLD 游标的使用。
    • 通过增大 CONNECTIONIDLETIME 阈值,减少连接由于空闲时间过长而被关闭的机会。
    • 通过增大 UOWTOTALTIME 阈值,减少连接由于工作单元的执行时间过长而被关闭的机会。
    • 通过增大 SQL_ATTR_QUERY_TIMEOUT 语句属性或使用 CLI/ODBC 配置关键字 QueryTimeoutInterval,减少查询发生超时的机会。
    • 在 32 位 AIX 环境中:通过执行下列一项或多项更改,减少耗尽 AIX 共享内存的机会:
      • 将数据库编目为使用 TCP/IP 的回送数据源。
      • 如果应用程序正在将多个上下文与本地协议配合使用,请减少应用程序中的连接数或者切换到另一协议(例如 TCP/IP)。
      • 如果应用程序支持 EXTSHM 参数,并且内存资源足以支持使用此参数,请设置此参数。
  7. 根据需要更改应用程序,以避免采用不受支持的使用方案:
    • 为了避免连接到处于轻度重新启动方式的 DB2 成员,请指定未处于轻度重新启动方式的成员,或者不要指定任何特定成员,而是允许数据库管理器将连接路由到适当的成员。
  8. 对于 DB2 for z/OS 服务器:在 z/OS 诊断消息中,收集作为连接关联标记 (CRRTKN) 来报告的应用程序标识及逻辑工作单元标识 (LUWID) 的服务器诊断信息(例如 z/OS SVC 转储)。

在 DB2 pureScale 环境中,如果已添加新成员,那么必须先等待激活操作完成,然后才能从新成员中打开后续数据库连接。 否则,请从另一个现有成员进行连接。

sqlcode:-1224

sqlstate:55032

SQL1225N

请求已失败,因为已达到操作系统进程、线程或交换空间的限制。 已达到操作系统进程、线程或交换空间的限制。 可以在管理通知日志找到更多有关该问题的信息。 检查管理通知日志以确定达到了哪些限制,并增大该限制。

sqlcode:-1225

sqlstate:57049

SQL1226N

已经启动了最大数目的客户机连接。 客户机连接的数目已经与在系统配置文件中为实例定义的最大值相等。

可能会针对用于维护操作的系统驱动的连接数报告此错误。 这种连接数的上限为活动用户工作负载的百分比。 当不允许更多的连接时,以后将会自动重试这些操作。

不能处理该操作。

等待其他应用程序与数据库断开连接。 如果要求一个或多个应用程序并发运行,请增大 max_connections 的值。 如果由于客户机尝试连接而返回此错误,那么您可能还需要考虑将 max_connections 设置为 AUTOMATIC,以便在有足够的内存来支持连接的情况下允许任意数目的连接。 如果 max_connections 的值大于 max_coordagents 的值,那么将会开启集中器功能部件。

sqlcode:-1226

sqlstate:57030

SQL1227N

的目录统计量值超出其目标列的范围、格式无效或与其他统计量不一致。 原因码 = code 为可更新的目录提供的统计信息值或格式无效、超出范围或不一致。 对值、范围和格式最常见的检查是(对应于 代码):

1
数字统计信息值必须是 -1 或者 >= 0。
2
表示百分比的数字统计信息(例如,CLUSTERRATIO)必须在 0 到 100 之间。
3
当采用违反有关手动更新列统计信息的规则的方式来尝试更新 HIGH2KEY 和/或 LOW2KEY 时,会返回此消息,且返回码为 3。
4
PAGE_FETCH_PAIRS 相关规则:

  • 必须用一系列空白定界符将 PAGE_FETCH_PAIRS 统计信息中的各个值分隔开。
  • 在单个 PAGE_FETCH_PAIR 统计信息中必须刚好有 11 对。
  • 如果 CLUSTERFACTOR > 0,那么必须始终有一个有效 PAGE_FETCH_PAIRS 值。
  • PAGE_FETCH_PAIRS 统计信息中的各个值不能超过 19 位并且必须小于最大整数值(MAXINT = 9223372036854775807)。
  • PAGE_FETCH_PAIR 的缓冲区大小条目必须按值进行升序排列。 而且,PAGE_FETCH_PAIRS 条目中的任何缓冲区大小值都不能大于 MIN(NPAGES, 1048576)(对于 32 位平台)和 MIN(NPAGES, 2147483647)(对于 64 位平台),其中 NPAGES 是相应的表中的页数。
  • AVGPARTITION_PAGE_FETCH_PAIRS 的各个“fetches”条目的值必须按降序排列,并且各个 fetches 条目都不小于 NPAGES。 另外,AVGPARTITION_PAGE_FETCH_PAIRS 条目中的任何“fetch”大小值不能大于相应的表的 CARD(基数)统计信息。
  • 如果在两个连续的配对中缓冲区大小值相同,那么在这两个配对中的页访存值也必须相同。
5
CLUSTERRATIO 和 CLUSTERFACTOR 相关规则:

  • CLUSTERRATIO 的有效值是 -1 或者在 0 到 100 之间
  • CLUSTERFACTOR 的有效值是 -1 或者在 0 和 1 之间
  • CLUSTERRATIO 或 CLUSTERFACTOR 的其中一个必须一直为 -1。
  • 如果 CLUSTERFACTOR 为正值,那么它必须伴随一个有效的 PAGE_FETCH_PAIR 统计信息。
6
列(SYSCOLUMNS 中的 COLCARD 统计信息)或列组(SYSCOLGROUPS 中的 COLGROUPCARD)的基数不能大于它的相应表 (SYSTABLES 中的 CARD 统计信息)的基数。
7
没有统计信息支持用户定义的结构类型。 对于具有下列数据类型的列,仅限于为 AVGCOLLEN 和 NUMNULLS 提供统计信息支持:LONG VARCHAR、LONG VARGRAPHIC、BLOB、CLOB 和 DBCLOB。
8
统计信息与此实体的其他相关统计信息不一致,或者在此上下文中无效。
9
对于不是分区表的那些表,不能更新 SYSSTAT.INDEXES 中的下列表分区统计信息:AVGPARTITION_CLUSTERRATIO、AVGPARTITION_CLUSTERFACTOR、AVGPARTITION_PAGE_FETCH_PAIRS 和 DATAPARTITION_CLUSTERFACTOR
10
AVGPARTITION_PAGE_FETCH_PAIRS 相关规则:

  • 必须用一系列空白定界符将 AVGPARTITION_PAGE_FETCH_PAIRS 统计信息中的各个值分隔开。
  • 在单个 AVGPARTITION_PAGE_FETCH_PAIR 统计信息中必须刚好有 11 对。
  • 如果 AVGPARTITION_CLUSTERFACTOR > 0,那么必须始终有一个有效 AVGPARTITION_PAGE_FETCH_PAIRS 值。
  • AVGPARTITION_PAGE_FETCH_PAIRS 统计信息中的各个值不能超过 19 位并且必须小于最大整数值(MAXINT = 9223372036854775807)。
  • AVGPARTITION_PAGE_FETCH_PAIRS 的缓冲区大小条目必须按值进行升序排列。 而且,AVGPARTITION_PAGE_FETCH_PAIRS 条目中的任何缓冲区大小值都不能大于 MIN(NPAGES, 1048576)(对于 32 位平台)和 MIN(NPAGES, 2147483647)(对于 64 位平台),其中 NPAGES 是相应的表中的页数。
  • AVGPARTITION_PAGE_FETCH_PAIRS 的各个“fetches”条目的值必须按降序排列,并且各个 fetches 条目都不小于 NPAGES。 另外,AVGPARTITION_PAGE_FETCH_PAIRS 条目中的任何“fetch”大小值不能大于相应的表的 CARD(基数)统计信息。
  • 如果在两个连续的配对中缓冲区大小值相同,那么在这两个配对中的页访存值也必须相同。
11
AVGPARTITION_CLUSTERRATIO 和 AVGPARTITION_CLUSTERFACTOR 相关规则:

  • AVGPARTITION_CLUSTERRATIO 的有效值是 -1 或者在 0 到 100 之间。
  • AVGPARTITION_CLUSTERFACTOR 的有效值是 -1 或者在 0 到 1 之间。
  • AVGPARTITION_CLUSTERRATIO 或 AVGPARTITION_CLUSTERFACTOR 必须一直为 -1。
  • 如果 AVGPARTITION_CLUSTERFACTOR 为正值,那么它必须伴随一个有效的 AVGPARTITION_PAGE_FETCH_PAIR 统计信息。
12
DATAPARTITION_CLUSTERFACTOR 相关规则:

  • DATAPARTITION_CLUSTERFACTOR 的有效值是 -1 或者在 0 到 1 之间。
13
AVGCOMPRESSEDROWSIZE 相关规则:

  • AVGCOMPRESSEDROWSIZE 的有效值为 -1 或者在 0 到 AVGROWSIZE 之间。
14
AVGROWCOMPRESSIONRATIO 相关规则:

  • AVGROWCOMPRESSIONRATIO 的有效值为 -1 或者大于 1。
15
PCTROWSCOMPRESSED 相关规则:

  • PCTROWSCOMPRESSED 的有效值为 -1 或者在 0 到 100 之间(包括 0 和 100 在内)。
确保新目录统计信息满足指示的范围、长度和格式检查。

确保对统计信息的任何更新在它们的内部关系上(例如,基数)是一致的。

对于不是分区表的那些表,不要尝试更新特定于分区表的那些统计信息列。

sqlcode:-1227

sqlstate:23521

SQL1228W

DROP DATABASE 已完成,但在num节点上找不到数据库别名或数据库名称 已成功完成删除数据库的命令,但是,在某些节点上找不到数据库别名或数据库名称。 可能在这些节点上执行了 DROP DATABASE AT NODE。 这只是一条警告消息。 无需进行任何响应。

SQL1229N

因为系统错误,所以已回滚了当前事务。 发生了下列情况之一:

  1. 发生了系统错误(例如,成员故障或连接故障)。 应用程序已回滚至上一次 COMMIT。请注意,就 DB2 实用程序函数而言,对其行为描述如下:
    导入
    已回滚应用程序。 如果使用了 COMMITCOUNT 参数,那么该操作将回滚到先前的落实点。
    重组
    操作被异常终止且必须重新提交。
    重新分发
    操作异常终止;但是,可能已成功完成该操作的一部分。 用“继续”选项再次发出请求,将从故障点重新启动该操作。
    前滚
    操作被异常终止,且数据库仍处于前滚暂挂状态。 必须重新提交该命令。
    备份/复原
    操作被异常终止且必须重新提交。
  2. 为 FCM(快速通信管理器)通信分配的服务端口号并非在数据库管理器实例中的所有成员上都相同。 检查所有成员上所使用的 services 文件,以确保这些端口相同。 端口是使用以下格式定义的:
        DB2_<instance>       xxxx/tcp    DB2_<instance>_END   xxxx/tcp 

    其中 <instance> 是实例名称,而 xxxx 是端口号。 确保这些端口号未用于 DB2 远程客户机支持。

  1. 重试该请求。 如果错误仍存在,那么可以在管理通知日志中找到有关该问题的更多信息。 可能需要与系统管理员联系以获取帮助,因为发生此错误的最常见原因是成员已失败。如果在 db2nodes.cfg 文件中所定义的网络名和主机名不同,那么在这样的环境中,此错误可能意味着网络名接口中发生了故障。 这同时适用于多分区数据库环境和 DB2 pureScale 环境。
  2. 将所有成员上的服务端口更新为相同,然后重试该请求。

SQLCA 的第六个 sqlerrd 字段将指示检测到成员故障的成员编号。 在检测到故障的成员上,db2diag 日志文件将包含一条消息,用于指出已失败的成员。

sqlcode:-1229

sqlstate:40504

SQL1230W

至少有一个指定的代理程序标识不能被强制。

至少有一个在 Force 命令中指定的代理程序标识不能被强制。 此警告的原因可能是:

  • 指定的代理程序标识不存在或无效。
  • 在收集代理程序标识和发出 Force 命令的时间段之间,代理程序与数据库管理器断开连接。
  • 指定的代理程序标识用于不能强制的并行代理程序。
如果指定的代理程序标识不存在或无效,那么使用有效的代理程序标识来再次尝试运行该命令。

SQL1231N

指定的“强制”计数无效。 为 Force 命令的计数参数指定的值无效。 指定的值必须是正整数或 SQL_ALL_USERS。 如果值为 0 将导致错误。 更正计数值,并重新提交该命令。

SQL1232N

指定的“强制”方式无效。 为 Force 命令的方式参数指定的值无效。 Force 命令只支持异步方式。 必须将该参数设置为值 SQL_ASYNCH。 将方式设置为 SQL_ASYNCH 并重新提交该命令。

SQL1233N

语句失败,因为语句所使用的功能只有在 Unicode 数据库中或者含有特定数据库整理的 Unicode 数据库中才受支持,但当前数据库不是 Unicode 数据库,或者是含有不受支持数据库整理的 Unicode 数据库。 仅 Unicode 数据库才支持下列功能:

  • NCHAR、NVARCHAR 和 NCLOB 数据类型。
  • 按照 UX’hex-digits’ 格式指定 UCS-2 十六进制常数。
  • NCHAR、NVARCHAR、NCLOB、 TO_NCHAR、 TO_NCLOB 和 EMPTY_NCLOB 标量函数。
  • 图形表达式,作为 VARCHAR 标量函数的第一个参数。
  • 图形表达式,作为 VARGRAPHIC 标量函数的第一个参数(如果指定了第二个参数)。
  • 定义字符串数据类型时指定 CODEUNITS32。
  • 定义图形字符串数据类型时指定 CODEUNITS16 或 CODEUNITS32。

仅具有 IDENTITY 或 IDENTITY_16BIT 整理的 Unicode 数据库才支持下列功能:

  • 按列组织的表。
要对下列消息作出响应,请执行下列其中一项操作:

  • 重新发出语句,其中不指定仅在 Unicode 数据库或含有特定整理的 Unicode 数据库中才受支持的功能。
  • 将数据库重新创建为 Unicode 数据库或含有受支持整理的 Unicode 数据库,然后重新发出语句。

sqlcode:-1233

sqlstate:560AA

SQL1234N

无法将表空间 表空间名 转换为 LARGE 表空间。 只有 REGULAR DMS 表空间才能转换为 LARGE DMS 表空间。 系统目录表空间、SMS 表空间和临时表空间不能转换为 LARGE 表空间。 通过发出 SELECT TBSPACE、TBSPACETYPE、DATATYPE FROM SYSCAT.TABLESPACES WHERE TBSPACE = ‘表空间名‘ 来验证表空间的属性。 表空间不能是系统目录表空间(TBSPACE 不能是 ‘SYSCATSPACE’),它必须是 DMS 表空间(TBSPACETYPE 必须为 ‘D’),并且还必须是 REGULAR 表空间(DATATYPE 必须为 ‘A’)。

sqlcode:-1234

sqlstate:560CF

SQL1235N

表空间tablespace-name受表table-name限制,不能转换为 LARGE 表空间。 分区表在多个 REGULAR DMS 表空间中具有数据分区。 表空间必须包含分区表的所有数据分区才能将该表空间转换为 LARGE 表空间。

要成功转换分区表的表空间:

  1. 对于包含该分区表的数据分区的每个表(除了其中一个表空间之外),使这些表空间中的数据分区与该分区表拆离。 落实拆离操作。
  2. 使用 ALTER TABLESPACE 语句的 COVERT TO LARGE 选项来转换这些表空间中的每个表空间。 落实每条语句。
  3. 转换包含该分区表的其余数据分区的表空间。 落实此操作。
  4. 使用 REORG INDEXES ALL FOR TABLE 表名 ALLOW NO ACCESS 重建分区表的索引,或者通过重组分区表来重建索引。
  5. 对因与数据分区拆离而产生的新表进行重组。
  6. 将每个表重新连接至分区表。

sqlcode:-1235

sqlstate:560CF

SQL1236N

REORG 命令失败。 表 表名 不能分配新页,这是因为标识为 索引标识 的索引尚不支持大型 RID。 已通过 ALTER TABLESPACE 语句的 CONVERT TO LARGE 子句将此表所在的表空间转换为 LARGE 表空间。 该表本身是不支持大型 RID 的,除非对该表先前具有的所有索引进行重组或重建,从而使它支持大型 RID。 必须重组或重建索引,以支持此表将来的增大。 可以使用“REORG INDEXES ALL FOR TABLE 表名”命令的重建选项对索引进行重组。 对于分区表,必须指定 ALLOW NO ACCESS。 另外,可以重组表(使用 REORG TABLE 语句,但是不要附带 INPLACE 子句),重组表时不仅将重建所有索引,而且将使表能够支持每页超过 255 行。

sqlcode:-1236

sqlstate:55066

SQL1237W

表空间 表空间名 正在从 REGULAR 表空间转换为 LARGE 表空间。 必须对此表空间中的表的索引进行重组或重建,以便支持大型 RID。 在执行 COMMIT 之后,正在转换的表空间将支持比 REGULAR 表空间的存储容量更大的存储容量。 REGULAR 表空间中一个数据页的最大页号为 0x00FFFFFF。 要使一个表支持大于 0x00FFFFFF 的页号,必须重组或重建该表的索引。 在 SQL Reference 中,ALTER TABLESPACE 语句的说明指定了使用 CONVERT TO LARGE 选项的最佳实践。 请遵循这些建议来主动重组或重建 此表空间中所有表的所有索引,以防止将来在为表分配大于 0x00FFFFFF 的页号时可能发生的故障。

sqlcode:+1237

sqlstate:01686

SQL1238N

指定要返回给客户机的结果集无效。 原因码:原因码

CREATE PROCEDURE (Sourced) 语句中 WITH RETURN TO CLIENT 子句指定的结果集无效。 可能的原因码是:

1
如果数据源是 Microsoft SQL Server、Sybase 或 Informix,那么对于由 CREATE PROCEDURE (Sourced) 语句的 WITH RETURN TO CLIENT 子句返回的结果集集合,其位置号指定的结果集不等于 1。
2
如果数据源是 Oracle,那么对于由 CREATE PROCEDURE (Sourced) 语句中的 WITH RETURN TO CLIENT 子句返回的结果集集合,其最大位置号大于数据源上的最大 REF CURSORS 数。

基于原因码的操作是:

1
移除对返回的结果集集合中任何不为 1 的位置号的引用。
2
移除对返回的结果集集合中任何大于数据源上最大 REF CURSORS 数的位置号的引用。

sqlcode:-1238

sqlstate:560CI

SQL1239N

在数据库服务器 V9.5 和更低版本上,只能在单一分区数据库中使用 pureXML 数据存储器功能。 在数据库服务器 V9.5 和更低版本上,只能对只有一个数据库分区的数据库使用 XML 数据存储器功能。 但是,分区数据库环境中未提供诸如定义数据类型为 XML 的列、注册 XML 模式存储库对象和 XQuery 表达式的功能。 在数据库服务器 V9.5 和更低版本上,对于具有多个数据库分区的数据库,可以将 XML 数据输入到接受 XML 输入的那些函数,并将函数输出存储在数据库中或者将其返回给应用程序。 在这种情况下,要使用 pureXML 存储器的功能,需要在一个单独的未使用数据库分区功能的实例中创建新的数据库。 同样,要使用数据库分区功能,必须使用一个尚未使用 pureXML 存储器功能的数据库,或者需要在单独的分区数据库环境中创建新的数据库。

sqlcode:-1239

sqlstate:42997

SQL1240N

已达到最大停顿者数。 尝试获得已被 5 个进程停顿的表空间的停顿状态。 等待其中一个进程脱离其停顿状态,然后再次尝试。

SQL1241N

创建数据库时,为 表空间名 表空间定义指定了无效值。 属性为 字符串 表空间属性的值超过范围。 标识的属性是此结构的字段名。 更正创建数据库请求。

SQL1242N

在使用 XML 功能的上下文中不支持该功能。 原因码:原因码 由于尝试在不支持 XML 功能的上下文中使用该功能,因此无法处理该语句。 上下文由 原因码 指示:

1
在数据库服务器 V9.5 和更低版本上,在按维组织的表中不支持数据类型为 XML 的列。
2
在数据库服务器 V9.5 和更低版本上,在分区表中不支持数据类型为 XML 的列。
3
不能将数据类型为 XML 的列添加到已包含 1 类索引的表中。 从 V9.7 开始,将停止使用 1 类索引,它将被替换为 2 类索引。
4
不能对包含 XML 列的表定义分布键。
5
在 INSTEAD OF 触发器的目标视图中不支持数据类型为 XML 的列。
6
不支持在触发器定义中引用数据类型为 XML 的转换变量。
7
对于一个包含数据类型为 XML 的列的表,用于删除 XML 列的操作必须通过单个 ALTER TABLE 语句来删除此表中的所有 XML 列。

在数据库服务器 V9.5 和更低版本上,以及对于包含数据类型为 XML 的列的表,不能在 ALTER TABLE 语句中指定 REORG 建议的操作。

8
只有在列定义不包含任何选项时,与昵称定义相关联的包装器才支持数据类型为 XML 的列。 这样的列将引用从数据源返回的 XML 文档的内容。
9
在函数中的复合 SQL(编译型)语句、触发器或复合 SQL(直接插入型)语句中,不允许引用 XML 数据类型或值。 只有在过程中的复合 SQL(编译型)语句中,才支持 XML。
100
在分区数据库环境中,具有 XML 列的表仅在包含数据库目录表的数据库分区(IBMCATGROUP 数据库分区)中受支持。
101
在 DB2 V9.7 之前,ADD DBPARTITIONNUM 命令和 REDISTRIBUTE DATABASE PARTITION GROUP 命令在其中包含具有 XML 列的表的数据库分区组中不受支持。
102
在分区数据库环境中,分解带注释的 XML 模式仅在其中包含数据库目录表的数据库分区(IBMCATGROUP 数据库分区)中受支持。
103
在分区数据库环境中,下列与 XML 相关的命令仅在其中包含数据库目录表的数据库分区(IBMCATGROUP 数据库分区)中受支持。

  • COMPLETE XMLSCHEMA
  • REGISTER XMLSCHEMA
  • ADD XMLSCHEMA DOCUMENT
  • REGISTER XSROBJECT
104
在分区数据库环境中,要让应用程序处理 XML 数据,必须将此应用程序连接至其中包含数据库目录表的数据库分区(IBMCATGROUP 数据库分区)。
105
在分区数据库环境中,不支持具有类型为 XML 的参数或变量的 SQL 函数。
操作视原因码而定,如下所示:

1
在数据库服务器 V9.5 和更低版本上,不要对按维组织的表中定义的任何列使用 XML 数据类型。
2
在数据库服务器 V9.5 和更低版本上,不要对分区表中定义的任何列使用 XML 数据类型。
3
在发出 ALTER TABLE 命令来添加类型为 XML 的列之前,请使用附带 CONVERT 参数的 REORG INDEXES ALL 命令将表的现有索引转换为 2 类索引。
4
更改表定义以避免同时使用分布键和 XML 列。 在 CREATE TABLE 语句中,这可以通过移除 DISTRIBUTE BY 或 PARTITIONING KEY 子句或者通过移除所有具有 XML 数据类型的列来实现。 在 ALTER TABLE 语句中,在添加类型为 XML 的列之前删除分布键,或者在添加分布键之前删除所有 XML 列。
5
不要指定包含数据类型为 XML 的列的视图作为 INSTEAD OF 触发器目标。
6
不要在触发器定义中使用数据类型为 XML 的转换变量。
7
对于一个包含多个数据类型为 XML 的列的表,要么不删除任何 XML 列,要么使用单个 ALTER TABLE 语句来删除此表中的所有 XML 列。

在数据库服务器 V9.5 和更低版本上,请从 ALTER TABLE 语句中移除 REORG 建议的任何替代操作。

8
在昵称定义中,检查具有列选项的类型为 XML 的列。 对于每个不正确的列定义,请更改数据类型或者移除所有列选项。
9
从复合 SQL(编译型)语句中移除 XML 数据类型或值引用,或者将该复合 SQL(编译型)语句包括在 SQL 过程中。
100
要创建具有 XML 列的表,请在 IBMCATGROUP 数据库分区中创建此表。
101
通过下列其中一种方式对此原因码作出响应:

  • 如果由于尝试向其中包含具有 XML 列的表的数据库分区组添加新的数据库分区而返回了此消息,那么向其中不包含具有 XML 列的表的数据库分区组添加新的数据库分区。
  • 如果由于尝试在其中包含具有 XML 列的表的数据库分区组中重新分发数据而返回了此消息,那么不需要作出响应。 不支持在其中包含具有 XML 列的表的数据库分区组中重新分发数据。
102
在分区数据库环境中,要使用“分解带注释的 XML 模式”方法来分解 XML 文档,请在其中包含数据库目录表的数据库分区(IBMCATGROUP 数据库分区)中执行分解。
103
要执行与 XML 相关的操作,请在 IBMCATGROUP 数据库分区中运行必需的命令。
104
要处理 XML 数据,请将应用程序连接至目录分区(IBMCATGROUP 数据库分区)。
105
要在分区数据库环境中使用 SQL 函数,请改变该函数以移除类型为 XML 的任何参数和变量。

sqlcode:-1242

sqlstate:42997

SQL1243W

删除 SYSTOOLS.DB2LOOK_INFO db2look 操作表失败。 UPGRADE DATABASE 命令将检查数据库是否具有一个名为 SYSTOOLS.DB2LOOK_INFO 的 db2look 操作表,如果存在,就将其删除。 如果数据库包含同名但列定义不同的表,删除表命令就会失败。 在完成数据库升级之后,检查 SYSTOOLS.DB2LOOK_INFO 表的定义。 如果此表是系统创建的表,那么应手动将其删除。 如果它是用户创建的表,那么应该将其重命名。 否则,执行 ALTER TABLE 和 COPY SCHEMA 语句会失败。

SQL1244W

在下次 COMMIT 时,事务管理器数据库 服务器名 将断开连接。 向正用作 TM 数据库的数据库发出断开连接请求。 在处理了下一个 COMMIT 之前,不能完成断开连接。 如果必须立即断开正用作 TM 数据库的数据库,那么在继续执行前发出 COMMIT 语句。

sqlcode:+1244

sqlstate:01002

SQL1245N

已达到连接限制。 此客户机不允许更多连接。 对于连接数量受限制或者必须预定义的环境,已经达到并发数据库连接的最大数量。 在建立任何连接之前,通过发出 SET CLIENT 命令来设置最大连接数。

sqlcode:-1245

sqlstate:08001

SQL1246N

当存在连接时,不能更改连接设置。

发生了下列情况之一:

  • 尝试更改使用 SET CLIENT API 的应用程序的连接设置。 但是此操作被拒绝,因为存在一个或多个连接。
  • 应用程序包含“DB2 调用级接口 API”调用和对包含嵌入式 SQL 的函数的调用,并且未使用 CLI API 来调用连接管理。

可能的操作:

  • 确保在尝试发出 SET CLIENT API(sqlesetc 或 sqlgsetc)或 CLP 命令之前,应用程序已与所有服务器断开连接。
  • 如果应用程序正在使用 CLI,那么确保所有连接管理请求都是通过“DB2 调用级接口 API”发出的。

SQL1247N

正在 XA 事务处理环境中运行的应用程序必须使用 SYNCPOINT TWOPHASE 连接设置。 应用程序是用选项 SYNCPOINT ONEPHASE 或 SYNCPOINT NONE 来预编译的,或者使用 SET CLIENT API 来将 SYNCPOINT 连接设置更改为这些值的其中之一。 这些设置对于导致执行事务处理同步点命令(例如,CICS SYNCPOINT)的应用程序无效。 注意,SYNCPOINT ONEPHASE 是缺省预编译器选项。

可能的操作:

  • 使用预编译器选项 SYNCPOINT TWOPHASE 来重新预编译应用程序。
  • 修改程序,以便在执行其他任何处理之前,调用 SET CLIENT API 来将连接选项设置为 SYNCPOINT TWOPHASE。

sqlcode:-1247

sqlstate:51025

SQL1248N

未用事务管理器定义数据库 数据库别名 尝试访问尚未被事务管理器打开的数据库。 为了参与两阶段落实进程,必须向事务管理器定义数据库。 将数据库定义为“分布式事务处理”环境的事务管理器的资源管理器。 例如,在 CICS 环境中,这要求将数据库添加至 XAD 文件,并在 XAD 条目的 XAOpen 字符串中提供数据库别名。

sqlcode:-1248

sqlstate:42705

SQL1249N

不支持 DATALINK 数据类型。 必须删除或改变 数据库对象 以避免使用 DATALINK 数据类型。 db2ckupgrade 命令已确定了出现的 DATALINK 数据类型,该数据类型将导致对数据库进行升级失败。

使用 DATALINK 数据类型的数据库对象包括表、视图、函数、方法、单值类型和结构化数据类型。

在尝试对数据库进行升级之前,请移除或更新 数据库对象 标识的数据库对象,该对象引用了 DATALINK 数据类型。

SQL1250N

由于在实例中已使用了 XML 功能,因此未添加数据库分区。 数据库管理器实例已至少创建了一个数据库并在数据库中创建了 XML 对象,例如包含数据类型为 XML 的列的表或者 XML 模式存储库对象。 即使 XML 对象不再存在,也仍然会认为该数据库管理器实例已使用 XML。 一旦认为数据库管理器实例已按此方式使用了 XML,就不再允许该实例使用多个数据库分区。 任何添加数据库分区的尝试都将返回此错误。 如果实例中的任何数据库使用了数据类型为 XML 的列或者 XML 模式存储库对象,那么需要另一个实例才能建立包含多个数据库分区的实例。

如果实例中的数据库实际上并未打算存储 XML 数据,那么必须从该实例中移除任何对 XML 数据的引用。 即使不再有数据类型为 XML 的列和 XML 模式存储库对象,实例和数据库也仍然包含指示符。 可以通过两种方法来清除实例 XML 指示符和数据库级 XML 指示符。

  1. 从实例的现有数据库中导出非 XML 数据。 创建包含新数据库的新实例。 将数据导入到新实例的数据库中。
  2. 通过使用受密码保护的 db2pdcfg 选项,更改实例中每个数据库的数据库配置中的 XML 指示符以及实例的数据库管理器配置中的 XML 指示符。 在完成此操作前,实例中任何数据库都不能包含任何类型为 XML 的列,并且每个数据库的 XML 模式存储库都必须是空的,这一点非常重要。 请与 IBM 服务机构联系以了解如何使用此选项。

SQL1251W

没有为试探查询返回任何数据。 数据库中没有不确定事务,也没有任何已结束并正在等待进入同步点进程的事务。 不需要执行任何操作。

SQL1252N

对于 CREATE PROCEDURE (Sourced) 语句中指定的源过程 源过程名,在数据源上标识了多个过程。 原因码:原因码

对于 CREATE PROCEDURE (Sourced) 语句中指定的源过程 过程名,在数据源上标识了多个过程。 可能的原因码是:

1
在数据源上有多个源过程具有完全相同的源过程名和源模式名。
2
在数据源上有多个源过程具有完全相同的源过程名、源模式名和 NUMBER OF PARAMETERS。
3
在数据源上有多个源过程具有完全相同的源过程名。

基于原因码的操作是:

1
在 CREATE PROCEDURE (Sourced) 语句中指定 NUMBER OF PARAMETERS 以帮助唯一地标识数据源上的过程。
2
在 CREATE PROCEDURE (Sourced) 语句中指定 UNIQUE ID 以帮助唯一地标识数据源上的过程。
3
在 CREATE PROCEDURE (Sourced) 语句中指定源模式名以帮助唯一地标识数据源上的过程。

sqlcode:-1252

sqlstate:42725

SQL1253N

在数据源上找不到名为 源过程名 的源过程。 原因码:原因码

在数据源上找不到 CREATE PROCEDURE (Sourced) 语句中指定的源过程。 可能的原因码是:

1
源对象名与 NUMBER OF PARAMETERS 未标识数据源上的过程。
2
源对象名、NUMBER OF PARAMETERS 与 UNIQUE ID 未标识数据源上的过程。
3
在数据源上找不到 CREATE PROCEDURE (Sourced) 语句中指定的源程序包名。
4
在数据源上已将 CREATE PROCEDURE (Sourced) 语句中指定的源程序包名标记为无效
5
源对象名未标识数据源上的过程。
6
源对象名指定了 UNIQUE ID,但是,在数据源上不支持 UNIQUE ID。

基于原因码的操作是:

1
验证指定的 NUMBER OF PARAMETERS 是否正确。
2
验证指定的 UNIQUE ID 对于数据源是否有效并且是否标识了数据源上的过程。
3
验证指定的源程序包名是否正确。
4
更正数据源上的程序包定义。
5
验证指定的源对象名是否正确。
6
移除 UNIQUE ID 子句。

sqlcode:-1253

sqlstate:42883

SQL1254N

联合服务器或数据源服务器名称不支持数据类型data-type。 用于存储过程procedure-name 中的参数parameter-name 所访问的联合服务器或数据源不支持对过程指定的参数的数据类型。 指定受支持的数据类型,然后重新提交该程序。

sqlcode:-1254

sqlstate:428C5

SQL1255N

为存储过程procedure-name指定的选项与源程序的相应选项不匹配。 CREATE PROCEDURE (Sourced) 语句中指定的 SQL 数据访问值(NO SQL、CONTAINS SQL、READS SQL DATA 或 MODIFIES SQL DATA)、确定性性(DETERMINISTIC 或 NOT DETERMINISTIC)或外部操作值(EXTERNAL ACTION 或 NO EXTERNAL ACTION)与源过程的对应选项不匹配。 更正选项值以便与源过程的对应选项匹配。

sqlcode:-1255

sqlstate:428GS

SQL1256W

在数据源上找不到源过程 源过程名 的程序包主体,或者它无效。 已成功地创建了联合过程,但是在数据源上找不到源过程 过程名 的程序包主体,或者它无效。 在调用联合过程之前,确保源过程的程序包主体有效。

sqlcode:+1256

sqlstate:0168A

SQL1257N

查询必须包含一个谓词,使用 nicknamenickname 中的column-name 列 数据源要求使用所指示的列的谓词。 但是,查询未包含该谓词,或者查询包含该谓词,但该谓词在查询编译期间不可用于数据源包装器。 如果查询中的谓词未使用必需的列,那么适当地添加使用该列的谓词。 如果查询中的谓词使用了必需的列,那么重构查询以使该谓词有效。 数据源的文档列示了有效的谓词。

sqlcode:-1257

sqlstate:429C0

SQL1258N

必须在 IBMCATGROUP 数据库分区组中创建 SYSTOOLSPACE 和 SYSTOOLSTMPSPACE 表空间。 为了创建 SYSTOOLSPACE 和 SYSTOOLSTMPSPACE 表空间,必须在 IBMCATGROUP 数据库分区组中对其进行定义。 重新提交 CREATE TABLESPACE 命令并指定 IN IBMCATGROUP 子句。

sqlcode:-1258

sqlstate:560CJ

SQL1259N

由于 SQLCODESQLCODE,数据库分区partition-list上数据库db-name的 ARCHIVE LOG 命令失败。 尝试对数据库分区 分区列表 上的数据库 数据库名称 发出 ARCHIVE LOG 命令时发生 SQL 错误。 请参阅 Message Reference 中的 SQLCODE 以了解用户响应并重新提交 ARCHIVE LOG 命令。

SQL1260N

数据库名称未配置为在节点node-list 上进行前滚恢复。 未对指定节点上的前滚恢复配置指定的数据库。 如果”,…” 显示在节点列表末尾,请参阅管理通知日志以获取完整节点列表。

在指定的节点上未前滚数据库。

(注意:如果正在使用分区数据库服务器,那么节点号指示哪些节点出错。 否则,它是无关的,应被忽略。)

确保在指定节点上需要进行恢复,然后在这些节点上复原数据库的最新备份版本。

SQL1261N

因为数据库 名称 在节点 节点列表 上未处于前滚暂挂状态,所以在这些节点上不需要前滚。 在指定的节点上,指定的数据库未处于前滚暂挂状态。 这可能是因为尚未复原该数据库,或者使用了 WITHOUT ROLLING FORWARD 选项来进行复原,或者在这些节点上完成了前滚恢复。

如果”,…” 显示在节点列表末尾,请参阅管理通知日志以获取完整节点列表。

数据库没有前滚。

(注意:如果正在使用分区数据库服务器,那么节点号指示哪些节点出错。 否则,它是无关的,应被忽略。)

执行下列操作:

  1. 确保指定节点上需要进行恢复。
  2. 在这些节点上复原数据库的备份版本。
  3. 发出 ROLLFORWARD DATABASE 命令。

SQL1262N

对前滚数据库 名称 指定的时间点无效。 为时间点停止值指定的时间戳记参数无效。 时间戳记必须以 ISO 格式输入(YYYY-MM-DD-hh.mm.ss.<ssssss>,其中 YYYY 表示年份,MM 表示月份,DD 表示日,hh 表示小时,mm 表示分钟,ss 表示秒,ssssss 表示可选微秒)。

数据库没有前滚。

确保时间戳记的输入格式正确。

发出 ROLLFORWARD DATABASE 命令时,确保没有指定大于 2105 年的年份。

SQL1263N

归档日志文件logfile不是数据库分区dbpartitionnum和日志流log-stream-ID 上数据库数据库名称的有效日志文件。 所指定数据库分区上的数据库日志目录或溢出日志目录中存在所指定的归档日志文件,但是此文件无效。

前滚恢复处理停止。

(注意:如果您正在使用分区数据库服务器,那么数据库分区号指示发生错误的数据库分区。 否则,此值无关,应当忽略。)

要确定正确的归档日志文件,发出带有 QUERY STATUS 选项的 ROLLFORWARD DATABASE 命令。 将正确的归档日志文件移入数据库日志目录中,或者,如果数据库处于一致状态,那么将日志路径更改为指向正确的归档文件,并再次发出 ROLLFORWARD DATABASE 命令。 或者,使用指向正确归档文件的溢出日志路径重新发出此命令。

SQL1264N

存档日志文件logfile不属于数据库分区dbpartitionnum和日志流log-stream-ID 上的数据库数据库名称 在日志目录或者溢出日志目录中找到了所指定的归档日志文件,但是此文件不属于所指定的数据库。

前滚恢复处理停止。

(注意:如果您正在使用分区数据库服务器,那么数据库分区号指示发生错误的数据库分区。 否则,此值无关,应当忽略。)

要确定不属于此数据库的第一个归档日志文件,请发出带有 QUERY STATUS 选项的 ROLLFORWARD DATABASE 命令。 要继续执行前滚恢复,请执行下列操作:

  • 如果您使用的是溢出日志路径,请验证它是否适用于正确的数据库并且包含正确的归档文件。
  • 如果您未使用溢出日志路径,请查找正确的归档日志文件并将它们复制到数据库日志目录中。

要停止前滚恢复,请在发出 rollforward DATABASE 之前执行下列其中一个步骤 …STOP 命令:

  • 从活动日志路径以及归档路径(其中包括溢出路径)中移除无效的日志文件
  • 在活动日志路径以及归档路径(其中包括溢出路径)中将无效的日志文件替换为正确的日志文件

SQL1265N

归档日志文件logfile与数据库分区dbpartitionnum上数据库database-name和日志流log-stream-ID 的当前日志序列无关。 为了进行前滚恢复,必须按正确顺序处理日志文件。 日志文件序列由已经复原的数据库或者已经处理的日志文件来确定。 而且,对于表空间级别的前滚恢复,必须按数据库到达当前状态所经历的顺序来处理日志文件。 在所指定数据库分区上的数据库的日志目录或溢出日志路径中找到了所指定的归档日志文件,但是日志文件未采用正确的日志顺序。

前滚恢复处理停止。

(注意:如果您正在使用分区数据库服务器,那么数据库分区号指示发生错误的数据库分区。 否则,此值无关,应当忽略。)

要确定正确的归档日志文件,发出带有 QUERY STATUS 选项的 ROLLFORWARD DATABASE 命令。 将正确的归档日志文件移至数据库日志目录,或者,如果数据库处于一致状态,将日志路径更改为指向正确的归档文件,并再次发出 ROLLFORWARD DATABASE 命令。 或者,用指向正确归档文件的溢出日志路径重新提交该命令。

SQL1266N

前滚操作失败,因为所指定的时间点值无效。 此前滚操作是先前前滚操作的延续。 但是,为此前滚操作所指定的时间点值早于为先前前滚操作所指定的时间点值。 数据库或表空间名称:数据库或表空间名称。 为先前前滚操作所指定的时间点值:时间戳记 当前滚操作失败、中断或者虽然完成了但是未包括 STOP 或 COMPLETE 选项时,您必须通过再次调用 ROLLFORWARD 命令或 db2Rollforward API 来继续执行前滚操作。 但是,无法前滚到比为先前前滚操作所指定的时间点值更早的时间点。

如果前滚操作是先前未完成的前滚操作的延续,而先前前滚操作运行到的时间点晚于为此前滚操作所指定的时间点,就会返回此消息。 当继续执行已运行到某个时间点的前滚操作时,新的前滚操作必须为下列其中一项:

  • 前滚到同一时间点
  • 前滚到更晚的时间点
  • 前滚到日志末尾

数据库前滚操作和表空间前滚操作都可能会发生此错误。

发生此错误时,前滚处理将停止。

通过下列其中一种方式对此错误作出响应:

  • 在指定有效时间点值的情况下重新提交 ROLLFORWARD 命令或 db2Rollforward API。
  • 在指定要前滚到日志末尾的情况下重新提交 ROLLFORWARD 命令或 db2Rollforward API。
  • 通过执行下列步骤从备份映像进行恢复:
    1. 从备份映像复原数据库或表空间子集。
    2. 重新提交 ROLLFORWARD 命令或 db2Rollforward API。

SQL1267W

An integrity verification failure occurred on log file 日志文件 for database 数据库名 on database partition dbpartitionnum and log stream log-stream-ID which has been archived. 此日志文件将不可用。 此数据库配置为用于日志归档,日志文件已归档,但发生完整性验证失败。 数据库恢复操作(例如,复原或前滚)或可能需要已归档日志文件数据的其他操作需要此日志文件时,此日志文件将不可用。 此外,db2ReadLog API 或读取日志文件数据的其他工具无法处理此日志文件。

如果数据库引擎的验证检查在日志归档前发现日志存在问题,那么发生完整性验证失败。 与验证检查失败相关的详细信息将写至 db2 诊断日志文件 (db2diag.log)。

建议立即执行完整数据库备份操作以建立新的恢复起始点。 这可帮助在需要进行数据库复原或前滚恢复时消除对此日志文件的需要。 同样,如果 db2ReadLog API(或可能读取已归档日志文件数据的其他工具)无法处理此日志文件,那么依赖日志文件数据的应用程序必须在稍后的日志文件中建立新的起始点。

SQL1268N

前滚恢复处理已停止,因为在数据库分区 dbpartitionnum 和日志流 log-stream-ID 上检索数据库 database-name 的日志文件 logfile 时发生错误 error 前滚处理无法检索必需的日志文件。 有时候,由于您尝试将备份映像复原到的目标系统对于源系统所使用的工具没有访问权而无法归档其事务日志,因此会返回此错误。

(注意:如果您正在使用分区数据库服务器,那么数据库分区号指示发生错误的数据库分区。 否则,此值无关,应当忽略。)

  • 请确保通过检查管理通知日志来正确执行日志归档。 请更正任何错误,然后继续执行前滚恢复。
  • 如果已将数据库配置为通过用户出口程序使用日志归档,那么检查用户出口诊断日志,以确定在执行该用户出口程序时是否发生错误。 请更正错误,然后继续执行前滚恢复。
  • 请确保您尝试将备份映像复原到的目标系统对于源系统所使用的工具具有访问权,从而归档其事务日志。 进行适当的更改,然后继续进行前滚恢复。

SQL1269N

已经在运行表空间级前滚恢复。 尝试使用表空间级前滚恢复,但它已经在运行。 在任何给定的时间,只能有一个代理程序可以执行前滚恢复。 一直等到表空间级别前滚恢复完成。 如果其他表空间需要恢复,那么再次启动表空间级别前滚恢复。

SQL1270C

将 LANG 环境变量设置为 字符串。 不支持这种语言。 将 LANG 环境变量设置为数据库管理器不支持的一种语言。 不能继续处理。 将 LANG 环境变量设置为一种受支持的语言。 有关更多信息,请参阅管理指南中的“本地语言支持”附录。

联合系统用户:请参阅联合系统指南以获取 NLS 信息。

SQL1271W

已经恢复了数据库 名称,但是,成员或节点 节点列表 的一个或多个表空间已脱机。 在崩溃恢复、数据库级前滚恢复或表空间级前滚恢复之后可能会产生此消息。 对于数据库级前滚恢复,如果指定了 STOP 选项,那么数据库可用。 所指定成员或节点上的一个或多个表空间不可用。 在下列情况下,可能会发生这种情况:

  • 一个或多个表空间在恢复期间接收到 I/O 错误。
  • 恢复之后一个或多个表空间可能需要存储器定义。
  • 一个或多个表空间不可用,必须删除。
  • 一个或多个表空间已脱机。
  • 当正在进行表空间级前滚恢复时,复原了附加的表空间。
  • 前滚数据库时超过了先前的表空间前滚时间点,导致涉及到的所有表空间都处于复原暂挂状态。

可以通过 MON_GET_TABLESPACE 表函数在所指定的成员或节点上标识处于脱机状态的表空间。 在非 DB2 pureScale 的环境中,还可以使用 db2dart 实用程序。 管理通知日志将提供有关特定表空间的更多信息。

如果”,…” 显示在成员或节点列表末尾,请参阅管理通知日志以获取完整的成员或节点列表。

注:只有在 DB2 pureScale 环境和分区数据库环境中,成员或节点号才会提供有用的信息。 否则,应忽略此消息。

如果有必要,请修复或复原表空间,并运行前滚恢复。 如果出现相同的消息,那么尝试脱机运行表空间级前滚恢复。

SQL1272N

数据库 名称 的表空间级别前滚恢复在完成成员或节点 节点列表 之前已停止。 在可以前滚所有符合条件的表空间之前,表空间级前滚恢复已在指定的成员或节点上停止。

可能会由于下列类型的原因而返回此消息:

  • 事务表已满。
  • 所有正在前滚的表空间接收到 I/O 错误。
  • 在正在前滚的其中一个表空间上,时间点表空间级前滚遇到 I/O 错误。
  • 时间点表空间级前滚遇到活动事务,该事务更改了正在前滚的其中一个表空间。 此事务可能是不确定事务。
  • 表空间级前滚被中断,在继续前滚之前,再次复原所有正在前滚的所有表空间。
  • 表空间前滚状态信息已损坏或者丢失。
  • 发生了锁定超时或死锁。

如果”,…” 显示在成员或节点列表末尾,请参阅管理通知日志以获取完整的成员或节点列表。

注:只有在 DB2 pureScale 环境和分区数据库环境中,成员或节点号才会提供有用的信息。 否则,应忽略此消息。

检查管理通知日志以找出原因。 根据原因来执行下列其中一项操作:

  • 使用 MON_GET_TABLESPACE 表函数来确定表空间是否接收到了 I/O 错误。 如果表空间接收到 I/O 错误,请更正这些错误。
  • 如果事务表已满,那么增大数据库配置参数 MAXAPPLS 的值,或尝试脱机运行表空间级前滚恢复。
  • 如果是因为活动事务或不确定事务造成的,那么完成该事务。
  • 如果在中断先前的表空间级前滚之后复原了表空间,那么立即取消先前的表空间级前滚。 下一个表空间级前滚命令将检查处于前滚暂挂状态的表空间。
  • 取消前滚操作,这将使表空间置于复原暂挂状态。 在重新发出 ROLLFORWARD 命令之前,复原表空间级别的备份映像。

再次运行表空间级别前滚恢复。

SQL1273N

An operation reading the logs on database 数据库名 cannot continue because of a missing log file 日志文件名 on database partition dbpartitionnum and log stream log-stream-ID. 此操作在所给定日志流的归档、数据库日志目录或者溢出日志目录中找不到所指定的日志文件。 用于读取日志的操作已停止。 此操作是恢复操作、前滚操作、调用 db2ReadLog API 或者是任何其他需要访问事务日志的操作。

如果执行的操作是崩溃恢复,那么数据库将处于不一致状态。 如果执行的操作是前滚操作,那么此操作已停止,并且数据库处于前滚暂挂状态。

通过执行下列其中一项操作来恢复缺少的日志文件:

  • 将所指定的日志文件移到数据库日志目录中,并重新启动此操作。
  • 如果可以指定溢出日志路径,那么在指定其中包含日志文件的路径的情况下,使用溢出日志路径来重新启动此操作。

如果找不到缺少的日志文件,请确定是否存在下列其中一种特殊情况:

  • 如果执行的操作是 ROLLFORWARD DATABASE 命令,以通过日志装入来维护备用系统,那么发生此错误可能是正常的,因为在主站点上可用的某些文件可能在备用系统上尚不可用。 为了确保您的备用系统为最新,请在每次执行前滚操作之后发出带有 QUERY STATUS 选项的 ROLLFORWARD DATABASE 命令,以验证是否正在正常进行日志重放。 如果您发现备用系统上的前滚操作在持续的一段时间内没有任何进展,请确定报告为缺少的日志文件在备用系统上不可用的原因并解决相应的问题。 请注意,可以使用 ARCHIVE LOG 命令来截断主系统上当前处于活动状态的日志文件,从而使它们适合于在备用系统上进行归档以及随后进行重放。
  • 如果从联机备份映像(唯一可用的日志就是那些包括在备份映像中的日志)中执行复原操作之后发出了附带 TO END OF LOGS 选项的 ROLLFORWARD DATABASE 命令,那么要考虑两种可能情况:
    • 第 1 种情况:前滚操作找到了备份映像中所包含的所有日志文件。 但是,前滚操作仍然会查找在执行原始备份操作之后已更新的日志文件。 通过发出带有 STOP 选项(没有 TO END OF LOGS 选项)的 ROLLFORWARD DATABASE 命令使数据库处于一致状态。 为了避免将来发生这种情况,请使用 END OF BACKUP 选项而不使用 END OF LOGS 选项,因为前滚操作将不会查找在执行备份之后已更新的日志文件。
    • 第 2 种情况:前滚操作找不到备份映像中所包含的一个或多个日志文件。 要使数据库处于一致状态,必须具备这些日志文件。 通过发出带有 STOP 选项(没有 TO END OF LOGS 选项)的 ROLLFORWARD DATABASE 命令尝试使数据库处于一致状态将失败,并产生 SQL1273N;按本节中前面所述恢复缺少的日志文件。

如果无法恢复缺少的日志文件:

  • 如果操作是执行 ROLLFORWARD DATABASE 命令,那么可以附带 STOP 选项(没有 END OF LOGS 选项或者 END OF BACKUP 选项)再次发出 ROLLFORWARD DATABASE 命令以使数据库处于一致状态。 如果不可接受此一致性点(恰好在缺少的日志文件前面),那么可以通过对 ROLLFORWARD DATABASE 命令提供一个先前的时间戳记,从而复原数据库并前滚到缺少的日志文件前面的任何时间点。
  • 如果操作是执行附带 STOP 或 COMPLETE 选项(没有 END OF LOGS 选项或者 END OF BACKUP 选项)的 ROLLFORWARD DATABASE 命令,那么需要缺少的日志文件以使数据库处于一致状态。 因为您无法恢复缺少的日志文件,所以您必须复原并前滚到先前的某个时间点(只要此时间点不在最短恢复时间之前即可)。
  • 如果操作是调用 db2ReadLog 或者 db2ReadLogNoConn API 以便复制数据,那么重新同步已复制的表并终止此 API 所使用的当前连接。 如果正在使用 API 来维护灾难恢复站点,那么必须将缺少的日志文件中最后的时间戳记之后所创建的备份映像复原到灾难恢复站点之后,才能成功完成后续的 API 调用。 如果此 API 正在用于任何其他用途,那么终止此 API 正在使用的连接并取消激活数据库。 在所有情况下,通过与数据库创建新的连接并通过查询操作来调用 API 来重新开始扫描。 下一次调用此 API 时,使用 nextStartLRI 作为 piStartLRI。

SQL1274N

数据库 名称 需要前滚恢复,且时间点必须到达日志末尾。 该数据库需要前滚。 对于数据库级前滚恢复,因为正在进行到达日志末尾的数据库级前滚,所以时间点必须是到达日志末尾。 要继续前滚,必须指定相同的停止时间。

对于表空间级前滚恢复,由于下列原因之一,时间点必须是日志结束时的时间点:

  • 系统目录需要前滚恢复。 系统目录必须始终前滚到日志结束时,以便与其他所有表空间保持一致。
  • 正在进行直到日志结束时的表空间级前滚。 要继续前滚,必须指定相同的停止时间。
  • 对表空间级别前滚指定的时间点位于数据库日志末尾之后。 此时间很有可能不正确。 如果这就是所需的恢复停止时间,请重新提交命令并指定 END OF LOGS 选项。

数据库没有前滚。

重新提交 ROLLFORWARD 命令,并指定 ROLLFORWARD TO END OF LOGS。

SQL1275N

传递给前滚实用程序的停止时间必须大于或等于 timestamp时间戳,因为节点列表中的数据库名称包含的信息晚于指定时间。 传送至 Rollforward 实用程序的停止时间必须大于或等于指定节点上备份结束的时间。

如果”,…” 显示在节点列表末尾,请参阅管理通知日志以获取完整节点列表。

(注:如果您正在使用分区数据库服务器,那么节点号指示发生了错误的节点。 否则,它是无关的,应被忽略。)

请执行下列其中一项操作:

  • 重新提交该命令,并指定大于或等于 时间戳记 的停止时间。
  • 在指定节点上复原较早的备份,然后再次发出 ROLLFORWARD DATABASE 命令。

SQL1276N

由于节点node-number包含的信息晚于指定时间,因此在前移经过大于或等于时间戳的时间点之前,数据库名称无法脱离前移待处理状态。 通过指定调用程序操作 SQLUM_ROLLFWD_STOP、SQLUM_STOP、SQLUM_ROLLFWD_COMPLETE 或 SQLUM_COMPLETE,请求让数据库或表空间的子集脱离前滚暂挂状态。 但是,已联机备份了数据库或至少一个要前滚的表空间。 在指定节点上将数据库或所有表空间前滚至联机备份时间戳记之前,不能对请求授权。

如果未提供所有日志文件以执行所请求的恢复,那么也会发生此错误。

(注意:如果正使用分区数据库服务器,那么节点号指示发生错误的节点。 否则,它是无关的,应被忽略。)

如果在 ROLLFORWARD 命令上指定的停止时间小于 时间戳记,那么重新提交该命令,并指定大于或等于 时间戳记 的停止时间。

验证是否提供了所有日志文件。 ROLLFORWARD QUERY STATUS 命令显示要处理的下一个日志文件。 丢失日志文件的某些原因包括:

  • 更改了日志路径。 可在旧的日志路径中找到该文件。
  • 数据库管理器从当前 LOGARCHMETH1 或 LOGARCHMETH2 数据库配置参数所反映的归档位置中找不到日志文件。

如果找到丢失的日志文件,那么将其复制至日志路径并重新提交该命令。

SQL1277W

正在执行重定向复原操作。 在复原表空间期间,只有正在复原的表空间才能重新配置它们的路径。 在复原数据库期间,可以重新配置存储器组存储路径和 DMS 表空间容器。 Restore 实用程序将验证在系统上当前是否可访问正在复原的每个表空间所需要的容器。 只要有可能,如果容器不存在,Restore 实用程序就会创建这些容器。 如果不能创建这些容器,这些容器当前正被其他表空间使用,或者由于其他任何原因而使得容器是不可访问的,那么必须更正所需要的容器列表,才能继续执行复原操作。

在重定向复原中,正在复原的非自动存储器表空间的每个容器的状态都将被设置为“必须定义存储器”。 这使得可以对这些容器使用 SET TABLESPACE CONTAINERS 命令或 API 来重新定义它们的存储器。

对于使用自动存储器的表空间,重新定义容器路径的唯一方法是:对特定存储器组使用 SET STOGROUP PATHS 命令,或者在发出 RESTORE DATABASE 命令时使用 ON 关键字,以重新定义存储器组路径。 不能对自动存储器表空间使用 SET TABLESPACE CONTAINERS 命令或 API。

要确定正在复原的每个表空间的容器列表,请使用 MON_GET_CONTAINER 表函数。 要指定每个表空间的已更新列表,使用 SET TABLESPACE CONTAINERS 命令或 API。 此 API 或命令允许您指定这应该是容器的初始列表(这意味着后续前滚将重做在数据库日志中描述的任何“添加容器”操作)还是最终列表(这意味着前滚操作将不重做“添加容器”操作)。

容器或存储路径也可能是只读的,在此情况下,在继续复原之前需要执行的唯一操作就是为该容器或存储路径授予读/写访问权。

要在复原数据库期间重新配置特定存储器组的路径,请使用 SET STOGROUP PATHS 命令。

当您准备继续执行复原时,请发出带有 CONTINUE 关键字的 RESTORE DATABASE 命令来执行实际的复原。

如果带 CONTINUE 关键字发出 RESTORE DATABASE 命令后返回此警告,那么意味着仍需要定义表空间容器或存储器组存储路径。 请参阅 db2diag 日志文件以了解更多详细信息。

SQL1279W

可能尚未重新创建某些索引。 在重新创建索引期间,当执行数据库重新启动或者对表进行重组之后发生错误,这可能已经阻止了成功地重新创建某些索引。 有关详细信息,可在管理通知日志中找到。

成功地重新启动了数据库或重组表。

检查管理通知日志以确定不能重新创建索引的原因并更正问题。 第一次访问表时,将重新创建该表的无效索引。

SQL1280N

因为至少有一个表空间已经向前滚动到这个时间点,所以传递给前滚的停止时间必须小于或等于数据库名称时间戳 至少一个由前滚至时间点指定的表空间已经前滚至较早时间点。 它不可再前滚。

请执行下列其中一项操作:

  • 重新提交该命令,指定停止时间为 时间戳记
  • 再次复原所有表空间,重新提交命令,指定小于 时间戳记 的停止时间。
  • 复原在较早的表空间前滚时间点之后执行的表空间备份,并以同一停止时间重新提交该命令。

必须以 CUT(全球标准时间)来指定时间。

SQL1281N

与数据库database-alias 的连接已被切断,因为管道pip-name已断开。 连接丢失,因为数据库服务器已断开管道。 已回滚了当前事务。 重新提交当前命令。 如果错误继续,请与技术服务代表联系。

如果跟踪处于活动状态,那么在操作系统命令提示符处调用“独立跟踪设施”。 请与您的技术服务代表联系,并提供下列信息:

需要的信息:

  • 问题描述
  • SQLCODE 或消息号
  • SQLCA 内容(如果有可能)
  • 跟踪文件(如果有可能)。

sqlcode:-1281

sqlstate:40504

SQL1282N

尝试连接数据库database-alias失败,因为管道名称上的所有管道实例都很忙。 尝试连接至命名管道失败,因为 DB2 拒绝了连接。 对命名管道上允许的连接数有一个限制。 增大数据库服务器上的连接限制,或者使用命名管道来终止一些应用程序,以便释放连接资源。

sqlcode:-1282

sqlstate:08001

SQL1283N

连接数据库database-alias 的尝试失败,因为另一个进程正在使用管道 pipe-name 命名管道的名称已被另一个进程使用。 没有启动命名管道支持。 通过设置环境变量 DB2PIPENAME 来选择另一个名称,或者让使用命名管道的其他程序使用另一个管道名。

SQL1284N

尝试连接数据库database-alias失败,因为找不到管道pip-name 服务器尚未启动它的命名管道支持,或者服务器正在使用该命名管道的另一个名称。 启动数据库管理器,并确保启动了命名管道支持。 如果已启动命名管道支持,那么通过将环境变量 DB2PIPENAME 设置为相同的值,以确保在客户机与服务器上命名管道的名称是相同的。

sqlcode:-1284

sqlstate:08001

SQL1285N

由于管道名称无效,连接数据库database-alias的尝试失败。 由环境变量 DB2PIPENAME 设置的备用管道名无效。 环境变量 DB2PIPENAME 的值必须是有效管道名。 管道名限长 8 个字符,并且与普通的文件名具有相同的语法限制。

sqlcode:-1285

sqlstate:08001

SQL1286N

与数据库database-alias 的连接已被切断,原因是操作系统耗尽了管道pip-name 的资源。 命名管道失败,因为操作系统用完了资源(交换空间、磁盘空间、文件句柄)。 已回滚了当前事务。 释放系统资源,然后再次尝试。

sqlcode:-1286

sqlstate:40504

SQL1287N

ATTACH 到实例instance失败,因为无法找到命名的管道pip 服务器尚未启动其命名管道支持,或者实例名不正确。 确保服务器上已启动了数据库管理器,并且启动了命名管道支持。 确保实例名正确。

SQL1288N

远程服务器不支持此操作。 远程服务器在不支持从 V7(或更早版本)的 32 位客户机进行非 SQL 请求的 64 位平台上运行。 从受支持的客户机执行此操作。

SQL1289W

在将函数名参数从代码页from-code-page转换到代码页to-code-page 的过程中,一个或多个无效字符被替换为替代字符,或者从结果中省略了尾部的部分多字节字符。 传递给代码页转换函数的 函数名 的输入包含一个在输入代码页 源代码页 中是无效字符的字节序列。 在转换为 目标代码页 时,每个无效字节序列都将被替换为替代字符。 插入的替代字符可能会也可能不会包括在最终结果中。 如果无效字节序列出现在输入的末尾,那么在结果中将省略它而不会将它替换为替代字符。

如果 函数名 为 *N,那么将输入值转换为代码页 1232 以进行内部处理时遇到了无效字节序列。

确保要转换的数据中不包含无效字节序列。

sqlcode:+1289

sqlstate:01517

SQL1290N

DFT_CLIENT_COMM 数据库管理器配置参数或 DB2CLIENTCOMM 环境变量的值无效。 指定的值不正确,或者目标数据库不支持所指定的协议。 可接受的值是:

  • Unix 平台:TCPIP 和 APPC
  • Windows:TCPIP、APPC(仅适用于 Windows 32 位)和 NPIPE

如果指定了多个值,那么必须用逗号将它们分开。

注意,此消息可能会从涉及到连接的中间节点返回。 例如,如果您正在尝试通过 DB2 Connect 网关来与 DRDA 服务器相连,并且客户机工作站不使用全局目录服务,那么可能会从 DB2 Connect 网关返回此消息。

更正该值,然后再次尝试。

sqlcode:-1290

sqlstate:08001

SQL1291N

检测到目录服务错误。 服务:目录服务类型,API:API,函数:函数,错误代码:返回码 目录服务子系统检测到错误。 请参阅标记值以了解详细信息。 以下是对标记值的解释。

目录服务类型
正在使用的目录服务的类型。 有效标记包括:

  • DCE
API
用来访问所列示的目录服务的应用程序编程接口。 有效标记包括:

  • XDS/XOM
函数
返回错误代码的目录服务子系统函数的名称。
rc
从指示的函数返回的错误代码。 该值的含义特定于正在使用的 API。

对诸如 ds_read 的 XDS 函数,可以在 DCE 包含文件 xds.h 中找到返回码值。

对于 XOM 函数(例如,om_get),可以在 DCE 包含文件 xom.h 中找到返回码值。

注意,此消息可能会从涉及到连接的中间节点返回。 例如,如果您正在尝试通过 DB2 Connect 网关来与 DRDA 服务器相连,并且客户机工作站不使用全局目录服务,那么可能会从 DB2 Connect 网关返回此消息。

必须确保:

  • 正确安装了提供目录服务的产品,并且正在起作用。
  • 如果目录服务提供程序(例如,DCE)需要登录,那么使用适当的权限登录至目录服务以访问目录条目。

如果问题仍然存在,请与系统管理员和/或数据库管理员联系,以确定使用所提供的标记集问题的原因。

sqlcode:-1291

sqlstate:08001

SQL1292N

数据库或数据库管理器实例的全局名无效。 数据库或数据库管理器实例的全局名不能是 NULL,并且不能长于 255 个字符。 它必须以“/…/” 或”/.:/”。

注意,此消息可能会从涉及到连接的中间节点返回。 例如,如果您正在尝试通过 DB2 Connect 网关来与 DRDA 服务器相连,并且客户机工作站不使用全局目录服务,那么可能会从 DB2 Connect 网关返回此消息。

更正全局名,然后再次尝试。

SQL1293N

在全局目录条目中找到错误。 错误代码:错误代码 在使用的其中一个全局数据库目录条目中检测到错误。 请参阅下列错误代码,以了解有关详细信息:

1
数据库对象不包含认证信息
2
数据库对象和数据库定位器对象都不包含通信协议信息
10
条目不是数据库对象
11
找不到数据库对象中的本机数据库名称或太长
12
找不到数据库对象中的数据库协议或太长
13
在数据库对象中找到无效的认证值
14
数据库对象中的通信协议信息不足或无效
15
在数据库对象中找不到数据库定位器对象名
16
在数据库对象中的数据库定位器对象名无效
20
条目不是数据库定位器对象
22
在数据库定位器对象中的通信协议信息不足或无效
30
条目不是路由信息对象
31
在路由信息对象中找不到目标数据库信息
32
路由信息对象中的目标数据库的信息不足
33
在路由信息对象中找不到适当的网关
34
网关的认证标志无效
35
网关的数据库定位器对象名无效
36
找不到路由信息对象的目标数据库信息属性中的数据库名称或太长
37
找不到路由信息对象的目标数据库信息属性中的数据库协议或太长

注意,如果 DCE 子系统未运行,或者没有足够的特权来读取 DCE 目录条目,那么也可能会看到此消息。

注意,此消息可能会从涉及到连接的中间节点返回。 例如,如果您正在尝试通过 DB2 Connect 网关来与 DRDA 服务器相连,并且客户机工作站不使用全局目录服务,那么可能会从 DB2 Connect 网关返回此消息。

确保 DCE 子系统正在运行,并且您有适当特权来读取目录条目。 如果问题仍然存在,那么通知数据库管理员更正目录条目中的错误。

sqlcode:-1293

sqlstate:08001

SQL1294N

用于全局目录访问的目录路径名未指定或者无效。 为了使用全局目录服务,必须在 dir_path_name 数据库管理器配置参数或者 DB2DIRPATHNAME 环境变量中指定目录路径名。 未指定它,或指定的名称无效。

注意,此消息可能会从涉及到连接的中间节点返回。 例如,如果您正在尝试通过 DB2 Connect 网关来与 DRDA 服务器相连,并且客户机工作站不使用全局目录服务,那么可能会从 DB2 Connect 网关返回此消息。

与数据库管理员联系,以获取要使用的正确名称,指定该名称,然后再次尝试。

sqlcode:-1294

sqlstate:08001

SQL1295N

用于全局目录访问的路由信息对象名未指定或者无效。 为了使用全局目录服务来访问具有对于此客户机不是本地的数据库协议的远程数据库,必须在 route_obj_name 数据库管理器配置参数或 DB2ROUTE 环境变量中指定路由信息对象的名称。 未指定它,或指定的名称无效。

注意,此消息可能会从涉及到连接的中间节点返回。 例如,如果您正在尝试通过 DB2 Connect 网关来与 DRDA 服务器相连,并且客户机工作站不使用全局目录服务,那么可能会从 DB2 Connect 网关返回此消息。

与数据库管理员联系,以获取要使用的正确对象名,指定该名称,然后再次尝试。

sqlcode:-1295

sqlstate:08001

SQL1296N

如果 DIR_TYPE 参数具有一个不是 NONE 的值,那么必须对 DIR_PATH_NAME 和 DIR_OBJ_NAME 数据库管理器配置参数指定有效值。

这三个参数是互相关联的。 如果 DIR_TYPE 的值为 NONE,那么忽略另外两个值。 如果 DIR_TYPE 的值不是 NONE,那么另外两个值必须都包含有效值。 当 DIR_TYPE 的值不是 NONE 时,下列规则适用:

  1. DIR_PATH_NAME 和 DIR_OBJ_NAME 值不能为 NULL(或空白)。
  2. 如果 DIR_TYPE 值为 DCE,那么 DIR_PATH_NAME 值必须以用下列引号“/…/”或“/.:/”引起来的特殊 DCE 字符串开头。
如果想要更改 DIR_TYPE 值,那么首先应确保为 DIR_PATH_NAME 和 DIR_OBJ_NAME 参数指定了有效值。 如果要使 DIR_PATH_NAME 或 DIR_OBJ_NAME 参数为空白,务必首先将 DIR_TYPE 设置为 NONE。

SQL1297N

在此平台上当前不支持此命令。 在此平台上不支持使用此命令请求的功能。 不要使用此命令。

SQL1300N

在目录语句中的 DCE 主体名称无效。 在目录数据库操作中的 DCE 主体名称无效。 DCE 主体名称受下列条件限制:

  • 如果将 AUTHENTICATION 指定为 DCE,那么在目录语句中必须包括主体名称。
  • 如果未将 AUTHENTICATION 指定为 DCE,那么在目录语句中不能包括主体名称。
  • 该主体名称的最大长度是 1024 字节。
确保主体名称符合列出的条件并重新提交目录命令。

SQL1301N

当访问服务器的 DCE 密钥表文件时出错。

当访问服务器的 DCE 密钥表文件时出错。 要使密钥表文件有效,必须满足下列条件:

  • 服务器的密钥表文件存在,且其名称是 keytab.db2 且在 sqllib/security 目录中。
  • 在密钥表文件中只有单一条目。
确保 DCE 已启动。 然后,(用 rgy_edit)检查该密钥表文件是否存在,以及是否包含单个条目。 再次尝试执行该操作。

SQL1302N

由 DCE 主体名称到 DB2 授权标识的映射出错。 原因码:原因码 当将 DCE 主体名称映射到 DB2 授权标识时出错。 请参阅下列原因码:

1
DCE 用户到 DB2 授权标识的映射丢失或无效。
2
DCE 组到 DB2 授权标识的映射丢失或无效。
DCE 主体名称必须有到 DB2 授权标识 的 ERA 映射。 将丢失的条目添加到 DCE 注册表中并再次尝试执行操作。

sqlcode:-1302

sqlstate:08001

SQL1303N

无法重新启动安全守护程序。 在中断代理程序和安全守护程序之间的通信,或安全守护程序异常终止之后,尝试重新启动安全守护程序失败。 由于不能进行认证,因此将拒绝与数据库管理器的所有新连接。 停止然后再次启动该数据库管理器。 如果 db2start 命令失败,那么遵循该 sqlcode 的用户响应。

sqlcode:-1303

sqlstate:58004

SQL1304N

TCP/IP 安全类型 SOCKS 无效。 Catalog Node 命令的 TCP/IP 协议结构中的 TCP/IP 安全类型 SOCKS 对认证类型 DCE 无效。 确保不使用 TCP/IP 协议与安全类型 SOCKS 和认证类型 DCE 的组合。

sqlcode:-1304

sqlstate:08001

SQL1305N

发生了内部 DCE 错误。 数据库管理器处理失败,因为发生了内部 DCE 错误。 确保 DCE 已启动。 如果问题仍存在,可与服务代表联系以获得辅助。

sqlcode:-1305

sqlstate:58004

SQL1306N

在调用安全审计工具期间,指定了无效的参数。 原因码:原因码

安全审计 API 的其中一个参数不正确。 原因:

1
指定了无效的审计选项。
2
指向“配置/描述”sqleaucfg 结构的指针无效。
3
“配置/描述”参数标记无效。
4
“配置/描述”参数值无效。 该值不正确或超过该参数的有效范围。
5
“配置/描述”参数的计数规范无效。
6
为“配置/描述”参数分配的长度不够。
7
指向“抽取”sqleauextract 结构的指针无效。
8
“抽取”参数标记无效。
9
“抽取”参数值无效。 该值不正确或超出了有效范围。
10
“抽取”参数的计数规范无效。
11
“抽取”参数的长度无效。
12
“归档”参数值无效。 该值不正确或超出了有效范围。
13
路径无效。 路径长度超出了有效范围。
14
不支持使用相对路径。

系统管理员应对每一原因执行特定的操作。

1
通过查看 sqlutil.h 包含文件,为审计 API 调用提供正确的选项值。
2
检查是否提供了指向“配置/描述”结构的有效指针。
3
应通过查看有关 sqleaucfg 参数标记的审计设施参考一节,指定正确的参数。
4
通过查看审计设施参考中的有效值,更正该参数值。
5
对可变长度参数指定正确的计数并分配/初始化适当的长度。
6
根据 SQLCA 中返回的错误标记,更正对“配置/描述”参数分配的长度。
7
检查是否提供了指向“抽取”结构的有效指针。
8
应通过查看有关 sqleauextract 参数标记的审计设施参考一节,指定正确的参数。
9
通过查看审计设施参考中的有效值,更正该参数值。
10
对可变长度参数指定正确的计数并分配/初始化适当的长度。
11
根据 SQLCA 中返回的错误标记,更正对“抽取”参数分配的长度。
12
通过在审计设施参考中查看有效值来更正该参数值或参数长度。
13
提供一个其长度在受支持范围内的路径。
14
指定绝对路径。

SQL1307N

在调用安全审计设施期间出错。 原因码:原因码 调用安全审计 API 导致出错。 原因:

  1. 已启动“审计”。
  2. 已停止“审计”。
  3. 审计配置文件的校验和无效。
  4. 缺省值或用户提供的审计路径名太长。
  5. 无法更新审计配置文件。 文件系统已满或不允许写入。
  6. 找不到配置文件。 该文件或包含该文件的目录不存在。
  7. 找不到抽取文件。
  8. 抽取期间审计记录的格式无效。 该文件已毁坏。
  9. 文件不存在。
  10. 由于文件许可权的原因,访问文件时被拒绝。
  11. 活动审计日志已归档,不能将新事件记录到该日志中。
  12. 磁盘空间不足(磁盘已满)。
  13. 在解压缩或归档期间发生了文件 I/O 错误。
  14. 不能对活动审计日志文件执行解压缩。
系统管理员应对每一原因执行特定的操作。

  1. 不需要执行任何操作。
  2. 不需要执行任何操作。
  3. 从备份复原配置文件或发出“audit reset”命令。
  4. 选择在文件名长度限制内的另一个审计路径名。
  5. 如果文件许可权不正确,那么设置允许所有者写入的许可权。 如果文件系统已满,那么在继续之前创建可用空间。
  6. 如果审计配置文件丢失,请从备份进行复原,或发出“reset”命令以将该文件初始化为缺省值。 如果该目录丢失,请从备份进行复原或重新创建数据库管理器实例。
  7. 验证文件是否存在于指定的路径中。 如果文件丢失,请从备份(如果可用)进行复原。
  8. 审计日志文件很可能已损坏。 如果其他审计日志文件的问题仍存在,请通知 DB2 服务机构。
  9. 验证指定路径中是否存在要归档的活动日志文件或者要解压缩的已归档日志文件。
  10. 更正文件系统中的文件许可权。
  11. 已归档审计日志文件已重命名为活动审计日志文件。 必须将活动审计日志文件重命名为原来的已归档审计日志文件。
  12. 确保有足够的磁盘空间可用。
  13. 检查 db2diag 日志文件以了解详细信息。
  14. 必须对已归档审计日志文件进行解压缩。 将活动审计日志文件归档之后再对它进行解压缩。

SQL1308W

审计“抽取工具”已完成处理。 抽取了 记录数 个记录。 安全审计抽取设施成功完成了其处理并抽取了指定数目的记录。 如果未抽取记录,那么用户应验证抽取路径名是否包含抽取文件,以及抽取参数是否正确。

SQL1309N

服务器主体名称无效。 DCE 注册表中不存在数据库目录语句中指定的服务器主体名称。 因此,无法获取对应数据库服务器的 DCE 凭单。 确保数据库目录条目中的主体名称与数据库服务器正在使用的 DCE 主体名称相对应。 可能需要使该主体名称成为标准主体名称。

sqlcode:-1309

sqlstate:08001

SQL1310N

当尝试访问“数据库连接服务”目录时,“数据库连接服务”目录服务失败。 “数据库连接服务”目录服务失败,原因是在尝试访问“数据库连接服务”目录文件时出现文件错误。

不能处理该函数。

执行下列其中一项操作后重新运行该函数:

  • 如果您正对“数据库连接服务”目录添加条目,那么应确保有足够的空间用于变得更大的目录文件。
  • 确保没有其他并发运行的程序正尝试访问该文件。
  • 验证目录文件是否未破坏。 如果该文件不可恢复,那么必须擦除然后重新创建,或从备份版本进行复原。

SQL1311N

找不到“数据库连接服务”目录。 找不到该目录。 目录可能已被删除。

不能处理该函数。

使用 CATALOG DCS DATABASE 命令向“数据库连接服务”目录添加条目,或从备份版本复原该目录。

SQL1312W

“数据库连接服务”目录为空。 尝试读“数据库连接服务”目录的内容,但没有任何条目存在。

处理继续,但不能处理后续的期望可用条目的命令。

使用 Catalog DCS Database 命令向目录中添加条目,或从一个包含条目的备份版本中复原。

SQL1313N

“数据库连接服务”目录已满。 不能向“数据库连接服务”目录中添加条目,因为该目录已达到其最大大小。

不能处理该函数。

再添加任何条目之前,从目录中删除一个条目或多个条目。

SQL1314N

“数据库连接服务”目录条目参数的地址无效。 应用程序使用了此参数的无效地址。 地址指向未分配的缓冲区,或者缓冲区不够大,无法装下必需的输入。

不能处理该函数。

确保应用程序分配了所需的缓冲区并重新提交该命令。

SQL1315N

本地数据库名称无效。 指定的本地数据库名称中有无效的字符。 所有字符都必须是数据库管理器基本字符集中的字符。

不能处理该函数。

确保本地数据库名称中所使用的字符都是数据库管理器基本字符集中的字符并重新提交该命令。

SQL1316N

在“数据库连接服务”目录中没有找到指定本地数据库名称的条目。 “数据库连接服务”目录服务失败,因为在“数据库连接服务”目录中,找不到与输入本地数据库名称相对应的条目。

不能处理该函数。

确保本地数据库名称正确并重新提交该命令。

SQL1317N

“数据库连接服务”目录中已存在本地数据库名称。 无法将条目添加到目录中,原因是该本地数据库名称的条目已存在于目录中。

不能处理该函数。

指定唯一本地数据库名称,或删除现有的条目并添加新条目。

SQL1318N

参数 1 的输入结构中元素 名称 的长度无效。 “数据库连接服务”目录条目结构中的长度值不应该小于 0,也不应该大于它所表示元素的最大长度。

不能处理该函数。

如果指定了目录条目结构的元素,那么相关的长度值应表示元素中的字节数。 否则,长度值应该为零。 确保所有目录条目结构元素具有命令所需的规范和长度并重新提交该命令。

SQL1319N

未收集“数据库连接服务”目录条目。 接收到复制所有目录条目的请求,但是未接收到前一个收集这些条目的请求,或前一个收集这些条目的请求失败。

不能处理该函数。

发出打开目录并收集这些条目的请求。  然后重新提交此命令。

SQL1320N

此时不能访问“数据库连接服务”目录。 请求访问“数据库连接服务”目录失败。 访问“数据库连接服务”目录取决于所请求的访问类型和目录中的当前活动。 如果请求是要更新该目录,那么该目录不能处于活动状态。 如果请求是读该目录,那么如果未在更新该目录,就允许访问。

不能处理该函数。

等待当前的活动完成并重新提交该命令。

SQL1321N

目录条目结构中指定的结构标识无效。 目录条目结构中接收到的结构标识不表示识别的值。

不能处理该函数。

验证传入目录条目结构的结构标识是否是有效值并重新提交该命令。

SQL1322N

写入审计日志文件时出错。 调用数据库审计工具以将审计事件记录至跟踪信息时,数据库审计工具遇到错误。 在审计日志所在的文件系统上没有空间。 释放此文件系统上的空间,或删除审计日志以减小其大小。
  • 当有更多空间可用时,运行审计工具以清除内存中的任何数据,并将审计程序重置为就绪状态。
  • 确保进行了适当的抽取,或在删除该日志前已复制该日志,因为删除的记录是不可恢复的。

sqlcode:-1322

sqlstate:58030

SQL1323N

当访问审计配置文件时出错。

无法打开 db2audit.cfg,或它是无效的。 原因可能是:

  • db2audit.cfg 文件不存在,或已破坏。 执行下列其中一项操作:
    • 从该文件的保存版本中复原。
    • 通过从 db2audit 可执行文件发出复位命令来复位审计设施配置文件。
系统管理员应执行所建议的操作来解决该问题。

sqlcode:-1323

sqlstate:57019

SQL1324N

转换昵称列 模式.名称. 中的数据时出错。 原因码:原因码。 值:

从远程源传送数据或将数据传送至远程源时发生了数据转换问题。 原因可能是:

1
数值超出了范围
2
数值语法错误
3
基本 64 位解码错误
4
Hexbin 解码错误
请检查远程类型与本地类型之间的数据类型映射。 另外,还请确保远程系统返回的是有效数据。

SQL1325N

远程数据库环境不支持该命令或其中一个命令选项。 尝试通过 DB2 Connect 或联合服务器对主机数据库发出 DB2 工作站数据库特定命令或命令选项。 当对 DB2 MVS 版*、DB2 OS/400 版* 或 SQL/DS 版* 数据库发出下列命令时,这些命令将生成此错误:

  • OPSTAT(收集可操作状态)
  • GETAA(获取管理权限)
  • GETTA(获取表权限)
  • PREREORG(准备重组表)
  • REORG(调用重组函数)
  • RQSVPT/ENSVPT/RLBSVPT(子事务请求)
  • RUNSTATS(运行统计信息)
  • COMPOUND SQL ATOMIC STATIC(原子复合 SQL)
  • ACTIVATE DATABASE
  • DEACTIVATE DATABASE

并且,如果使用了不正确的选项,下列命令也生成此错误:

  • IMPORT(导入表)filetype 必须是 IXF,commitcount 必须为 0(对于脱机导入)或者不能为自动(对于联机导入),操作字符串中的第一个单词(例如,“REPLACE into …”) 必须为 INSERT。
  • EXPORT(导出表)文件类型必须是 IXF。

无法处理该命令。

不要尝试通过 DB2 Connect 或联合服务器对主机数据库发出此命令。

SQL1326N

不能访问文件或目录 名称 因为文件许可权不正确、文件路径不正确或目录或路径中的空间不够,所以不能访问文件或目录 名称

如果您正在使用集群管理器,那么当数据库管理器无法将给定路径添加到集群管理器配置时,可能会返回此错误。 集群管理器中生成的错误消息将记录在 db2diag 日志文件中。

如果使用 ADMIN_CMD 过程执行 IMPORT 或 EXPORT 命令,如果命令所需的文件或目录路径与任何受限路径不匹配,则会返回此错误。 如果限制路径列表声明错误,也会返回此错误。

验证在命令中指定的任何路径或文件名是否有效、您是否有访问该路径或文件名的适当许可权以及是否有足够的空间来包含该文件。 更正问题并重新提交该命令。 如果问题仍存在,请与您的系统管理员联系。

如果您正在使用集群管理器,那么更正问题并重新提交该命令:

  • 查看 db2diag 日志文件,以获取集群管理器中生成的错误消息。
  • 对 db2diag 日志文件中的集群管理器错误消息作出响应,以解决导致数据库管理器无法将路径添加到集群管理器配置的底层问题。
  • 重新提交该命令。

如果是使用 ADMIN_CMD 程序输入或输出命令,请将文件或目录路径更改为有效路径,然后重新运行命令。 另外,请验证是否正确声明了受限路径的列表。 请参阅 DB2_LOAD_RESTRICTED_IO_PATH。

SQL1327N

尝试隐式连接失败。 数据库名称 是无效的数据库名称。 尝试执行隐式连接失败。 DB2DBDFT 环境变量指定的数据库别名的语法无效。 数据库名称必须包含 1 到 8 字节,且所有的字符必须都是数据库管理器基本字符集中的字符。

无法处理该命令。

更正 DB2DBDFT 环境变量指定的数据库别名并重新提交命令。 如果使用命令行处理器,那么在重新提交命令之前,应发出“db2 terminate”。 如果不想执行隐式连接,那么移除 DB2DBDFT 环境变量。

sqlcode:-1327

sqlstate:2E000

SQL1328N

尝试隐式连接失败。 在本地数据库目录中找不到数据库别名或数据库名称 名称 尝试执行隐式连接失败。 DB2DBDFT 环境变量指定的数据库名称不是现有的数据库名称。 无法在数据库目录中找到该数据库。

无法处理该命令。

注意,在分布式工作单元内发出的 CONNECT RESET 请求将尝试隐式连接缺省数据库。 这可能是此错误的原因。

  • 更正由 DB2DBDFT 环境变量指定的数据库别名并重新提交该命令。
  • 如果在分布式工作单元环境中进行操作时,期望的操作是移除连接,那么考虑用 DISCONNECT 或 RELEASE 语句来替换 CONNECT RESET 语句。
  • 如果使用命令行处理器,那么在重新提交命令之前,应发出“db2 terminate”。
  • 如果不想执行隐式连接,那么移除 DB2DBDFT 环境变量。

sqlcode:-1328

sqlstate:42705

SQL1329N

命令上指定的解析路径太长。 命令上指定的解析路径超过数据库管理器支持的最大长度。 解析路径的长度不能长于 215 个字符。 在执行 Create Database 命令、Catalog Database 命令、Open Database Directory 命令以进行扫描以及执行 Change Database Comment 命令期间,数据库管理器实例名被追加到指定路径的末尾。 检查全解析的绝对或相对路径名(包括数据库管理器实例名)的长度是否未超过 215 个字符。 更正该路径并重新提交该命令。

SQL1330N

符号目标名称 名称 无效。 或者未指定 Catalog Node 命令的 CPIC 协议结构中的符号目标名称,或者其长度大于允许的长度。 名称必须是 1 到 8 字节长。 验证是否指定了符号目标名称,以及该目标名称的长度是否未超过 8 字节。 以有效的符号目标名称重新提交该命令。

SQL1331N

CPIC 安全类型 类型 无效。 Catalog Node 命令的 CPIC 协议结构中指定的 CPIC 安全类型无效。 安全类型指定在数据库客户机分配与伙伴 LU 的对话(如 LU 6.2 体系结构所指定的那样)时将包括的安全性信息。 安全类型的正确值是:

SQL_CPIC_SECURITY_NONE
将不包括访问安全性信息。

注意:使用联合服务器时不支持这样做。 使用 DB2 Connect 时,仅当认证类型为 DCE、KERBEROS 或 SERVER_ENCRYPT 时才提供对它的支持。

SQL_CPIC_SECURITY_SAME
用户标识将与指定用户标识已验证的指示符包括在一起。 当将认证类型 SERVER 与 DB2 Connect 或联合服务器配合使用时,或者当认证类型为 DCE、KERBEROS 或 SERVER_ENCRYPT 时,不支持这样做。
SQL_CPIC_SECURITY_PROGRAM
将包括用户标识和密码两者。 当将认证类型 CLIENT 与 DB2 Connect 配合使用时,或者当认证类型为 DCE、KERBEROS 或 SERVER_ENCRYPT 时,不支持这样做。
将安全类型设置为此消息中列示的其中一种类型并重新提交该命令。

sqlcode:-1331

sqlstate:08001

SQL1332N

“主机名”名称 无效。 未指定 Catalog Node 命令的 TCP/IP 协议结构中的主机名,或该主机名超过了允许的长度。 名称长度必须是 1 到 255 个字符,且不能全为空白。 验证是否指定了主机名,以及其长度是否未超过 255 个字符。 以有效的主机名重新提交该命令。

SQL1333N

“服务名称”名称 无效。 未指定 Catalog Node 命令的 TCP/IP 协议结构中的服务名称,或该服务名称超过了允许的长度。 名称长度必须为 1 到 14 个字符,且不能全为空白。 验证是否指定了服务名称,以及其长度是否未超过 14 个字符。 以有效的服务名称重新提交该命令。

SQL1334N

不能使用数据库服务器或 DB2 Connect 服务器来将远程请求路由至此配置中的第二个数据库服务器。 尝试使用不受支持的客户机和目标数据库服务器组合来通过数据库服务器节点或 DB2 Connect 服务器节点路由请求,或者通过 LUW 数据库服务器或 DB2 Connect 服务器将请求从非 LUW DRDA 客户机路由至 DRDA 目标数据库。 必须将请求直接从客户机路由至正在其上运行目标数据库的节点。 取消对客户机上的数据库的编目,然后编目指定数据库实际所在节点的数据库。 确保还编目了节点。

SQL1335N

应用程序请求器名称无效。 指定的应用程序请求器名称包含无效字符。 所有字符都必须是数据库管理器基本字符集中的字符。 确保应用程序请求器名称中使用的字符都是数据库管理器基本字符集中的字符并重新提交该命令。

SQL1336N

找不到远程主机 主机名 系统不能解析远程主机的地址。 原因可能是:

  • 编目 TCP/IP 节点时指定的主机名值不正确。
  • 指定了正确的主机名,但该主机名既未在客户机节点可访问的任何 TCP/IP 名称服务器中定义,又未在客户机的 hosts 文件中定义。
  • 尝试进行连接时,定义了主机名的 TCP/IP 名称服务器不可用。
  • TCP/IP 未运行。
  • 在此客户机上,远程主机是使用 CATALOG TCPIP6 NODE 命令编目的。 但是,远程主机不支持 IPv6。
确保 TCP/IP 正在运行且在编目 TCP/IP 节点时指定的主机名正确,且它在可访问的名称服务器或本地 hosts 文件中定义。

在此客户机上,如果远程主机是使用 CATALOG TCPIP6 NODE 命令编目的,但远程主机不支持 IPv6,那么执行下列步骤:(1) 使用 UNCATALOG 命令;(2) 使用 CATALOG TCPIP NODE 命令重新编目。

联合系统用户:验证是否在 SYSCAT.SERVERS 视图中正确编目了远程主机。

sqlcode:-1336

sqlstate:08001 和 08508

SQL1337N

找不到服务 服务名称

系统不能解析与服务名称相关的端口号。 原因可能是:

  • 编目 TCP/IP 节点时,指定的服务名称值不正确。
  • 指定了正确的服务名称,但未在客户机 services 文件中对其进行定义。

联合系统用户:数据源也可能会检测到此情况。

确保编目 TCP/IP 节点时指定的服务名称正确,且它是在本地 services 文件中定义的。

联合系统用户还必须确保在数据源上的 services 文件中定义了该名称。

SQL1338N

找不到符号目标名称 符号目标名称

系统找不到与指定的符号目标名称相关的“辅助信息”。 原因可能是:

  • 编目 CPIC 节点时指定的符号目标名称值不正确。
  • 未对 SNA 通信子系统定义符号目标名称及其相关辅助信息。
  • 未启动 SNA 通信子系统。
确保当编目 CPIC 节点时指定的符号目标名称正确,且已对本地 SNA 通信子系统对其进行定义。

启动 SNA 通信子系统(如果它尚未启动)。

SQL1339N

在执行“非基本复合 SQL 语句”时,检测到 n 个 SQL 错误并具有下列标识:错误-1 错误-2 错误-3 错误-4 错误-5 错误-6 错误-7 “复合 SQL”语句中的一个或多个 SQL 子语句导致了 SQL 错误(返回码为负)。

将不会对 CLI/ODBC 应用程序返回错误标记。 CLI/ODBC 应用程序可使用 SQLGetDiagRec、SQLGetDiagField 或 SQLError API 来获取关于每个错误的更多信息。

检查所提供的错误标识信息。 将填写 <n> <errorX> 个标记,最多为 7 个。 每个 <errorX> 表示 SQL 语句错误。 这些错误以遇到它们的顺序列示。 如果尚未格式化消息正文,那么这条信息可在 SQLERRMC 字段的第二个及后面的标记中找到(标记由一个字节的十六进制值 OxFF 分隔)。

每个 <errorX> 的格式为 PPPSSSSS,其中:

PPP
PPP 表示在“复合 SQL”块中导致错误的语句的位置,它是向左对齐的。 例如,如果第一条语句失败,那么此字段将包含数字一(“1”)。
SSSSS
失败的语句的 SQLSTATE。

通过检查 SQLCA 本身能找到更多的信息。 第三个 SQLERR 字段包含复合 SQL 语句影响的行数,第四个 SQLERRD 字段包含最后一个成功的语句的位置,第五个 SQLERRD 字段包含访问“IBM 数据服务器客户机/ DB2 服务器”及 SQL/DS 数据库时受引用完整性影响的行数,第六个 SQLERRD 字段包含失败语句的数目(返回负的 SQLCODES)。

sqlcode:-1339

sqlstate:56091

SQL1340N

找不到文件服务器 文件服务器

系统找不到网络上指定的文件服务器。 原因可能是:

  • 在编目 IPX/SPX 节点时指定了不正确的 fileserver 名。
  • 指定了正确的 文件服务器 名,但是,在尝试连接时文件服务器不可用。
确保在编目 IPX/SPX 节点时指定的 fileserver 名称正确,且文件服务器在网络上可用。

SQL1341N

客户机数据库管理器配置文件中必须指定工作站名。 客户机数据库管理器配置文件中未指定工作站名。 在客户机数据库管理器配置文件中指定工作站名。

SQL1342N

“文件服务器”名称 名称 丢失或无效。 在命令/API 中指定的“文件服务器”名丢失或无效。 验证是否指定了文件服务器名、该名称是否不包含无效字符、并且长度是否不超过 48 个字符。 重新提交命令/API,指定有效的“文件服务器”名。

SQL1343N

“对象名”名称 丢失或无效。 在命令/API 中指定的“对象名”丢失或无效。 验证是否指定了“对象名”,该名称是否未包含无效字符以及长度是否未超过 48 个字符。 重新提交命令/API,指定有效的“对象名”。

SQL1344N

在系统目录中找到了孤立行。 在尝试对数据库进行升级之前,请与技术服务代表联系。 一个或多个系统目录中包含孤立行,它们可能会导致数据库升级失败。 与技术服务代表联系。 在解决此问题之前,请不要尝试对数据库进行升级。

SQL1345N

由于集群管理器发生错误而执行失败。 发生了集群管理器错误,该操作导致无法成功地处理当前环境命令或 SQL 语句。 在执行时出错。

不能处理该命令或语句。 未回滚当前事务,应用程序仍然连接至数据库。

记录消息号。 记录来自 SQLCA 的所有错误信息(如果有可能)。 尝试根据 db2diag 日志文件中的集群管理器返回码执行必要的更正操作,然后重新提交该命令或 SQL 语句。

需要的信息:

  • 问题描述
  • SQLCODE 和原因码
  • SQLCA 内容(如果有可能)
  • 跟踪文件(如果有可能)

sqlcode:-1345

sqlstate:58038

SQL1348W

无法减小表空间大小。 由于在表空间高水位标记之上不存在可用空间,因此无法进一步减小表空间大小。 重组表或索引操作可能允许释放高水位标记下方的空间,从而允许后续 ALTER TABLESPACE … 用于减小表空间大小的 REDUCE 语句。

sqlcode:+1348

sqlstate:0168J

SQL1350N

应用程序不处于处理此请求的正确状态。 原因码为 rc

对应于 rc

01
应用程序当前正在处理 SQL,不能处理所请求的实用程序命令。
02
“备份”请求正在进行中。 接收到来自初始实用程序调用的警告,它指示在“备份”可完成之前需要进一步的请求。
03
“复原”请求正在进行中。 接收到来自初始实用程序调用的警告,它指示在“复原”可完成之前需要进一步的请求。
04
“前滚”请求在进行中。 接收到来自初始实用程序调用的警告,它指示在“前滚”可完成之前需要进一步的请求。
05
“装入”请求正在处理中。 接收到来自初始实用程序调用的警告,指示在“装入”可完成之前需要进一步的请求。
07
联合系统用户:在执行 SQL 语句后,应用程序不能处理此命令。

对应于 rc

01
在重新发出此命令之前完成该工作单元(使用 COMMIT 或 ROLLBACK)。
02-05
发出必需的调用以完成正在进行中的实用程序,然后重新发出此命令。
07
联合系统用户:该应用程序必须在建立至数据库管理器的连接后但在发出任何其他 SQL 语句前,发出这些命令。

SQL1351C

无 FCM 通道可用。 无 FCM 通道可用。 FCM 不能自动增大通道数,因为已经达到了最大值。

无法处理该语句。

在其他进程释放一些资源后,再次尝试该请求。

如果错误仍存在,那么增大数据库管理器配置文件中指定的 FCM 通道数(fcm_num_channels),然后再次尝试该请求。

sqlcode:-1351

sqlstate:57011

SQL1352N

在执行事务期间不能复用可信连接。 尝试复用连接时失败,因为该连接位于一个事务中。 该连接现在处于未连接状态。 在尝试复用连接之前,务必执行落实或回滚。

SQL1353N

列 列名 的列选项在透明 DDL 语句中无效。 原因码:原因码 透明 DDL 语句在数据源中创建对象。 透明 DDL 语句不支持可以为在联合服务器中创建的对象指定的某些列选项。 原因码 指示了为列 列名 指定的特定列选项,如下所示:

  1. LOB-选项
  2. 唯一约束、引用约束或检查约束
  3. default-clause
  4. 生成列规范(不包括缺省子句)

无法处理该语句。

移除或替换无效选项。

sqlcode:-1353

sqlstate:428GO

SQL1354N

由于最近的落实或回滚操作,使得例程 例程名 中的 SQL 变量不可供引用。 在执行 例程名 例程期间,尝试引用不能引用的数据类型为 XML 的 SQL 变量或 SQL 参数,因为最近的落实或回滚操作已导致它的值不再可用。

不支持在执行落实或回滚操作之后就引用了 SQL 过程中的数据类型为 XML 的变量或参数,而没有首先为这些变量指定新值。

为了防止发生该错误,应执行下列其中一项或多项操作:

  • 将落实或回滚操作移到引用了数据类型为 XML 的 SQL 变量或 SQL 参数的 SQL 语句后面。
  • 移除落实或回滚操作后面的对数据类型为 XML 的 SQL 变量或 SQL 参数的引用。
  • 对落实或回滚操作后面的 SQL 语句中将引用的数据类型为 XML 的 SQL 变量或 SQL 参数指定值。
  • 如果由于某些情况(例如,死锁或系统故障)而使回滚变成隐式的,那么再次尝试执行该事务。

sqlcode:-1354

sqlstate:560CE

SQL1355N

在检索警报配置设置时指定的一个或多个值无效。 原因码:原因码

由于原因码 原因码 所给定的原因,在检索警报配置设置时指定的一个或多个值无效。 可能的原因码如下所示:

1
指定的对象类型无效。
2
指定的配置级别无效。
3
请求检索特定数据库的警报配置失败,因为没有指定数据库名称。
4
请求检索特定对象的警报配置失败,因为没有指定数据库名称或对象名。
5
指定的对象与对象类型不匹配。
6
指定了对象,但是没有请求对象级别设置。

与原因码对应的操作是:

1
要检索警报配置设置,对于数据库管理器,指定对象类型 DBM;对于数据库,指定对象类型 DB;对于表空间,指定对象类型 TS;对于表空间容器,指定对象类型 TSC。
2
如果对象类型为 DBM,那么指定配置级别 D 以检索安装缺省设置,或者指定 G 或者 0 以检索实例级别设置。 如果对象类型不是 DBM,那么指定配置级别 D 以检索安装缺省设置,指定 G 以检索全局级别设置,或者指定 0 以检索对象级别设置。
3
指定数据库名称。
4
确保同时指定了数据库名称和对象名。
5
确保指定的对象与对象类型相匹配。
6
仅当您想检索对象级别设置时才指定对象名。

请重新提交请求。

sqlcode:-1355

sqlstate:560CD

SQL1356N

数据分区不能与表 表名 拆离。 ALTER TABLE … 无法处理 DETACH PARTITION 语句。 已在同一工作单元(UOW)内连接了数据分区,因此,要对表进行暂挂修改。 在拆离分区之前,COMMIT 或 ROLLBACK 暂挂 ATTACH 事务。

SQL1357N

所指定数据类型不能作为数据源的数据类型映射的本地数据类型。 原因码:原因码。 不允许将本地类型更改为所指定数据类型。 所指定数据类型是无效的映射类型或者是不受支持的数据类型。

原因码 指示要执行的操作。

  1. 所指定本地数据类型与数据源所映射至的数据类型不兼容。 请指定一种与该数据源处的数据类型相兼容的数据类型。
  2. 所指定数据类型不是内置的数据类型。 请指定一种适当的内置数据类型。
  3. 包装器不支持该数据类型映射。 请指定一种受包装器支持的数据类型。

sqlcode:-1357

sqlstate:42815

SQL1358N

无法打开重复的游标。 自从在此嵌套级别打开第一个实例以来,为此游标打开的实例已经超过了 65533 个。 关闭此游标在此嵌套级别的所有实例。

sqlcode:-1358

sqlstate:54064

SQL1359N

由于中断而取消处理可信上下文切换用户请求。 在进行切换用户处理期间接收到中断请求。 未完成切换用户请求,并且连接已处于未连接状态。 继续执行应用程序。 必须首先通过发出有效切换用户请求或者通过终止此连接然后建立新连接来使连接恢复为已连接状态。

sqlcode:-1359

sqlstate:51018

SQL1360N

不能中断当前处理。 用户尝试中断一个不可中断的进程。 不要中断当前进程。

SQL1361W

执行时间超出超时值。 希望中断它吗? 如果命令执行时间大于预定义的超时期,那么弹出对话框询问(Windows 客户机)用户是否要中断该命令。

注意,此消息仅适用于 Windows 环境并且仅可在弹出对话框中看到。

有三个选项:“是” – 现在中断;“否” – 继续,不要提示;“取消” – 继续,同样的超时。

SQL1362W

未动态更改为立即修改而提交的一个或多个参数。 直到下次启动应用程序或发出 TERMINATE 命令之后,客户机更改才会生效。 直到下一条 DB2START 命令之后,服务器更改才会生效。 无法立即应用对数据库管理器配置的某些更改。 对于这些参数,仅当启动了数据库管理器之后更改才能生效。 这通常会在服务器上发出 DB2START 命令之后以及在客户机上重新启动应用程序之后发生。

要了解哪些参数更改已动态生效以及哪些参数更改未动态生效,请使用以下命令来检索数据库管理器配置参数并显示参数详细信息:

DB2 GET DBM CFG SHOW DETAIL 

仅当连接至实例时,对数据库管理器配置参数的更改才能动态生效。 并非所有配置参数都支持动态更新。 要了解哪些参数可动态更改,请参阅《管理指南》。

如果在一个组中提交了若干个参数,那么分别提交各个参数。 在不能动态更改配置参数的那些情况下,执行一个或多个下列操作:

  • 对于用户应用程序:停止该应用程序,然后再启动它
  • 对于 CLP:TERMINATE 并重新连接
  • 对于服务器:发出 DB2STOP 和 DB2START

SQL1363W

未动态更改为立即修改而提交的一个或多个参数。 对于这些配置参数,在配置参数更改生效之前必须关闭并重新激活数据库。 已成功地处理了数据库配置命令。 但是,并非所有更改都是立即处理。

仅当连接至数据库时,对数据库配置参数的更改才能动态生效。 并非所有配置参数都支持动态更新,这意味着,在取消激活并重新激活数据库之后,这些配置参数的更改才会生效。

要了解哪些参数更改可动态生效而哪些不动态生效,可使用以下命令来检索数据库配置参数并显示参数详细信息:

 DB2 GET DB CFG FOR  <database-alias> SHOW DETAIL 

如果在一个组中提交了若干参数,那么逐个重新提交这些参数。

对于不支持动态更新的配置参数,请执行下列其中一项或多项操作:

  • 请先使用 DEACTIVATE DATABASE 命令取消激活该数据库,然后使用 ACTIVATE DATABASE 命令重新激活该数据库。
  • 在新的配置参数生效之后重新绑定程序包,以便在绑定期间将使用新值。
  • 使用 FLUSH PACKAGE CACHE 命令来使 SQL 高速缓存中的动态语句失效。

SQL1364W

在一个或多个参数不支持 AUTOMATIC 的情况下,将该参数设置为 AUTOMATIC。 在参数不支持 AUTOMATIC 的情况下,将一个或多个配置参数设置为 AUTOMATIC。 如果将参数更改作为一个组提交,那么个别重新提交更改以了解成功更改了哪些参数。

如果只提交了一个参数,那么此消息指示此参数不支持值 AUTOMATIC。

要了解哪些配置参数支持 AUTOMATIC 值,请参阅《管理指南》。

SQL1365N

db2start 或 db2stop 在处理插件 插件名 时失败。 原因码:原因码 对于服务器端安全性插件 插件名 处理失败。 与 原因码 对应的解释是:

1
找不到安全性插件。
2
无法装入安全性插件。
3
在 SRVCON_GSSPLUGIN_LIST 数据库管理器配置参数中指定了多个 Kerberos 安全性插件。
4
找不到任何基于 Kerberos 的安全性插件,并且在 SRVCON_AUTH or AUTHENTICATION 数据库管理器配置参数中指定了 Kerberos。
5
安全性插件中丢失了必需的 API。
6
安全性插件类型错误。
7
卸装安全性插件期间遇到了错误。
8
安全性插件名无效。
9
安全性插件报告的 API 的版本与 DB2 不兼容。
10
安全性插件在数据库服务器上遇到了意外错误。
11
未设置 SRVCON_GSSPLUGIN_LIST 数据库管理器配置参数,并且在 SRVCON_AUTH 或 AUTHENTICATION 数据库管理器配置参数中指定了 GSSPLUGIN 或 GSS_SERVER_ENCRYPT。
12
数据库管理器配置参数 COMM_EXIT_LIST 中的通信出口库名无效。
13
找不到通信出口库。
14
无法装入通信出口库。
15
通信出口库缺少必需的 API。
16
通信出口库在装入时遇到错误。
17
通信出口库所报告的 API 的版本与 DB2 不兼容。
与 原因码 对应的用户响应是:

1
确保所指示的安全性插件位于服务器插件目录中。
2
检查管理通知日志文件以找到故障原因。 修正管理通知日志中的错误消息正文所标识的问题。
3
确保在 SRVCON_GSSPLUGIN_LIST 数据库管理器配置参数中只指定了一个 Kerberos 安全性插件。
4
在 SRVCON_GSSPLUGIN_LIST 数据库管理器配置参数中指定一个 Kerberos 安全性插件,或者不要在 SRVCON_AUTH 或 AUTHENTICATION 数据库管理器配置参数中指定 Kerberos。
5
检查管理通知日志文件以找到丢失的必需 API 名称。 将丢失的 API 添加到安全性插件中。
6
在适当的数据库管理器配置参数中指定正确类型的安全性插件。 例如,不要为 SRVCON_GSSPLUGIN_LIST 数据库管理器配置参数指定基于用户标识-密码的安全性插件。
7
检查管理通知日志文件以找到故障原因。 修正管理通知日志中的错误消息正文所标识的问题。
8
指定有效的安全性插件名。 该名称不应该包含任何目录路径信息。
9
确保安全性插件正在使用受支持的版本的 API,并且它报告的是正确的版本号。
10
查阅客户机和服务器上的管理通知日志文件以了解更多信息。 修正管理通知日志中的错误消息正文所标识的问题。
11
为 SRVCON_GSSPLUGIN_LIST 数据库管理器配置参数至少指定一个基于 GSS-API 的安全性插件,或者为 SRVCON_AUTH 或 AUTHENTICATION 数据库管理器配置参数指定另一种认证类型。
12
使用符合通信出口库命名规则的库名。
13
确保所指示的通信出口库位于标准通信缓冲区出口库位置。
14
在 db2diag.log 中查找指示无法装入通信出口库的原因的消息。
15
检查 db2diag.log 以获取缺少的 API 名称。 将缺少的 API 添加到通信出口库。
16
在 db2diag.log 中查找从通信出口库返回的任何消息。 该消息指示通信缓冲区出口库遇到了错误,而不是 DB2 遇到了错误。
17
使用与此 DB2 版本兼容的通信出口库版本。

SQL1366N

客户机上发生了安全性插件 插件名 处理错误。 原因码:原因码

客户端安全性插件返回了错误。 与 原因码 对应的解释是:

  1. 安全性插件中丢失了必需的 API。
  2. 安全性插件类型错误。
  3. 无法装入客户机安全性插件。
  4. 无法卸装安全性插件。
  5. 插件名无效。
  6. 安全性插件报告的 API 的版本与 DB2 不兼容。
  7. 安全性插件遇到了意外错误。
  8. 客户机凭证无效。
  9. 安全性插件接收到已到期的凭证。

与 原因码 对应的用户响应是:

  1. 检查管理通知日志文件以找到丢失的必需 API 的名称。 将丢失的 API 添加到安全性插件中。
  2. 在适当的数据库管理器配置参数中指定正确类型的安全性插件。 例如,不要为 SRVCON_GSSPLUGIN_LIST 数据库管理器配置参数指定基于用户标识-密码的安全性插件。
  3. 检查管理通知日志文件以找到故障原因。 修正管理通知日志中的错误消息正文所标识的问题。
  4. 检查管理通知日志文件以找到故障原因。 修正管理通知日志中的错误消息正文所标识的问题。
  5. 指定有效的安全性插件名。 该名称不应该包含任何目录路径信息。
  6. 确保安全性插件正在使用受支持的版本的 API,并且它报告的是正确的版本号。
  7. 查阅客户机和服务器上的管理通知日志文件以了解更多信息。 修正管理通知日志中的错误消息正文所标识的问题。
  8. 验证客户机凭证(由 db2secGenerateInitialCred 生成或者作为入站代表的凭证提供)采用的是安全性插件识别的格式。 作为将用来启动上下文的凭证,它必须是 INITIATE 或 BOTH 凭证。
  9. 发出该语句的用户必须获得适当的凭证(或者重新获得它们的初始凭证),然后重新提交该语句。

SQL1367N

资源策略支持的操作系统配置不足。 资源策略不支持当前操作系统配置。 安装适当的操作系统级别或禁用 DB2_RESOURCE_POLICY 注册表变量。

SQL1368N

资源策略配置无效。 资源策略文件无效。 纠正由 DB2_RESOURCE_POLICY 注册表变量定义的文件指定的策略定义。

通过清除 DB2_RESOURCE_POLICY 注册表变量禁用资源策略支持或将 DB2_RESOURCE_POLICY 设置为 AUTOMATIC 以自动进行配置。

SQL1369N

XML 文档无效。 当前 XML 文档无效。 验证 XML 文档之后再继续。

SQL1370N

尝试停顿实例或数据库 名称-1 失败,因为实例或数据库 名称-2 已被用户 用户名 停顿。 停顿类型:类型 尝试停顿将会导致重叠停顿的实例或数据库,如在数据库已被另一个用户停顿时停顿某个实例。

停顿类型 类型 指的是已停顿的实例或数据库,对于实例是“1”,对于数据库是“2”。

与当前已停顿该实例或数据库的用户联系,以确定该实例或数据库何时将不再处于停顿状态,并在那时重试此请求。

SQL1371W

未执行停顿操作,因为所指定的名为 名称 的实例或数据库已停顿。 执行维护活动之前,您可以停顿数据库管理器实例或数据库,从而强制用户与其断开连接。

如果尝试停顿某个已停顿的实例或数据库,就会返回此消息。

不需要执行任何操作。

SQL1372N

在事务中不能执行停顿。 尝试在发出停顿的用户未完成工作单元时停顿数据库或实例。 在此状态时不能发出停顿。 完成工作单元(COMMIT 或 ROLLBACK)并再次尝试该请求。

SQL1373W

不能取消对实例或数据库 名称 的停顿,因为它未停顿。 取消停顿失败,因为实例或数据库未停顿。 确保对正确实例或数据库发出了取消停顿命令。

SQL1374N

不能对实例或数据库 名称 执行 QUIESCE RESET,因为它已被另一用户 用户名 停顿。 实例或数据库被停顿,但您不是停顿者。 确保对正确的实例或数据库发出了停顿复位。

SQL1375N

无效的参数被传递到 API。 参数 参数代码 出错。

参数代码 指示有错误的参数:

1
作用域
2
选项

值可能超出范围或无效。

检查 API 的语法,更正参数,然后再次尝试。

SQL1376N

不支持使用定义为受防护的包装器创建或调用有源过程。 不能使用定义为受防护的包装器来创建或调用有源过程。 请使用定义为不受防护的包装器来提交该语句。

sqlcode:-1376

sqlstate:55069

SQL1377N

不支持在此数据源处创建或改变该有源过程。 不能在此数据源处创建或改变该有源过程。 请在受支持的数据源处提交该语句。

sqlcode:-1377

sqlstate:560CL

SQL1378N

未能动态更改一个或多个已提交进行立即修改的参数,已回滚这些参数。 未能立即应用对数据库管理器配置的某些更改,已回滚到其先前值。

要了解哪些参数已回滚,请使用以下命令来检索数据库管理器配置参数并显示参数详细信息:

DB2 GET DBM CFG SHOW DETAIL 

如果在一个组中提交了多个参数,请分别提交这些参数,以找出未能动态更新并且已回滚的参数。 对于那些已回滚到其先前值的配置参数,请执行以下操作:

  • 检查 Db2 诊断日志以确定参数无法更改的原因。
  • 更正导致错误的情况
  • 重新提交该更新

SQL1379W

已重新分发部分数据库分区组 分区组。 已重新分发的表数是 数目,而尚未重新分发的表数是 数目。 原因码:原因码 此重新分发操作已成功完成,但只重新分发了该数据库分区组的一部分。 因此,该数据库分区组中的已重新分发表所使用的分区映射可以不同于尚未重新分发表所使用的分区映射。 另外,如果在执行重新分发操作前,已重新分发表与未重新分发表之间存在并置,那么这些表之间的并置属性也会被临时禁用。 可能未获得最佳查询性能。

原因码:

1
重新分发请求指定了表列表,但该列表并未将指定的数据库分区组中的所有表都包括在内。 因此,没有重新分发数据库分区组中未列示在请求中的其他表。
2
重新分发请求中指定了 STOP AT 参数,但是尚未完成重新分发操作,就达到了该参数值。
请发出另一重新分发请求并指定 CONTINUE 参数,以便将新的分布应用于另一指定的表集或应用于数据库分区组的余下部分,或者指定 ABORT 参数以便撤销重新分发操作,并返回至旧的分布系统。

SQL1380N

发生了意外的 Kerberos 安全性错误。 在认证期间发生了意外的 Kerberos 安全性错误。 不需要执行任何操作。

SQL1381N

“安全性支持提供者界面”不可用。 因为“安全性支持提供者界面”(SSPI) 不可用,所以认证失败。 当在 Windows 操作系统下运行时,应确保文件 security.dll 存在于系统目录下。 还应确保对于正在使用的操作系统,SSPI 是受支持的。

SQL1382N

Kerberos 支持不可用。 因为未安装 Kerberos 支持,所以认证失败。 确保安装 Kerberos 支持且可运行,然后再次尝试进行连接。

SQL1383N

目标主体名称无效。 在 CATALOG DATABASE 命令中指定的目标主体名称无效。 通过使用 UNCATALOG DATABASE 命令来移除具有无效目标主体名称的数据库条目。 通过使用 CATALOG DATABASE 命令来重新编目具有有效目标主体名称的数据库条目并再次尝试进行连接。

在 Windows 操作系统环境中运行时,目标主体名称是 Db2 服务的登录帐户名称,格式为 <domain name>\<user ID>。

SQL1384N

无法完成相互认证。 因为客户机或服务器无法完成相互认证,所以连接失败。 如果目标主体名称是在 CATALOG DATABASE 命令中指定的,那么应确保目标主体名称对于客户机尝试与其连接的服务器是有效的。

在 Windows 操作系统环境中运行时,目标主体名称是 Db2 服务的登录帐户名称,格式为 <domain name>\<user ID>。

如果目标主体名称看起来无效,请与 IBM 服务机构联系以获取帮助。

SQL1385N

对重新分发操作错误地指定了参数 参数。 原因码:原因码 错误消息中命名的参数无效,未正确地指定,或与指定的其他重新分发选项之一不兼容。

原因码:

1
指定了无效的重新分发选项。 分布选项可以是“U”(统一)、“T”(目标映射)、“C”(继续)或“A”(中止)之一。
2
分区列表中的分区号的最大数目必须小于或等于集群中允许的最大分区数。
3
STOP AT 参数值无效。 STOP AT 值必须为 ISO 格式,长度为 26。 格式必须为“yyyy.mm.dd.hh-mm-ss-nnnnnn”。
7
STATISTICS 参数值无效。 该值必须为 DB2REDIST_STAT_USE_PROFILE (‘P’) 或 DB2REDIST_STAT_NONE (‘N’)。
8
表名的长度超出范围。 每个表名的最大长度是(SQL_MAX_IDENT + SQL_MAX_IDENT +2)。
9
表选项参数无效。 表选项值必须为 DB2REDIST_TABLES_FIRST (‘F’) 或 DB2REDIST_TABLES_ONLY (‘O’)。
10
输入参数结构丢失了信息。 输入结构 db2RedistStruct 不能为 NULL。 另外,其字段结构 db2RedistIn 也不能为 NULL。
11
数据库分区组名未定义,或者存储数据库分区组名的 db2Char 结构错误。 必须提供数据库分区组名。 存储数据库分区组名的 db2Char 结构必须包含有效数据。 请检查存储数据库分区组名的 db2Char 结构。 当 pioData 为 NULL 时,iLength 必须为零,反之亦然。
12
存储数据分发文件名的 db2Char 结构无效。
13
存储目标分区映射文件名的 db2Char 结构无效。
14
指定了重新分发选项“T”(目标映射),但未指定目标映射文件。
15
当重新分发选项为“T”(目标映射)或“A”(中止)时,不应该指定数据分发文件。
16
当重新分发选项为“U”(统一)、“C”(继续)或“A”(中止)时,不应该指定目标映射文件。
17
当重新分发选项为“T”(目标映射)、“C”(继续)或“A”(中止)时,“添加分区列表”和“删除分区列表”应为空,而“添加计数”和“删除计数”应为零。
18
不能多次指定重新分发选项。
19
向 API 传递了错误的版本号。
20
在 TABLE 列表中指定的类型表不是整个层次结构的根表。
21
DATA BUFFER 参数值无效。 该值必须大于 0 且小于 util_heap_sz db cfg 参数的大小。
请根据原因码检查对应的参数,确保指定了有效的参数,然后再次调用该实用程序。

SQL1387W

成功完成了 DB2 高可用性灾难恢复(HADR)接管。 但是,HADR 资源组仍然被锁定;而集群管理器未控制该资源组。 成功完成了 HADR 接管,集群管理器现在应该再次负责管理受影响的集群节点上的资源组。

但是,数据库管理器无法将资源组控制权归还给集群管理器。 因此,集群管理器当前未控制该资源组。

如果集群管理器未控制此资源组,那么集群管理器将不会对任何与该资源组相关的故障作出响应。

集群管理器中生成的错误消息将记录在 db2diag 日志文件中。

以手动方式将资源组解锁,以便集群管理器可以控制该资源组:

  1. 查看 db2diag 日志文件,以获取详细说明为何数据库管理器无法将资源组解锁并将资源组控制权归还给集群管理器的诊断信息。
  2. 使用集群管理器的工具和实用程序来启用或监视受影响的资源组以及将该资源组解锁。

SQL1388W

尝试访问所请求资源或其部分资源时出错。 仍返回了部分信息。 管理通知日志的消息 消息号 提供了详细信息。 尝试访问所请求信息的一个或多个源时出错。 可收集的信息有效并且已返回,但某些记录可能丢失。 查询结果不完整。 请参阅管理通知日志中的相关条目以了解更多信息,然后更正并重新提交该命令。 如果问题仍然存在,请与 IBM 支持机构联系。

SQL1389N

表标志符 表标志符 对于表达式无效。 表标志符未定义为此 SQL 语句中的表标志符,或者即使在该 SQL 语句中指定了该表标志符,但不能对其进行引用。

无法执行该语句。

更正语法并重新提交该语句。 请参阅 DB2 SQL Reference,以获取 ROW CHANGE TIMESTAMP 表达式和 ROW CHANGE TOKEN 表达式或者 RID 和 RID_BIT 内置函数的表标志符的规则。

sqlcode:-1389

sqlstate:42703

SQL1390C

未定义环境变量 DB2INSTANCE 或该变量无效。 环境变量 DB2INSTANCE 未定义或未设置为一个有效的实例所有者。 将 DB2INSTANCE 环境变量设置为要使用的实例的名称。 如果您不知道要使用的实例的名称或如何将 DB2INSTANCE 环境变量设置为实例名称,请参阅《管理指南》。

联合系统用户:请参阅《联合系统指南》以获取 DB2INSTANCE 信息。

确保 PATH 环境变量包含要使用的实例的主目录中的 sqllib/adm 路径(例如,/u/instance/sqllib/adm,其中 /u/instance 是 UNIX 系统上实例所有者的主目录)。

SQL1391N

该数据库已由数据库管理器的另一实例使用。 请求失败,因为数据库正由数据库管理器的另一个实例使用(一个数据库只能被一个实例使用)。 这可能是由于尝试访问位于一个已安装文件系统上的数据库引起的,而该已安装文件系统可由位于另一机器上的另一实例访问。

如果您有至数据库的打开连接(经由 SNA),且数据库管理器被异常停止,那么可能发生这种情况。

  • 验证您是否在使用正确的数据库,并确保没有其他实例使用该数据库。
  • 如果数据库管理器被异常停止,且有命令行处理器与它连接,那么在再次尝试连接之前,请执行 db2 终止以关闭不恰当的打开连接。

sqlcode:-1391

sqlstate:51023

SQL1392N

不支持使用 prep,-bind,-import,-export 应用程序的多个实例。 在 WINDOWS 内,在任何时候都只能运行 prep、bind、import 或 export 的一个实例。 在 WINDOWS 内,不要尝试启动使用 prep、bind、import 或 export 的多个应用程序。

SQL1393C

未定义环境变量 DB2PATH 或该变量无效。 环境变量 DBIPATH 未定义或未设置为有效的目录路径。 将 DBIPATH 环境变量设置为安装数据库管理器的目录。

SQL1394N

未定义该实例。 不能为应用程序设置新实例,因为未定义该实例。

如果当前用户没有在当前实例环境中执行程序所必需的权限,就会返回此消息。

请确保所指定的实例存在,并且当前用户具有足够的权限在当前实例环境中执行程序。 使用 db2ilist 命令显示实例列表:

   db2ilist 

SQL1395N

无法切换到另一个实例,因为应用程序正使用多重上下文。 请求切换到另一个实例失败,因为应用程序正使用多重上下文。 确保在切换到另一实例之前,应用程序未在使用多重上下文。

SQL1396N

无法切换到另一个实例,因为应用程序连接数据库或与实例相连。 请求切换到另一个实例失败,因为应用程序连接数据库或与实例相连。 确保在切换到另一个实例之前,应用程序未连接任何数据库或与任何实例相连。

SQL1397N

无法登录 DB2 服务。 由于登录失败,DB2 服务未启动。 如果正在启动 DB2 管理服务器,那么使用 DB2ADMIN SETID 命令设置新的登录帐户。 如果正在 Windows 上启动数据库服务器,那么可通过使用“控制面板”中的“服务”对话框来设置 DB2 服务的登录帐户。

SQL1398N

在分区数据库环境中不支持例程 例程名 在分区数据库环境中不支持例程 例程名。 RID 函数的返回数据类型不能在数据库分区之间唯一地标识某行。 在未分区数据库环境中支持 RID 函数以保持与 DB2 for z/OS 兼容。 请只在未分区数据库环境中使用该例程。 请使用 RID_BIT 函数取代 RID 函数。

sqlcode:-1398

sqlstate:56038

SQL1399N

由于对象object-name 的选项option-name2的原因,操作 operation-name对选项option-name1无效。 原因码为 Reason-code 两个包装器或服务器选项互相依赖。 是否可以删除或添加一个选项取决于另一个选项的存在情况。 请查看『与 DDL 语句相关的更改』一节以获取有关如何使用此 sqlcode 的示例。

原因码为:

01
由于对象 对象名 的选项 选项名-2 不存在,因此不能添加选项 选项名-1
02
由于对象 对象名 的选项 选项名-2 存在,因此不能删除选项 选项名-1
两个包装器或服务器选项互相依赖。 是否可以删除或添加一个选项取决于另一个选项的存在情况。

原因码为:

01
对对象 对象名 添加选项 选项名-2。 然后,添加选项 选项名-1
02
对对象 对象名 删除选项 选项名-2。 然后,删除选项 选项名-1

SQL1400N

不支持认证。 提供的认证类型不是支持的类型之一。

不能处理此命令。

用户应该用有效的参数值重新发出该命令。

SQL1401N

认证类型不匹配。 用户正尝试连接在本地节点上编目的远程数据库,但该本地节点与远程节点的认证类型不同。

联合系统用户:当发生以下情况时,也可能出现此消息:

  • 在 SYSCAT.SERVEROPTIONS 中的标识数据源,其 OPTION =’PASSWORD’ 包含 SETTING=’N’,该数据源未以可信的客户机方式运行(即,数据源需要密码)
  • 在 SYSCAT.SERVEROPTIONS 中标识的数据源,其 OPTION =’PASSWORD’ 包含 SETTING=’Y’,该数据源以可信的客户机方式运行(即,数据源不需要密码)
  • 未对 SYSCAT.SERVEROPTIONS 中的 OPTION=’PASSWORD’ 指定服务器选项,PASSWORD 的系统缺省值违反了数据源密码需求。
不能处理此命令。

用户应该使用与远程数据库相同的认证类型来重新编目客户机节点上的数据库别名。 重新提交该命令。

联合系统用户:

  • 如果问题在于数据源需要密码,但 SYSCAT.SERVEROPTIONS 对于该服务器的 OPTION=’PASSWORD’ 包含 SETTING=’N’,那么使用 ALTER SERVER SQL 语句改变 SYSCAT.SERVEROPTIONS,以反映真实的数据源密码需求。
  • 如果问题在于数据源不需要密码,但 SYSCAT.SERVEROPTIONS 对于该服务器的 OPTION=’PASSWORD’ 包含 SETTING=’Y’,那么使用 ALTER SERVER SQL 语句改变 SYSCAT.SERVEROPTIONS,以反映真实的数据源密码需求。
  • 如果未在 SYSCAT.SERVEROPTIONS 中设置 OPTION=’PASSWORD’ 的服务器选项,那么使用 CREATE SERVER SQL 语句创建一个条目,以反映真实的数据源密码需求。

sqlcode:-1401

sqlstate:08001

SQL1402N

由于意外的系统错误,不能认证用户。 与系统管理员联系。 在基于 unix 的系统上,文件 db2ckpw 可能没有设置正确的许可权位,或者系统可能已用完交换/调页空间。 在 Windows 上,可能没有启动 DB2 安全服务或可能锁定了帐户。

不能处理此命令。

联合系统用户:数据源也可能会检测到此情况。

在基于 unix 的系统上,让系统管理员确保已为 db2ckpw 设置了正确的访问许可权,并且分配了足够的交换/调页空间。 在 Windows 上,确保帐户未被锁定。

SQL1403N

提供的用户名和/或密码不正确。 提供的用户名和/或密码不正确,或者是无效的用户名/密码组合,或者您正尝试与之连接的数据库的认证类型为 SERVER,但是在 CONNECT TO 语句中没有提供用户名和密码。

如果正在使用 DB2 Connect,那么问题可能在于找不到用于主机连接的 DCS 目录条目。

不能处理此命令。

联合系统用户:数据源也可能会检测到此情况。

提供正确的用户名和密码组合。

联合系统用户:确保 SYSCAT.USEROPTIONS 中的条目包含正在访问的数据源的正确用户名和密码。

sqlcode:-1403

sqlstate:08004

SQL1404N

密码到期。 密码已到期。 更改密码,然后使用新密码再次尝试该请求。 可以使用命令行处理器发出 CONNECT 语句或者 ATTACH 命令来更改密码。

sqlcode:-1404

sqlstate:08004

SQL1405N

不能与本地 DB2 认证服务器通信。 由于在与本地 DB2 认证服务器通信时发生错误,因此无法认证应用程序。 确保启动了 DB2 认证服务器。

SQL1406N

不能对此实用程序分配共享排序内存。 共享排序内存不可用,但为此操作所必需。

请执行下列任一操作:

  • 配置 SHEAPTHRES_SHR 配置参数的值以允许在共享内存中进行排序。
  • 通过将 INTRA_PARALLEL 配置参数设置为“YES”来启用分区内并行性。
  • 激活连接集中器。

SQL1407N

选项名 选项与 功能部件 不兼容。 该实用程序不支持将 选项名 选项与 功能部件 配合使用。 请使用兼容的选项重新提交该命令。

SQL1408N

审计策略audit-policy已用于object-type 类型的object-name对象。 用于类型为 对象类型 的对象 对象名 的 AUDIT USING 语句尝试为指定对象关联审计策略,但是已经在使用 审计策略 审计策略了。 只能将一种审计策略与特定对象相关联。 无法处理该语句。 使用 AUDIT 语句的 REPLACE 选项将现有审计策略替换为期望的审计策略。

sqlcode:-1408

sqlstate:5U041

SQL1409N

审计策略与对象类型的对象名称无关。 指定了 REMOVE 选项的 AUDIT 语句尝试移除与类型为 对象类型 的 对象名 对象的关联,但是并不存在关联,因此无法处理该语句。 验证是否使用了正确的对象和类型。 如果它们都正确,那么在关联不存在的情况下不需要执行任何操作。

sqlcode:-1409

sqlstate:5U042

SQL1410N

不能在 XA 事务中发出 SQL 语句。

已发出下列其中一个语句,但是不能在 XA 事务中发出该语句。

  • CREATE、ALTER 或 DROP WORKLOAD
  • GRANT 或 REVOKE USAGE ON WORKLOAD
  • CREATE、ALTER 或 DROP SERVICE CLASS
  • CREATE、ALTER 或 DROP WORK CLASS SET
  • CREATE、ALTER 或 DROP WORK ACTION SET
  • CREATE、ALTER 或 DROP THRESHOLD
  • CREATE、ALTER 或 DROP TRUSTED CONTEXT
  • CREATE、ALTER 或 DROP AUDIT POLICY
  • SET TENANT
从非 XA 连接中重新发出该语句,或者等到完成当前 XA 事务之后重新发出该语句。

sqlcode:-1410

sqlstate:51041

SQL1411N

服务超类不支持指定子句 子句 指定子句 子句 对于服务子类有效,但对于服务超类无效。 创建或改变服务子类时,请使用 UNDER 子句。 请移除不受支持的子句,或指定 UNDER 子句以创建或改变服务子类。

sqlcode:-1411

sqlstate:5U043

SQL1412N

无法处理名为 表名 的表。 原因:reason-code 可能的原因码如下所示:

31
表中包含在数据库服务器 V9.5 或更低版本上创建的 XML 类型的数据。 如果表的 XML 列包含 V9.7 之前的数据库服务器上创建的 XML 类型的数据,那么重新分发实用程序无法处理这些表。
根据 原因码 执行相应的操作。

31
使用 SYSPROC.ADMIN_MOVE_TABLE 过程来重新创建此表。 新版本的表可分发。

通过执行以下步骤,可验证数据库分区组中是否具有包含数据库服务器 V9.7 之前版本创建的 XML 列的其他表:

  1. 使用 ADMIN_GET_TAB_INFO 表函数或者查看管理视图 SYSIBMADM.ADMINTABINFO 以检索此表的 XML_RECORD_TYPE 信息。
  2. 如果所返回的列 XML_RECORD_TYPE 的值是 2 或更大,那么 Redistribute 实用程序可以处理此表。
  3. 如果 XML_RECORD_TYPE 的值为 1,那么 Redistribute 实用程序不能处理此表。 使用 SYSPROC.ADMIN_MOVE_TABLE 过程来重新创建此表。

sqlcode:-1412

sqlstate:55019

SQL1413N

对表 表名 的 ROW CHANGE TIMESTAMP 列所作的设定无效。 对 ROW CHANGE TIMESTAMP 列所作的设定无效。 ROW CHANGE TIMESTAMP 列不能是:

  • 包含外键的列。
  • 包含函数依赖性 DEPENDS ON 子句的列。
  • 包含数据库分区键的列。
  • 为临时表定义。

无法执行该语句。

更正语法并重新提交该语句。

sqlcode:-1413

sqlstate:429BV

SQL1414N

表标志符 表标志符 对于表达式无效。 表标志符未定义为此 SQL 语句中的表标志符,或者即使在该 SQL 语句中指定了该表标志符,但不能对其进行引用。 无法执行该语句。 更正语法并重新提交该语句。 请参阅 SQL Reference,以获取 ROW CHANGE TIMESTAMP 表达式和 ROW CHANGE TOKEN 表达式的表标志符的规则。

sqlcode:-1414

sqlstate:42703

SQL1415N

编译该语句只是为了诊断目的,但尚未执行。 通过系统部件处理该语句来使用服务功能部件收集诊断信息。 尚未完成允许进一步处理该语句的必需步骤。 返回此错误的目的是防止系统进一步处理使用服务功能部件来预编译的语句,因而这是所期望的。

SQL1416N

包装器库 包装器库名 与联合服务器中安装的数据库产品发行版不兼容。 该包装器库与下列 DB2 发行版 DB2-发行版列表 兼容。 该包装器库与联合服务器中安装的数据库产品发行版和修订包级别不兼容。 该包装器库与 DB2-发行版列表 中所列示的 DB2 发行版兼容。 发生此错误的最常见原因是:

  • 您安装了 DB2 修订包,但是未安装相应的 InfoSphere Federation Server 修订包。
  • 在安装 InfoSphere Federation Server 修订包期间,未运行或者未成功完成用来链接受防护的包装器库的脚本。
  • 安装了 InfoSphere Federation Server 的一个补丁,该补丁要求运行用来链接受防护的包装器库的脚本。 但是未运行或者未成功完成该脚本。
  • 您将不兼容的产品库放到数据库产品安装目录中了。
要确定 DB2 的发行版和修订包级别,发出 db2level 命令。 必要时,安装与当前 DB2 发行版和修订包级别等价的 InfoSphere Federation Server 修订包。 如果包装器需要运行脚本来链接受防护的包装器库,那么运行该链接脚本。 下列包装器需要此脚本:

数据源
缺省包装器名
链接脚本
Informix INFORMIX djxlinkInformix
Microsoft SQL Server DJXMSSQL3 djxlinkMssql
Oracle NET8 djxlinkOracle
Sybase CTLIB djxlinkSybase
Teradata TERADATA djxlinkTeradata

有关链接脚本的更多信息,请查阅 InfoSphere Federation Server Installation Guide。

sqlcode:-1416

sqlstate:560CN

SQL1417W

包装器名 包装器支持数据源服务器版本 数据源版本列表。 将包装器与更高版本的数据源服务器配合使用可能会导致错误或意外结果。 IBM 公司仅使用 数据源版本列表 列表中的数据源服务器版本对包装器进行了测试。 如果使用包装器来访问您在 CREATE SERVER 或 ALTER SERVER 语句上指定的数据源服务器版本,那么可能会发生错误或者获得意外结果。 请与数据源供应商联系,以确定您正在使用的数据源服务器版本是否与为较早版本编写的应用程序兼容。 如果您要使用的数据源服务器的版本兼容,那么包装器将正常运行。 但是,IBM 公司未使用您正在使用的数据源服务器版本对包装器进行测试。 如果您正在使用的数据源服务器版本不兼容,而您继续使用该包装器来访问该数据源服务器版本,那么可能会发生错误或者获得意外结果。

sqlcode:+1417

sqlstate:0168Q

SQL1418W

更改数据库配置参数 DECFLT_ROUNDING 可能会产生意外结果。 未动态更改值。 所有应用程序都必须与此数据库断开连接,更改才会生效。 更改数据库配置参数 DECFLT_ROUNDING 可能会产生多个意外结果。 任何使用 DECFLOAT 数据类型的计算在使用新的舍入方式时可能会产生不同的结果。

以下是一些最重要结果的列表:

  • 先前构造的 MQT 可能包含与使用新舍入方式时产生的结果不相同的结果。
  • 潜在依赖于舍入方式来执行的触发器现在根据新舍入方式可能会产生不同的结果。 但是,即使舍入方式可能会影响触发器的结果,更改舍入方式也不会对已经写入的数据产生任何影响。
  • 如果重新评估,先前允许将数据插入表中的那些约束,现在可能会拒绝同一个数据。 同样,先前不允许将数据插入表中的那些约束,现在可能会因使用新的舍入方式而接受同一个数据。
  • 对于除了生成列值之外完全相同的两行来说,如果一行是在更改 DECFLT_ROUNDING 之前插入的,而另一行是在更改 DECFLT_ROUNDING 之后插入的,那么依赖于 DECFLT_ROUNDING 来计算的生成列的值可能会不相同。
    • 注意:舍入方式并未编译到程序包中,因此,在更改 DECFLT_ROUNDING 之后不需要重新编译静态 SQL。

未动态更改配置参数的值,但是,只有在所有应用程序都与此数据库断开连接之后,配置参数值才会生效。 如果已激活数据库,那么必须取消激活该数据库。

要更正 MQT 问题,请刷新会受到舍入方式的潜在影响的任何 MQT。 手动评估并更正与受到舍入方式影响的触发器相关的任何问题。

要更正表中现在按照新舍入方式将违反约束的那些数据的存在性,可使用 SET INTEGRITY 来检查按照新舍入方式将违反约束的那些行。 要更正生成列存在的问题,对于具有可能会受影响的生成列的表使用附带了 FORCE GENERATED 选项的 SET INTEGRITY。

或者,将舍入方式数据库配置参数(DB config 参数)DECFLT_ROUNDING 更改回它的先前值,以避免产生此消息中指出的所有潜在结果。

要使该配置参数的新值生效,应使所有应用程序与此数据库断开连接。 如果已激活数据库,那么必须取消激活该数据库。

sqlcode:+1418

sqlstate:0168M

SQL1419N

该语句、子句、命令、API 或函数在 DB2 pureScale 环境中不受支持。 原因码:原因码 原因码指示操作失败的原因:

1
在 DB2 pureScale 环境中,仅自动存储器表空间受支持。

CREATE TABLESPACE 或 CREATE DATABASE 语句失败,因为未将表空间指定为 MANAGED BY AUTOMATIC STORAGE。

2
在 DB2 pureScale 环境中,不支持启用自动存储器。

因为除了自动存储器之外,任何其他类型的存储器在 DB2 pureScale 环境中都不受支持,所以,用于将使用任何其他类型的存储器的表空间改变为使用自动存储器的语句可能会返回此原因码。

3
在 DB2 pureScale 环境中,不支持删除用于自动存储器表空间的存储器路径。

因此,在 DB2 pureScale 环境中,不支持对 ALTER DATABASE 语句使用 DROP STORAGE 子句。

4
在 DB2 pureScale 环境中,不支持在数据库分区号 0 之外的任何数据库分区上创建数据库分区组。

因此,在 DB2 pureScale 环境中,不支持在 CREATE DATABASE PARTITION GROUP 语句中使用下列子句:

  • ON DBPARTITIONNUMS
  • ON DBPARTITIONNUM,并指定数据库分区 0 之外的数据库分区
5
在 DB2 pureScale 环境中,不支持改变数据库分区组。

因此,不支持 ALTER DATABASE PARTITION GROUP 语句。

6
CREATE TABLE 语句失败,因为当前环境中不支持所指定的表类型。

在 DB2 pureScale 环境中,不支持下列类型的表:

  • 多维集群 (MDC) 表
  • 插入时集群 (ITC) 表
  • 范围集群表 (RCT)
7
联机索引重组操作在 DB2 pureScale 环境中不受支持。
9
不支持在所指定的数据库分区上创建或删除数据库。

因此,在 DB2 pureScale 环境中,不支持执行下列操作:

  • 在 CREATE DATABASE 或 DROP DATABASE 命令中指定 AT DBPARTITIONNUM 子句
  • 调用 sqlecran API 或 sqledrpn API
11
在 DB2 pureScale 环境中,不支持改变数据库容器。

因此,在 DB2 pureScale 环境中,不支持对 ALTER TABLESPACE 语句使用下列子句:

  • ADD <database-container-clause>
  • BEGIN NEW STRIPE SET <database-container-clause>
  • DROP <database-container-clause>
  • 重新平衡
  • RESIZE <database-container-clause>
  • USING STOGROUP
13
db2ReadLogNoConn API 不受支持。
14
在 DB2 pureScale 环境中,不支持使用带有 ADD DBPARTITIONNUM 子句的 START DATABASE MANAGER 命令来添加数据库分区。 在 DB2 pureScale 环境中,不支持使用带有 DROP DBPARTITIONNUM 子句的 STOP DATABASE MANAGER 命令来删除数据库分区。
16
不支持 PRUNE LOGFILE 命令。
17
在 DB2 pureScale 环境中,不支持下列配置参数:

  • HEALTH_MON – 运行状况监控
18
不支持所指定的创建缓冲池或者改变缓冲池操作。
19
在 DB2 pureScale 环境中,如果发出了带有 ON DBPARTITIONNUMS 子句或 ON DBPARTITIONNUM 子句(作为数据库分区列表子句或者日志溢出子句的一部分)的 ROLLFORWARD 和 RECOVER 命令,那么指定的数据库分区必须为数据库分区 0。
20
无法向此组件添加 CF 或其他成员。 已经达到此主机上累积的 CF 和成员的最大数目。
23
在 DB2 pureScale 环境中,不支持使用 REBUILD 选项来执行复原操作。
24
在 DB2 pureScale 环境中,不支持时间点恢复操作(使用 TO <isotime> 选项进行前滚或恢复,或使用 TO END OF BACKUP 选项进行前滚)。
26
在 DB2 pureScale 环境中,SET CLIENT 命令不支持 CATALOG_DBPARTITIONNUM 子句。
27
在 DB2 pureScale 环境中,不支持无限日志记录。
28
在 DB2 pureScale 环境中,不支持使用原始设备进行数据库日志记录。
29
QUIESCE TABLESPACES FOR TABLE 命令失败,因为在 DB2 pureScale 环境中不支持停顿表空间。 在 DB2 pureScale 环境中,支持停顿数据库或数据库管理器实例。
30
ADMIN_GET_INVISIBILITY_LIST 表函数在 DB2 pureScale 环境中不受支持。
31
在 DB2 pureScale 环境中,不支持控制文件恢复功能。
请根据原因码对此消息作出响应:

1
在指定 MANAGED BY AUTOMATIC STORAGE 子句的情况下再次执行此语句。
2
用户无需进行任何响应。 应当已经启用了自动存储器。
3
在不指定 DROP STORAGE 子句的情况下再次执行此语句。
4
在不指定 ON DBPARTITIONNUMS 并且不对除了数据库分区 0 之外的数据库分区指定 ON DBPARTITIONNUM 的情况下再次执行此语句。
5
不需要任何响应。 在 DB2 pureScale 环境中,不能改变数据库分区组。
6
在不指定下列任何子句的情况下再次执行 CREATE TABLE 语句:

  • ORGANIZE BY DIMENSIONS
  • ORGANIZE BY INSERT TIME
  • ORGANIZE BY KEY SEQUENCE
7
在未指定 ALLOW READ ACCESS 或 ALLOW WRITE ACCESS 子句的情况下重新发出索引重组命令。
9
不需要任何响应。 在 DB2 pureScale 环境中,不能在指定的数据库分区上创建或删除数据库。
11
在不指定不受支持的子句的情况下再次执行此语句。
13
不需要任何响应。 在 DB2 pureScale 环境中,不能使用 db2ReadLogNoConn API。
14
不需要任何响应。 在 DB2 pureScale 环境中,不能添加或删除数据库分区。
16
不需要任何响应。 在 DB2 pureScale 环境中,不能使用 PRUNE LOGFILE 命令。
17
用户无需进行任何响应。 在 DB2 pureScale 环境中,不得使用 HEALTH_MON 配置参数。
18
在 DB2 pureScale 环境中,不支持基于块的缓冲池。 在未指定 NUMBLOCKPAGES 或 BLOCKSIZE 子句的情况下再次执行 CREATE BUFFERPOOL 或 ALTER BUFFERPOOL 语句。
19
在不指定 ON DBPARTITIONNUMS 或者指定数据库分区值 0 的情况下重新发出 ROLLFORWARD 或 RECOVER 命令。
20
在您可以在此主机上添加 CF 或成员之前,将需要移除一个成员或 CF。 例如,如果您想要添加 CF,那么将首先需要移除一个成员。
23
在不指定不受支持的 REBUILD 选项的情况下重新启动复原操作。
24
重新启动前滚或恢复操作,而不指定不受支持的 TO <isotime> 或 TO END OF BACKUP 选项。
26
请不要对 SET CLIENT 命令指定 CATALOG_DBPARTITIONNUM 子句。
27
请不要将 logsecond 数据库配置参数的值设置为 -1。 此值会为数据库配置无限活动日志空间,这在 DB2 pureScale 环境中不受支持。
28
更新 newlogpath 数据库配置参数的值时,请不要指定原始设备。 请指定有效路径名;或者,除了使用原始日志以外,还可以索引直接输入/输出 (DIO) 或者并发输入/输出 (CIO)。
29
使用 QUIESCE DATABASE 命令停顿数据库,或者使用 QUIESCE INSTANCE 命令停顿数据库管理器实例。
30
请不要在 DB2 pureScale 环境中使用 ADMIN_GET_INVISIBILITY_LIST 表函数。
31
不需要任何响应。 在 DB2 pureScale 环境中,不能使用 CTRL_FILE_RECOV_PATH 数据库配置参数。

sqlcode:-1419

sqlstate:56038

SQL1420N

并置运算符太多。 当对长对象或大对象字符串结果类型、包含并置运算符的表达式进行求值时,数据库管理器达到了内部限制。 减少表达式中的并置数,并再次尝试。

sqlcode:-1420

sqlstate:54001

SQL1421N

当将主变量或 sqlvar 号码 转换成 wchar_t 格式,或反过来转换时,发生了 MBCS 转换错误。 原因码:原因码

使用 WCHARTYPE CONVERT 选项来预编译具有嵌入式 SQL 语句的 C/C++ 应用程序。 在运行时,在对输入主机变量进行 wcstombs() 转换或者对输出主机变量进行 wcstowcs() 转换期间,应用程序接收到错误。 主机变量或 sqlvar 号指示哪个数据项遇到问题。 有效的原因码是:

1
输入数据发生了问题
2
输出数据发生了问题
如果应用程序数据已是 MBCS 格式,那么使用 WCHARTYPE NOCONVERT 来重新预编译应用程序,并重建。 如果希望应用程序数据采用 wchar_t 格式,那么在 wcstombs() 中失败了的输入数据可能会毁坏。 更正数据,并重新执行该应用程序。

sqlcode:-1421

sqlstate:22504

SQL1422N

容器的大小无效。 在数据库管理的表空间中将使用的其中一个容器太大或太小。 容器的长度必须至少为 2 * 扩展数据块大小页。 容器的最大大小与操作系统有关。 最常用的系统限制是 2 千兆字节(524288 个 4K 页)。 查阅管理通知日志以了解详细信息。 然后更正 SQL 语句。

sqlcode:-1422

sqlstate:54039

SQL1423N

查询中包括具有大对象数据类型的列。 查询中包括数据类型为 BLOB、CLOB 或 DBCLOB 的列。 一般来说,版本 2.1 以前的客户机不能处理这些数据类型。

如果符合与警告 SQLCODE +238 相对应的条件,那么会发生错误。 查看此消息,以了解说明该条件的详细信息。 接收到此消息的客户机级不能处理 BLOB 数据类型。 如果 LOB 列的长度不大于字符数据类型支持的长度,那么可以通过使用 SUBSTR 函数,或者通过将 SQLDA 中的数据类型设置为在“版本 1”中可用的其中一种字符数据类型来处理 CLOB 和 DBCLOB 数据类型。

更改查询,以便排除数据类型为 BLOB、CLOB 或 DBCLOB 的任何列。 如果查询中包括类型为 BLOB 的列,那么这是唯一可能的操作。 如果列(例如,C1)是 CLOB 类型,那么可使用 CAST (C1 AS LONG VARCHAR) 来获得前面 32700 个字符。 类似地,对于 DBCLOB 列(DC1),使用 CAST(DC1 AS LONG VARGRAPHIC)来获得前面 16350 个字符。 如果可以更改应用程序代码,那么可以添加代码以更改 SQLDA,以便对 CLOB 和 DBCLOB 使用 LONG VARCHAR 或 LONG VARGRAPHIC。

sqlcode:-1423

sqlstate:56093

SQL1424N

对转换变量和转换表列的引用太多,或者这些引用的行长太长。 原因码为 rc

触发器包括标识一个或多个转换表和转换变量的 REFERENCING 子句。 触发器的触发操作包含对转换表列或转换变量的引用,具有由原因码标识的下列其中一种情况:

1
引用总数超过表中列数的限制
2
引用的长度总和超过表中一行的最大长度。
减少在触发器的触发操作中对转换变量和转换表列的索引数,以便减小长度或者使这些引用的总数小于表中的最大列数。

sqlcode:-1424

sqlstate:54040

SQL1425N

提供了密码,但是没有提供用户标识。 接受用户标识和密码的任何命令/API 将不接受没有用户标识的密码。 重新提交命令/API,如果还要提供密码,那么必须提供用户标识。

SQL1426N

不能确定缺省实例。 如果尚未执行显式“连接至实例”,那么实例命令将尝试建立与缺省实例的隐式连接。 缺省实例是由 DB2INSTDFT 和 DB2INSTANCE 环境变量确定的。 如果没有设置这些环境变量,那么不会建立隐式连接。 将这些环境变量之一设置为有效实例名,并重新提交命令。

SQL1427N

实例连接不存在。 应用程序没有与实例相连。 除非有现有的实例连接,否则不能执行尝试的命令/API。 如果与实例断开连接时发生错误,那么继续处理。 如果执行其他任何命令期间出错,那么连接一个实例并重新发出失败的命令。

SQL1428N

应用程序已与 节点名-1 连接,同时发出的命令要求与 节点名-2 相连,以便成功执行该命令。 为了成功处理命令,需要连接与当前存在的节点不相同的节点。 应用程序必须:1)发出命令时不存在连接,或者,2)已连接至命令所需要的节点。 确保应用程序在发出命令之前未进行连接,或存在的连接与正确的节点相连。

SQL1429N

不能创建节点目录条目,在该目录条目中,节点名与 DB2INSTANCE 环境变量的值相匹配。 CATALOG NODE 命令或 API 不允许其节点名与 DB2INSTANCE 环境变量的值相匹配的条目。 为正在编目的节点选择另一个节点名,并再次尝试。

SQL1430N

在节点名称上的系统数据库目录中找不到数据库名称数据库 当为数据库监视器提供了特定数据库名称时,那么那些数据库必须驻留在您当前连接的节点或本地节点上。 确保在请求中列示的数据库全部都驻留在您所连接的节点或本地节点上。 重新发出该请求。

SQL1431N

远程执行时,不允许相对路径 路径 当应用程序对于服务器是远程应用程序时,不允许相对路径。 指定对服务器有效的标准路径,并重新发出该命令。

SQL1432N

使用了服务器不识别的数据库协议将请求发送至服务器。 此错误是由于将 DB2 请求发送给不知道用来传送请求的数据库协议的服务器而引起的。 当将 DB2 ATTACH 请求发送至节点目录中所列示的服务器,而该服务器不是 DB2 版本 2 或更高版本的服务器时,这种情况经常发生。 如果向 DB2 AS/400 版、DB2 MVS 版或 DB2 VM 版和 DB2 VSE 版服务器发送连接请求,那么也将产生此错误。 不要尝试连接解释中列示的任何服务器。

SQL1433N

应用程序已与 数据库-1 相连,同时在发出命令时要求与 数据库-2 连接,以便成功执行该命令。 为了成功处理命令,需要连接与当前存在的数据库不相同的数据库。 应用程序必须:1)发出命令时不存在连接,或者,2)已连接至命令所需要的数据库。 确保应用程序在发出命令之前未进行连接,或存在的连接与正确的数据库相连。

SQL1434N

由于 32 位和 64 位平台之间的客户机/服务器不兼容性,CONNECT 或 ATTACH 语句失败。
  1. V7 不支持 32 位与 64 位平台之间的客户机/服务器连接。
  2. V8 Windows 64 位数据库服务器不支持从 V7 的 64 位客户机进行的客户机/服务器连接。
对于方案 1,您可在下列方案中发出 CONNECT 或 ATTACH 语句:

  • 从 32 位客户机至 32 位服务器
  • 从 64 位客户机至 64 位服务器

对于上面列示的方案 2,从受支持的客户机重新发出语句。

sqlcode:-1434

sqlstate:08004

SQL1435N

绑定或重新绑定自动维护策略配置存储过程失败。 可以使用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 以及 SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程来配置一些数据库服务器自动维护活动,例如,自动备份、自动重组和自动统计信息收集。

要使用 SYSPROC.AUTOMAINT_SET_POLICY、SYSPROC.AUTOMAINT_SET_POLICYFILE、SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE,必须先将它们绑定至将运行这些存储过程的数据库。 这些存储过程的绑定文件称为 db2policy.bnd。

数据库服务器尝试自动绑定这些自动维护策略配置存储过程。 但是,此自动绑定或重新绑定失败了。

将这些存储过程绑定至数据库之后,才能使用这些存储过程。

要绑定这些自动维护策略配置存储过程,请执行下列步骤:

  1. 连接至将使用这些存储过程的数据库
  2. 对 SQLLIB/bnd 目录中称为 db2policy.bnd 的绑定文件运行 DB2 bind 命令:
     DB2 bind db2policy.bnd blocking all grant public 

sqlcode:-1435

sqlstate:5U0ZZ

SQL1436N

打不开名为 文件名 的自动维护策略配置文件。 可以使用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 以及 SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程来配置一些数据库服务器自动维护活动,例如,自动备份、自动重组和自动统计信息收集。

调用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 时,可以指定一个包含您要配置的自动维护策略详细信息的 XML 文件。 但是在本例中,打不开所指定的文件。

未应用新的自动维护策略配置。

  1. 确认指定的文件是否满足下列条件:
    • 该文件确实存在
    • 正在运行此存储过程的用户标识具有读取该文件的许可权
    • 该文件不是空的
    • 该文件的格式为 UTF-8
  2. 指定一个满足前面列示的条件的文件,然后再次调用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 存储过程。

sqlcode:-1436

sqlstate:5U0ZZ

SQL1437N

传递给 AUTOMAINT_SET_POLICY 或 AUTOMAINT_SET_POLICYFILE 的自动维护策略文件或 LOB 参数中的 XML 的第 行号 行第 列号 列无效。 验证错误消息:错误消息 可以使用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 以及 SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程来配置一些数据库服务器自动维护活动,例如,自动备份、自动重组和自动统计信息收集。

SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 存储过程有两种形式:一个版本将包含自-+动维护配置详细信息的 XML 文件名作为参数,另一个版本采用了包含 XML 格式的自动维护配置详细信息的 LOB 参数。

自动维护配置文件中的 XML 或者传递给 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 的 LOB 参数在指定行中包含无效 XML。 列号指示该行中发生错误的位置。

未应用新的自动维护配置。

更正 XML 配置文件的内容,然后再次调用该存储过程。

sqlcode:-1437

sqlstate:5U0ZZ

SQL1438N

处理传递给 AUTOMAINT_SET_POLICY 或 AUTOMAINT_SET_POLICYFILE 的 XML 自动维护策略配置文件或 LOB 参数时发生内部错误。 可以使用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 以及 SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程来配置一些数据库服务器自动维护活动,例如,自动备份、自动重组和自动统计信息收集。

SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 存储过程有两种形式:一个版本将包含自-+动维护配置详细信息的 XML 文件名作为参数,另一个版本采用了包含 XML 格式的自动维护配置详细信息的 LOB 参数。

处理自动维护配置文件中的 XML 或者传递给 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 的 LOB 参数时发生了内部错误。

未应用新的自动维护配置。

确认 XML 配置文件的内容或者传递给 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 的 LOB 参数有效之后,再次调用该存储过程。

sqlcode:-1438

sqlstate:5U0ZZ

SQL1439N

检索不到自动维护策略配置信息。 可以使用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 以及 SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程来配置一些数据库服务器自动维护活动,例如,自动备份、自动重组和自动统计信息收集。

SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程无法收集现有自动维护配置信息,因为它找不到任何缺省自动维护策略。

未收集任何自动维护配置信息。

缺省自动维护策略是由 DB2 运行状况监视器创建的。 如果运行状况监视器尚未创建缺省维护策略,那么您可以手动创建这些策略:

  1. 连接至要为其创建缺省自动维护策略的数据库
  2. 使用下列参数调用系统存储过程 SYSPROCS.SYSINSTALLOBJECTS:
     SYSPROCS.SYSINSTALLOBJECTS( 'POLICY','C','','') 

sqlcode:-1439

sqlstate:5U0ZZ

SQL1440W

已授予所有特权,但忽略了 WITH GRANT OPTION。 对于某些 GRANT 语句,可使用 WITH GRANT OPTION 子句以允许指定用户(或组)对其他用户授予特权。

与特定特权配合使用时,WITH GRANT OPTION 被忽略。 如果在指定 WITH GRANT OPTION 时尝试设置此子句不适用的特权,那么会返回此消息。

已授予所有有效特权。

不需要任何响应。

sqlcode:+1440

sqlstate:01516

SQL1441N

参数无效。 原因码: code

以下是有效原因码的列表:

1
为上下文指针传送了 NULL。
3
已将上下文指针初始化,但该指针未指向有效的上下文区域。
4。
无效选项
5
保留的参数不是 NULL
确保正确地初始化了应用程序上下文指针,并且所使用的任何选项均有效,然后再次尝试。

SQL1442N

未使用上下文,或者当前线程未使用上下文。 原因码: code

调用失败,原因如下:

1
没有任何线程使用该上下文(未进行任何连接)
2
当前线程未使用该上下文。
3
当前线程未使用上下文。
对于拆离调用,确保该上下文是当前线程所使用的上下文,并完成了相应的连接。

为了获得当前的上下文调用,确保线程当前正在使用一个上下文。

SQL1443N

线程已与上下文相连。 用户已尝试将上下文与线程相连,而该线程已在使用上下文。 在与新的上下文连接之前,必须与前一个上下文拆离。

SQL1444N

不能破坏应用程序上下文,因为它正在使用。 用户尝试破坏仍在使用的应用程序上下文。 或者有一个线程已与上下文相连,或者该上下文有 CONNECT 或 ATTACH 与它相关联。 在可以破坏上下文之前,必须完成 CONNECT RESET 或 DETACH(如果已完成了 CONNECT 或 ATTACH),并且所有线程必须与该上下文拆离。 确保对上下文的连接的所有调用都有相应的拆离、所有 CONNECTS 都有相应的 CONNECT RESET,并且所有 ATTACHES 都有相应的 DETACH。

SQL1445N

线程或进程没有要使用的上下文。 上下文类型 SQL_CTX_MULTI_MANUAL 已生效,但当前线程或进程尚未与上下文相连。 确保在执行任何数据库调用之前,当前线程或进程已与上下文相连。

SQL1446N

处理传递给 AUTOMAINT_GET_POLICY 或 AUTOMAINT_GET_POLICYFILE 的 XML 自动维护策略配置文件或 LOB 参数时发生内部错误。 可以使用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 以及 SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程来配置一些数据库服务器自动维护活动,例如,自动备份、自动重组和自动统计信息收集。

SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程有两种形式:一个版本将包含自-+动维护配置详细信息的 XML 文件名作为参数,另一个版本采用了包含 XML 格式的自动维护配置详细信息的 LOB 参数。

处理自动维护配置文件中的 XML 或者传递给 SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 的 LOB 参数时发生了内部错误。

未收集任何自动维护配置。

确认 XML 配置文件的内容或者传递给 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 的 LOB 参数有效之后,再次调用该存储过程。

sqlcode:-1446

sqlstate:5U0ZZ

SQL1447N

传递给 AUTOMAINT_SET_POLICY 或 AUTOMAINT_SET_POLICYFILE 的自动维护策略文件或 LOB 参数中的 XML 无效,原因为:原因码 可以使用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 以及 SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程来配置一些数据库服务器自动维护活动,例如,自动备份、自动重组和自动统计信息收集。

按照给定的原因码,自动维护配置文件或者传递给 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 的 LOB 参数包含无效 XML:

1
PathName 元素未指定有效路径。 例如,如果指定的路径不存在,就会返回此消息。
2
FilterClause 元素的 SQL 语法无效。
3
数据库管理器尝试使用 /home/misc 目录中的模式文档来验证 XML 输入文件或者传递给 SYSPROC.AUTOMAINT_SET_POLICY 的 LOB 参数。 数据库管理器无法找到模式文档。
4
XML 输入文件中的第一个元素或者 LOB 参数是无效 XML。
5
输入 XML 文件的编码不是 UTF-8。

未应用新的自动维护配置。

根据原因码作出的响应为:

1、2 和 4
更正 XML 配置文件或 LOB 参数的内容,然后再次调用该存储过程。
3
没有此模式文档,您就不能使用 SYSPROC.AUTOMAINT_SET_POLICY、SYSPROC.AUTOMAINT_SET_POLICYFILE、SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程。

不能手动替换此模式文档。 重新安装数据库服务器以替换缺少的文件。

5
确保 XML 输入的第一行指定 encoding=”UTF-8″。 如果用来创建 XML 输入的编辑器使用了另一种编码来保存文件,请使用 UTF-8 编码来再次保存该文件。

sqlcode:-1447

sqlstate:5U0ZZ

SQL1448N

传递给 AUTOMAINT_GET_POLICY 或 AUTOMAINT_GET_POLICYFILE 的路径或文件名 完整文件名 不存在。 可以使用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 以及 SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 存储过程来配置一些数据库服务器自动维护活动,例如,自动备份、自动重组和自动统计信息收集。

调用 SYSPROC.AUTOMAINT_GET_POLICY 或 SYSPROC.AUTOMAINT_GET_POLICYFILE 时,可以指定应将该存储过程的输出保存到的 XML 文件名。 但是在本例中,无法创建或者写入所指定的文件。

未保存任何自动维护策略配置信息。

  1. 确认指定的路径和文件是否满足下列条件:
    • 该目录路径和文件确实存在
    • 正在运行存储过程的用户标识具有创建或写入该文件的许可权
  2. 指定一个满足前面列示的条件的文件,然后再次调用 SYSPROC.AUTOMAINT_SET_POLICY 或 SYSPROC.AUTOMAINT_SET_POLICYFILE 存储过程。

sqlcode:-1448

sqlstate:5U0ZZ

SQL1449C

成功地将工具目录迁移至当前级别。 未成功启动调度程序,原因码为 原因码 db2tdbmgr 命令已成功地将数据库迁移至当前级别,但是未成功启动调度程序,原因码指明了失败原因:

1
DB2 管理服务器配置参数中的“工具目录数据库”配置不正确。
2
尚未启动包含工具目录数据库的数据库管理器。
3
另一个调度程序正在使用工具目录数据库。
4
启动调度程序时发生意外错误。
1
更正 DB2 管理服务器配置参数中的工具目录数据库配置。 有关配置工具目录数据库的指示信息,请参阅《DB2 管理指南》中有关 DB2 管理服务器的一节。
2
启动包含工具目录数据库的数据库管理器。
3
一直等到另一调度程序未使用工具目录数据库。
4
停止并重新启动 DB2 管理服务器。

SQL1450N

注册信息指针无效。 传递给注册/注销数据库服务器命令/API 的注册信息指针无效。 验证是否已将有效指针传递给注册/注销数据库服务器命令/API。

SQL1451N

必须从服务器节点发出注册/注销数据库服务器的命令/API。 从无效节点发出了注册/注销数据库服务器的命令/API。 从服务器节点重新发出注册/注销数据库服务器命令/API。

SQL1452N

指定了无效的注册位置。 传递给注册/注销数据库服务器命令/API 的注册位置无效。 验证是否已将有效的注册位置传递给注册/注销数据库服务器命令/API。

SQL1453N

在数据库管理器配置文件中用作文件服务器名的条目丢失或无效。 在配置命令/API 或数据库管理器配置文件中指定的文件服务器名丢失或无效。 验证是否指定了文件服务器名、该名称是否不包含无效字符、并且长度是否不超过 48 个字符。 更新数据库管理器配置文件中的文件服务器名,并重新提交命令/API。

SQL1454N

数据库管理器配置文件中用作对象名的条目丢失或无效。 在配置命令/API 或数据库管理器配置文件中指定的对象名丢失或无效。 验证是否指定了对象名、该名称是否不包含无效字符、并且长度是否不超过 48 个字符。 更新数据库管理器配置文件中的对象名,并重新提交命令/API。

SQL1455N

数据库管理器配置文件中用作 IPX 套接字号的条目丢失或无效。 在配置命令/API 或数据库管理器配置文件中指定的 IPX 套接字号丢失或无效。 验证是否指定了 IPX 套接字号、该号码是否不包含无效字符、并且长度是否不超过 4 个字符。 更新数据库管理器配置文件中的 IPX 套接字号,并重新提交命令/API。

SQL1456N

在数据库管理器配置文件中指定的对象名在 NetWare 文件服务器上已存在。 尝试在 NetWare 文件服务器上注册数据库服务器对象名时,发现重复的对象名。 已经使用了在数据库管理器配置文件中指定的对象名。 更改对象名,然后重新注册数据库服务器。

SQL1457N

注册/注销无法向指定的 NetWare 文件服务器进行登录,因为已经与该文件服务器建立了 NetWare 目录服务连接。 如果已经与指定的文件服务器建立了 NetWare 目录服务连接,那么不能执行使用 NWLoginToFileServer 的平构库登录。 通过注销并从“目录服务”断开连接来中断目录服务连接,然后重新发出注册/注销。

SQL1458N

在数据库管理器配置文件中已经配置了 IPX/SPX,以便进行直接寻址。 不需要在 NetWare 文件服务器中注册数据库服务器或从该文件服务器注销该数据库服务器。 由于已经配置了数据库管理器配置文件以便进行 IPX/SPX 直接寻址,因此不需要发出注册/注销。 即,已将文件服务器和对象名称指定为“*”。 注意,因为已将数据库服务器配置为只进行直接寻址,所以使用文件服务器寻址的 IPX/SPX 客户机将不能与此服务器相连。 为了使服务器支持两种类型的 IPX/SPX 客户机寻址,在数据库管理器配置文件中指定文件服务器和对象名。

SQL1459I

成功地将工具目录迁移至当前级别。 db2tdbmgr 命令已成功地将数据库迁移至当前级别。 不需要任何响应。

SQL1460N

SOCKS 服务器名称解析所需要的环境变量 变量 未定义或无效。

未定义 SOCKS 环境变量 SOCKS_NS 或 SOCKS_SERVER。 SOCKS 协议支持要求定义这两个环境变量。

SOCKS_NS
这是定义 SOCKS 服务器所在的域名服务器的 IP 地址。
SOCKS_SERVER
这是 SOCKS 服务器的主机名。
定义丢失的环境变量并重新提交命令。

SQL1461N

安全性选项 安全性 无效。 TCP/IP 节点的 SECURITY 选项的值不是“SOCKS”。 此选项用于使已编目的 TCP/IP 节点能使用 SOCKS 协议支持来遍历防火墙。 不允许不同于“SOCKS”的值。 验证 SOCKS 协议支持是否是必需的。 如果是必需的,那么用 SECURITY SOCKS 重新编目该节点。 否则,重新编目该节点,但省略 SECURITY 选项。

SQL1462N

请求只对同步点管理器连接有效。 尝试了只对同步点管理器连接有效的请求,但尚未与同步点管理器实例相连。 与同步点管理器实例连接,并重新发出该请求。

SQL1463N

因为无法使用管理任务表 表名,所以无法对管理任务执行操作。 因为不能根据需要来使用用于存储有关任务的信息的表 表名,所以无法添加、更新或移除管理任务。 该表虽然存在,但是在现有状态下无法使用该表。 将管理任务添加至数据库系统时将自动创建管理任务表。 如果该表是以其他某种方式创建的,那么它可能无法用于管理任务操作。 使管理任务表可用于管理任务操作。 要重新创建表 表名,请显式删除该表,然后调用 SYSPROC.ADMIN_TASK_ADD 过程以调度任务。

sqlcode:-1463

sqlstate:55070

SQL1464W

因为某些任务还在运行,所以并未移除所有任务。 SYSPROC.ADMIN_TASK_REMOVE 过程尝试移除一系列任务,但是未将它们全部移除。 未运行的那些任务已被该过程移除,但是并未移除当时仍然在运行的那些任务。 一直等到当时仍在运行的任务完成,然后才使用 SYSPROC.ADMIN_TASK_REMOVE 过程来移除这些任务。 可以使用 SYSTOOLS.ADMIN_TASK_STATUS 视图来检查任务的执行状态。

sqlcode:+1464

sqlstate:0168S

SQL1465N

将为管理任务指定的 SQL 语句的结果作为对管理任务指定的过程 过程名称 的输入是无效的。 执行了被指定为所调度管理任务的 PROCEDURE_INPUT 的 SQL 语句,但是无法将其结果用作为所调度管理任务指定的过程 过程名称 的输入。 当该过程具有多个自变量时,SQL 语句必须导致结果中不存在多行都具有相同的列数。 修改数据库中的数据,以使 SQL 语句的结果不存在于多行中;或者,修改管理任务以更改为它指定的 SQL 语句或过程。 确保该 SQL 语句将不会返回多行,并且为管理任务指定的过程的自变量数目与该 SQL 语句返回的列数相匹配。 要修改管理任务,使用 SYSPROC.ADMIN_TASK_REMOVE 过程来移除该任务,然后调用 SYSPROC.ADMIN_TASK_ADD 来重新创建该任务。

sqlcode:-1465

sqlstate:21507

SQL1467C

尝试从系统管理的临时表空间(表空间标识为 表空间标识)中读取页时,数据库管理器收到了 I/O 错误。 导致该 I/O 错误的原因极可能是文件系统或硬件错误。

无法处理此语句;并且将回滚此语句所属的实用程序或事务。

SQL1468N

必须配置并在服务器实例 实例(数据库分区号 数据库分区号-1)上运行数据库管理器 TCP/IP 侦听器,才能尝试 CONNECT 或 ATTACH 至节点 数据库分区号-2 使用了 SET CLIENT 命令或 API 或环境变量 DB2NODE 来将 CONNECT 或 ATTACH 的节点设置为 数据库分区号-2。 为了 CONNECT 或 ATTACH 此节点,必须在服务器实例 实例(数据库分区号 数据库分区号-1)上配置并运行“数据库管理器 TCP/IP”侦听器。

注意:隐式 CONNECT 或 ATTACH 可能会返回此信息。
执行下列任意一项操作:

  • 确保svcename已在实例的数据库管理器配置中指定,数据库分区编号为 databasedatabase-partition-number1,DB2COMM环境变量已设置为使用 TCP/IP,并且 TCP/IP 监听器已在DB2START时成功启动。或
  • 显式地编目节点和数据库。

sqlcode:-1468

sqlstate:08004

SQL1469N

实例 实例名(数据库分区号 数据库分区号-1)不具有在其 db2nodes.cfg 文件中指定的节点 数据库分区号-2 使用了 SET CLIENT 命令或 API 或环境变量 DB2NODE 来将 CONNECT 或 ATTACH 的节点设置为 数据库分区号-2。 在实例 实例名(节点 数据库分区号-1)上,后续的 CONNECT 或 ATTACH 处理无法在 db2nodes.cfg 文件中找到此节点。

注意:隐式 CONNECT 或 ATTACH 可能会返回此信息。
确保 SET CLIENT 命令、API 或 DB2NODE 环境变量指定的节点号存在于中间的实例 实例名(节点 数据库分区号-1)的 db2nodes.cfg 文件中。

sqlcode:-1469

sqlstate:08004

SQL1470N

DB2NODE 环境变量的值无效。 DB2NODE 环境变量指示应用程序将要尝试连接的节点。 如果 DB2NODE 未设置或者为空白,那么应用程序将尝试与缺省节点连接。 否则,必须将 DB2NODE 设置为在应用程序的同一主机上定义的其中一个节点的节点号。

将 DB2NODE 环境变量设置为下列值之一:

未设置
导致应用程序与缺省节点相连。
空白
导致应用程序与缺省节点相连。
数字
导致应用程序与具有该节点号的节点连接。 该节点必须与应用程序在同一主机上运行。

sqlcode:-1470

sqlstate:08001

SQL1471N

无法连接到节点节点编号上的数据库数据库名,因为此节点上的数据库未与目录节点同步。 此节点上的日志结尾信息与目录节点上的对应记录不匹配。 这可能是由于用不同时间获取的备份来复原不同节点上的数据库所引起的。 如果在一个节点上已复原了数据库而没有前滚,那么确保在所有节点上已从一致的脱机备份复原了数据库而不前滚。

sqlcode:-1471

sqlstate:08004

SQL1472N

无法连接到节点node-number上的数据库database-name,因为目录节点上的系统时间与此节点上的虚拟时间戳之差大于 max_time_diff 数据库管理器配置参数。 配置中的机器的系统时间差(列示在 db2nodes.cfg 文件中)大于数据库管理器配置参数 max_time_diff 的值。 使所有机器上的系统时间同步,并确保将 max_time_diff 参数配置为允许数据库机器之间的正常通信延迟。

sqlcode:-1472

sqlstate:08004

SQL1473N

不能落实事务,因为本地节点上的系统时间与节点 节点列表 的虚拟时间戳记之间的时差大于 max_time_diff 数据库管理器配置参数的值。 回滚了此事务。 配置中的机器的系统时差(列示在 db2nodes.cfg 文件中)大于 max_time_diff 数据库管理器配置参数的值。

如果”,…” 显示在节点列表末尾,请参阅系统日志文件以了解完整的节点列表。

使所有机器上的系统时间同步,并确保将 max_time_diff 参数配置为允许数据库机器之间的正常通信延迟。

sqlcode:-1473

sqlstate:40504

SQL1474W

已成功完成事务,但是本地成员上的系统时间与一个或多个成员 成员列表 的虚拟时间戳记之间的时间差大于数据库管理器配置参数 max_time_diff 的值。 配置中的机器的系统时间差(列示在 db2nodes.cfg 文件中)大于数据库管理器配置参数 max_time_diff 的值。

此警告消息返回到了只读事务,因为这些事务不受此情况影响。 但是,将回滚其他事务。 此消息将此情况通知用户,以便可以尽可能早地执行操作。

如果”,…” 显示在成员列表末尾,请参阅系统日志文件以获取完整的成员列表。

使所有机器上的系统时间同步,并确保将 max_time_diff 参数配置为允许数据库机器之间的正常通信延迟。

sqlcode:+1474

sqlstate:01607

SQL1475W

在 CONNECT RESET 处理期间发生了系统错误。 CONNECT RESET 已成功,但是可能发生了系统错误,例如,节点故障或通信错误。 查阅管理通知日志以了解详细信息。 可能需要重新启动此节点上的数据库。

sqlcode:+1475

sqlstate:01622

SQL1476N

当前事务因错误 sqlcode 而回滚。 由于下列原因,回滚了事务:

  1. 隐式或显式 CLOSE CURSOR 失败,或
  2. 正在使用 NOT LOGGED INITIALLY 选项来创建表,或者对现有表激活 NOT LOGGED INITIALLY。 在同一工作单元期间,或者发生了错误,或者发出了 ROLLBACK TO SAVEPOINT 语句。 此工作单元被回滚,结果如下:
    • 删除在此工作单元中创建的任何表,或将其置于 DROP PENDING 状态。
    • 在事务中激活的任何 NOT LOGGED INITIALLY 表被标记为不可访问,从而只能删除。
    • 如果在事务中发出了 ROLLBACK TO SAVEPOINT,那么 sqlcode 将为 0。
  3. 回滚到保存点失败或释放保存点失败。
  4. 在执行原子数组输入操作期间发生严重错误。
  5. 对于已删除其行的已声明临时表或已创建临时表,在创建用来维护此表的 LOB 列的 LOB 定位器值的系统临时 LOB 期间发生错误。

运行时标记 sqlcode 指示返回的底层 sqlcode。

按照错误 sqlcode 的指示来更正问题,然后再次运行该事务。 移除任何 ROLLBACK TO SAVEPOINT 语句,该语句用于在其中创建或激活 NOT LOGGED INITIALLY 表的相同事务中。

sqlcode:-1476

sqlstate:40506

SQL1477N

对于表table-name,无法访问表空间tbspace-id中的对象 object-id 尝试访问一个表,而该表的其中一个对象是不可访问的。 由于下列原因之一,该表可能不可访问:

  • 当回滚工作单元时,该表激活了 NOT LOGGED INITIALLY。
  • 该表是一个已创建的分区临时表或者已声明的分区临时表,由于已声明此临时表或者已将它实例化,因此一个或多个数据库分区失败。
  • ROLLFORWARD 在此表上遇到了 NOT LOGGED INITIALLY 激活,或者遇到了 NONRECOVERABLE 装入。

不允许访问此表,因为不能保证其完整性。

可以执行下列操作之一。

  • 如果对象是一个表,并且它已经激活了 NOT LOGGED INITIALLY,那么删除该表。 如果需要此表,那么重新创建。
  • 如果对象是一个数据分区,那么将它与表拆离。 如果需要此数据分区,那么添加一个新的数据分区。
  • 如果对象是一个非分区索引,那么删除该索引。 如果需要此索引,那么创建一个新索引。
  • 如果此表是一个已创建的临时表,请与服务器断开连接然后再次连接,以将此临时表的新副本实例化。
  • 如果该表是已声明临时表,那么删除该表。 如果此表是必需的,那么再次对其进行声明。
  • 否则,从表空间或数据库备份中复原。 备份映像必须在非可恢复操作(NOT LOGGED INITIALLY 操作或 NONRECOVERABLE 装入) 完成之后的落实点之后获取。

可以使用目录和管理视图来确定对象。 要确定对象是否是一个表,使用以下查询:


SELECT TABNAME
  FROM SYSCAT.TABLES
  WHERE TBSPACEID=tbspace-id AND
    TABLEID=object-id

如果此查询的结果中未出现表名,那么您可以使用以下查询来确定对象是否是一个分区:


SELECT DATAPARTITIONNAME, TABNAME
  FROM SYSCAT.DATAPARTITIONS
  WHERE TBSPACEID=tbspace-id AND
    PARTITIONOBJECTID=object-id

要确定对象是否是一个索引,使用以下查询:


SELECT INDNAME
  FROM SYSCAT.INDEXES
  WHERE TBSPACEID=tbspace-id AND
    INDEX_OBJECTID=object-id

要确定对象是一个已创建的临时表还是已声明的临时表,使用以下查询:


SELECT TABNAME
 FROM SYSIBMADM.ADMINTEMPTABLES
 WHERE TBSP_ID=tbspace-id AND
  INDEX_TAB_FILE_ID=object-id

sqlcode:-1477

sqlstate:55019

SQL1478W

定义的缓冲池无法启动。 而是对数据库管理器支持的每个页大小启动了一个较小的缓冲池。

定义的缓冲池无法启动。 而是对数据库管理器支持的每个页大小启动了一个较小的缓冲池。 由于以下一个或多个原因,定义的 缓冲池无法启动。

  • 不能给为此数据库指定的缓冲池的总大小分配足够的内存。
  • 数据库目录中的缓冲池文件丢失或损坏。

检查管理通知日志以找到正确的问题根源。 可以采用的解决方案包括:

  • 删除或改变一个或多个缓冲池的大小,以便允许数据库正确地启动。

更改之后,与数据库断开连接,并再次启动数据库。

sqlcode:+1478

sqlstate:01626

SQL1479W

尝试在结果集返回第一个行集之前访存。

请求的行集覆盖了结果集的开始部分,并且,取决于指定的访存定向:

SQL_FETCH_PRIOR
下列情况之一:

  • 当前位置超过第一行,并且当前行数小于或等于行集大小。
  • 当前位置超过结果集末尾,并且行集大小大于结果集大小。
SQL_FETCH_RELATIVE
访存偏移的绝对值小于或等于当前的行集大小。
SQL_FETCH_ABSOLUTE
访存偏移为负数,并且访存位移的绝对值大于结果集大小,但小于或等于当前的行集大小。
不需要执行任何操作。

SQL1480N

在 DISCOVER 数据库管理器配置参数中指定的发现类型无效。 数据库管理器配置文件中的 DISCOVER 参数的有效值为:DISABLE、KNOWN 或 SEARCH。 用类型 DISABLE、KNOWN 或 SEARCH 更新 DISCOVER 数据库管理器配置参数。

SQL1481N

在 DISCOVER_COMM 参数中指定的一个或多个通信协议无效。 数据库管理器配置文件中 DISCOVER_COMM 参数的一个有效值示例是 TCPIP。 将 DISCOVER_COMM 数据库管理器配置参数更新为只具有有效值。

SQL1482W

仅当用大小 -1 来定义其中一个缓冲池时才使用 BUFFPAGE 参数。 这是警告,如果未定义大小为 -1 的数据库缓冲池,那么将忽略 BUFFPAGE 数据库配置参数。-1 指示缓冲池将 BUFFPAGE 参数用作缓冲池页数。 可以从 SYSCAT.BUFFERPOOLS 中选择以查看缓冲池定义。 如果没有任何缓冲池的大小定义为 -1 (NPAGES),那么设置 BUFFPAGE 参数将不会更改数据库的缓冲池的大小。

SQL1483N

为数据库分区服务器 分区号 添加数据库分区服务器处理失败。 对该错误返回的信息包括 SQLCODE sqlcode、SQLSTATE sqlstate 和消息标记 标记列表 为数据库分区服务器 分区号 添加数据库分区服务器处理失败。 提供了 sqlcode、sqlstate 和消息标记列表(每个标记由竖线字符分隔)。 消息标记可能被截断。 请参阅 sqlcode 的相应消息以了解对于此错误的进一步说明。 检查与失败的 SQL 语句的 SQLCODE 相关联的消息。 遵循该消息所建议的操作。

sqlcode:-1483

sqlstate:5UA02

SQL1484N

由于正在执行添加操作,因此请求失败。 请求:请求。 成员或 dbpartitionnum:number 由于正在执行添加操作,因此请求失败。 直到添加指定的数据库分区或成员完成后,才允许执行该请求。 请等待添加操作完成,然后重新提交该请求。

sqlcode:-1484

sqlstate:55071

SQL1485N

无法添加或删除数据库分区服务器或成员,因为数据库状态或实例 name 处于。 状态 state 此数据库或实例处于指定状态时,无法添加或删除数据库分区服务器或成员。 请更改此数据库或实例,以使其处于允许添加或删除数据库分区服务器或成员的状态,然后重新提交该请求。

sqlcode:-1485

sqlstate:55019

SQL1487W

已成功添加数据库分区服务器、DB2 成员或 CF。 在分区数据库环境中,如果新的数据库分区服务器已添加到单一分区数据库环境,那么会返回此消息。 完成“添加数据库分区服务器”操作之后,在重新启动数据库管理器实例之前,新的数据库分区服务器处于不活动状态。

在 DB2 pureScale 环境中,将新的 DB2 成员或集群高速缓存工具 (CF) 添加到实例时,将返回此消息。 添加成员或 CF 之后,该实例直到此成员或 CF 重新启动后才会处于活动状态。

必须使用 db2start 命令手动启动新成员或 CF。

SQL1488W

成功完成了“添加数据库分区服务器”操作,并且新的数据库分区服务器 分区号 处于活动状态。 在实例中检测到 DB2 集群管理器。 您可能想运行集群管理器工具 db2haicu,以便为集群管理器配置新的数据库分区服务器。 此实例由 DB2 集群管理器管理。 配置新添加的数据库分区服务器之后,就可以使用集群管理器来管理该服务器。 请使用 db2haicu 工具将新的数据库分区服务器添加至集群管理器。

SQL1489I

“添加数据库分区服务器”操作成功。 新的数据库分区服务器 数据库分区号 处于活动状态。 不需要任何响应。

SQL1490W

激活数据库成功,但是,已在一个或多个节点上激活该数据库。 已在一个或多个节点上显式启动(激活)数据库。 不需要执行任何操作。

SQL1491N

因为数据库仍在使用中,所以未释放 名称 如果有任何应用程序与指定的数据库相连,那么不能释放该数据库。 确保所有应用程序已完成 CONNECT RESET,然后再次尝试。

SQL1492N

因为数据库未被激活,所以未释放数据库 名称 不能释放数据库,因为指定的数据库不是活动的。 不需要执行任何操作。

SQL1493N

此命令失败,因为应用程序已与活动的数据库连接。 ACTIVATE DATABASE、DEACTIVATE DATABASE 或 ARCHIVE LOG 命令不能继续,因为应用程序已与数据库连接。 与此数据库断开连接,然后重新发出此命令。

SQL1494W

激活数据库成功,但是,该数据库已经有一个连接。 在一个或多个节点上已经有数据库连接。 不需要执行任何操作。

SQL1495W

释放数据库成功,但是,该数据库仍然有一个连接。 一个或多个节点仍然有数据库连接。 断开与数据库的最后一个连接时,将关闭该数据库。 不需要执行任何操作。

SQL1496W

释放数据库成功,但该数据库未激活。 释放数据库时,数据库并未在一个或多个节点上显式启动。 不需要执行任何操作。

SQL1497W

激活/释放数据库成功,但是,在某些节点上发生错误。 至少在目录节点和协调程序节点上,激活/释放数据库成功,但是,在其他一些节点上发生错误。 请参阅诊断日志以找出在哪个节点上发生了什么错误,如果可能,修正该问题然后重新发出激活/释放数据库命令。

SQL1498W

数据库中有一些表中包含一个或多个 1 类索引。 要将它们转换为 2 类索引,请在对数据库进行升级之前运行 CLP 脚本 生成的文件 从 DB2 V9.7 开始,1 类索引不再受支持,必须将它们转换为 2 类索引。 在 DB2 UDB V8 中引入了 2 类索引来取代 1 类索引,以便通过将下一个键锁定减小到最低程度并将长度大于 255 个字节的列用作索引键的一部分来提高并行性。

db2ckupgrade 命令标识所有 1 类索引,并在命令日志文件所在的目录中生成 CLP 脚本文件 生成的文件。 对于所标识的每个 1 类索引,此 CLP 脚本中包含带有 ALLOW WRITE ACCESS 和 CONVERT 选项的 REORG INDEXES ALL 语句。 可以执行此语句以将所标识的所有 1 类索引转换为 2 类索引。

在对数据库进行升级期间,其余的任何 1 类索引都将被标记为无效。 在对数据库进行升级之后首次访问表时,数据库管理器会自动将索引重新构建为 2 类索引。 在完成重新构建索引之前,将不允许访问表。

为了在首次访问表时避免重新构建索引所产生的开销,请运行由 db2ckupgrade 命令生成的 CLP 脚本 生成的文件 以便在对数据库进行升级之前将 1 类索引转换为 2 类索引。

SQL1499W

对数据库进行升级成功;但是,可能还需要执行其他用户操作。 请参阅管理通知日志以了解更多详细信息。 对数据库进行升级成功;但是,可能还需要执行其他用户操作,因为检测到下列一种或多种情况:

  • 在 UNIX 和 Linux 操作系统上,通过对数据库进行升级已将 NOT FENCED 例程改变为 FENCED 和 NOT THREADSAFE,或者已将用户定义的包装器改变为 FENCED。
  • 对数据库进行升级时,无法成功收集有关系统目录表的统计信息。
  • 对数据库进行升级时,检测到称为 NULL 的标识。
  • 对数据库进行升级时,将一个或多个表的索引标记为要重新构建。
  • 对数据库进行升级时,检测到工作负载连接属性中存在星号。
  • 对数据库进行升级时,检测到为 XML Extender 启用了数据库。
  • 对数据库进行升级时,检测到支持 DB2 WebSphere MQ 函数的数据库。
  • 数据库升级无法成功重新验证或重新绑定软件包。
请参阅管理通知日志以了解有关所检测到的各种情况的更多信息,从而帮助您确定可能需要执行的操作。

SQL1509N

无法处理语句,因为所有可用传输都在使用中,不能创建更多传输。 原因码:原因码 传输是和数据库的物理连接。

以下给定原因码指出不能创建更多传输的原因:

1
没有更多可用于其他传输的内存。
2
已达到为配置参数 maxTransports 设置的值。
根据原因码对此错误作出响应:

1
解决内存不足问题:

  1. 提供更多可用于应用程序的内存。 例如,终止所有未使用的连接。
  2. 重新运行语句。
2
更改数据库配置以允许更多传输:

  1. 在 db2dsdriver.cfg 配置文件中将 maxTransports 配置参数设置为更大的值。
  2. 重新启动此应用程序。

sqlcode:-1509

sqlstate:57060

SQL1510N

CREATE PROCEDURE 语句的 WITH RETURN TO CLIENT 子句中的结果集元素列表无效。 以下原因码指示了结果集元素列表无效的原因:原因码 可以通过在 CREATE PROCEDURE 语句中使用 WITH RETURN TO CLIENT 子句从存储过程中返回多个相互交错的结果集。

所给定的原因码指出了所指定的结果集元素的无效内容:

1
结果集元素列表中包含一个不是正整数的值。 使用 WITH RETURN TO CLIENT 指定的结果集元素必须是正整数。 例如,下列元素就是无效的结果集元素:-2、0 和 2.3。
2
结果集元素列表中包含重复的条目。 列表中不能多次出现同一个结果集元素。 例如,以下列表是无效的:(1, 2, 2)。
3
未按升序指定结果集元素。 例如,以下列表是有效的:(1, 3)。 以下列表是无效的:(3,1)。
4
结果集列表中的一个元素大于 32767。 最大的有效结果集元素只能为 32767。

未创建存储过程。

指定有效的结果集元素,然后再次调用 CREATE PROCEDURE 语句。

SQL1511N

服务子类不支持所指定的子句 子句 所指定的子句 子句 对于服务超类有效,但是对于服务子类无效。 请移除不受支持的子句,或者指定一个服务超类。

sqlcode:-1511

sqlstate:5U044

SQL1512N

ddcstrc 不能写入指定的文件。 ddcstrc 无法将跟踪信息写入指示它写入的文件名中。 确保指定的文件名对于您的文件系统有效。 如果没有指定文件名,那么确保您具有写入缺省文件 ddcstrc.tmp 所必需的许可权。

SQL1513W

尚未关闭 ddcstrc。 由于出现了一种错误情况,ddcstrc 尚未关闭。 这是为了确保跟踪信息在安全地放入文件之前不会丢失。 更正在此错误前报告的 ddcstrc 错误情况,并且再次尝试关闭跟踪。

SQL1514N

无法处理带 ADMIN MODE 选项的 DB2START,因为指定的成员在 DB2 pureScale 环境中。 在 DB2 pureScale 环境中,db2start 命令与 ADMIN MODE 选项不兼容。 如果您需要限制对某个成员进行访问,请使用 db2stop 或 STOP DATABASE MANAGER 命令的 QUIESCE 选项。

SQL1515N

无法为 服务器名称 服务器创建用户映射,因为与现有用户映射或联合服务器选项发生冲突。 原因码 reason-code. 为 PUBLIC 定义的用户映射不能与为个别用户定义的用户映射在服务器上共存,也不能在使用联合服务器选项 FED_PROXY_USER 定义的服务器上存在。 尝试创建用户映射失败。 原因码 原因码 指示特定情况。 通过执行下列操作可以解决这种情况。

1
为个别用户定义了用户映射,但是 服务器名称 服务器已经为 PUBLIC 定义了用户映射。 从服务器中删除已为 PUBLIC 定义的用户映射,然后再次创建用户映射。
2
为 PUBLIC 定义了用户映射,但是 服务器名称 服务器已经为个别用户定义了用户映射。 从服务器中删除已为个别用户定义的所有用户映射,然后再次为 PUBLIC 创建用户映射。
3
为 PUBLIC 定义了用户映射,但是已经使用联合服务器选项 FED_PROXY_USER 定义了 服务器名称 服务器。 改变此服务器以移除 FED_PROXY_USER 选项,然后再次为 PUBLIC 创建用户映射。

sqlcode:-1515

sqlstate:428HE

SQL1516N

ALTER SERVER 语句无法将联合服务器选项 FED_PROXY_USER 添加至服务器 服务器名称,因为与现有用户映射发生冲突。 无法将联合服务器选项 FED_PROXY_USER 添加至服务器 服务器名称,因为它已经为 PUBLIC 定义了现有用户映射。 ALTER SERVER 语句失败。 从服务器中删除已为 PUBLIC 定义的用户映射,然后再次发出 ALTER SERVER 语句。

sqlcode:-1516

sqlstate:428HE

SQL1517N

db2start 失败,因为集群管理器资源状态不一致。 db2start 命令无法启动进程,因为集群管理器资源模型与 db2nodes.cfg 文件之间存在不一致。 如果对 db2nodes.cfg 进行了与集群管理器不同步的修改(有意修改或者无意修改),就会产生这些不一致。

解决了这些不一致情况之后,才能启动 DB2 pureScale 实例或者新的资源。 已经启动的 DB2 资源不会受此错误的影响。

将 db2nodes.cfg 文件复原为先前的配置(就是先前与集群管理器同步的配置)。 如果无法复原,请修复集群资源模型。 为此,请发出全局 db2stop 以停止此实例,然后附带 -repair 选项运行 db2cluster 工具。

SQL1520N

缓冲区大小必须是大于或等于 65536 的数值。 用户为 ddcstrc 命令指定的缓冲区大小无效。 确保使用的缓冲区大小是数值且大于或等于 65536(64K)。 请注意,要使用的内存将是 64K 的倍数。 ddcstrc 将指定的缓冲区大小向下舍入为 64K 的最接近倍数。

SQL1522N

在检测到所给定数据库的不确定事务的一个或多个成员中,deactivate 命令失败。 如果尝试使用 DEACTIVATE DATABASE 命令或者 sqle_deactivate_db API 来显式取消激活数据库,但是,由于在一个或多个成员中检测到所给定数据库的不确定事务而无法取消激活此数据库,这种情况下就会返回此消息。

在没有检测到不确定事务的成员中已经取消激活了此数据库。 在检测到不确定事务的成员中,此数据库将保持已激活状态,或者处于它在发出 deactivate 命令之前所处的相同状态。

通过下列其中一种方式对此错误作出响应:

  • 等待事务管理器解析不确定事务:
    1. 使用 LIST INDOUBT TRANSACTIONS 命令来标识涉及到此数据库的不确定事务。
    2. 监控不确定事务,直到事务管理器自动解析不确定事务为止。
    3. 重新提交 DEACTIVATE DATABASE 命令,或者再次调用 sqle_deactivate_db API。
  • 手动解析事务:
    1. 使用 LIST INDOUBT TRANSACTIONS 命令来标识涉及到此数据库的不确定事务。
    2. 手动解析不确定事务。 重新提交 DEACTIVATE DATABASE 命令,或者再次调用 sqle_deactivate_db API。
  • 通过调用附带 FORCE 选项的 DEACTIVATE DATABASE 命令来强制取消激活数据库:
    1. 复查 db2diag 日志文件,从而确定对哪些成员执行取消激活操作失败。
    2. 对于取消激活操作失败的每个成员,调用附带 FORCE 选项的 DEACTIVATE DATABASE 命令。将不会对任何不确定事务进行解析。

SQL1523N

当另一个进程已经在访问名为 表空间名称 的表空间时,“移动扩展数据块”操作也尝试访问此表空间。 原因码:原因码 “移动扩展数据块”操作尝试回收未使用的存储器以降低高水位标记,但是另一个实用程序或进程已经在访问此表空间。 指定了 REDUCE 或 LOWER HIGH WATER MARK 子句的 ALTER TABLESPACE 语句导致了“移动扩展数据块”操作。

下列其中一个原因码指示了影响此表空间的实用程序或进程:

1
表空间处于“备份暂挂”状态。
2
表空间处于“正在复原”状态。
3
表空间处于“复原暂挂”或“恢复暂挂”状态。
4
表空间处于“正在重新平衡”状态。
5
表空间处于“正在前滚”状态。
6
表空间处于“前滚暂挂”状态。
7
表空间处于“正在重新分发”状态。
8
表空间处于“停顿共享”状态。
9
表空间处于“停顿更新”状态。
10
表空间处于“停顿互斥”状态。
11
表空间处于 pstat_deletion 状态。
12
表空间处于 pstat_creation 状态。
13
表空间处于“stordef 暂挂”状态。
14
表空间处于“禁用暂挂”状态。
15
表空间处于“正在移动”状态。
请参阅有关一个表空间可能处于的不同状态的文档。 此文档还会告诉您如何将状态更改为将允许您执行“移动期望的扩展数据块”操作的状态,或者您可以一直等到完成正在执行的操作为止。 例如,可以备份表空间以更改为不处于备份暂挂状态。 请重新发出此语句。

sqlcode:-1523

sqlstate:55039

SQL1524N

此请求直到实例中的所有应用程序都感知新的数据库分区服务器之后才能执行。 已经以联机方式对实例添加了新的数据库分区服务器。 发生此事件时,现有应用程序将在它的下一个事务边界感知新的数据库分区服务器(打开了 WITH HOLD 游标的应用程序除外)。 新的数据库应用程序将在执行它的第一个请求时感知新的数据库分区服务器。 直到实例中的所有应用程序都感知新数据库分区服务器之后,才允许执行 CREATE DATABASE PARTITION GROUP、ALTER DATABASE PARTITION GROUP、DROP DATABASE PARTITION GROUP、REDISTRIBUTE DATABASE PARTITION GROUP 和 DROP DATABASE 请求。 执行下列其中一项操作,然后再次尝试该请求。

  • 等待所有应用程序都感知新的数据库分区服务器。
  • 如果不可能进行等待,那么终止导致请求失败的应用程序。 可使用 db2pd -addnode oldviewapps 命令或 db2pd -addnode oldviewapps detail 命令来标识此应用程序。
  • 如果有多个数据库应用程序导致无法执行该请求,那么您可以强制终止所有应用程序,也可以停顿实例。

sqlcode:-1524

sqlstate:55077

SQL1525N

启动 DB2 安全性守护程序时出错。 启动 DB2 安全守护程序时,发生意外错误。 再次尝试运行 DB2START 命令。 如果问题仍然存在,请与 IBM 服务中心联系。

SQL1526N

db2start 失败,因为未启动 DB2VIA 支持。 原因码为 原因码

在 db2start 时无法成功启动 DB2VIA 支持。 原因码指示以下错误:

  1. 无法装入在 DB2_VI_VIPL 注册表变量中指定的 VIPL 库。
  2. 不能打开在 DB2_VI_DEVICE 注册表变量中指定的“设备”名。
  3. DB2 不支持安装的 VIA 实现。
  1. 确保正确地设置 DB2 注册表 DB2_VI_VIPL,且 DB2_VI_VIPL 中指定的名称在 %PATH% 环境变量中。
  2. 确保正确地设置了 DB2 注册表 DB2_VI_DEVICE。
  3. DB2 仅支持 VIA 实现方案,它至少支持“可靠传递”可靠性级别。 还要求 VIA 实现符合 Intel Virtual Interface Architecture Implementation Guide,并通过一致性程序组的检测。 确保选择的 VIA 实现方案满足这些需求。

SQL1528W

已启用的工作负载与处于禁用状态的服务类相关联。 传入连接将被分配给已启用的工作负载 工作负载名,但该工作负载无法将任何新请求映射到服务类 服务类名,因为该服务类处于禁用状态。 任何映射到或重新映射到已禁用的服务类的新请求都将接收到 SQL4714N 错误消息。 必要时,请通过禁用该工作负载或通过启用该服务类来解决问题。 否则,不需要执行任何操作。

sqlcode:+1528

sqlstate:01HN0

SQL1529N

无法删除剩余的最后一个 CF。 在 DB2 pureScale 环境中,必须至少存在一个集群高速缓存工具 (CF)。 无法删除最后一个成员。 在删除此 CF 之前,请添加一个新的 CF 并激活所作的更改。

SQL1530W

将忽略指定的并行度,因为系统不允许分区内并行性。 或者用大于 1 的值指定了 DEGREE 绑定选项,或者用大于 1 的值执行了 SET CURRENT DEGREE 语句,但是数据库管理器不允许分区内并行性。

启动数据库管理器时必须将 intra_parallel 配置参数设置为 ON,以便实例允许分区内并行性。

成功完成了语句或命令,但忽略了并行度规范。

如果想使用分区内并行性,那么在将 parallel_enable 配置参数设置为 ON 的情况下重新启动数据库管理器。

否则,对并行度规范使用值 1 或 ANY。

sqlcode:+1530

sqlstate:01623

SQL1531N

连接失败,因为在 db2dsdriver.cfg 配置文件或 db2cli.ini 配置文件中找不到使用 DSN 连接字符串关键字指定的名称。 连接字符串中指定的数据源名称:DSN db2dsdriver.cfg 配置文件中包含供某些 IBM 数据服务器客户机和驱动程序使用的数据库目录信息和客户机配置参数。

CLI/ODBC 初始化文件 (db2cli.ini) 包含各种关键字和值,可以使用这些关键字和值来配置 CLI 以及使用 CLI 的应用程序的行为。

如果在连接字符串中使用“DSN”连接关键字指定了数据源名称,但是在以下任一位置中找不到指定的数据源名称,那么会返回此消息:

  • 在 db2dsdriver.cfg 配置文件中使用“dsn alias”配置关键字指定的位置
  • 在 db2cli.ini 配置文件中指定为节标题的位置
  1. 将指定的数据源名称添加到 db2dsdriver.cfg 配置文件或 db2cli.ini 配置文件。
  2. 停止并重新启动应用程序进程,以便新的配置设置生效。
  3. 重新提交对指定的数据源名称的连接请求。

SQL1532N

db2dsdriver.cfg 配置文件包括数据库别名 database-alias 的多项。 db2dsdriver.cfg 配置文件包含数据库信息,此文件供下列驱动程序和客户机使用:

  • IBM Data Server Driver for ODBC and CLI
  • IBM Data Server Driver Package
  • 对于 DB2 V9.7:适用于 CLI 和开放式源代码应用程序、IBM 数据服务器客户机和 IBM 数据服务器运行时客户机

db2dsdriver.cfg 文件中的信息类似于 IBM 数据服务器客户机或者 IBM 数据服务器运行时客户机上的系统数据库目录中的信息。

客户机驱动程序配置文件不能包括多个相同数据库别名或多个相同数据库项。

  1. 从 db2dsdriver.cfg 配置文件中移除重复项。
  2. 停止该应用程序进程,然后再次将其启动,以使新的 db2dsdriver.cfg 文件设置生效。

SQL1533N

db2dsdriver.cfg 配置文件包括数据库具有下列属性的多项:数据库名称 数据库名称、服务器名称服务器名称 和端口号端口号 db2dsdriver.cfg 配置文件包含数据库信息,此文件供下列驱动程序和客户机使用:

  • IBM Data Server Driver for ODBC and CLI
  • IBM Data Server Driver Package
  • 对于 DB2 V9.7:适用于 CLI 和开放式源代码应用程序、IBM 数据服务器客户机和 IBM 数据服务器运行时客户机

db2dsdriver.cfg 文件中的信息类似于 IBM 数据服务器客户机或者 IBM 数据服务器运行时客户机上的系统数据库目录中的信息。

客户机驱动程序配置文件不能包括多个相同数据库别名或多个相同数据库项。

  1. 从 db2dsdriver.cfg 配置文件中移除重复项。
  2. 停止该应用程序进程,然后再次将其启动,以使新的 db2dsdriver.cfg 文件设置生效。

SQL1534N

无法调用 db2dsdcfgfill,因为指定了无效命令选项。 您可以使用 db2dsdcfgfill 命令来创建 db2dsdriver.cfg 配置文件并根据本地数据库目录、节点目录和 DCS 目录的内容对其进行填充。

当使用 db2dsdcfgfill 命令指定了无效参数或参数值时,会返回此消息。

指定有效的命令选项,然后再次运行 db2dsdcfgfill。

SQL1535I

db2dsdcfgfill 实用程序成功创建了 db2dsdriver.cfg 配置文件。 配置文件 db2dsdriver.cfg 中包含便于阅读的数据库目录信息和客户机配置参数。 可以使用 db2dsdcfgfill 实用程序创建并填充 db2dsdriver.cfg 配置文件。 无需对此消息作出响应。

SQL1536N

db2dsdcfgfill 实用程序无法创建 db2dsdriver.cfg 配置文件。 原因码:原因码 可使用 db2dsdcfgfill 实用程序来创建 db2dsdriver.cfg 配置文件,并根据本地数据库目录、节点目录和 DCS 目录的内容来对其进行填充。

原因码如下所示:

1
db2dsdcfgfill 实用程序无法创建 db2dsdriver.cfg 配置文件,因为系统资源不足。 例如,空间不足而导致不能在输出目录中创建新文件时将发生此错误。
2
发生了非严重、内部或系统错误。
再次运行 db2dsdcfgfill 实用程序。

如果问题仍然存在,根据给定原因码对此错误作出响应:

1
解决系统资源问题:

  1. 使用操作系统诊断工具来检查系统资源数据。 例如,验证是否有足够空间来创建新文件。
  2. 提供更多可用系统资源。 例如,可用磁盘空间。
  3. 再次运行 db2dsdcfgfill 实用程序。
2
配合 IBM 支持机构来解决内部或系统错误:

  1. 在运行 db2dsdcfgfill 实用程序时使用 db2trace 收集诊断信息。
  2. 联系 IBM 支持机构来调查收集的 db2trace 诊断信息。

SQL1537N

db2dsdcfgfill 实用程序因为将无效值传递给命令而失败。 原因码:原因码 可使用 db2dsdcfgfill 实用程序来创建 db2dsdriver.cfg 配置文件,并根据本地数据库目录、节点目录和 DCS 目录的内容来对其进行填充。

给定的原因码指出了返回此消息的原因:

1
此客户机上没有指定的数据库管理器实例。
2
指定的数据库管理器实例路径无效。 例如,路径可能不存在或者 db2dsdcfgfill 实用程序可能没有对目录的访问权。
3
指定的输出目录无效。 例如,目录可能不存在或者 db2dsdcfgfill 实用程序可能没有权限在目录中创建文件。
4
所指定的 db2cli.ini 文件路径无效。 例如,目录可能不存在或者 db2dsdcfgfill 实用程序没有权限访问该文件或目录。
根据给定原因码对此消息作出响应:

1
指定有效的数据库管理器实例,然后再次运行 db2dsdcfgfill。
2
解决数据库管理器实例目录问题:

  1. 确定 db2dsdcfgfill 为何不能访问指定的数据库管理器实例目录。 例如,确定是否该目录的许可权设置不允许 db2dsdcfgfill 访问此目录。
  2. 指出 db2dsdcfgfill 不能访问数据库管理器实例目录的原因。 例如,更改该目录的许可权设置来允许 db2dsdcfgfill 访问此目录。
  3. 再次运行 db2dsdcfgfill。
3
解决输出目录问题:

  1. 确定 db2dsdcfgfill 为何不能访问指定的输出目录。 例如,确定是否该目录的许可权设置不允许 db2dsdcfgfill 在此目录中创建文件。
  2. 指出 db2dsdcfgfill 不能在指定目录创建 db2dsdriver.cfg 配置文件的原因。 例如,更改该目录的许可权设置来允许 db2dsdcfgfill 在此目录中创建文件。
  3. 再次运行 db2dsdcfgfill。
4
解决 db2cli.ini 文件路径存在的问题:

  1. 确定 db2dsdcfgfill 无法访问所指定文件的原因。 例如,确定该目录的许可权设置是否不允许 db2dsdcfgfill 访问此目录中的文件。
  2. 找出 db2dsdcfgfill 无法访问所指定目录中的 db2cli.ini 文件的原因。 例如,更改该目录的许可权设置,以允许 db2dsdcfgfill 读取此目录中的文件。
  3. 再次运行 db2dsdcfgfill。

SQL1538N

以下关键字在当前环境中不受支持:关键字 您指定的关键字在 DB2 pureScale 环境中不受支持。 在仅指定受支持的关键字的情况下重新运行此命令或者再次执行此 SQL 语句。

sqlcode:-1538

sqlstate:56038

SQL1539N

装入操作失败,因为装入目标表通常与异常表不兼容,尤其是与特定异常表不兼容。 原因码:原因码 可以使用 LOAD 实用程序高效地将大量数据移到新创建的表中,或者移到已经包含数据的表中。

在使用装入异常表执行装入操作期间,可以创建违反了唯一索引规则、范围限制和安全策略的所有行的合并报告。 使用 LOAD 命令的 FOR EXCEPTION 子句来指定装入异常表。

原因码指示返回此错误的特定原因:

1
装入目标表使用 LBAC 安全性并且至少有一个 XML 列。
2
装入目标表是一个分区表并且至少有一个 XML 列。
3
装入目标表的分区映射与所指定的装入异常表的分区映射不相同。

分区映射确定数据库分区中的表行的分配。 装入目标表的行的分配必须与装入异常表的行的分配相同。

4
异常表是按列组织的。 系统不支持将按列组织的表用作异常表。
在不带 FOR EXCEPTION 选项的情况下重新发出 LOAD 命令。

sqlcode:-1539

sqlstate:5U049

SQL1540N

SQL 语句或 DB2 实用程序遇到了错误,因为在某个成员上无法访问存储器组或表空间对象。 对象标识:对象标识。 成员:成员标识。 对象类型关键字:对象类型关键字 SQL 语句或 DB2 实用程序遇到了错误,因为在此成员上无法访问数据库对象所在的存储器组或表空间。 可以使用 SYSCAT.TABLESPACES 目录视图来标识为其给定了表空间标识的表空间名称。 可以使用 SYSCAT.STOGROUPS 目录视图来标识为其给定了存储器组标识的存储器组名。 如果对象标识标记值为“*N”,那么在此成员上无法访问存储器组文件头。 请验证在此成员上是否可访问所有数据库存储路径,然后重新发出此 SQL 语句,或者在另外的成员上发出此 SQL 语句。

sqlcode:-1540

sqlstate:57048

SQL1541N

删除成员失败,因为指定的成员是此 DB2 pureScale 实例中的唯一成员。 无法删除最后一个成员。 在 DB2 pureScale 环境中,必须至少存在一个成员。 无法删除最后一个成员。
  1. 使用带有 -add 选项的 db2iupdt 命令添加一个新成员。
  2. 使用带有 -drop 选项的 db2iupdt 命令删除原始成员。

SQL1542N

添加 CF 失败,因为已达到数据库管理器实例中的最大 CF 数目。 DB2 pureScale 环境支持每个数据库管理器实例最多有两个集群高速缓存工具 (CF)。 如果尝试添加的 CF 数目超过最大值,那么会返回此消息。
  1. 使用带有 -drop 选项的 db2iupdt 命令删除现有的其中一个 CF
  2. 使用带有 -add 选项的 db2iupdt 命令添加新的 CF

SQL1543N

为 CF 指定的主机重复。 在 DB2 pureScale 环境中,给定主机上只能存在一个集群高速缓存工具 (CF)。 请指定另一个尚无 CF 的主机。

SQL1544N

在 DB2 pureScale 环境中更改拓扑之后,无法在新添加的成员中执行数据库备份。 在 DB2 pureScale 环境中更改拓扑之后,需要备份数据库。 必须在先前存在的其中一个实例成员中执行此操作。 在先前存在的其中一个成员中执行备份。

SQL1545N

不支持从先前的拓扑复原数据库映像。 在 DB2 pureScale 环境中,不允许复原具有与当前数据库拓扑不同的拓扑(具有不同的设置或成员数)的映像。 复原对拓扑进行最新更改之后所生成的映像,然后从此映像继续执行操作。

SQL1546N

前滚操作失败,因为前滚实用程序在数据库日志中遇到了导致前滚无法继续的事件。 原因码:原因码 原因码指示日志中遇到了哪种类型的事件:

1
进行了拓扑更改,它使进行该更改之前创建的事务日志和表空间备份与进行该更改之后的数据库不兼容:

  • 删除成员操作
  • pureScale 数据库复原至 pureScale 实例,其中源成员拓扑包括目标成员拓扑中未包括的成员
  • Enterprise Server Edition 数据库复原至 pureScale 实例
  • pureScale 数据库复原至 Enterprise Server Edition 实例

前滚实用程序无法前滚这些类型的拓扑更改。 如果尝试前滚其中一种类型的拓扑更改,那么会返回此消息。

2
不可恢复的升级操作。 前滚实用程序无法前滚通过此事件。
3
遇到了导致当前 DB2 版本中的事务日志不兼容的 DB2 版本更改。 前滚实用程序已停止。
4
遇到了导致当前 DB2 版本中的日志记录不兼容的 DB2 版本更改。 前滚实用程序已停止。
5
遇到了无效日志记录。 前滚实用程序已停止。
如果原因码指向无效日志记录,请参阅 db2diag.log 并尝试更正问题,然后继续。

如果原因码和您的恢复方案指向下列其中一种情况:

  • 拓扑更改事件
  • 不可恢复升级操作
  • DB2 版本更改事件,并且您希望停留在当前 DB2 版本中
  • 无效日志记录

请带 STOP 选项运行 ROLLFORWARD DATABASE 命令以实现以下结果:

  • 停止日志记录的前滚并完成前滚恢复过程。 所有已落实事务已复原至已停止前滚操作的事件。
  • 回滚所有未完成事务。
  • 关闭数据库的前滚暂挂状态。
  • 提供对要前滚的数据库或表空间的访问。

如果原因码指向版本更改事件,并且您想要继续前滚,请从产品的更高版本发出 ROLLFORWARD DATABASE 命令以完成操作。

SQL1547N

start 或 stop 命令失败,因为先前的添加或删除操作尚未完成。 尝试添加或删除 DB2 成员或集群高速缓存工具 (CF) 失败。 因此,在更正未完成的添加或删除操作之前将无法处理 start 或 stop 命令。

用户响应

  1. 使用带有 fixtopology 参数的 db2stop 命令手动更正失败的添加或删除操作。请注意,将 db2stop 命令与 fixtopology 参数配合使用时,始终会执行删除操作以完成不完整的添加或删除操作。
  2. 重新提交 start 或 stop 命令。

SQL1548N

REORG 命令失败,因为对于分区表而言,ALLOW WRITE ACCESS 和 ALLOW READ ACCESS 方式无效。 可以使用 REORG 命令重组索引或表。 可以使用下列子句,控制用户对受影响的索引或表具有的访问权限:

  • ALLOW NO ACCESS
  • ALLOW READ ACCESS
  • ALLOW WRITE ACCESS

这些 ALLOW 子句的使用方式有一些限制和要求。 例如,针对数据分区表运行 REORG INDEXES ALL 命令时,仅当同时指定下列一个或多个子句时,ALLOW WRITE ACCESS 子句才受支持:

当重组数据分区表并且以不受支持的方式指定其中一个 ALLOW 子句时,将会返回此消息。

请以相应的访问方式对分区表重新发出 REORG 命令。

sqlcode:-1548

sqlstate:5U047

SQL1549N

此命令不允许使用 ON DATA PARTITION 子句。 不允许对同时符合下列条件的表使用带有 ON DATA PARTITION 子句的 REORG TABLE 命令:

  • 处于 REORG 暂挂状态。
  • 对此表定义了一个或多个非分区索引。 非分区索引可以是用户定义的索引或系统创建的索引,例如在表包含 XML 列时创建的 XML PATH 索引。
请发出不带 ON DATA PARTITION 子句的 REORG TABLE 命令。

sqlcode:-1549

sqlstate:5U047

SQL1550N

SET WRITE SUSPEND 命令由于原因码所指示的情况而失败。 原因码:原因码 在解决 原因码 所指示的情况之后,才能发出 SET WRITE SUSPEND 命令:

1
未激活数据库。
2
当前正对目标数据库进行备份数据库操作。
3
当前正对目标数据库进行复原数据库操作。
4
已对数据库暂挂写操作。
5
存在下列情况之一:

  • 一个或多个表空间的当前状态不允许暂挂写操作。
  • 对于与表空间相关联的缓冲池所作的更改仍处于暂挂状态,并且不允许暂挂写操作。
6
尝试暂挂此数据库的写操作期间发生了错误。

在 DB2 pureScale 环境中,如果在 DB2 集群中的一个或多个成员上执行 SET WRITE 命令失败,那么可能会返回 SQL1550N,原因码为 6。

7
数据库已停顿,或者处于不允许暂挂写操作的临时状态。 这可能是由诸如已停顿的数据库或实例导致的,有可能是由于正在取消激活数据库而导致的。
8
HADR 备用数据库上不支持 SET WRITE SUSPEND。
请根据原因码对此消息作出响应:

1
发出 ACTIVATE DATABASE 命令激活数据库,然后重新发出 SET WRITE SUSPEND 命令。
2
完成 BACKUP 过程之后,重新发出 SET WRITE SUSPEND 命令。
3
完成 RESTORE 过程之后,重新发出 SET WRITE SUSPEND 命令。
4
如果您想对数据库继续执行写操作,请发出 SET WRITE RESUME 命令。
5
  • 使用 MON_GET_TABLESPACE 表函数来查看表空间状态。 如果有处于暂挂状态的表空间,那么在重新发出 SET WRITE SUSPEND 命令之前发出适当的命令以结束它们的暂挂状态。
  • 如果正在对一个或多个表空间执行操作,那么等到完成该操作之后再重新发出 SET WRITE SUSPEND 命令。 例如,如果启用了自调整内存管理器,那么可能正在对缓冲池进行更改。 完成更改之后,将允许执行写暂挂操作。
6
通过执行下列步骤对原因码 6 作出响应:

  1. 通过查看管理通知日志来调查故障原因。在 DB2 pureScale 环境中,请查看 DB2 集群中的每个成员上的管理通知日志。
  2. 解决导致 SET WRITE 命令无法成功运行的问题。在 DB2 pureScale 环境中,如果 DB2 集群中的不同成员针对此问题报告的根本原因各不相同,请更正这些成员报告的所有原因。
  3. 重新发出 SET WRITE SUSPEND 命令。
7
如果数据库已停顿,那么取消停顿数据库,或者等待较短的时间段,然后附带 SUSPEND 选项重新发出 SET WRITE 命令。
8
对 HADR 主数据库发出 SET WRITE 命令。

SQL1551N

附带 WRITE RESUME 参数的 SET WRITE RESUME 命令或者 RESTART DATABASE 命令由于原因码所指示的情况而失败。 原因码:原因码 在解决 原因码 所指示的情况之前,您无法发出带有 WRITE RESUME 参数的 SET WRITE RESUME 命令或者 RESTART DATABASE 命令:

1
正在对目标数据库进行快照备份。
2
该数据库当前未处于 WRITE SUSPEND 状态。
3
尝试继续对此数据库执行写操作期间发生了错误。
请根据原因码对此消息作出响应:

1
  1. 一直等到完成快照备份为止。
  2. 重新发出 SET WRITE RESUME 命令。
2
如果失败的命令是 SET WRITE RESUME 命令,那么不需要执行操作,因为已经对此数据库启用了写操作。 要对数据库暂挂写操作,可发出 SET WRITE SUSPEND 命令。

如果失败的命令是附带 WRITE RESUME 参数的 RESTART DATABASE 命令,那么发出不附带 WRITE RESUME 参数的 RESTART DATABASE 命令。 如果此命令失败,并且此数据库不处于 WRITE SUSPEND 状态,请执行下列操作:

  1. 等到所有 SET WRITE SUSPEND 操作都已完成。
  2. 附带 WRITE RESUME 参数重新发出 RESTART DATABASE 命令。
3
  1. 查看诊断 (db2diag) 日志文件来调查故障原因。
  2. 更正问题。
  3. 重新发出 SET WRITE RESUME 命令。

SQL1552N

命令失败,因为对于此数据库的写入操作已暂挂或者正在暂挂。 可以使用 db2SetWriteForDB API 或者使用带有 SUSPEND 子句的 SET WRITE 命令来暂挂对于数据库的写入操作。 如果已经暂挂了对于某个数据库的写入操作,或者数据库管理器正在暂挂对于该数据库的写入操作,那么无法对该数据库执行某些操作。

  • 备份数据库
  • 复原数据库
  • 重新启动数据库
  • 连接至数据库或者激活数据库
  • 更新或者重新设置数据库配置文件

如果尝试对处于 WRITE SUSPEND 状态或者正在暂挂写入操作的数据库执行这些类型的操作,那么会返回此消息。

首先,如果正在暂挂对于此数据库的写入操作,那么使用 suspend_io 配置参数来监视此数据库的状态,并且等到 SET WRITE SUSPEND 操作完成之后再继续执行后续操作。

其次,根据返回此消息时的情况对此错误作出响应:

备份或复原此数据库:
  1. 通过发出 SET WRITE RESUME FOR DATABASE 命令以对此数据库继续执行写入操作。
  2. 再次执行备份或复原操作。
在不指定 WRITE RESUME 子句的情况下重新启动此数据库:
通过执行下列其中一项操作来再次执行重新启动:

  • 发出带有有 WRITE RESUME 子句的 RESTART DATABASE 命令。
  • 在指定 DB2_RESUME_WRITE 选项的情况下调用 db2DatabaseRestart API

在多数据库分区环境中,对每个数据库分区重新发出 RESTART 命令或 API 调用。

在 DB2 pureScale 环境中,使用 WRITE RESUME 子句重新启动此数据库:
  • 如果数据库配置参数 autorestart 设置为 ON,从而启用了自动重新启动,那么等待几秒钟,并在指定了 WRITE RESUME 子句或 DB2_RESUME_WRITE 选项的情况下再次提交 RESTART 命令。
  • 如果数据库配置参数 autorestart 设置为 OFF,从而禁用了自动重新启动,那么执行以下两个步骤:
    1. 在未指定 WRITE RESUME 子句或 DB2_RESUME_WRITE 选项的情况下重新启动此数据库。
    2. 在指定 WRITE RESUME 子句或者 DB2_RESUME_WRITE 选项的情况下再次重新启动此数据库。
其他情况(其中包括连接至此数据库、激活此数据库或者更新数据库配置文件):
通过执行下列其中一项操作来重新启动此数据库:

  • 发出带有 WRITE RESUME 子句的 RESTART 命令。
  • 在指定 DB2_RESUME_WRITE 选项的情况下调用 db2DatabaseRestart API。

在 DB2 pureScale 环境中,对任何一个成员发出此命令或 API 都会致使恢复对所有已暂挂成员的写操作。

SQL1553N

无法停止数据库管理器,因为一个或多个数据库处于 WRITE SUSPEND 状态。 不能关闭对其暂挂写操作的数据库。 数据库处于 WRITE SUSPEND 状态。 发出 SET WRITE RESUME 命令以继续数据库的写操作,然后重新发出 db2stop 命令。

sqlcode:-1553

SQL1554N

该命令失败,因为已经不推荐使用 LIST TABLESPACES 和 LIST TABLESPACE CONTAINERS 命令,并且这些命令在 DB2 pureScale 环境中不受支持。 已经不推荐使用用于显示有关表空间和表空间容器的信息的命令和 API,并且这些命令和 API 在 DB2 pureScale 环境中不受支持,在将来的发行版中可能会将它们移除。 将不再对新功能部件更新 LIST TABLESPACES 和 LIST TABLESPACE CONTAINERS 命令。 修改任何使用不推荐使用的命令或 API 的现有脚本,改为调用 MON_GET_TABLESPACE 或 MON_GET_CONTAINER 表函数。 这些表函数返回的信息比不推荐使用的命令和 API 所提供的信息更多。

sqlcode:-1554

sqlstate:5U001

SQL1555N

由于原因码指示的条件,SUSPEND_COS_DELETES 的设置未成功完成。 原因码:原因码 在解决 reason-code 指示的状况之前,不能发出 SUSPEND_COS_DELETES 的设置:

1
暂挂数据库时,无法启用或禁用对象存储器删除。
2
已对数据库禁用对象存储器删除。
3
对象存储器删除动态更新失败。
请根据原因码对此消息作出响应:

1
  1. 对数据库调用 SET WRITE RESUME。
  2. 重新发出 SUSPEND_COS_DELETES 命令的设置。
2
要禁用,SUSPEND_COS_DELETES 设置的值必须为 0 (OFF),要启用,则值必须为 1。

  1. 要禁用,SUSPEND_COS_DELETES 设置的值必须为 0 (OFF),要启用,则值必须为 1。
  2. 重新发出 SUSPEND_COS_DELETES 命令的设置。
3
SUSPEND_COS_DELETES 设置动态更新失败。

  1. 重新发出 SUSPEND_COS_DELETES 命令的设置。

SQL1560N

对于表 表名,统计信息概要文件不存在。 统计信息概要文件需要在使用前定义。 为使用 RUNSTATS 命令的 SET PROFILE 选项的表注册统计信息概要文件,然后重新发出操作。

SQL1561N

统计信息选项与数据库服务器级别不兼容。 指定的一个或多个选项与数据库服务器级别不兼容。 此数据库服务器版本不支持使用 db2runstats API 提供的所有统计信息选项。 使用 sqlustat API 以收集统计信息或使用 db2runstats API 并仅指定使用 sqlustat API 提供的那些选项。

SQL1562N

统计信息节点选项与表 表名 的现有统计信息不兼容。 统计信息节点选项与现有的表和/或该表的索引统计信息不同。 使用一致节点选项以收集表的统计信息。

SQL1563N

SYSINSTALLOBJECTS 过程未能迁移说明表。 仅当说明表是在 DB2 V9.5 或更高版本中创建的时候,您才能使用 SYSINSTALLOBJECTS 过程来迁移说明表。 请使用 db2exmig 命令来迁移说明表。

sqlcode:-1563

sqlstate:5U048

SQL1564N

由于指定的操作不受支持,因此无法成功完成复原或前滚操作。 原因码为 原因码
1
正在复原数据库备份映像,而映像拓扑是目标成员拓扑的超集,但未指定 WITHOUT ROLLING FORWARD 子句。
2
尝试从发生下列其中一个事件前获取的备份映像中复原表空间:

  • 从 DB2 pureScale 实例中删除 DB2 成员
  • 来自 DB2 Enterprise Server Edition (ESE) 实例的备份映像复原至 DB2 pureScale 实例
3
正在复原任何(数据库或表空间)备份映像,但促使进行复原的当前成员在备份映像拓扑中不存在。
5
正在复原不一致数据库的备份映像,但映像拓扑不是目标成员拓扑的超集。
6
在 DB2 pureScale 实例与 DB2 Enterprise Server Edition 实例之间复原备份映像时,这不是数据库复原,或者备份映像不是脱机数据库备份映像。
7
正在 DB2 Enterprise Server Edition 实例与 DB2 pureScale Feature 实例之间复原不一致数据库的备份映像。
8
仅当满足以下两种条件时,才能复原低级别图像:

  • 源拓扑与目标拓扑匹配。
  • 源实例类型与目标实例类型匹配。
9
在未指定 WITHOUT ROLLING FORWARD 子句的情况下,在 DB2 pureScale 实例与 DB2 Enterprise Server Edition 实例之间复原备份映像。
10
在启用了减少重做日志记录,但是未指定 WITHOUT ROLLING FORWARD 子句的情况下复原脱机备份映像。
11
将启用了减少重做日志记录功能的备份镜像恢复到禁用了减少重做日志记录功能的环境中。
与原因码相对应的操作是:

1
在指定 WITHOUT ROLLING FORWARD 子句的情况下重新运行 RESTORE 命令。
2
复原在表空间备份前创建的最新完全数据库备份,然后重新运行 RESTORE 命令。
3
从备份映像拓扑与当前成员拓扑之间的公共成员中运行 RESTORE 命令。
5
在源实例上执行脱机备份,或者更新目标实例以使其至少包括源实例中的所有成员,然后重新运行 RESTORE 命令。
6
必须先在源实例上执行完全脱机数据库备份,然后通过运行带有 WITHOUT ROLLING FORWARD 子句的 DATABASE RESTORE 命令复原这个完全数据库备份。
7
在源实例上执行脱机备份,或者更新目标实例以使其包括源实例中的成员标识,然后重新运行 RESTORE 命令。
8
要复原低级别图像,请执行以下其中一个或全部两个操作:

  • 修改目标实例拓扑以添加或删除成员,或者切换到与该拓扑匹配的另一实例。
  • 在运行了 BACKUP 命令的相同实例类型上运行 RESTORE 命令。 例如,如果在 DB2 pureScale 实例上运行了 BACKUP 命令,那么在 DB2 pureScale 实例上运行 RESTORE 命令。
9
在指定 WITHOUT ROLLING FORWARD 子句的情况下重新运行 RESTORE 命令。
10
在指定 WITHOUT ROLLING FORWARD 子句的情况下重新运行 RESTORE 命令。
11
启用减少重做日志记录并重新运行 RESTORE 命令。

SQL1565N

在数据库管理器配置文件中,CF 诊断目录路径 (cf_diagpath) 的相应条目无效。 在数据库管理器配置文件中,集群高速缓存工具 (CF) 的诊断目录路径的相应条目为 cf_diagpath。

当您尝试使用所指定的无效路径来更新数据库管理器配置参数 cf_diagpath 时,就会返回此消息。 在 UPDATE DATABASE MANAGER CONFIGURATION 命令中为 cf_diagpath 指定的值无效。 例如,如果所指定的路径不存在,或者数据库管理器对于所指定的路径没有写访问权,就会返回此消息。

为 cf_diagpath 指定有效值,然后再次运行此命令。 请确保这是有效的标准路径。

sqlcode:-1565

sqlstate:5U054

SQL1566N

UPDATE DATABASE MANAGER CONFIGURATION 命令失败,因为对 cf_diaglevel 配置参数指定的值无效。 可以使用数据库管理器配置参数 cf_diaglevel 来指定记录在 cfdiag.log 文件中的诊断错误的级别。

如果在 UPDATE DATABASE MANAGER CONFIGURATION 命令中对 cf_diaglevel 指定的值无效,就会返回此消息。

为 cf_diaglevel 指定有效值,然后再次运行此命令。

sqlcode:-1566

sqlstate:5U054

SQL1567N

无法在此环境中与单个数据库分区建立互斥连接。 在 DB2 pureScale 环境中,不支持以互斥方式连接至单个数据库分区。 请不要在 CONNECT 语句中指定 ON SINGLE DBPARTITIONNUM 子句。

SQL1568N

数据库管理器配置文件不可访问。 尝试访问数据库管理器配置文件时发生错误。 此文件是在创建实例期间创建的,对于所有数据库管理器处理都很关键。 如果不可访问数据库管理器配置文件,那么可能表示实例设置不完整或者实例已破坏。

如果数据库管理器配置文件所在的文件系统不可用,也可能会返回此消息。 例如,如果共享文件系统为 IBM General Parallel File System (GPFS),并且 GPFS 集群处于脱机状态,那么可能会返回此消息。

无法处理该命令。

执行下列故障诊断步骤,作为对此消息的响应:

  • 请确认是否安装了数据库管理器配置文件所在的共享文件系统。
  • 如果共享文件系统的类型为 GPFS,那么通过执行下列步骤来确认文件系统集群是否未停止:
    1. 使用以下命令来验证共享文件系统集群的状态:
       db2cluster -cfs -list -host -state 
    2. 如果共享文件系统集群已停止,请使用以下命令重新启动该集群:
       db2cluster -cfs -start -host <hostname> 
  • 如果最近创建了数据库管理器实例,请使用 db2icrt 命令重新创建该实例。

SQL1569N

操作失败,因为此命令或 API 指定了无效的数据库分区。 如果由于执行备份操作而返回此消息,那么数据库中当前未定义所指定的数据库分区。 如果由于执行前滚或恢复操作而返回此消息,那么指定了 ON DBPARTITIONNUMS 或 ON DBPARTITIONNUM 子句,并且指定了无效的数据库分区号。 在非 DPF 环境中,只能指定当前数据库分区。 对于备份操作,指定现有数据库分区,然后重新发出此命令或 API。 对于前滚和恢复操作,在不指定 ON DBPARTITIONNUMS 的情况下重新发出此命令或 API,或者仅指定当前数据库分区。

sqlcode:-1569

sqlstate:428A9

SQL1572N

由于发生了磁盘已满的情况,因此,进行数据库前滚或者对组进行崩溃恢复已失败。 如果进行数据库前滚或者对组进行崩溃恢复期间发生了日志已满的情况,那么会根据需要自动分配更多日志文件。 但是,在这种情况下,由于没有足够的磁盘空间,因此无法分配新的日志文件。 恢复或前滚操作已失败。 提供更多磁盘空间用于对组进行崩溃恢复或者进行数据库前滚,然后重新发出此命令。

或者,如果在另一个成员上按如下所示重新发出此命令,操作可能会成功:

  • 如果失败的操作是组崩溃恢复,那么 DB2 集群服务将在另一个成员上自动重新发出组崩溃恢复。 如果 DB2 pureScale 实例未启用自动崩溃恢复,那么需要在另一个成员上手动重新发出组崩溃恢复操作。
  • 如果失败的操作是数据库前滚,那么需要在另一个成员上手动重新启动前滚操作。

SQL1573N

在当前实例环境中,无法激活或连接至数据库。 如果存在下列情况,那么会返回此消息:

  • 您正在尝试激活或者连接至尚未针对 DB2 pureScale 环境进行验证的数据库,但是您正在使用 DB2 pureScale 环境。
  • 您正在尝试激活或者连接至已经针对 DB2 pureScale 环境进行验证的数据库,但是您未在使用 DB2 pureScale 环境。

这两项操作都不受支持。

如果您正在使用 DB2 pureScale 环境,那么可以使用 db2checkSD 实用程序来确定能否在该环境中使用此数据库。 如果 db2checkSD 实用程序未报告任何错误,请再次激活或连接至此数据库。

sqlcode:-1573

sqlstate:55001

SQL1575N

最近一次尝试对此 DB2 pureScale 环境中的数据库 数据库名称 添加或删除 DB2 成员失败。 在此 DB2 pureScale 环境中添加或删除 DB2 成员(拓扑更改)将使数据库 数据库名称 处于不可恢复的状态。 请备份或删除数据库 数据库名称,然后重复执行添加或删除 DB2 成员的操作。

SQL1576N

由于集群管理器发生错误而无法移除数据库。 集群管理器发生了错误,从而无法成功地处理 drop 命令。

已经移除了与此数据库相关联的所有数据文件。 但是,可能尚未移除数据库位置信息。

通过执行下列步骤来清除集群管理器无法移除的数据库资源:

  1. 尽可能多收集以下诊断信息:
    • 来自 SQLCA 的错误信息
    • db2diag 日志文件中的相关错误
  2. 根据 db2diag 日志文件中的集群管理器返回码执行必要的更正操作。
  3. 手动移除或删除相关的安装资源。
  4. 使用 UNCATALOG DATABASE 命令从系统数据库目录中移除数据库位置信息。

如果您使用此过程无法成功移除数据库资源,请与 IBM 支持机构联系并提供以下信息:

  • 问题描述
  • SQLCODE
  • SQLCA 内容(如果有可能)
  • 使用 db2support 命令收集的客户机和服务器上的环境数据

sqlcode:-1576

sqlstate:5U056

SQL1577N

START 命令失败,因为指定了 STANDALONE 参数,而当前环境是 DB2 pureScale 环境。 在 DB2 pureScale 环境中,不支持对 START 命令使用 STANDALONE 参数。 在不指定 STANDALONE 参数的情况下再次调用命令。

SQL1578N

START 命令失败,因为指定了 RESTART 参数,而当前环境是 DB2 pureScale 环境。 在 DB2 pureScale 环境中,不支持对 START 命令使用 RESTART 参数。 在不指定 RESTART 参数的情况下再次调用命令。

SQL1579N

数据库分区dbname上数据库dbpartitionnum的两个或多个日志流遵循不同的日志链。 Log file file1 on log stream stream1 follows log chain chain1 and log file file2 on log stream stream2 follows log chain chain2. 完成了前滚到某个时间点的数据库前滚操作,或者完成了不进行前滚的数据库复原操作之后,就会创建数据库的新历史记录(称为日志链)。 数据库管理器将为日志扩展数据块和其他数据库对象指定日志链编号,以便它可以验证一组对象是否属于同一数据库历史记录。 数据库管理器已检测到两个或更多日志流遵循不同的日志链,并且已停止当前操作。 请检查此消息中所标识的日志流,并确定哪个日志流遵循正确的日志链。 从无效日志流中将必需的日志文件检索到溢出日志路径,然后再次尝试执行此操作。

SQL1580W

在执行从代码页 源代码页 到代码页 目标代码页 的转换时,截断了尾部空白。 目标区域的最大大小为 最大长度。 源字符串的长度为 源长度,且它的十六进制表示为 字符串 在执行 SQL 语句期间,代码页转换操作产生的字符串比目标对象的最大大小还长。 继续处理,因为只有空白字符被截断。 确保输出是期望的输出并且截断未产生任何意外的结果。

sqlcode:+1580

sqlstate:01004

SQL1581N

表 表名 不能处于追加方式并有集群索引。

有两种情况会发生此错误。

  • 表中存在集群索引,并且使用 ALTER TABLE 来尝试使该表处于追加方式。
  • 表处于追加方式,并使用 CREATE INDEX 来尝试创建集群索引。
如果集群索引是必需的,那么改变该表以将追加方式关闭。 如果期望追加方式,那么删除表上现有的集群索引。

sqlcode:-1581

sqlstate:428CA

SQL1582N

表空间 表空间名 的 PAGESIZE 和与该表空间相关联的缓冲池 缓冲池名 的 PAGESIZE 不匹配。 在 CREATE TABLESPACE 语句中指定的 PAGESIZE 值与为配合表空间使用而指定的缓冲池的页大小不匹配。 这些值必须匹配。

无法处理该语句。

更改为 PAGESIZE 指定的值以便与缓冲池的页大小匹配,或者将缓冲池更改为具有匹配的页大小的缓冲池。

sqlcode:-1582

sqlstate:428CB

SQL1583N

不支持 PAGESIZE 值 页大小 指定的 PAGESIZE 不是受支持的页大小。 受支持的页大小是 4096、8192、16384 和 32768,但也可以指定 4 K、8 K、16 K 或 32 K。

无法处理该语句。

指定其中一个受支持的页大小。

sqlcode:-1583

sqlstate:428DE

SQL1584N

找不到页大小至少为 页大小 的系统临时表空间。 需要系统临时表空间来处理语句。 没有页大小为 页大小 或更大的系统临时表空间可用。

无法处理该语句。

创建页大小至少为 页大小 的系统临时表空间。

sqlcode:-1584

sqlstate:57055

SQL1585N

由于没有具有兼容页面大小的可用系统临时表空间,因此无法创建临时表。 临时表空间用于保存数据库管理器在执行排序或连接之类的操作时需要的临时数据,因为这些活动需要额外的空间来处理结果集。 如果数据库管理器由于找不到具有兼容页面大小且处于“正常”状态的表空间而无法创建临时表,那么就会返回此消息。

在下列其中一种情况下,将会返回此消息:

  • 正在生成的系统临时表的行长度大于具有最大页面大小且当前处于“正常”状态的系统临时表空间能够容纳的长度。
  • 系统临时表中所需的列数超过了数据库中最大系统临时表空间中可接受的限制。
  • 表空间可能已脱机。
请执行下列故障诊断步骤:

  1. 计算需要的临时表空间的大小。
  2. 通过使用 MON_GET_TABLESPACE 表函数,确定是否存在具有必需页大小且处于“正常”状态的临时表空间。
  • 如果不存在具有必需页大小的表空间,请创建具有必需页大小的系统临时表空间。
  • 如果存在具有必需页大小的表空间:
    • 如果该表空间未处于“正常”状态,请使该表空间进入“正常”状态。 例如,删除并重新创建该表空间。
    • 如果该表空间处于“正常”状态,请执行下列其中一个步骤:
      • 从系统临时表中删除一列或多列。
      • 按需要创建独立表或视图来存放超出限制的更多信息。

sqlcode:-1585

sqlstate:54048

SQL1586N

由于查询编译无法成功解析语句中的文本搜索函数,所以未执行该语句。 在某些罕见的情况下,查询编译器无法成功地解析文本搜索函数。 这种情况的一个示例是,将文本搜索函数应用于外连接的 NULL 生产者中的列。

当查询编译器无法成功解析文本搜索函数时,就会返回此消息。

未执行该语句。

用户无需进行任何响应。 无法执行所指定的语句。

SQL1587N

命令或语句失败,因为在其中运行命令或者执行语句的主机上当前有 CF。 命令或语句类型:命令-语句-代码。 主机名:主机 在 DB2 集群高速缓存工具 (CF) 所在的主机上,无法执行某些 DB2 命令(例如,“ATTACH”)和 SQL 语句(例如,“CONNECT”)。 显式或隐式发出了这些命令或语句之后,就会返回此消息。

标记 命令-语句-代码 指示尝试执行了哪种类型的命令或 SQL 语句:

1
显式或隐式 CONNECT TO <database-alias>
2
显式或隐式 ATTACH TO <instance-alias>
通过下列其中一种方式对此消息作出响应:

  • 通过执行下列步骤,在不具备 CF 的主机上再次运行此命令或者执行此语句:
    1. 使用以下命令来查找其中当前没有 CF 的主机:
       db2instance -list 
    2. 登录到其中当前没有 CF 的主机。
    3. 再次运行此 DB2 命令或者执行此 SQL 语句。
  • 使用下列其中一种方法来指定其中当前没有 CF 的主机:
    • 使用环境变量 DB2NODE 来指定成员,然后再次运行此 DB2 命令或者执行此 SQL 语句。
    • 将 Set Client 命令的 CONNECT_MEMBER 或 ATTACH_MEMBER 选项与此 DB2 命令或 SQL 语句配合使用。

sqlcode:-1587

sqlstate:560CW

SQL1588N

成员成员 ID上的sqlcode错误阻止了当前语句的处理。 在更正导致 成员标识 成员发生错误 sqlcode 的情况之前,当前成员无法处理数据更改语句。 无法处理该语句。

运行时标记 sqlcode 指示返回的底层 sqlcode。

再次尝试执行该操作。 如果仍然发生错误,请解决问题,然后再次尝试。

sqlcode:-1588

sqlstate:57063

SQL1589N

由于已达到操作系统资源限制,数据库连接失败。 当同时存在 1024 个以上本地数据库连接,且因此达到操作系统限制时,可以返回本消息。 在 AIX 操作系统上,不能同时存在单个进程或应用程序建立的 1024 个以上本地数据库连接。

当数据库管理器在进行操作系统调用期间遇到内部错误时,也会返回此消息。

终止任何不需要的本地数据库连接。

如果终止本地数据库连接会解决该问题,那么通过修改应用程序来同时使用更少的本地连接,从而防止再次遇到此错误。 如果您的应用程序需要许多数据库连接,那么通过使用 TCP/IP 而非本地连接,来使用远程连接(或者当数据库服务器和客户机位于同一主机上时,使用回送连接)。

如果减少本地连接的数目不能解决此问题,请与 IBM 软件支持人员联系,以帮助您调查问题的原因。

sqlcode:-1589

sqlstate:54067

SQL1590N

在 DEVICE 上构建的 TABLESPACE 中不允许 LONG VARCHAR 和 LONG VARGRAPHIC 字段。 HP 上的设备(原始 I/O)要求 I/O 在 1024 字节边界上对齐。 LONG VARCHAR 和 LONG VARGRAPHIC 字段是以 512 字节段为单位处理的,因而只能用于仅附带 FILE 容器的 SYSTEM MANAGED TABLESPACE 或 DATABASE MANAGED TABLESPACE 中。

替代项:

  • 选择 LOB 列类型(BLOB、CLOB、DBCLOB)之一,而不是 LONG。
  • 使用具有正确属性的表空间。

sqlcode:-1590

sqlstate:56097

SQL1592N

INCREMENTAL 选项对原因代码reason-code无效,因为表table-name无法进行增量处理。 原因基于原因码 原因码

32
该表不是 REFRESH IMMEDIATE 具体化查询表,不是带有支持登台表的 REFRESH DEFERRED 具体化查询表,也不是 PROPAGATE IMMEDIATE 登台表。
33
如果表是具体化查询表或登台表,那么已对该表进行 LOAD REPLACE 或 LOAD INSERT。
34
在上次完整性检查之后,对该表进行了 LOAD REPLACE。
35
下列其中一项:

  • 具体化查询表或登台表是新创建的。 在表创建后首次检查它的完整性时需要完全处理。
  • 当处于设置完整性暂挂状态时,已将新约束添加至该表本身或其父代(或其基础表,如果它是具体化查询表或登台表)。
  • 如果它是具体化查询表或登台表,那么在上一次刷新之后,已经对表的任何基础表进行了 LOAD REPLACE。
  • 如果它是具体化查询表,那么在刷新该表之前,使用 FULL ACCESS 选项至少强制一个基础表进行完全访问。
  • 如果它是登台表,那么在传播登台表之前,至少强制一个基础表进行完全访问(使用 FULL ACCESS 选项)。
  • 如果它是延迟型具体化查询表且它的相应登台表处于不完整状态。
  • 已经以非增量方式检查了它的某些父代(或者具体化查询表或登台表的基础表)的完整性。
  • 在对数据库进行升级之前,此表处于设置完整性暂挂状态。 在对数据库进行升级之后,首次检查表的完整性时需要完全处理。
  • 在时间点前滚操作期间,表处于设置完整性暂挂状态。
不要指定 INCREMENTAL 选项。 系统将检查整个表的约束违例(或者,如果它是具体化查询表,那么重新计算具体化查询表定义查询)。

sqlcode:-1592

sqlstate:55019

SQL1594W

数据库管理器一直未验证非增量数据的完整性。 先前未检查表。 当未指定选项 NOT INCREMENTAL 时,表的增量处理完成。 表的先前未检查的部分保持未检查并且 CONST_CHECKED 列中的相应值仍标记为 ‘U’。 不需要执行任何操作。 要验证先前未检查的数据的完整性并使系统维护表中数据的完整性,发出带有 OFF 选项的 SET INTEGRITY 语句以使表处于设置完整性暂挂状态,然后重新执行带有 IMMEDIATE CHECKED 和 NOT INCREMENTAL 选项的 SET INTEGRITY 语句。

sqlcode:+1594

sqlstate:01636

SQL1596N

不能对表 表名 指定 WITH EMPTY TABLE。 不能为表 表名 指定 WITH EMPTY TABLE 子句,因为该表满足下列其中一个条件:

  • 它是一个具体化查询表或者是一个登台表。
  • 它具有从属的立即刷新具体化查询表或者具有从属的立即传播登台表。
  • 它是引用约束中的父代。
  • 它连接了尚未检查约束违例的数据分区。
  • 先前在指定 DETACH PARTITION 子句的情况下对此表执行了 ALTER TABLE 语句,并且该异步拆离操作未完成。 此表中存在一些仍处于逻辑上已拆离的状态(SYSCAT.DATAPARTITIONS.STATUS = ‘L’)的数据分区。

将这样的表更改为 ACTIVATE NOT LOGGED INITIALLY 时,不能指定 WITH EMPTY TABLE 子句。

无法处理该语句。

如果此表没有逻辑上已拆离的分区,请发出不带 WITH EMPTY TABLE 子句的 ALTER TABLE 语句。

如果此表具有逻辑上已拆离的分区,请执行下列步骤:

  1. 等待异步分区拆离任务完成。您可以通过下列方法来监视拆离任务的进度:
    • 使用 LIST UTILITIES 命令监视该拆离任务的进度,并查找包含源表 表名 的描述。
    • 通过使用 SYSCAT.DATAPARTITIONS 目录视图来确认任何数据分区都未处于逻辑上已拆离的状态。 仍然处于逻辑上已拆离的状态的任何数据分区将在列 STATUS 中用“L”来表示。
  2. 再次执行 ALTER TABLE 语句。

sqlcode:-1596

sqlstate:42928

SQL1597N

配置 DB2 环境失败,因为已不再使用所指定的 DB2 配置参数。 已经不再使用 LOGRETAIN 和 USEREXIT 数据库配置参数。

仍然支持日志保留以及使用用户出口程序来归档和检索文件。 要配置数据库以使用日志保留和用户出口程序,您应当使用数据库配置参数 LOGARCHMETH1。

要启用日志保留,请将 LOGARCHMETH1 数据库配置参数设置为 LOGRETAIN。

要启用日志保留并且标识应当使用用户出口程序来归档和检索日志文件,请将数据库配置参数 LOGARCHMETH1 设置为 USEREXIT。

SQL1598N

由于许可证发放问题,连接到数据库服务器的尝试已失败。 在下列情况下,将返回本消息:

使用 IBM DB2 Connect Unlimited Edition for System z,直接连接到数据库服务器
如果您使用 IBM DB2 Connect Unlimited Edition for System z 直接连接到数据库服务器,那么在 DB2 for z/OS 子系统上尚未激活有效的许可证时,会返回本消息。
使用 IBM DB2 Connect Unlimited Edition for System z 以外其他版本的 IBM DB2 Connect,直接连接到数据库服务器
如果您使用 IBM DB2 Connect Unlimited Edition for System z 以外的其他版本直接连接到数据库服务器,那么当客户机上没有有效的许可证时,会返回本消息。
通过 DB2 Connect 网关服务器连接到数据库服务器
如果您通过 DB2 Connect 网关服务器连接到数据库服务器,那么当 DB2 Connect 网关服务器上没有有效的许可证时,会返回本消息。
根据应用于您情况的方案对本消息做出响应:

使用 IBM DB2 Connect Unlimited Edition for System z,直接连接到数据库服务器
如果您使用 IBM DB2 Connect Unlimited Edition for System z 直接连接到数据库服务器,那么通过运行激活套件中的激活程序,激活许可证。
使用 IBM DB2 Connect Unlimited Edition for System z 以外其他版本的 IBM DB2 Connect,直接连接到数据库服务器
如果您使用 IBM DB2 Connect Unlimited Edition for System z 以外的其他版本直接连接到数据库服务器,那么确保在客户机上安装了 DB2 Connect 产品和有效的许可证密钥。
通过 DB2 Connect 网关服务器连接到数据库服务器
如果您通过 DB2 Connect 网关服务区连接到数据库服务器,那么确保在网关服务器上安装了有效的许可证密钥。

sqlcode:-1598

sqlstate:42968

SQL1599N

由于环境是为 SAP 配置的,创建公用别名已失败。 您可以通过将名为 DB2_WORKLOAD 的系统环境变量设置为值 SAP,为 SAP 配置 DB2 环境。

您可以使用公用别名(也称为公用同义词)参考本地模式外部的对象。 您可以使用 CREATE PUBLIC ALIAS 语句创建公用别名。

为 SAP 配置的 DB2 环境中不支持公用别名。 如果在名为 DB2_WORKLOAD 的系统环境变量设置为值 SAP 时进行了创建公用别名的尝试,那么返回本消息。

有几种方法可以参考本地模式外部的对象而不创建公用别名,包含:使用标准名称,或创建本地别名。 在以下示例中,本地模式称为“schemaA”,并在另外的称为“schemaB”的模式中包含称为“tableX”的表。

示例 1:使用标准名称
您可以使用标准名称参考 tableX:

 select * from schemaB.tableX 
示例 2:创建本地别名
您可以通过首先创建本地别名参考 tableX:

 create alias AX for table schemaB.tableX select * from AX 
除了创建公用别名之外,通过使用标准名称或者通过创建本地别名来参考本地模式外部的数据库对象。

sqlcode:-1599

sqlstate:42612

SQL1600N

无法删除存储器组 存储器组,因为它是缺省存储器组。 无法处理 DROP STOGROUP,因为 存储器组名 是当前的缺省存储器组。

无法处理该语句。

在删除当前的缺省存储器组之前,使用 ALTER STOGROUP 语句指定新的缺省存储器组。

sqlcode:-1600

sqlstate:42893

SQL1601N

“数据库系统监视器”输入参数 参数 是 NULL 指针。 用户调用了一个“数据库系统监视器 API”,但提供了一个 NULL 指针而不是所需的参数。

不能处理此命令。

用户应该用有效的参数值重新发出该命令。

SQL1602N

不支持在输入数据结构(sqlma)中提供的对象类型。 不支持在“数据库系统监视器快照 API”的输入数据结构(sqlma)的可变数据区中指定的对象类型。

不能处理此命令。

用有效的对象类型重新发出该命令。

SQL1603N

未在输入数据结构(sqlma)中指定参数 参数 在“数据库系统监视器快照 API”或“估计缓存区大小 API”的输入数据结构(sqlma)中没有指定所需要的参数。

无法处理该命令。

用户应指定有效的参数值并重新发出该命令。

SQL1604N

参数 参数 不是以 NULL 结束的。 期望字符串参数的末尾是 NULL 字符。

不能处理此命令。

在字符串参数的末尾添加一个 NULL 字符,并重新发出该命令。

SQL1605W

数据库 数据库别名 不是活动的。 对特定数据库调用了“数据库系统监视器复位 API”,但是该数据库是不活动的。

成功完成命令,但未执行任何操作。

验证数据库别名是否正确,数据库是否已启动。

SQL1606W

“数据库系统监视器”输出缓冲区已满。 “数据库系统监视器”输出缓冲区不够大,容纳不下返回的数据。 原因可能是:执行调用时,系统活动太多,或者在用户应用程序的“数据库监视器 API”调用中,用户分配的缓冲区太小,容纳不下返回的数据。

成功完成该命令,并且在缓冲区溢出之前收集的数据已返回到用户的缓冲区中。

用户应重新发出该命令,或者在用户应用程序的“数据库监视器 API”调用中,分配更大的缓冲区或减少所请求的信息量。

SQL1607N

没有足够的工作内存来执行所请求的“数据库监视器”功能。 数据库管理器缺乏工作内存用来处理“数据库系统监视器”命令。

不能处理此命令。

减小输入参数中的缓冲区大小,并重新发出该命令。

SQL1608W

输入时指定的两个或多个数据库别名其实指的是同一个数据库。 发出“数据库系统监视器快照 API”调用或“估计缓冲区大小 API”调用,对 sqlma 输入数据结构中的两个或多个数据库别名指定相同的请求,这些数据库别名指向同一个数据库。

成功地执行了“数据库系统监视器”,但是只返回了输出缓冲区中的信息的一个副本。

不需要执行任何操作。 但是,在需要不同数据库中的信息时,用户应该验证输入的数据库别名是否正确。

SQL1609N

数据库别名 数据库别名 是远程数据库,不能进行监视。 发出“数据库系统监视器 API”调用,指定远程数据库的数据库别名。 “数据库系统监视器”不支持监视远程数据库。

无法处理该命令。

用户应该验证输入时指定的数据库别名是否正确,并用正确的数据库别名重新发出该命令。

SQL1610N

“数据库系统监视器”输入参数 参数 无效。 用户调用了一个“数据库系统监视器 API”,并为指定参数指定了无效值。

不能处理此命令。

用户应该用有效的参数值重新发出该命令。

SQL1611W

“数据库系统监视器”没有返回任何数据。 发出“数据库系统监视器 API”调用时,用户请求的监视信息都不可用。 这可能是由于请求的数据库或应用程序不活动,或者当监视组(例如,“表”组)已关闭时,又请求了“表”信息。 成功地执行了该命令,但没有给用户返回任何数据。

用户应该确保在调用“数据库系统监视器 API”时,期望监视的数据库或应用程序是活动的,或者期望的监视组是活动的。

SQL1612N

指定的事件监视器目标路径无效。 在 CREATE EVENT MONITOR 语句中指定的目标路径是无效路径名。 不能处理该命令。 用正确的事件监视器目标路径重新提交该语句。

sqlcode:-1612

sqlstate:428A3

SQL1613N

指定的事件监视器选项无效。

在 CREATE EVENT MONITOR 语句中指定的选项无效。 原因可能包括:

  • 指定的 MAXFILES、MAXFILESIZE 或 BUFFERSIZE 太小。
  • MAXFILESIZE 小于 BUFFERSIZE。
  • 与 MAXFILES 一起指定的 MAXFILESIZE NONE 不等于 1。

不能处理该命令。

用正确的事件监视器选项重新提交该语句。

sqlcode:-1613

sqlstate:428A4

SQL1614N

激活事件监视器时发生了 I/O 错误。 原因码:原因码

激活事件监视器时检测到 I/O 错误。<reason-code> 是下列其中一项:

1
遇到未知的事件监视器目标类型。
2
找不到“事件”监视器目标路径。
3
拒绝访问事件监视器目标路径。
4
事件监视器目标路径不是管道名。
5
还没有任何进程打开事件监视器目标管道进行读取。
6
遇到意外的 I/O 错误。
可能,更正由该原因码描述的问题,并重新提交 SET EVENT MONITOR 语句。

sqlcode:-1614

sqlstate:58030

SQL1615W

所指定的事件监视器或使用情况列表已经处于所请求的状态。 尝试激活一个已经处于活动状态的事件监视器或使用情况列表,或者取消激活一个已经处于不活动状态的事件监视器或使用情况列表。 忽略了 SET EVENT MONITOR 或 SET USAGE LIST 语句。

在分区数据库环境或 DB2 pureScale 环境中,一个或多个成员上的使用情况列表已经处于所请求的状态。 在发出此语句时,任何未处于所请求状态的使用情况列表都会改变为所请求的状态。

如果对分区表或索引的使用情况列表发出了此语句,那么一个或多个数据分区的使用情况列表已处于所请求的状态。 在发出此语句时,任何未处于所请求状态的使用情况列表都会改变为所请求的状态。

用户无需进行任何响应。

sqlcode:+1615

sqlstate:01598

SQL1616N

已达到活动的事件监视器的最大数目限制。 每个数据库分区中最多可以有 128 个事件监视器同时处于活动状态。

在多分区数据库环境中,每个数据库上最多可以有 32 个全局事件监视器同时处于活动状态。

已达到这些限制的其中一个限制。 不能激活指定的事件监视器。

如果可能,释放其中一个活动的事件监视器,并重新提交 SET EVENT MONITOR 语句。 使用以下查询来确定所有处于活动状态的事件监视器以及它们是否是全局事件监视器:

SELECT EVMONNAME, MONSCOPE FROM SYSCAT.EVENTMONITORS WHERE EVENT_MON_STATE(EVMONNAME) = 1

sqlcode:-1616

sqlstate:54030

SQL1617N

指定的事件监视器已达到其 MAXFILES 和 MAXFILESIZE 限制。 创建指定的事件监视器时指定了对事件监视器目标目录中将允许的数据量的限制。 已达到此限制。 不能激活指定的事件监视器。 如果可能,删除目标目录中的一些事件监视器数据文件,并重新提交 SET EVENT MONITOR 语句。

sqlcode:-1617

sqlstate:54031

SQL1618N

指定的事件监视器的目标路径正被另一个事件监视器使用。 创建指定的事件监视器时使用了与另一个事件监视器相同的目标路径。 至少激活了一次这个事件监视器,并在目标路径中留下了 .evt 和/或 .ctl 文件。 这些文件可能正被读取它们所包含的事件信息的应用程序使用。 如果另一个事件监视器当前是活动的,那么将其释放。 在确保没有应用程序正在使用它在目标路径中创建的文件之后,移除这些文件。 然后重新提交 SET EVENT MONITOR 语句。

或者,重建所需要的事件监视器,指定另一个目标路径,并重新提交 SET EVENT MONITOR 语句。

sqlcode:-1618

sqlstate:51026

SQL1619N

不能对活动的事件监视器进行 DROP。 指定的事件监视器当前是活动的,因此不能将其删除。 释放事件监视器,并重新提交 DROP EVENT MONITOR 语句。

sqlcode:-1619

sqlstate:55034

SQL1620N

无法清除事件监视器。 原因码:原因码 无法清除事件监视器。 可能的原因由下列原因码指示:

1
事件监视器未处于活动状态。
2
事件监视器正在版本 6 之前的输出级别上运行,不能对它进行刷新。
3
清除操作在某些数据库分区中成功,但在至少一个数据库分区中失败。
4
数据库分区处于写暂挂状态。
根据原因码提供的操作如下所示:

1
确保事件监视器处于活动状态,必要时,发出 SET EVENT MONITOR evmonname STATE 1 语句以激活事件监视器。
2
如果事件监视器正在版本 6 之前的输出级别上运行,那么不要尝试对它进行清洗。
3
如果清除操作在至少一个数据库分区中失败,请在 db2diag 日志文件中查找任何来自例程 sqlm_bds_flush_monitor 或 sqlm_bds_flush_monitor_hdl 的探针(它们将指示清除事件监视器时遇到问题的分区),执行任何必需的更正操作(例如,确保该分区中有足够的监视器堆,并且,对于“写入表”事件监视器,确保该分区中的表空间有足够的空间),然后通过发出下列语句依次取消激活和重新激活事件监视器:

 SET EVENT MONITOR evmonname STATE 0 SET EVENT MONITOR evmonname STATE 1 
4
通过发出带 RESUME 参数的 SET WRITE 命令,对数据库分区启用写操作恢复。

sqlcode:-1620

sqlstate:55034

SQL1621N

尚未落实在其中创建了所指定的事件监视器或使用情况列表的事务。 无法激活该事件监视器或使用情况列表。 要在已经落实了在其中创建事件监视器或使用情况列表的事务之后,才能激活该事件监视器或使用情况列表。 落实在其中创建了事件监视器或使用情况列表的事务,然后重新发出 SET EVENT MONITOR 或 SET USAGE LIST 语句。

sqlcode:-1621

sqlstate:55033

SQL1622N

在 SET EVENT MONITOR STATE 或 SET USAGE LIST STATE 语句中指定的 STATE 值无效。 在 SET EVENT MONITOR STATE 或 SET USAGE LIST STATE 语句中指定的 STATE 值不在有效值范围内,或者作为指示符变量的结果的值是 NULL。

事件监视器状态的有效值为:

0
释放事件监视器
1
激活事件监视器

使用情况列表状态的有效值为:

活动
激活使用情况列表
INACTIVE
取消激活使用情况列表
RELEASED
释放与使用情况列表相关联的内存

无法执行该语句。

更正事件监视器或者使用情况列表状态值和/或任何指示符变量,然后重新发出该语句。

sqlcode:-1622

sqlstate:42815

SQL1623N

调用 sqlmonsz 或 sqlmonss API 时,使用了太多在 sqlma 输入结构中指定的对象。 超过了对 sqlma 输入结构中允许的对象数所强加的限制。 减少 sqlma 参数中的对象数目,并再试调用。

SQL1624N

sqlmonsz 或 sqlmonss API 引用的所有数据库必须位于同一节点中。 sqlma 参数中包含对驻留在不同节点上的数据库的引用。 修改 sqlma 参数以便所有数据库对象引用同一节点,然后再试调用。

SQL1625W

监视器不能从代码页  转换为代码页 目标。 尝试对属于类型 类型 的数据执行此转换。

可能的类型如下:

  1. 语句文本
  2. dcs 应用程序
  3. 应用程序
  4. 锁定
  5. 表空间

不支持从源代码页到目标代码页的数据转换。 在下列情况下可能会发生此情况:

  1. 数据库管理器不支持源代码页和目标代码页的组合。
  2. 服务器节点上的操作系统字符转换实用程序不支持源代码页和目标代码页的组合。

当监视器尝试转换其代码页与监视应用程序的代码页不兼容的数据库的数据时,可能会发生此情况。

检查操作系统文档以获取支持的转换类型的列表,并确保安装了适当的转换类型,并且数据库管理器可以对其进行访问。

如果可能,确保被监视的数据库和监视应用程序具有相同的代码页。

SQL1626W

当执行从代码页  到代码页 目标 的转换时发生溢出。 目标区域的大小为 最大长度,该数据属于类型 类型,前八个字符为 数据

可能的类型如下:

  1. 语句文本
  2. dcs 应用程序
  3. 应用程序
  4. 锁定
  5. 表空间

由于受到空间约束,监视器不能转换数据。 数据仍保留其原始格式。

如果可能,确保被监视的数据库和监视应用程序具有相同的代码页。

SQL1627W

快照 API 请求是在自描述数据流级别执行的,但是,服务器只能返回固定大小结构格式的快照。 虽然发出快照请求的应用程序是在 SQLM_DBMON_VERSION6 或更新级别上进行了请求,但是,返回快照的服务器返回了该数据的低级别视图。 在快照的自描述数据格式中(DB2 版本 6 或更高版本),收集到的信息(包括服务器级别)作为快照数据流的一部分返回。 在版本 6 之前的 DB2 级别中,快照收集的信息在 sqlm_collected 结构中返回。 必须使用 sqlm_collected 结构,并使用旧的数据流处理方法来对此快照数据流进行解析。

SQL1628W

因为输出缓冲区已满,所以远程获取开关操作只返回了一部分结果。 要检索全部结果,使用最小为 大小 个字节的缓冲区大小。 所提供的输出缓冲区不够大,不能返回所有可用的开关数据。 通过使用给定的输出缓冲区,监视器返回了尽可能多的数据。 分配一个更大的数据缓冲区,并重新发出开关请求。

SQL1629W

远程快照操作在节点 节点列表 上失败,原因码:原因列表

在远程节点上执行操作期间发生了某种类型的故障,原因为 <reason-code>,即下列其中一项:

1
由于节点故障或通信错误,FCM 无法与目标节点通信。
2
在目标节点上无法完成快照操作。 请参阅管理通知日志以了解特定的 sqlca。
如果错误的原因是节点故障或通信错误,那么需要解决通信错误,或者重新启动无法更正错误的节点。

如果错误是因为远程节点上的快照操作故障,请参阅管理通知日志以了解失败操作的 sqlca,并参阅有关该代码的指示信息,以解决问题。

SQL1630N

指定的事件监视器已达到其 PCTDEACTIVATE 限制。 指定的“写入表”事件监视器在创建时设置了 PCTDEACTIVATE 限制(指定 DMS 表空间必须为多满时才能使事件监视器自动取消激活),并且此时已达到此限制。 不能激活指定的事件监视器。 请减少在表空间中使用的空间,然后重新提交 SET EVENT MONITOR 语句。 或者,删除该事件监视器,然后重新创建事件监视器并设定一个更高的 PCTDEACTIVATE 限制值。

sqlcode:-1630

sqlstate:54063

SQL1631N

类型为event-monitor-type的事件监控器event-monitor-name已处于活动状态。 事件监视器未激活。 对于类型为 ACTIVITIES、STATISTICS 或 THRESHOLD VIOLATIONS 的任何事件监视器,在任何时候都只能是其中一个处于活动状态。 事件监视器激活失败,因为某个相同类型的事件监视器已处于活动状态。 尝试激活此事件监视器前,请取消激活事件监视器 事件监视器名称

sqlcode:-1631

sqlstate:5U024

SQL1632W

收集和复位统计信息请求已被忽略,因为另一收集和复位统计信息请求已经在运行。 收集和复位统计信息请求已被忽略,因为先前的收集和复位统计信息请求已经在运行。 对此数据库一次只能处理一个收集和复位统计信息请求。 不需要执行任何操作。

sqlcode:+1632

sqlstate:01H53

SQL1633W

无法捕获由应用程序句柄 应用程序句柄、工作单元标识 工作单元标识 和活动标识 活动标识 所标识的活动,因为不存在任何活动的活动事件监视器。 尝试对由应用程序句柄、工作单元标识和活动标识所标识的活动进行捕获。 这要求创建活动事件监视器并将其状态设置为活动。 当前没有任何活动事件监视器处于活动状态。 如果已经有活动事件监视器,但它未处于活动状态,请将其状态设置为活动。 如果此数据库中没有任何活动事件监视器,请创建一个活动事件监视器并将其状态设置为活动。 重新调用此过程。

sqlcode:+1633

sqlstate:01H53

SQL1634N

未能收集统计信息,因为没有任何活动的统计信息事件监视器。 尝试收集工作负载管理统计信息。 这要求创建统计信息事件监视器并将其状态设置为活动。 当前没有任何统计信息事件监视器处于活动状态。 如果已经有统计信息事件监视器,但它未处于活动状态,请将其状态设置为活动。 如果此数据库中没有任何统计信息事件监视器,请创建一个统计信息事件监视器并将其状态设置为活动。 重新调用此过程。

sqlcode:-1634

sqlstate:51042

SQL1635N

快照操作失败,因为快照大小为 快照大小 字节,这超出了允许的最大大小(即 最大大小 字节)。 您可以使用快照监视器来收集 DB2 数据库及相关操作系统信息。 在多数据库分区环境中,您可以创建当前数据库分区、指定数据库分区或所有数据库分区的快照。 立刻创建所有数据库分区的快照称为创建全局快照。

通常,快照操作所分配的数据缓冲区大小受系统资源约束的限制。 对于全局快照,您可以通过设置 DB2_MAX_GLOBAL_SNAPSHOT_SIZE 注册表变量来选择性地指定所允许的最大数据缓冲区大小。

可在以下两种类型的情况中返回此消息:

  • 通常,当请求的快照大小超过可能的最大快照大小时,会返回此消息。
  • 对于全局快照操作,当所请求的快照大小超过 DB2_MAX_GLOBAL_SNAPSHOT_SIZE 注册表变量中设置的值时,也将返回此消息。
通过执行下列其中一项或多项操作,对此消息作出响应。

常规信息:
  • 通过减少所收集的信息量来创建较小的快照。通过更改使用 GET SNAPSHOT 命令指定的参数来收集较小快照的两个方法如下所示:
    • 通过使用 DATABASE 参数(而不使用 ALL DATABASES 参数)只收集一个数据库的信息。
    • 通过使用 APPLICATIONS ON 参数(而不使用 ALL APPLICATIONS 参数)只收集已连接至特定数据库的应用程序的信息。
仅限于全局快照:
  • 通过在每一个数据库分区上分别运行 GET SNAPSHOT 命令(而不是创建全局快照)来收集多个较小快照。
  • 如果已设置 DB2_MAX_GLOBAL_SNAPSHOT_SIZE 注册表变量,请将 DB2_MAX_GLOBAL_SNAPSHOT_SIZE 增大到至少与 snapshot-size 运行时变量中此消息内给定的实际大小相同的值,然后再次运行 GET SNAPSHOT 命令。

SQL1636N

在激活期间,事件监视器遇到了错误。 原因码为 原因码 在激活事件监视器期间,遇到了由以下原因码所指示的错误:

1
已成功激活事件监视器。 但是,这是 DB2 pureScale 环境,并且发生了错误,从而导致此全局事件监视器或者“写入表”事件监视器的重新启动功能受限或无法使用。 如果监控成员不再能够运行事件监视器,那么系统可能无法在另一个成员上重新启动此事件监视器。
2
无法在当前成员上激活事件监视器。 但是,这是 DB2 pureScale 环境,可能已在另一个成员上成功激活了此全局事件监视器或者“写入表”事件监视器。
与原因码对应的操作是:

1
检查管理通知日志和 db2diag.log 以了解详细信息。 请更正会影响此成员的问题,并取消激活然后重新激活事件监视器,以确保启用完整的重新启动功能。
2
检查管理通知日志和 db2diag.log 以了解详细信息。 更正会影响此成员的问题。 检查事件监视器是否处于活动状态,如果需要,请取消激活事件监视器,然后重新激活事件监视器以确保启用完整的重新启动功能。

sqlcode:-1636

sqlstate:560CS

SQL1637N

此语句失败,因为指定了透明 DDL 不支持的子句。 所指定的子句:子句 在联合环境中,可以使用熟悉的 SQL 语句(例如,CREATE TABLE、ALTER TABLE 和 DROP TABLE)并使用透明 DDL 来创建、改变和废弃远程表。 如果能够使用熟悉且相同的 SQL 语句来处理本地表和远程表,这将简化联合数据库环境的管理工作。 通过使用带有 OPTIONS 子句的 CREATE TABLE 语句来创建表,即可对远程表使用透明 DDL。

在指定了透明 DDL 不支持的子句的情况下调用 CREATE TABLE 语句或 ALTER TABLE 语句时,就会返回此消息。

在不指定不受支持的子句的情况下再次执行此语句。

sqlcode:-1637

sqlstate:428I2

SQL1638N

无法重定向存储器组路径。 在无法使用 SET STOGROUP PATHS 命令或者 db2SetStogroupPaths API 来修改存储器组路径的情况下,一个进程尝试进行修改。 例如,如果尝试在表空间复原期间重定向存储器组路径,那么可能会返回此消息。 只有在执行重定向数据库复原期间才能重定向存储器组路径。 可以执行的操作包括:要修改活动数据库的存储器组路径,请使用 ALTER STOGROUP 语句。 要执行重定向的复原,请发出 RESTORE DATABASE 命令并使用 REDIRECT 选项。 在执行重定向的复原期间,可以使用 SET STOGROUP PATHS 命令或者 db2SetStogroupPaths API 来重定向存储器组路径。

sqlcode:-1638

sqlstate:5U057

SQL1639N

数据库服务器无法执行认证,因为服务器上与安全性相关的数据库管理器文件没有必需的操作系统许可权。 DB2 数据库系统要求您的实例和数据库目录以及这些目录中的文件至少具有最低级别的操作系统许可权。 如果实例和数据库目录由数据库管理器创建,那么许可权是正确的,更改这些许可权可能会导致数据库管理器功能失败。 对于由非 root 用户安装的实例以及基于操作系统的认证,DB2 文件许可权的复杂性会提高。

如果与安全性相关的数据库管理器可执行文件不具有必要的许可权,使得数据库管理器无法执行与远程连接认证相关的任务,那么会返回此消息。

有多种原因会导致这些与安全性相关的文件可能不具有必要的许可权,其中包括下列原因:

  • 数据库管理器实例是由非 root 用户安装的实例,并且尚未使用 db2rfe 命令来启用基于操作系统的认证
  • 意外更改了数据库管理器文件的操作系统许可权
通过下列其中一种方式对此消息作出响应:

  • 如果实例是由非 root 用户安装的实例,那么使用 db2rfe 命令来启用基于操作系统的认证。
  • 通过以超级用户身份运行以下命令,重置此实例的数据库管理器二进制文件的所有操作系统许可权:
     db2iupdt -k <instance-name> 

    其中 <instance-name> 是受影响实例的名称。

请注意,db2rfe 命令和 db2iupdt 命令都要求先停止数据库管理器实例,然后重新启动此实例。

sqlcode:-1639

sqlstate:08001

SQL1640N

无法为对象 对象名 创建使用情况列表。 只能为常规表和索引创建使用情况列表。 有关可以为其创建使用情况列表的对象类型的更多信息,请参阅“相关主题”部分。 使用有效表或索引对象的名称。

sqlcode:-1640

sqlstate:42809

SQL1641N

db2start 命令失败,因为文件系统安装设置已导致一个或多个数据库管理器程序文件在执行时不具有 root 用户特权。 对于 UNIX 和 Linux 环境中 root 用户安装的实例,有多个数据库管理器可执行程序称为“执行时设置用户标识”(setuid) 程序。 setuid 程序是使用此程序的所有者的特权来执行,而不是使用运行此程序的用户的特权来执行。 例如,数据库管理器程序(例如,db2start 程序)归 root 用户所有,因此,该程序在执行时具有 root 用户特权,而不管运行 db2start 命令的用户具有哪些特权。

在已安装的文件系统上使用 setuid 特权来运行程序的能力,是在安装文件系统时使用 nosuid 选项来配置的。 使用 nosuid 选项来安装文件系统可以阻止使用 setuid 特权来运行程序。

在 UNIX 和 Linux 环境中,如果因为使用了 nosuid 选项来安装数据库管理器程序所在的文件系统,导致需要启动数据库实例的数据库管理器程序无法以 root 用户身份来执行,那么会返回此消息。

  1. 在不使用 nosuid 选项的情况下,重新安装数据库产品文件(其中包括 sqllib 目录和 db2start 程序)所在的文件系统。
  2. 重新运行 db2start 命令。

SQL1642N

数据库管理器无法连接至远程计算机上的因特网套接字,因为此远程计算机已拒绝此连接请求。 要通过网络与远程数据库进行交互,数据库管理器必须使用通信协议(例如 TCP/IP)和操作系统接口(例如因特网套接字)来连接至该远程数据库所在的计算机上与数据库相关的操作系统服务。

如果数据库管理器尝试使用 TCP/IP 通信协议连接至远程计算机,而接收到名为 CONNECT 的 TCP/IP 功能返回的错误代码 ECONNREFUSED 或 WSAECONNREFUSED,那么会返回此消息。 通常,由于远程计算机上与数据库相关的操作系统服务处于不活动状态,因此数据库管理器在尝试连接至此服务时会被拒绝。

有多种情况可能会导致返回此错误,其中包括下列情况:

  • 远程计算机上的数据库管理器已停止
  • 远程数据库的编目方式有问题
  • 远程数据库服务器的配置方式有问题
  • 远程数据库服务器中的 DB2COMM 注册表变量未设置为客户机所使用的通信协议
  • 远程计算机上的防火墙软件正在阻止数据库管理器的连接请求
  • TCP/IP 连接请求数超过了远程计算机可以处理的连接请求数
系统性地排除下列可能原因以对此错误作出的响应:

  1. 请确保已成功启动远程计算机上的数据库管理器。
  2. 请确保已正确地对数据库进行编目。
  3. 请确保远程数据库的数据库管理器配置文件中的条目有效并且一致。
  4. 请确保远程数据库服务器中的 DB2COMM 环境变量设置为客户机所使用的通信协议。
  5. 请确保防火墙软件未阻止与远程计算机建立 TCP/IP 连接。
  6. 请确保由所有应用程序发送至远程计算机的连接请求数少于此计算机可以处理的请求数。

如果您已排除此处列示的可能原因,请使用 db2support 命令收集诊断信息,然后与 IBM 软件支持机构联系。

SQL1643C

数据库管理器无法分配共享内存,因为已经达到数据库管理器实例内存限制。 由数据库管理器参数 instance_memory 来控制可以为每个数据库分区分配的最大内存量。 DB2 内存消耗量随工作负载大小和配置不同而有所变化。 除此之外,如果启用了 database_memory 的自调整,那么这也是一个要考虑的因素。 有许多因素会导致计算 instance_memory 以及该参数对实例内存限制造成的影响,其中包括下列因素:

  • 您可以使用数据库管理器参数 instance_memory 来指定可以为数据库分区分配的最大内存量。
  • 如果将数据库管理器参数 instance_memory 设置为 AUTOMATIC,那么会允许数据库管理器实例内存按需要增加,直到达到根据计算机上的物理 RAM 以及数据库产品许可证所允许的最大内存量而计算出的限制为止。

在执行活动(例如,激活数据库或者将数据库前滚)期间,如果由于已经达到实例内存限制而使得数据库管理器无法分配共享内存,就会返回此消息。

  1. 使用 ADMIN_GET_DBP_MEM_USAGE 表函数或者使用带有 -dbptnmem 参数的 db2pd 命令来确定数据库管理器实例用于特定数据库分区或者用于所有数据库分区的实例内存总量。
  2. 增大数据库管理器参数 instance_memory 的设置值,或者将 instance_memory 设置为 AUTOMATIC。
  3. 如果在您将 instance_memory 设置得尽可能大或者设置为 AUTOMATIC 之后仍然发生此错误,那么使用 db2support 实用程序来收集诊断信息,然后与 IBM 软件支持机构联系。

sqlcode:-1643

sqlstate:57019

SQL1644N

数据库管理器无法将数据发送至远程计算机上的因特网套接字,因为此远程计算机已重置连接请求。 要通过网络与远程数据库进行交互,数据库管理器必须使用通信协议(例如 TCP/IP)和操作系统接口(例如因特网套接字)来连接至该远程数据库所在的计算机上与数据库相关的操作系统服务。

如果数据库管理器尝试使用 TCP/IP 通信协议将数据发送至远程计算机,而接收到名为 RECV 的 TCP/IP 功能返回的错误代码 ECONNRESET 或 WSAECONNRESET,那么会返回此消息。

有多种情况可能会导致返回此错误,其中包括下列情况:

  • 启用了客户端连接池,但是在数据库连接失败之后,数据库应用程序尚未重试。
  • 已强制关闭远程计算机的数据库代理程序。
  • 远程计算机上的数据库代理程序已终止。
  • 远程计算机上与数据库相关的操作系统线程已超时。
  • 连接已被 TCP/IP 级别的远程网关或服务器关闭。
有系统地进行调查,找出可能存在的原因并解决相应的问题:

客户端连接池问题
如果启用了客户端连接池,请确保在接收到数据库连接失败之后数据库应用程序会重试数据库连接。
已强制关闭数据库代理程序
  1. 调查是否有任何事件可能已强制关闭远程计算机的数据库代理程序(例如,管理员强制所有用户和代理程序脱离远程计算机以执行维护)。
  2. 如果数据库代理程序已强制关闭远程计算机,请您与数据库管理员或系统管理员一起使数据库服务器恢复联机状态并且准备处理请求,然后重试使用工作单元。
数据库代理程序已终止
  1. 调查远程计算机上是否有任何故障可能已终止数据库代理程序。 例如,关键数据库管理器进程终止可能会导致数据库代理程序终止。
  2. 如果远程计算机上发生故障,导致关键数据库管理器进程已终止,请您与数据库管理员或系统管理员一起使数据库服务器恢复联机状态并且准备处理请求,然后重试使用工作单元。
线程已超时
  1. 复查远程计算机上的诊断日志,以了解是否存在指出操作系统线程已超时的错误消息。
  2. 如果与数据库相关的操作系统线程的运行时间超过了空闲线程超时 (IDTHTOIN) 操作系统参数的值,请执行下列其中一个或多个更正操作:
    • 增大 IDTHTOIN 参数的值。
    • 如果在网关中启用了连接池,请禁用该连接池。
    • 请确保数据库应用程序没有使资源保持打开状态的时间超过所需要的时间。 例如,请确保在不再需要 WITH HOLD 游标之后,数据库应用程序关闭了这些游标。
连接已被远程网关或服务器关闭
请解决数据库产品外部的所有可能已导致远程网关或服务器上关闭 TCP/IP 连接的问题。 下面是一些可能会导致连接被关闭的问题示例:

  • 防火墙软件发生错误或故障
  • 电源故障
  • 网络故障

如果您已排除此处列示的可能原因,请使用 db2support 命令收集诊断信息,然后与 IBM 软件支持机构联系。

sqlcode:-1644

sqlstate:08001

SQL1645N

数据库管理器无法连接至远程计算机上的因特网套接字,或者无法将数据发送至该因特网套接字,因为此远程计算机已终止连接。 要通过网络与远程数据库进行交互,数据库管理器必须使用通信协议(例如 TCP/IP)和操作系统接口(例如因特网套接字)来连接至该远程数据库所在的计算机上与数据库相关的操作系统服务。

有多种情况可能会导致返回此错误,其中包括下列情况:

  • 由于发生了内存分配故障而无法在远程计算机上启动数据库代理程序。
  • 已强制关闭远程计算机的数据库代理程序。
  • 远程计算机上的数据库代理程序已终止。
  • 连接已被 TCP/IP 级别的远程网关或服务器关闭。
有系统地进行调查,找出可能存在的原因并解决相应的问题:

无法启动新的数据库代理程序
  1. 调查远程计算机中的诊断日志,以确定是否存在任何由于超过内存限制而导致发生内存分配故障的情况。
  2. 如果远程计算机中存在任何已经达到内存限制的情况,或者远程计算机中存在内存分配故障,请您与数据库管理员或系统管理员一起找出内存分配问题的原因并解决相应的问题,然后重试使用工作单元。
已强制关闭数据库代理程序
  1. 调查是否有任何事件可能已强制关闭远程计算机的数据库代理程序(例如,管理员强制所有用户和代理程序脱离远程计算机以执行维护)。
  2. 如果数据库代理程序已强制关闭远程计算机,请您与数据库管理员或系统管理员一起使数据库服务器恢复联机状态并且准备处理请求,然后重试使用工作单元。
数据库代理程序已终止
  1. 调查远程计算机上是否有任何故障可能已终止数据库代理程序。 例如,关键数据库管理器进程终止可能会导致数据库代理程序终止。
  2. 如果远程计算机上发生故障,导致关键数据库管理器进程已终止,请您与数据库管理员或系统管理员一起使数据库服务器恢复联机状态并且准备处理请求,然后重试使用工作单元。
连接已被远程网关或服务器关闭
请解决数据库产品外部的所有可能已导致远程网关或服务器上关闭 TCP/IP 连接的问题。 下面是一些可能会导致连接被关闭的问题示例:

  • 防火墙软件发生错误或故障
  • 电源故障
  • 网络故障

如果您已排除此处列示的可能原因,请使用 db2support 命令收集诊断信息,然后与 IBM 软件支持机构联系。

sqlcode:-1645

sqlstate:08001

SQL1646N

例程失败,因为受防护用户标识无法访问 sqllib 目录或者其他实例或数据库目录中必需的文件。 数据库管理器通过以 DB2 受防护用户身份运行用户定义的函数和存储过程,在 DB2 数据库地址空间外部运行这些例程。 受防护的缺省用户标识为“db2fenc1”,缺省组为“db2fadm1”。

受防护用户标识需要能够访问 sqllib 目录以及其他实例和数据库目录中与 DB2 数据库相关的文件(例如,可执行文件和库文件)。 如果实例和数据库目录由数据库管理器创建,那么已正确设置文件和目录操作系统许可权,不应更改这些许可权。

当您直接使用受防护的存储过程或例程时,或者当 DB2 实用程序(例如,运行状况监视器)作为受防护方式的进程运行时,就会返回此消息。

发生此错误的最常见原因是,在数据库管理器创建实例和数据库目录之后,意外更改了与 DB2 数据库相关的文件或目录的操作系统文件许可权。

通过执行以下故障诊断步骤对此错误作出响应:

  • 如果有可能,通过查看可用的数据库诊断信息(例如,db2diag 日志文件)或者操作系统诊断信息,来确定数据库管理器或 db2fmp 进程本身无法访问的文件或目录。
  • 将跟 DB2 数据库相关的文件和目录(其中包括 sqllib 目录和 db2fmp 可执行文件本身)的操作系统许可权,与已说明的、最初创建实例和数据库目录时数据库管理器已经设置的缺省许可权进行比较。

sqlcode:-1646

sqlstate:58004

SQL1648N

由于 DB2 pureScale 环境中 DB2 成员或 CF 所处的状态而无法处理 SQL 语句或命令。 成员 = 成员标识。 原因码:原因码 DB2 成员或 CF 的状态阻止对 SQL 语句或命令进行处理。 这可能是由于下列其中一个原因:

1
正在成员上停止或启动数据库管理器。
2
正在对失败成员执行成员崩溃恢复。
3
如果 DB2 成员具有的代码级别高于当前有效代码级别 (CECL),那么无法从该成员发出语句或命令。 如果正在对 DB2 pureScale 实例进行修订包更新,那么可能存在代码级别高于 CECL 的 DB2 成员。 某些语句和命令只能从代码级别与 CECL 相同的 DB2 成员发出。
4
语句或命令不受支持,因为正在进行修订包更新,并且至少一个 DB2 成员或集群高速缓存工具 (CF) 具有的代码级别不等于 CECL。 仅当所有 DB2 成员和 CF 具有的代码级别等于 CECL 时,某些语句和命令才受支持。 以值“*N”作为成员标识表示条件并非特定于特定成员或 CF。
5
由于正在执行一个或多个不兼容的命令、语句或操作,因此无法连接或激活此数据库。
6
执行添加成员操作之后,由于尚未启动任何成员,因此首次使用数据库失败。
7
执行添加成员操作之后,由于数据库在任何先前存在的成员(添加新成员之前,数据库最后一次可用时在数据库管理器实例中存在的成员)上未处于活动状态,因此首次使用数据库失败。 已阻止使用数据库,因为尚未完成添加成员操作的某些操作。
8
由于在另一成员上处理此数据库时出错,因此添加成员后首次连接此数据库失败。
9
无法从未在源成员拓扑上的成员启动操作。
10
尝试了从与 CECL 不同的代码级别执行添加成员操作,或者在数据库管理器实例处于异构状态时尝试执行添加成员操作。
11
该命令失败,因为执行删除成员操作后,必须建立与数据库的显式连接。
要对此消息作出响应,请执行与每个原因码相对应的操作:

1
等待直到 DB2 成员可用。 然后,重新发出该语句或命令。
2
等待直到崩溃恢复完成,且 DB2 成员可用。 然后,重新发出该语句或命令。
3
请执行下列其中一项操作:

  • 从代码级别等于 CECL 的成员重新发出语句。
  • 完成修订包更新,让所有成员处于和 CECL 相同的代码级别,然后从任何 DB2 成员重新发出语句。
4
完成并落实修订包更新操作。 在所有 DB2 成员和 CF 处于相同代码级别之后,重试操作。
5
等待受限操作完成,然后重新运行此命令。
6
通过执行下列操作对原因码 6 作出响应:

  1. 启动先前存在的成员(数据库最后一次可用时在数据库管理器实例中存在的成员)。
  2. 连接或激活该先前存在的成员上的数据库。
  3. 重新尝试连接到新添加的成员上的此数据库。
7
通过执行下列操作对原因码 7 作出响应:

  1. 通过连接到或激活先前存在的成员(数据库最后一次可用时在数据库管理器实例中存在的成员)上的数据库来完成添加成员操作的任何未完成的操作。
  2. 再次执行失败的操作。
8
进行必要的配置更改,以避免超出数据库或操作系统限制,然后重新发出此命令。
9
从位于源成员拓扑中的成员连接到数据库。
10
要添加成员,请将数据库管理器实例置于同构状态(换句话说,使所有 DB2 成员和 CF 处于相同的代码级别),然后从实例的一个成员中发出添加成员请求。
11
从现有成员连接至数据库,然后重新运行该命令。

sqlcode:-1648

sqlstate:57061

SQL1649W

已成功取消激活数据库,但是,该数据库仍然以暂挂 I/O 写操作方式可用。 当数据库处于暂挂 I/O 写操作方式时,无法关闭此数据库。 当继续执行 I/O 写操作时,此数据库将关闭。 不需要执行任何操作。 发出“SET WRITE RESUME”命令以继续执行 I/O 写操作,并彻底取消激活此数据库。

SQL1650N

不再支持所调用的函数。 用户尝试调用在数据库管理器的此版本中不再支持的 API。 另一个 API 调用可能支持所需要的函数。

如果您的 Windows 应用程序使用 V9 以前的版本号调用 sqledgne API 或 db2DbDirGetNextEntry API,那么必须对其进行更新以使用当前的版本号来调用 db2DbDirGetNextEntry API。

SQL1651N

不能执行该请求,因为数据库服务器版本不支持此功能。 较早数据库服务器版本不支持某种新功能。 此错误另一个可能的原因是:请求引用对象的限定符长度超过了服务器版本的支持。 针对已安装最新数据库服务器版本的数据库服务器执行请求,或将服务器升级至最新数据库服务器版本。

SQL1652N

发生了文件 I/O 错误。 打开、读取、写入或关闭文件时出错。 检查 db2diag 日志文件以了解详细信息。 并且,检查磁盘是否已满、文件许可权的情况以及操作系统是否有错误。

SQL1653N

指定了无效的概要文件路径。 必须指定应该在其中生成服务器信息的文件的完整路径。 确保指定的概要文件路径正确并且不为 NULL。

SQL1654N

遇到实例路径错误。 不能返回实例路径。 检查是否正确地指定了 DB2INSTANCE 路径。 检查指定的完整路径长度,确保未达到操作系统支持的最大值。

SQL1655C

由于访问磁盘上的数据时出错而无法完成此操作。 由于访问磁盘上的数据时发生问题,因此无法完成该操作。 SQL 语句已被回滚,或者该操作已异常终止。 数据库仍然可访问。 应用程序可以再次尝试执行该操作,尽管它可能仍然会失败。 如果该操作仍然失败,那么可能需要与 DB2 系统管理员联系以进一步调查失败原因。

请检查管理通知日志,以了解有助于诊断问题的详细信息。 调查错误并确定原因,有可能还需要 IBM 软件支持人员的帮助。

如果确定 DB2 数据有错误,请复原并前滚表空间或数据库。

如果确定问题由硬件或其他软件引起,请修复所涉及到的系统(可能需要停止运行 DB2)。

sqlcode:-1655

sqlstate:58030

SQL1656C

处理数据时发生错误。 无法完成操作,但是数据库仍然可访问。 请与 IBM 软件支持机构联系。 由于检测到 DB2 页面不一致而无法完成操作。 SQL 语句已失败或者操作已异常终止。 数据库仍然可访问。 请与 IBM 软件支持机构联系,以了解有关要收集哪些诊断数据以帮助您解决此问题的指示信息。 应用程序可以再次尝试执行该操作,尽管它可能仍然会失败。

sqlcode:-1656

sqlstate:58004

SQL1657W

已成功取消激活此数据库。 因为此数据库是 HADR 主数据库,并且在取消激活此数据库时,它处于断开连接的对等状态,重新启动此数据库时,将自动对它执行崩溃恢复。 通常,可以使用下列其中一种方法来取消激活 HADR 主数据库:

  • 使用 DEACTIVATE DATABASE 命令或者 sqle_deactivate API
  • 附带 FORCE 选项的 db2stop 命令

如果在 HADR 主数据库处于断开连接的对等状态时将它取消激活,那么将在不一致状态下取消激活此数据库,重新启动此数据库时,将自动对它执行崩溃恢复。

在成功重新启动此数据库之前,尝试对此数据库执行脱机备份操作将失败。

不需要任何响应。

重新启动此数据库时,数据库管理器将自动对此数据库执行崩溃恢复。

SQL1658N

对名为 名称 的对象执行停顿操作失败。 原因码:原因码 执行维护活动之前,您可以停顿数据库管理器实例或数据库,从而强制用户与其断开连接。

原因码 指出了返回此消息的具体原因:

1
尝试停顿处于 WRITE SUSPEND 状态的数据库。
2
尝试停顿其中至少有一个数据库处于 WRITE SUSPEND 状态的数据库管理器实例。
根据原因码对此错误作出响应:

原因码 1
要停顿处于 WRITE SUSPEND 状态的数据库,请执行下列步骤:

  1. 使用带有 RESUME 选项的 SET WRITE 命令或者使用带有 DB2_RESUME_WRITE 选项的 db2SetWriteForDB API 来恢复写入数据库。
  2. 重新发出停顿操作。
原因码 2
要停顿其中有一个或多个数据库处于 WRITE SUSPEND 状态的实例,请执行下列步骤:

  1. 通过参考此实例中每个数据库的 suspend_io 配置参数来确定哪个数据库处于 WRITE SUSPEND 状态。
  2. 对于每个处于 WRITE SUSPEND 状态的数据库,使用带有 RESUME 选项的 SET WRITE 命令或者使用带有 DB2_RESUME_WRITE 选项的 db2SetWriteForDB API 来恢复写入数据库。
  3. 重新发出停顿操作。

SQL1659N

数据库管理器在启动时使用的主机通道适配器 (HCA) 少于为集群高速缓存工具 (CF) 或成员配置的主机通道适配器数。 数据库管理器在启动时遇到了非关键错误。 无法与集群高速缓存工具 (CF) 或成员上的一个或多个 HCA 建立通信,但是,每个 CF 或成员至少连接了一个 HCA。 减少 HCA,CF 或成员的吞吐能力就会下降。 由于冗余度降低,造成停机的风险也就更高。 通过运行“db2cluster -cm -list -alert”来查看集群警报,从而了解哪些 HCA 未响应。 遵循警报所给定的更正操作来纠正所报告的任何问题。

SQL1660N

服务器上的“生成器”失效,“发现”用它来收集服务器信息。 发生了服务器系统故障。 请向数据库服务器管理员报告该故障。 服务器的 db2diag 日志文件包含更多关于该故障的详细信息。

SQL1661N

查询失败,因为在 HADR 备用数据库中找不到您尝试检索的信息。 语句或命令正在尝试检索 HADR 备用数据库中不可用的 XML 值。 这可能是因为尚未在备用数据库中重放该值。 稍后在允许读取的 HADR 备用数据库中重试查询,或者对 HADR 主数据库提交查询。

sqlcode:-1661

sqlstate:58004

SQL1662N

在归档或检索成员编号 数据库日志-归档-方法的日志文件log-file时,日志归档压缩失败。 原因码:原因码 虽然启用了归档日志文件压缩,但归档或检索已归档的日志文件时发生错误。 检查 db2diag.log 文件以了解更多详细信息。

请联系 IBM 支持人员。

SQL1663W

对于 日志归档方法 未完全启用日志归档压缩。 在将 log-archive-method 设置为 DISK、TSM、VENDOR 或 DB2REMOTE 之前,不会为 log-archive-method 完全启用日志归档压缩。 您可以使用 UPDATE DATABASE CONFIGURATION 命令将 log-archive-method 更改为 DISK、TSM、VENDOR 或 DB2REMOTE。

SQL1664W

接收到来自数据库内分析提供程序的警告代码。 警告代码:警告代码。 提供程序名称:提供程序名称。 相关联的文本和标记:标记 您可以使用嵌入式分析提供程序来执行数据库内分析。

在引用数据库内分析提供程序时,从指定的提供程序接收到意外的警告代码。

通过执行以下故障诊断步骤对此错误作出响应:

  • 通过找到该提供程序中所指定错误的相应消息正文和更正操作,找出此警告的根本原因并进行更正。
  • 请检查提供程序所生成的任何相应诊断日志。

sqlcode:+1664

sqlstate:01699

SQL1665N

命令失败,因为使用原始设备进行数据库日志记录时,不支持日志归档压缩。 当尚未归档的日志文件位于原始设备上时,不支持日志归档压缩。 在下列情况下可能会发生此错误:

  • 发出了用于启用日志归档压缩的命令,而 LOGPATH 或 NEWLOGPATH 数据库配置参数已指向原始设备。
  • 发出了用于将 NEWLOGPATH 数据库配置参数设置为指向原始设备的命令,而日志归档压缩已处于活动状态。
  • 发出了用于启用日志归档压缩并将 NEWLOGPATH 数据库配置参数设置为指向原始设备的命令。
如果要使用日志归档压缩,请确保 LOGPATH 和 NEWLOGPATH 都未指向原始设备。

如果必须将 NEWLOGPATH 设置为指向原始设备,请先禁用日志归档压缩,然后重试设置 NEWLOGPATH 配置参数。

SQL1666N

表定义语句失败,因为在表定义中指定了不受表类型支持的某一功能。 不受支持的功能:功能关键字 如果尝试创建或变更表,但使用了该表类型不支持的功能,那么会返回此消息。

功能关键字 运行时标记列示了子句或关键字,以指示不受支持的功能。

查看该表类型所支持的功能以及对该表类型的限制。 然后在仅指定该表类型所支持的功能的情况下,再次提交语句。

sqlcode:-1666

sqlstate:42613

SQL1667N

操作失败,因为所指定表的类型不支持该操作。 指定的表:表名。 表类型:表类型。 操作:操作关键字 尝试针对表执行其类型不支持的操作时,将返回此消息。 查看该表类型所支持的功能以及对该表类型的限制。 然后在仅指定该表类型所支持的功能的情况下,再次提交语句。

sqlcode:-1667

sqlstate:42858

SQL1668N

操作因不受此环境支持而失败。 原因码:原因码 尝试执行在特定环境中不受支持的操作时,将返回此消息。 原因码指示操作失败的原因:

1
数据库包含一个或多个按列组织的表,但是该操作尝试启用或使用按列组织的表所不支持的功能。
4
尝试在按列组织的表所不支持的操作系统环境中创建按列组织的表。
5
尝试在禁用了分区内并行性的环境中使用按列组织的表。
6
尝试在分区数据库环境中使用按列组织的表。
7
尝试在 Db2 pureScale 环境中使用按列组织的表。
8
尝试在 XA 事务中创建或访问按列组织的表。
9
当尝试将排序内存的自调整与按列组织的表功能配合使用时,会返回此消息,且原因码为 9:

  • 数据库中存在一个或多个按列组织的表时,尝试将以下配置参数中的一个或全部设置为“AUTOMATIC”:SORTHEAP 和 SHEAPTHRES_SHR。
  • 以下配置参数中的一个或全部设置为“AUTOMATIC”时,尝试创建按列组织的表:SORTHEAP 和 SHEAPTHRES_SHR。
  • 试图将 SHEAPTHRES_SHR 配置参数设置为“AUTOMATIC”,同时将 WLM_ADMISSION_CTRL 配置参数设置为“YES”。
10
尝试通过指定 MAINTAINED BY REPLICATION 子句在分区数据库环境或 Db2 pureScal 环境中创建影子表。
11
尝试在 Windows 操作系统上的 Db2 环境中执行外部表操作。
12
尝试在不支持自适应工作负载管理器的环境中启用该管理器。 仅当 SHEAPTHRES_SHR 和 SORTHEAP 配置参数未设置为 AUTOMATIC 时,才能启用自适应工作负载管理器。
14
试图创建或删除不支持的远程表空间。
15
尝试在远程表空间中创建行组织表或表的数据分区。
16
试图创建或更改表,将远程表空间用于索引表空间,或在远程表空间上创建索引。
17
尝试在不支持此操作的环境中创建或删除正在使用远程存储器的存储器组。
18
试图创建不支持的 “远程用户 “临时表空间。
19
试图创建、删除或更改不支持的远程表空间存储组。
20
尝试在不支持此操作的环境中更改正在使用远程存储器的存储器组。
22
试图创建一个不受支持的 “远程系统 “临时表空间。
23
试图运行不支持的 ALTER TABLESPACE 选项或不支持的 CREATE TABLESPACE 选项。 不支持的 ALTER TABLESPACE 选项包括 REBALANCE、CONVERT TO LARGE、INCREASESIZE 和 FILE SYSTEM CACHING。 针对远程表空间运行时,不支持的 CREATE TABLESPACE 选项包括 INITIALSIZE 和 INCREASESIZE。
24
当 COS 删除暂停时,有人试图创建、删除或恢复表空间。
26
试图在不支持远程存储的环境中使用远程存储备份或还原数据库或表空间。
27
尝试在不支持远程存储表空间的环境中启动pureScale实例。
28
有人试图在不支持远程存储表空间的环境中发出 HADR 命令。
根据原因码对此错误作出响应:

1
要启用按列组织的表不支持的功能,请删除现有按列组织的表,然后将其重新创建为按行组织的表。
5
启用分区内并行性,然后再次执行该操作。 通过将 DB2_WORKLOAD 注册表变量设置为 ANALYTICS 或者将数据库管理器配置参数设置为 0,确保具有足够可用的共享排序堆。
4、6 和 7
将表创建为按行组织的表。
8
采用下列方式对原因码 8 作出响应:

  • 只在非 XA 事务中创建或访问按列组织的表。
  • 在 XA 事务中,只创建或访问按行组织的表。
9
采用下列方式对原因码 9 作出响应:

  • 要使用或创建按列组织的表,通过将 SORTHEAP 和 SHEAPTHRES_SHR 配置参数设置为相应数字值(而不是“AUTOMATIC”)来对排序内存禁用自调整。
  • 要对排序内存使用自调整,请使用按行组织的表(而不是按列组织的表)。
10
在分区数据库环境或 Db2 pureScal 环境中创建影子表。 但是,要创建不属于影子表的具体化查询表,请创建表但不要指定 MAINTAINED BY REPLICATION 子句。
11
不能在 Windows 操作系统上的 Db2 环境中执行外部表操作。
12
请确保 SHEAPTHRES_SHR 和 SORTHEAP 配置参数未设置为 AUTOMATIC。
14
创建一个非远程桌空间。
15
在非远程表空间创建行组织表或数据分区。
16
如果创建表、更改表或创建索引的 INDEX IN 子句指定了远程表空间,那么请使用非远程表空间。 否则,如果曾尝试在远程索引表空间中创建索引或强制约束,那么不支持这样做。 如果需要索引,则需要重新创建表,将非远程表空间用于索引表空间。
17
创建使用本地存储器的存储器组。 请注意,您不能删除使用远程存储器的存储器组。
18
在非远程存储组上创建用户临时表空间。
19
不支持。
20
正在使用远程存储器的存储器组不支持“设置为缺省值”、“添加”或“删除”存储路径更改操作。
22
在非远程存储组上创建系统临时表空间。
23
远程表空间不支持以下ALTER TABLESPACE选项:REBALANCE、CONVERT TO LARGE、INCREASESIZE、FILE SYSTEM CACHING或CREATE TABLESPACE选项中的INITIALSIZE和INCREASESIZE。
24
禁用“suspend_cos_delete”配置,然后再次执行该操作。
26
不支持涉及使用远程存储的数据库或表空间的备份或还原操作。
27
更新环境,不允许创建远程存储表空间,然后重新尝试启动实例。
28
不支持使用远程存储的数据库或表空间使用 HADR。

sqlcode:-1668

sqlstate:56038

SQL1669W

操作 操作关键字 已成功。 但忽略了以下选项:SQL-关键字 尝试执行面向列的表既不支持也不阻止的操作时,将返回此消息。

例如,尝试使用 ALTER TABLE 语句来关闭按列组织的表的附加模式时,会返回此消息。 按列组织的表始终处于附加模式,所以不支持关闭附加模式,并且将忽略关闭附加模式的尝试。

不需要任何响应。

SQL1670N

在 DISCOVER 数据库管理器配置参数中指定的发现类型指示禁用发现。 在数据库管理器配置文件中配置了 DISCOVER = DISABLE。 如果 DISCOVER 功能是必需的,那么将发现类型更改为 KNOWN 或 SEARCH。

SQL1671N

搜索发现请求失败。 检查管理通知日志以了解进一步的详细信息。 由于下列原因之一,搜索发现请求失败:

  1. 初始化失败(sqleCommonInitializationForAPIs)
  2. 检索不到客户机实例路径(sqloinstancepath)
  3. 无法打开输出文件(sqlofopn)
  4. 无法写入输出文件(sqlofprt)
  5. 无法获得内存(sqlogmblk)
  6. 检索不到数据库管理器配置(sqlfcsys)
  7. DB2 内部系统功能失败(sqlogpid,sqlogmt)

检查 db2diag 日志文件以了解详细信息。

  1. 如果初始化失败,那么尝试重新引导机器或重新安装该产品。
  2. 如果存在实例路径故障,那么检查 DB2INSTANCE 值以确保正确地设置了实例路径。
  3. 如果打开或写入文件失败,请检查您是否有权打开并将文件写入到 Intel 机器上的 <sqllib path>\<instance>\tmp 目录,或 UNIX 机器上的 <instance path>/sqllib/tmp 目录。
  4. 如果获取内存失败,那么检查机器上的可用内存。
  5. 如果检索 DBM 配置失败,那么尝试重新引导机器或重新安装该产品。
  6. 如果 DB2 内部系统功能失败,那么检查是否在正确地执行机器上的操作系统功能。

DB2 服务能够提供关于这些函数所返回并被写入 db2diag 日志文件的错误代码的详细信息。

SQL1673N

指定作为发现接口输入的地址列表无效。 应用程序使用的输入地址列表指针无效。 地址列表未指向任何地址。 确保在应用程序中指定有效的输入地址列表指针,并且不为 NULL。

SQL1674N

指定作为发现接口的输入的服务器地址无效。 应用程序使用的输入服务器地址指针无效。 服务器地址未指向任何地址。 确保在应用程序中指定有效的输入服务器地址,并且不为 NULL。

SQL1675N

仅对 DB2 管理服务器允许发现。 所提供的通信信息不访问管理服务器。 对 DB2 管理服务器以外的数据库服务器发出了 KNOWN 发现请求。 指定的通信信息不正确。 验证是否在您要访问的数据库服务器实例上设置了 DB2ADMINSERVER。 这指示服务器实例是 DB2 管理服务器。 重试 KNOWN 发现请求,提供正确的通信信息。

SQL1676N

CREATE TABLE STATEMENT 失败,因为目前对数据库启用了与所指定类型的表不兼容的功能。 不兼容的功能关键字:功能关键字 您可以使用下列两种不同方法中的一种方法来创建按列组织的表:

  • 对 CREATE TABLE 语句指定 ORGANIZE BY COLUMN 子句
  • 将 DFT_TABLE_ORG 数据库配置参数设置为 COLUMN,然后调用不带 ORGANIZE BY ROW 子句的 CREATE TABLE 语句

如果尝试创建按列组织的表,但在数据库中启用了按列组织的表所不支持的功能,那么会返回此消息。 运行时标记 功能关键字 指示不兼容功能的性质。

通过下列其中一种方式对此消息作出响应:

  • 为了能够创建按列组织的表,请禁用运行时标记 功能关键字 中标识的功能。
  • 要在运行时标记 functionality-keyword 中标识的功能仍处于启用状态的情况下创建表,请创建按行组织的表,而不要创建按列组织的表。

SQL1677N

由于 DB2 集群服务发生错误而导致 DB2START 或 DB2STOP 处理失败。 DB2 集群服务无法执行必需的操作。 使用 db2cluster 命令和 db2instance 命令对 DB2 集群服务状态进行故障诊断。

在带有多个成员和集群高速缓存工具 (CF) 的环境中,从成员和 CF 所在的主机收集诊断详细信息。

SQL1678W

DB2START of CF with identifier 标识符 was not possible on host 主机名 because the instance was previously stopped using the “db2stop INSTANCE ON” command. CF 双工在此实例上不可用。 虽然此数据库管理器实例中配置了多个集群高速缓存工具 (CF),但用户已通过使用“db2stop INSTANCE ON”命令临时禁止 CF 参与此实例。

这样做的典型原因是为了允许对 CF 进行滚动升级,或者是为了允许在没有 CF 双工的情况下启动此实例。 如果 CF 服务器发生了错误而无法启动,那么这将允许启动实例,而由用户解决错误来源。

一旦 CF 变得可用,请发出“db2start INSTANCE ON”命令,接着发出“db2start CF”命令以启动 CF 并使它可用于此实例。 一旦 CF 已启动,数据库管理器就将自动重新建立 CF 双工。

SQL1679N

DB2START无法在 host主机名上启动带有标识符标识符的 CF。 原因码 reason-code. 原因码指示返回此错误的原因:

1
可能会由于多种原因而返回此消息,原因码为 1,包括下列原因:

  • 集群高速缓存工具 (CF) 所在的主机不可用。
  • 尝试与此 CF 所在的主机建立连接时发生了 TCP/IP 通信错误。
  • DB2 集群服务无法为此 CF 分配内存,因为 CF 内存数据库管理器配置参数 CF_MEM_SZ 的设置值大于可用内存量。
请根据原因码对此消息作出响应:

1
  1. 执行下列故障诊断活动:
    • 确保此主机具有在 .rhosts 或 host.equiv 文件中定义的正确权限来执行远程命令。
    • 确保应用程序同时使用的文件描述符数目没有超过允许使用的最大文件描述符数:500 + (1995 – 2* total_number_of_nodes)
    • 确保概要文件文件中定义了所有企业服务器版环境变量。
    • 确保概要文件是按有效的 Korn Shell 脚本格式编写的。
    • 确保 sqllib 目录中 db2nodes.cfg 文件中定义的所有主机名都已在网络中定义,且正在运行。
    • 确保 DB2FCMCOMM 注册表变量指定了要使用的正确 IP 格式(TCPIP4 或 TCPIP6)。
    • 请确保将数据库管理器配置参数 CF_MEM_SZ 设置为有效值。
  2. 然后,重新运行 DB2START 命令。

SQL1680W

在DB2START处理主机host-name 上带有标识符标识符的DB2成员时发生错误。 原因码 reason-code. 数据库管理器将以异步方式尝试在另一个可用主机上以恢复方式启动此成员。 在主机上尝试启动成员时发生了错误。 由于发生了此错误,DB2START 命令已失败。

原因码指示返回此错误的原因:

1
不可访问此主机,因为尝试与它建立连接时,此主机不可用或者发生了 TCP/IP 通信错误。
请根据原因码对此消息作出响应:

1
对于原因码 1,请执行下列故障诊断活动:

  1. 确保此主机具有在 .rhosts 或 host.equiv 文件中定义的正确权限
  2. 确保应用程序没有同时使用超过 (500 + (1995 – 2 * total_number_of_nodes)) 个文件描述符。
  3. 确保概要文件文件中定义了所有企业服务器版环境变量。
  4. 确保以 Korn shell 脚本格式编写概要文件的文件。
  5. 确保 sqllib 目录中 db2nodes.cfg 文件中定义的所有主机名都已在网络中定义,且正在运行。
  6. 确保正确地设置了 DB2FCMCOMM 注册表变量。
  7. 重新运行 DB2START 命令。

SQL1681W

DB2START of DB2 member with identifier 标识符 was not possible on host 主机名 as the instance was previously stopped using the “db2stop INSTANCE ON” command. 数据库管理器将以异步方式尝试在另一个可用主机上以轻度方式启动此 DB2 成员。 但是,在恢复方式下,此 DB2 成员将不会接受任何客户机连接。 此主机上的实例先前已被“db2stop INSTANCE ON”命令停止。 停止此实例的其中一个原因是为了停止主机以进行维护或者进行软件滚动升级。 此成员无法在此主机上启动。 但是,数据库管理器将尝试在另一个可用主机上以轻度方式启动此成员。 用户可以发出 DB2 LIST 命令以了解此成员是否已启动以及已在哪个主机上启动。 一旦在主机上完成了软件升级或维护工作,用户就应当发出“db2start INSTANCE ON”命令以在此主机上启动此实例,然后重新发出“db2start MEMBER”命令以将此成员重定位到此主机上。

SQL1682W

DB2START 在 主机名 主机上成功进行了处理。 由于 DB2 成员先前发生了 DB2START 故障或者主机发生了故障,因此,数据库管理器已将此 DB2 成员重定位到此主机。 此成员先前已停止之后,它在以轻度重新启动方式运行。 它将继续以轻度重新启动方式运行,直到其根主机变为活动状态并且数据库管理器将它重定位到其根主机为止。 用户无需进行任何响应。

SQL1683N

执行 DB2START 处理期间发生错误。 数据库管理器无法将标识为 标识 的 DB2 成员作为 主机名 主机上的轻度成员来重新启动。 此成员无法作为主机上的轻度成员来启动,因为没有 DB2 空闲进程正在主机上运行,或者绘制其中一个 DB2 空闲进程的动画失败。 请调查主机上存在的问题。

SQL1684N

执行 DB2START 处理期间发生错误。 数据库管理器无法启动 DB2 pureScale 环境的某个组件。 由于内存或 CPU 资源不足或者 DB2 集群文件系统存在问题,所以 DB2 pureScale 环境的某个组件无法启动。 请运行 db2cluster 命令以检查 DB2 集群文件系统的运行状况。 还要确保 DB2 pureScale 实例中的主机有足够的内存和 CPU 资源。

SQL1685N

对标识为 标识 的 DB2 成员执行 DB2START 处理期间发生了错误,因为数据库管理器无法启动一个或多个 CF。 数据库管理器无法启动集群高速缓存工具 (CF),因此无法启动此 DB2 成员。

有多个原因会导致返回此消息。 例如,由于 CF_MEM_SZ 内存配置参数设置为一个大于系统的物理内存限制的值,因此返回此消息。 如果由于 CF_MEM_SZ 设置得太大而返回此消息,那么 db2diag 日志文件中将生成一些消息,指出没有足够的系统资源,无法处理请求。

  • 通过执行下列步骤来确保为此实例配置了起作用的 CF:
    1. 使用以下 db2cluster 命令找出任何 CF 存在的问题:
       db2cluster -cm -list -alert 
    2. 使用带有 -clear 参数的 db2cluster 命令解决所找出的问题:
       db2cluster -cm -clear -alert 
  • 如果 CF 正在进行维护,那么在完成维护之后运行“db2start INSTANCE ON”命令。
  • 要强制数据库管理器实例在没有冗余 CF 的情况下启动,请发出“db2start 129”命令手动启动一个 CF,然后再次发出 db2start 命令启动该实例。

SQL1686N

在 主机名 主机上执行 DB2START 处理期间发生了错误,因为数据库管理器无法激活此主机。 数据库管理器尝试启动此主机上的实例,但 DB2 集群服务无法使此主机处于活动状态并且无法将其重新加入 DB2 pureScale 集群。 请确定 DB2 集群服务无法使此主机处于活动状态并无法重新加入 DB2 集群的原因。

SQL1687N

执行 DB2STOP 处理期间发生了错误。 标识为 标识 的 DB2 成员正在执行重新启动恢复,或者具有未解析的不确定事务。 当成员仍然在执行重新启动恢复或者具有未解析的不确定事务时,无法停止此成员。
  1. 请使用带有 -list 参数的 db2instance 命令来确定此成员的状态。 您还可以使用 DB2_MEMBER 管理视图或 DB2_GET_INSTANCE_INFO 表函数。
  2. 如果存在不确定事务,请解析这些事务。

SQL1688N

DB2STOP 无法停止标识为 标识 的 CF。 原因码: Reason 原因码指示返回此错误的原因:

1
集群高速缓存工具 (CF) 仍然包含脏页或者挂起锁定。
2
所指定的 CF 是实例中唯一正在运行的 CF。
3
在辅助 CF 处于 PEER 状态并且准备好进行接管之前,不能停止主 CF。 辅助 CF 尚未完成从初始 CATCHUP 状态过渡到 PEER 状态。
4
实例正在故障转移到 CF 主角色,没有 CF 可以停止。
请根据原因码对此消息作出响应:

1
请确保没有活动成员正在运行。 在再次发出“db2stop CF”命令之前,用户还应当等待 CF 清除脏页。
2
请执行以下步骤:

  1. 如果还有活动成员,请使用“db2stop MEMBER”命令停止每个成员。
  2. 在成员停止之后,通过全局调用 db2stop 来停止 CF。
3
等到辅助 CF 过渡到 PEER 状态之后再重新运行此命令。 请参阅 DB2_CF 管理视图中的“状态”列以了解此信息。
4
通过运行全局“db2stop FORCE”命令以停止此实例。

SQL1689W

DB2STOP 处理成功。 但是,标识为 标识 的 DB2 成员是在其根主机 主机名 之外的主机上以恢复方式运行的。 已成功停止此成员,但是它先前运行于的主机并不是其根主机。 它是在另一个 DB2 成员的主机上以轻度方式运行的。 通常,建议您不要停止正在以轻度方式运行的 DB2 成员。 用户无需进行任何响应。

如果此成员正在其根主机之外的主机上以轻度方式运行,那么建议用户执行必需的操作,以便在停止此成员之前,由数据库管理器将它重定位到其根主机。

SQL1690N

在DB2STOP处理主机主机名上具有标识符标识符的DB2成员或 CF 时发生错误。 原因码 reason-code. 原因码指示返回此错误的原因:

1
不可访问此主机,因为尝试与它建立连接时,此主机不可用或者发生了 TCP/IP 通信错误。
2
即使存在通信错误,集群管理器也成功地停止了 DB2 成员或集群高速缓存工具 (CF)。

当密码到期时,也会返回此消息。

请根据原因码对此消息作出响应:

1
对于原因码 1,执行下列故障诊断活动:

  • 确保此主机具有在 .rhosts 或 host.equiv 文件中定义的正确权限
  • 确保应用程序没有同时使用超过 (500 + (1995 – 2 * total_number_of_nodes)) 个文件描述符。
  • 确保概要文件文件中定义了所有企业服务器版环境变量。
  • 确保以 Korn shell 脚本格式编写概要文件的文件。
  • 确保 sqllib 目录中 db2nodes.cfg 文件中定义的所有主机名都已在网络中定义,且正在运行。
  • 确保正确地设置了 DB2FCMCOMM 注册表变量。
  • 通过运行命令“db2instance -list”来验证成员或 CF 是否已停止。

然后,重新运行 DB2STOP 命令。

2
通过运行命令“db2instance -list”来验证成员或 CF 是否已停止。

请查看 db2diag 日志文件以了解更多信息。

SQL1691N

在 主机名 主机上执行 DB2STOP 处理期间发生了错误。 原因码 reason-code. 数据库管理器无法停止主机以进行维护。 原因码指示返回此错误的原因:

1
一个或多个 DB2 成员或者集群高速缓存工具 (CF) 在主机上仍然处于活动状态,并且无法停止。
2
实例仍然处于活动状态,并且无法停止正在此主机上运行的 CF。

由于处于活动状态的 DB2 成员或 CF 正在运行而无法停止此主机上的实例。

请根据原因码对此消息作出响应:

1
在主机上停止此实例之前,请运行“db2stop MEMBER”或者“db2stop CF”命令以停止此成员或 CF。 要强制关闭此主机上的实例,请运行附带 FORCE 选项的“db2stop INSTANCE ON”命令。
2
请确保所有成员都已停止,然后重试“db2stop INSTANCE ON”命令。

SQL1692N

执行 DB2STOP 处理期间发生了错误。 数据库管理器无法停止 DB2 pureScale 环境的组件。 DB2 pureScale 环境的组件无法响应 DB2 集群服务并且未关闭。
  1. 使用以下命令来确定数据库管理器实例的哪些组件无法停止:
     db2instance -list 
  2. 通过执行下列步骤来停止无法停止的组件:
    1. 从 db2diag 日志文件内所收集的诊断信息中收集关于这些组件无法停止的原因的更多信息。
    2. 解决导致这些组件无法停止的问题。
    3. 手动停止这些组件。
  3. [可选] 通过以实例所有者身份在每个物理分区运行以下命令来清除实例的进程间通信:
     $HOME/sqllib/bin/ipclean 

SQL1693N

在 主机名 主机上执行 DB2STOP 处理期间发生了错误,因为数据库管理器无法取消激活此主机。 数据库管理器无法停止主机以进行维护。 数据库管理器尝试停止此主机上的实例,但 DB2 集群服务无法临时从 DB2 pureScale 集群中移除此主机。 确定 DB2 集群服务无法临时从 DB2 pureScale 集群中移除此主机的原因。

SQL1694N

命令选项 选项 对 DB2 pureScale 实例无效。 某些选项仅对于某些实例类型受支持。 所指定的选项不可用于 DB2 pureScale 实例。 请对 DB2 pureScale 实例使用受支持的命令选项。

sqlcode:-1694

sqlstate:56038

SQL1695N

命令选项 选项 对非 DB2 pureScale 实例的实例无效。 某些选项仅对于某些实例类型受支持。 所指定的选项不可用于非 DB2 pureScale 实例的实例。 请对非 DB2 pureScale 实例的实例使用受支持的命令选项。

sqlcode:-1695

sqlstate:56038

SQL1696N

语句预编译失败,因为没有指定选项 COMPATIBILITY_MODE ORA。 原因码:原因码 可以处理包含嵌入式 SQL 语句的应用程序源文件,以产生修改的源文件来包含 SQL 语句的主语言调用,以及通过使用 PRECOMPILE 命令或 PREP 命令在数据库中产生程序包。

可以通过对 PRECOMPILE 命令指定预编译选项来配置应用程序源文件的编译方式。 例如,可以通过对 PRECOMPILE 命令指定预编译器选项 COMPATIBILITY_MODE ORA 来启用一些功能,这些功能可以促进从其他数据库系统迁移嵌入式 SQL C 应用程序。

如果尝试使用的功能需要将预编译器选项 COMPATIBILITY_MODE 设为 ORA,但没有指定 COMPATIBILITY_MODE ORA 选项,那么会返回此消息。

原因码 原因码 指示预编译功能失败的原因:

1
已指定 UNSAFENULL 预编译选项,但未指定必需的 COMPATIBILITY_MODE ORA 选项。
2
在嵌入式 SQL 代码中找到了“EXEC SQL COMMIT WORK RELEASE”、“EXEC SQL ROLLBACK WORK RELEASE”、“EXEC SQL COMMIT RELEASE”或“EXEC SQL ROLLBACK RELEASE”语句,但在未指定必需的 COMPATIBILITY_MODE ORA 选项的情况下发出了 PRECOMPILE 命令。
在指定必需的 COMPATIBILITY_MODE ORA 选项的情况下,再次调用 PRECOMPILE 命令。

SQL1697N

无法预编译语句,因为指定的指示符变量结构所包含的成员数少于相应的主机变量结构。 指示符变量结构名称:变量名称。 主机变量结构中的成员数:成员数 在嵌入式 SQL 应用程序中,有关主机变量结构内容的信息可以存储在相应的指示符变量结构中。 如果指定了指示符变量结构,那么指示符变量结构中的成员数必须等于相应主机变量结构的成员数。

如果指示符变量结构中的成员数不等于相应主机变量结构中的成员数,那么会返回此消息。

  1. 请修改嵌入式 SQL 应用程序以将指示符变量结构中的成员数声明为等于主机变量结构中的成员数。
  2. 重新编译嵌入式 SQL 应用程序,然后重新运行该应用程序。

SQL1698N

START DATABASE MANAGER 命令在 DB2 pureScale 实例上失败,该实例上正在应用或已应用修订包更新。 原因码:原因码 原因码指示 START DATABASE MANAGER 命令失败的原因:

1
成员或集群高速缓存工具 (CF) 上的修订包更新安装已损坏。
2
联机修订包更新期间,尝试以低于当前生效代码级别 (CECL) 的代码级别来启动成员或 CF。 为了启动成员或 CF,其代码级别必须等于或高于 CECL。
3
脱机修订包更新期间,尝试启动代码级别不等于 CECL 的成员或 CF。 为了启动成员或 CF,其代码级别必须等于 CECL。
4
成员或 CF 上的修订包更新安装未完成。
5
有关 CEAL 和 CECL 的信息已损坏。
6
CEAL 或 CECL 数据库管理器配置参数具有无效值。
7
用于更新修订包的配置文件中缺少实例信息。
要对此消息作出响应,请执行与原因码相对应的操作:

1
重试修订包更新操作。
2
将成员或 CF 更新为等于或高于 CECL 的代码级别。 然后重新启动成员或 CF。
3
确保所有成员和 CF 处于等于 CECL 的代码级别。 然后重新启动成员或 CF。
4
重试修订包更新操作。
6
重新创建实例。
7
请与 IBM 支持机构联系,以帮助您修复配置文件。

SQL1699N

指定的成员子集属性无效。 原因码:原因码,属性名称:属性名称,值: 由于下列原因码所指示的原因,无法处理语句:

1

指定的值仅在数据共享环境中有效。

2

如果不同时更改 databaseAlias 属性,那么无法更改成员子集 catalogDatabaseAlias 属性。

3

无法将数据库名称用于成员子集中的数据库别名属性。

与原因码对应的操作如下所示:

1

使用另一个属性值重新发出成员子集管理例程。

2

指定新的 databaseAlias 属性值,或者不更改 catalogDatabaseAlias 属性值。

3

指定另一个名称作为 databaseAlias 属性值。

sqlcode:-1699

sqlstate:530AA

SQL1700N

对数据库进行升级期间,在数据库中发现了保留的模式名 名称 数据库中有一个或多个数据库对象使用的模式名 名称 是您要将该数据库升级到的 DB2 副本版本中的保留模式名。

无法处理该命令。

确保删除了使用保留模式名的所有数据库对象,然后使用另一个模式名来重新创建这些对象。

撤销数据库升级并使用数据库在升级之前所在的 DB2 副本版本进行更正。

请确保未在使用任何保留的模式名,然后再次尝试对数据库进行升级。

接着,从要将该数据库升级到的 DB2 副本版本中重新发出 UPGRADE DATABASE 命令。

SQL1701N

不能对数据库进行升级,因为此数据库异常终止。 在尝试对数据库进行升级之前,此数据库异常终止(例如,由于电源故障而终止)。 必须重新启动数据库之后才能成功地对数据库进行升级。

无法处理该命令。

必须使用在尝试对数据库进行升级之前数据库所在的 DB2 副本来发出 RESTART DATABASE 命令。 然后,从您想升级到的 DB2 副本版本中重新发出 UPGRADE DATABASE 命令。

SQL1702W

协议 连接管理器已成功启动。 不需要执行任何操作。

SQL1703W

在对数据库进行升级期间无法创建 db2event 目录。 已成功对数据库进行升级,但是无法创建 db2event 目录。

这只是一个警告。

必须创建 db2event 目录才能使用事件监视器。 必须在已升级的数据库所在的数据库目录中创建 db2event 目录。 可以通过发出 LIST DATABASE DIRECTORY 命令来确定已升级的数据库的数据库目录。

SQL1704N

数据库升级或更新请求失败。 原因码为 原因码 数据库升级或更新请求失败。 原因码如下所示:

2
由于数据库可能处于下列其中一种状态,因此无法对它进行升级:

  • 备份暂挂状态
  • 复原暂挂状态
  • 前滚暂挂状态
  • 事务不一致状态
  • HADR 已将数据库标记为不一致
3
数据库日志已满。
4
磁盘空间不足。
5
不能更新数据库配置文件。
7
无法访问数据库子目录或其中一个数据库文件。
8
无法更新数据库容器标记。
9
不允许访问表空间。
17
无法从系统目录表空间中分配新页。
21
在该目录分区上完成了数据库升级,但并不是在所有其他数据库分区上都已完成数据库升级。 由于发生系统错误(例如,节点故障或连接故障)而无法对某些数据库分区进行升级。
22
由于发生系统错误(例如,数据库分区故障或连接故障)而无法对目录分区进行升级,从而造成数据库升级失败。
24
创建 dbpath/db2event/db2detaildeadlock 事件监视器目录时出错,其中 dbpath 是用于创建数据库的文件路径。
25
数据库升级失败,因为 HADR 主项的日志发送位置与 HADR 备用项的日志重放位置不匹配。
26
已经在进行数据库更新。
根据原因码不同,可能的解决方案是:

2
撤销数据库升级并通过在升级之前数据库所在的 Db2 副本版本中执行任何必需的更正操作来更正数据库状态。 对于 HADR 系统,应该在尝试对 HADR 主数据库进行升级之前发出“停止 HADR”命令。 从要将该数据库升级到的 Db2 副本版本重新提交 UPGRADE DATABASE 命令。
3
将数据库配置参数 logfilsiz 或 logprimary 增加为更大的值。 重新提交 UPGRADE DATABASE 命令。
4
确保有足够的磁盘空间并重新提交 UPGRADE DATABASE 命令。
5
更新数据库配置文件时出现问题。 确保数据库配置文件没有被任何用户独占并且是可更新的。 重新提交 UPGRADE DATABASE 命令。 如果问题仍然存在,那么通知 IBM 服务代表。
7
从数据库备份复原数据库。
8
重新提交 UPGRADE DATABASE 命令。 如果问题仍然存在,请与 IBM 服务代表联系。
9
撤销数据库升级并更正表空间访问权。 从要将该数据库升级到的 Db2 副本版本重新提交 UPGRADE DATABASE 命令。 请参阅消息 SQL0290N 以了解建议的更正表空间的操作。
17
如果系统目录表空间是一个自动存储器 DMS 表空间或 SMS 表空间,那么应确保至少有 50% 的可用磁盘空间可用于系统目录表空间,然后对数据库进行升级。 如果系统目录表空间是 DMS 表空间。 撤销数据库升级,并将更多容器添加到升级之前数据库所在的 Db2 副本版本中的系统目录表空间。 应分配 50% 的可用空间用于数据库升级。 从要将该数据库升级到的 Db2 副本版本重新提交 UPGRADE DATABASE 命令。
21
检查管理通知日志以确定无法升级的数据库分区。 更正此情况,并重新提交 UPGRADE DATABASE 命令。 由于仅在需要升级的数据库分区上进行数据库升级,因此您可以从任何数据库分区提交 UPGRADE DATABASE 命令。
22
更正目录分区上的数据库分区故障情况。 重新提交 UPGRADE DATABASE 命令。
24
移除事件监视器目录 dbpath/db2event/db2detaildeadlock,其中 dbpath 是用于创建数据库的文件路径。 重新提交 UPGRADE DATABASE 命令。
25
在主数据库上发出 STOP HADR 命令,然后重新发出 UPGRADE DATABASE 命令。 备用数据库必须重新初始化。
26
已经在进行数据库更新,必须先完成它,然后才能对数据库执行任何进一步的操作。

SQL1705W

不能将数据库目录条目更新为当前发行版级别。 在数据库目录中,不能更新刚从前发行版升级而来的数据库的一个或多个数据库别名。 取消编目已升级的数据库的数据库别名,然后使用相同的信息重新编目这些别名。

SQL1706W

在字大小实例更新期间,在节点目录中至少检测到此实例的一个非本地数据库。 当执行字大小实例更新时,至少遇到一个未在此实例下创建的数据库。 要成功完成实例更新,这样的数据库必须与此实例具有相同的字大小。 确保在该实例中编目的所有数据库都具有相同的字大小。

SQL1707N

不能更新实例字大小。 当尝试更新实例的字大小时出错。 请与 IBM 服务代表联系。 请与 IBM 服务代表联系。

SQL1708W

完成了对数据库进行升级,但是产生了警告代码 警告代码 完成了对数据库进行升级,但是产生了警告。 警告代码如下:

1
未对一个或多个数据库分区进行升级。
根据警告代码不同,可以采用的解决方案是:

1
重新发出 UPGRADE DATABASE 命令。

SQL1709N

由于指定了 RANDOM 关键字,并且索引定义中包含 RANDOM 关键字所不支持的功能,因此 CREATE INDEX 语句失败。 原因码:原因码 通过使索引的键随机化,可以减少 DB2 pureScale 环境中某些类型的索引页争用。 对一个列指定 RANDOM 关键字将导致该列的索引键随机化。

对于 RANDOM 关键字所支持的功能,存在一些限制。 当 CREATE INDEX 语句包含 RANDOM 关键字,但索引定义包含 RANDOM 关键字所不支持的某些其他功能时,将返回此消息。

原因码指示返回此消息的更具体的原因:

1
对类型为 CHAR 或 VARCHAR 的列指定了 RANDOM 关键字,数据库正在使用 UCA 整理顺序,而该列未定义为 FOR BIT DATA。
2
对类型为 GRAPHIC 或 VARGRAPHIC 的列指定了 RANDOM 关键字,而数据库正在使用 UCA 整理顺序。
3
索引定义包含一个或多个基于表达式的键。
根据原因码对此错误作出响应:

1
通过下列其中一种方式对原因码 1 作出响应:

  • 重新提交 CREATE INDEX 语句,并在其中对数据类型受 RANDOM 关键字支持的某个列指定 RANDOM 关键字。
  • 使用 ALTER TABLE 语句更改该列以便将其标识为 FOR BIT DATA,重组表,然后重新提交 CREATE INDEX 语句。
2
重新提交 CREATE INDEX 语句,并在其中对数据类型受 RANDOM 关键字支持的某个列指定 RANDOM 关键字。
3
重新提交 CREATE INDEX 语句,并在其中指定 RANDOM 关键字或基于表达式的键,但不要同时指定这两者。

sqlcode:-1709

sqlstate:42997

SQL1710N

由于源成员拓扑与目标成员拓扑之间不存在公共成员,因此无法执行此操作。 目标成员拓扑未包含与源成员拓扑共有的成员。 源成员与目标成员之间必须至少存在一个公共成员。 请对至少与源成员拓扑有一个公共成员的实例重新运行此命令。

SQL1712N

命令失败。 源成员拓扑与目标成员拓扑不相同,并且源实例与目标实例未处于相同数据库产品级别。 命令:命令标记 由于下面这两个条件都成立,因此指定的命令失败:

  • 源成员拓扑与目标成员拓扑不同,并且
  • 源实例与目标实例未处于相同数据库产品级别。

要成功运行指定的命令,必须修正其中的一个条件。

您可以执行下列任意一项操作:

  • 将级别较低的源数据库升级到较高级别,然后重新运行此命令,或者
  • 通过对源成员拓扑或目标成员拓扑添加或删除成员,使这两个拓扑匹配。

SQL1713N

CATALOG DATABASE 命令失败。 成员数据库目录中的一个或多个文件不再属于同一个数据库。 由于至少在一个文件中找到不一致情况,因此命令失败。 清除不再属于此数据库的成员的成员数据库目录,然后重新运行此命令。

SQL1714N

由于 ROLLFORWARD 命令针对源成员拓扑中不存在的成员运行,因此失败。 在执行备份和复原之后,如果目标成员拓扑包含源成员拓扑中包含的所有成员标识,那么可以前滚事务日志中的一个或多个添加成员事件。 但是,执行备份操作时,必须从存在于源成员拓扑中的成员中运行 ROLLFORWARD 命令。 请从存在于原先的源成员拓扑中的成员中重新运行 ROLLFORWARD 命令。

SQL1715N

前滚操作遇到针对当前成员拓扑中不存在的成员的“添加成员”事件。 执行前滚操作期间,如果 ROLLFORWARD 命令遇到针对某个成员的“添加成员”日志记录,那么成员拓扑中必须存在该成员。 请添加在源成员拓扑中存在并且在当前成员拓扑中不存在的成员。 重新运行 ROLLFORWARD 命令。

SQL1716N

变更或删除该成员失败,因为产生的子集没有主成员。 成员子集必须包含至少一个主成员。 删除或变更所指定成员之前,将另一个主成员添加到该子集。 要将另一成员添加至该子集,请运行 SYSPROC.WLM_ALTER_MEMBER_SUBSET 例程。 如果不再需要该成员子集,请运行 WLM_DROP_MEMBER_SUBSET 语句以删除该成员子集。

sqlcode:-1716

sqlstate:530AB

SQL1717N

已拒绝与数据库别名的连接,这是因为应用程序已分配到处于禁用状态的成员子集。 数据库别名:数据库别名标记,成员子集:成员子集标记 由于应用程序已分配到处于禁用状态的成员子集,因此已拒绝连接请求。 可以连接到其他数据库别名或者启用成员子集。 要启用该子集,请使用“变更成员子集”管理例程 WLM_ALTER_MEMBER_SUBSET。

sqlcode:-1717

sqlstate:08001

SQL1718N

无法对数据库别名 数据库别名 进行取消编目。 如果数据库别名先前是使用成员子集例程 WLM_CREATE_MEMBER_SUBSET 进行编目的,那么必须使用成员子集例程对该数据库别名进行取消编目。 无法使用 UNCATALOG DB 命令或 sqleuncd() API 对此数据库别名进行取消编目。 请使用成员子集例程 WLM_DROP_MEMBER_SUBSET 对数据库别名进行取消编目。

SQL1719N

由于不支持按列组织的表,因此 SQL 语句失败。 原因码:原因码 符合特定条件时,不支持按列组织的表。 条件由下列原因码指示:

1
分区内并行性处于禁用状态。
2
数据库分区功能处于启用状态。
3
DB2 pureScale Feature 处于启用状态。
请执行与原因码相对应的操作,以便支持按列组织的表:

1
启用分区内并行性并重新发出该 SQL 语句。
2
将该表重新创建成为按行组织的表,然后重新发出 SQL 语句。
3
将该表重新创建成为按行组织的表,然后重新发出 SQL 语句。

sqlcode:-1719

sqlstate:56038

SQL1720N

无法删除唯一的成员。 无法删除数据库所连接的唯一成员,这是因为,删除此成员将导致删除该数据库。 必须先删除数据库。 请先删除数据库,然后再删除成员。

SQL1721N

启动数据库管理器失败,这是因为 RDMA 所需的配置文件存在问题。 在 DB2 pureScale 环境中,通过将数据库管理器配置参数 CF_TRANSPORT_METHOD 设置为“RDMA”,可以指定集群高速缓存工具 (CF) 与 DB2 成员之间的通信使用远程直接存储器存取 (RDMA)。

如果 CF_TRANSPORT_METHOD 配置参数设置为“RDMA”,而与 RDMA 功能相关的配置文件存在问题,那么会返回此消息。

可能会导致返回此消息的问题示例:

  • 直接访问传输 (DAT) 配置文件 dat.conf 不存在或者包含无效条目
  • OpenFabrics Enterprise Distribution (OFED) 软件包中缺少文件
通过下列其中一种方式对此错误作出响应:

  • 如果不需要使用 RDMA,请取消设置 CF_TRANSPORT_METHOD 数据库管理器配置参数。
  • 要使用 RDMA,请验证与 DAT 配置相关联的文件(例如,dat.conf 文件)以及与 OFED 软件相关联的文件。

SQL1722N

未更新配置参数,这是因为使用了 MEMBER 关键字,并且无法按成员将配置参数设置为指定的值。 配置参数:configuration-parameter。 指定的值:指定的值 通过调用 UPDATE DATABASE MANAGER CONFIGURATION 命令来设置数据库管理器配置参数,可以配置数据库管理器实例的各个方面。 通过调用 UPDATE DATABASE CONFIGURATION 命令来设置数据库配置参数,可以配置单个数据库的各个方面。

在 DB2 pureScale 环境中,可以采用局部方式针对单个成员设置一些配置参数。 对特定 DB2 成员设置局部值时,该局部值将覆盖全局值(实例范围的值或数据库范围的值)。 要以局部方式对特定成员设置配置参数,请随 UPDATE DATABASE MANAGER CONFIGURATION 命令或 UPDATE DATABASE CONFIGURATION 命令一起指定 MEMBER 关键字。

某些配置设置是有效的全局设置,但不是可以作用于单个成员的设置。 尝试以局部方式针对某个 DB2 成员将某个配置参数设置为不可用作单个成员的设置的值时,将返回此消息。

通过下列其中一种方式对此消息作出响应:

  • 要以全局方式将此配置参数设置为指定的值,请在不指定 MEMBER 关键字的情况下再次调用此命令。
  • 要针对单个成员设置此配置参数,请查看此配置参数所支持的值,然后在仅指定受支持值的情况下再次调用此命令。

SQL1723N

CREATE TABLESPACE 语句或 ALTER TABLESPACE 语句失败,因为指定的文件系统高速缓存选项在当前环境下不支持。 文件高速缓存允许您将当前使用的数据保存在磁盘中,以供在后来的调用中快速访问同一数据。 如果您经常使用同一数据集,那么启用文件系统高速缓存可以提高数据库性能。

使用文件高速缓存时存在限制和要求。 在一些环境中绕过文件高速缓存也存在限制和要求。 尝试在不受支持的环境中(例如,磁盘扇形大小不受支持)使用文件系统高速缓存或绕过文件系统高速缓存时,将返回此消息。

  1. 复查受支持的文件系统高速缓存配置。
  2. 进行更改以解决遇到的限制,或通过执行下列类型中的一个或多个故障诊断操作来满足缺失的需求:
    • 更改环境:格式化目标磁盘以获取所需的扇形大小。
    • 更改语句:使用 FILE SYSTEM CACHING 选项启用文件系统高速缓存。
  3. 请重新发出此语句。

SQL1724W

表 表名 已成功创建为按列组织的表。 但是,SORTHEAP 和 SHEAPTHRES_SHR 配置参数中的一个或全部当前设置为不能与按列组织的表配合使用的值。 可通过将数据库配置参数 SORTHEAP 和 SHEAPTHRES_SHR 设置为“AUTOMATIC”来启用排序内存自调整。

不支持对按列组织的表进行排序内存自调整。

如果在创建按列组织的表时 SORTHEAP 和 SHEAPTHRES_SHR 配置参数中的任何一个设置为“AUTOMATIC”,那么会返回此消息。

要使用按列组织的表,请将 SORTHEAP 和 SHEAPTHRES_SHR 配置参数设置为固定值。

SQL1725N

无法执行所指定操作,因为不确定事务的状态在您发出 LIST INDOUBT TRANSACTIONS 命令后已更改。 对客户机运行 LIST INDOUBT TRANSACTIONS 命令时,它会返回不确定事务的当前状态。 但是,如果该状态在服务器上发生更改,那么不会在客户机上刷新输出。 如果不确定事务的状态在服务器与客户机间未同步,那么您可能无法执行在 LIST INDOUBT TRANSACTIONS 命令输出中列示为有效选项的所有操作。 退出交互式窗口并重新发出 LIST INDOUBT TRANSACTIONS 命令以从服务器获取不确定事务的最新状态。

SQL1726N

未启动数据库管理器,因为 CF_TRANSPORT_METHOD 数据库管理器配置参数设置为“TCP”,但以太网卡低于最低需求 10 GE。 在 DB2 pureScale 环境中,可指定集群高速缓存工具 (CF) 与 DB2 成员之间的通信使用套接字完成(通过将数据库管理器配置参数 CF_TRANSPORT_METHOD 设置为“TCP”)。 要使用套接字通信方法,必须正至少使用 10 GE 以太网卡。

如果 CF_TRANSPORT_METHOD 配置参数设置为“TCP”,但未配置最低需求 10GE 的以太网卡,那么会返回此消息。

通过下列其中一种方式对此消息作出响应:

  • 要使用套接字通信方法,请执行以下其中一项任务:
    • 配置 10 GE 网络。
    • 要使用低于最低需求 10 GE 的以太网,请将 DB2_SD_ALLOW_SLOW_NETWORK 注册表变量设置为 ON。
  • 要使用另一通信方法,请将 CF_TRANSPORT_METHOD 配置参数设置为另一个值,例如,“RDMA”。

SQL1727N

未预编译该语句,因为以下主机变量数组或结构数组包含不受支持的数据类型:变量名 COMPATIBILITY_MODE ORA 预编译选项允许在嵌入式 SQL 语句中使用主机变量数组、结构数组及指示符数组。 针对 INSERT、UPDATE 或 DELETE 语句声明的主机变量数组或结构数组必须包含受支持的数据类型。
  1. 在已声明主机变量数组或结构数组中移除不受支持的数据类型。
  2. 预编译已修改的嵌入式 SQL 应用程序。

SQL1728N

该命令或操作失败,因为无法访问密钥库。 原因码为 原因码 DB2 本机加密将加密密钥存储在密钥库文件中。 要使用此功能,必须执行下列设置和配置任务:

  • 创建密钥库文件(也称为密钥数据库)以存储加密对象,例如专用密钥。
  • 通过设置加密配置参数(例如 KEYSTORE_TYPE 和 KEYSTORE_LOCATION),将数据库管理器配置为使用密钥库文件。
  • 管理用于访问密钥库文件的密码(例如,将密码保存在隐藏项文件中)。

在执行下列其中一个不同类型的操作时,如果数据库管理器无法检索或更新密钥库文件中的信息,那么会返回此消息:

  • 创建加密数据库
  • 创建数据库的加密备份映像
  • 复原加密备份映像
  • 针对加密数据库发出 DB2 命令(例如,db2cklog)

原因码更具体地指示了失败的原因:

1
下列数据库管理器配置参数未设置为兼容的有效值:KEYSTORE_LOCATION 和 KEYSTORE_TYPE。
2
在 KEYSTORE_LOCATION 数据库管理器配置参数中指定的密钥库文件不存在。
3
未提供密码(未隐藏打开密钥库所需的密码,并且未在命令中提供密码)。
4
提供的密码(隐藏的密码或在命令中提供的密码)无效,无法访问密钥库文件。
5
由于以下三个常见原因将返回原因码 5:

  • 数据库管理器进程以实例所有者标识运行,而该实例所有者标识没有密钥库文件的读许可权和写许可权。
  • 实例所有者以外的用户调用了 DB2 实用程序。
  • 包含密钥库文件的磁盘空间不足。
6
数据库管理器无法处理密钥库文件的内容。

示例:如果将数据库管理器配置为使用符合 PKCS#12 标准的密钥库文件,但是密钥库文件的格式不符合 PKCS#12 标准,那么数据库管理器将无法使用该密钥库文件。

7
从 IBM Global Security Kit (GSKit) 命令返回错误。 GSKit 错误详细信息显示在 db2diag 诊断日志文件中。
请根据原因码解决问题,然后尝试重新发出该命令:

1
将数据库管理器配置参数 KEYSTORE_LOCATION 和 KEYSTORE_TYPE 都设置为兼容的有效值。
2
将 KEYSTORE_LOCATION 数据库管理器配置参数设置为有效的文件名。
3 和 4
通过下列其中一种方式为数据库服务器提供用于访问密钥库文件的有效密码:

  • 重新创建隐藏项文件
  • 提供密钥库密码作为命令的自变量
5
以下列方式对原因码 5 作出响应:

  • 设置密钥库文件许可权,以便只有实例所有者标识能够读取和写入该文件。
  • 以实例所有者的身份,调用与加密相关的 DB2 实用程序,例如,dbckbkup。
  • 如果返回此消息是因为包含密钥库文件的磁盘没有足够的空间,请增大该磁盘上的可用空间量。
6
从备份副本恢复当前密钥库文件。
7
查看 db2diag 诊断日志文件中显示的 GSKit 错误,更正导致 GSKit 错误的问题,然后重新发出该命令。 如果 GSKit 错误继续发生,请与 IBM 软件支持机构联系以获取帮助。

SQL1729N

该命令失败,因为密钥库中没有标签 标签 DB2 本机加密将加密密钥存储在密钥库文件中。 密钥通过主密钥标签访问,而主密钥标签 也存储在密钥库文件中。 当您针对已配置为使用此功能的数据库发出 DB2 命令时,数据库管理器必须使用标签来查找相应的密钥:

  • 您可以将标签指定为命令的参数。
  • 如果您不指定标签,那么数据库管理器将使用为数据库配置的标签。

当使用命令参数指定标签,但是在密钥库文件中找不到所指定的标签时,将会返回此错误。

通过下列其中一种方式对此错误作出响应:

  • 重新发出该命令,并指定存在于密钥库文件中的标签。
  • 重新发出该命令而不指定标签,以导致自动使用为数据库配置的标签。

SQL1730N

该命令或操作失败,因为密钥库文件中没有主密钥标签。 要使用的标签:标签。 文件类型编号:文件类型编号。 文件名:文件名 DB2 本机加密将加密密钥存储在密钥库文件中。 当您针对已配置为使用此功能的数据库发出 DB2 命令时,数据库管理器必须使用标签来查找相应的密钥:

  • 您可以将标签指定为命令的参数。
  • 如果您不指定标签,那么数据库管理器将使用为数据库配置的标签。 有时数据库管理器会将标签保存在日志文件、配置文件或备份映像中,然后在适当时检索保存的标签。

当数据库管理器检索到在过去的操作中成功使用的标签(例如,保存在日志文件中),但是在当前密钥库文件中找不到该标签时,将会返回此消息。 此错误情况可能会以多种方式出现,包括下面的示例:

  • 从密钥库文件中删除标签。
  • 已复原密钥库文件的较旧副本,并且所复原副本未包含标签。
  • 尝试复原引用标签的备份映像,但是该标签不在发生复原操作的主机上的密钥库文件中。
  • 尝试通过引用标签归档日志文件中的事务执行前滚,但是该标签不在要重放事务的密钥库文件中。
  • 高可用性灾难恢复 (HADR) 主数据库驻留在其中的密钥库文件的内容与对应备用数据库所在密钥库文件的内容不匹配。

运行时标记 文件名 指示重复使用的标签出现在其中的文件名。 文件类型编号 运行时标记指示重复使用的标签出现在其中的文件类型。

1
数据库日志文件
2
配置文件
3
备份映像
通过下列其中一种方式对此错误作出响应:

  • 如果密钥库文件已过时(例如因为已删除标签),那么复原包含当前密钥库文件中所缺少标签的密钥库文件的备份版本。
  • 如果未在操作涉及的两个主机(例如 HADR 主数据库/备用数据库对,或者当将在一个主机执行的备份映像复原到另一个主机时)上同步密钥库文件,请同步两个密钥库文件,然后重新发出该命令。

SQL1731C

加密操作失败。 数据库名称:数据库名称。 日志文件名称:日志文件名称。 数据库分区号:数据库分区号。 记录流标识:记录流标识 您可以使用 IBM DB2 加密产品来加密数据库中的数据。

如果严重的内部错误导致与加密相关的操作失败,那么会返回此消息。

收集诊断信息,包括运行时标记 日志文件名 中提供的日志文件和 db2diag 诊断日志文件,然后与 IBM 软件支持机构联系以获取帮助。

SQL1732N

该命令失败,因为指定的加密选项不同时受支持或在此环境中不受支持。 要使用 DB2 本机加密,必须在 ENCROPTS 数据库配置参数中或使用 ENCROPTS 命令参数指定加密选项。

ENCROPTS 数据库配置参数和 ENCROPTS 命令参数的值必须是字符串,并采用特定格式,以指示与加密相关的配置详细信息组合。

如果指定了不兼容或不受支持的配置详细信息组合,那么会返回此消息。

请更正在 ENCROPTS 配置参数或 ENCROPTS 命令参数中指定的配置详细信息,然后重新发出该命令。

SQL1733N

未执行该命令,因为所指定的标签太长。 DB2 本机加密将加密密钥存储在密钥库文件中。 密钥通过主密钥标签访问,而主密钥标签 也存储在密钥库文件中。 创建标签的方法有两种:

  • 在手动创建密钥时创建标签。
  • 数据库管理器在创建密钥时生成标签。

当使用命令指定手动创建的标签,但是该标签比支持的标签大小长时,将会返回此消息。

重新发出该命令,并指定长度受支持的标签。

SQL1734N

该命令或操作失败,因为主密钥与受支持密钥长度不匹配。 DB2 本机加密使用主密钥来管理数据库中数据的加密。 为给定数据库创建主密钥有两种方法:

  • 您可以手动创建主密钥并为其指定标签(例如,使用 CREATE DATABASE 语句)。
  • 您可以允许数据库管理器为数据库生成主密钥。

如果在命令或语句中指定了手动创建的主密钥的标签,但 DB2 本机加密不支持该手动创建的密钥的长度,那么会返回此消息。

重新发出该命令,指定了主密钥标签受支持的长度。

SQL1735N

RESTORE 命令失败,因为此命令中指定的加密密钥标签与用于加密备份映像的标签不匹配。 DB2 本机加密将加密密钥存储在密钥库文件中。 密钥通过主密钥标签访问,而主密钥标签 也存储在密钥库文件中。 当您针对已配置为使用此功能的数据库发出 DB2 命令时,数据库管理器必须使用标签来查找相应的密钥:

  • 您可以将标签指定为命令的参数。
  • 如果您不指定标签,那么数据库管理器将使用为数据库配置的标签。

创建加密备份映像时,可以指定多个主密钥标签。 复原加密备份映像时,必须指定在创建备份映像时使用的主密钥标签之一。

当尝试复原备份映像并指定不是用来创建备份映像的主密钥标签时,将会返回此消息。

通过下列其中一种方式对此错误作出响应:

  • 通过发出未指定任何标签的 RESTORE 命令,允许复原实用程序查找正确的主密钥标签。
  • 通过发出在 ENCROPTS 参数中指定“显示主密钥详细信息”的 RESTORE 命令,手动确定要用来创建备份映像的主密钥标签,然后执行复原操作并指定用来创建备份映像的其中一个标签。

SQL1736N

该命令无法检索密钥库密码。 原因码为 原因码 DB2 本机加密将加密密钥存储在密钥库文件中。 在配置为使用此功能的环境中发出 DB2 命令(例如 START DATABASE MANAGER 命令)时,数据库管理器会在密钥库文件中查找密钥。

密钥库文件受密码保护。 为了让数据库管理器能够查找加密密钥,必须以下列两种方式之一为数据库管理器提供密钥库文件密码:

  • 密码可以存储在隐藏项文件中。
  • 可以通过 DB2 命令的参数指定密码。

如果通过 DB2 命令的参数指定了密钥库文件密码信息,但是数据库管理器无法使用在参数中指定的密码信息,将会返回此消息。

原因码更具体地指示了在处理指定的密码信息时数据库管理器遇到的错误:

1
无法处理密码信息,因为无法识别自变量的格式。
2
命令可以处理该自变量,但是无法成功使用所指定的密码信息(例如,所指定的文件名不存在)。
重新发出该命令,带有根据原因码修正的密码自变量。

1
使用有效的字符串格式指定密码信息。
2
指定正确的密码、可读的开放文件句柄或现有文件的名称。

SQL1737N

该命令或操作失败,因为数据库未加密。 您可以使用 DB2 本机加密来加密数据库中的数据。 您可以通过在命令中指定与加密相关的参数或通过使用 ADMIN_ROTATE_MASTER_KEY 内置存储过程,对已加密数据库执行加密操作。

当尝试对未加密数据库执行 DB2 本机加密操作时,将会返回此消息。

通过下列其中一种方式对此错误作出响应:

  • 在不指定 DB2 本机加密专用的参数的情况下,重新发出命令。
  • 针对加密数据库重新发出该命令。

SQL1738N

未执行该命令,因为没有提供标签。 DB2 本机加密将加密密钥存储在密钥库文件中。 密钥通过主密钥标签访问,而主密钥标签 也存储在密钥库文件中。 一般用下面两种方法之一提供标签:

  • 您可以使用命令参数指定标签。
  • 您可以允许数据库管理器生成新标签,或使用为数据库配置的现有标签。

在某些情况下,始终必须指定主密钥。 如果必须指定标签,却没有指定标签,那么会返回此消息。

  • 在 HADR 环境中发出 ADMIN_ROTATE_MASTER_KEY 存储过程。
  • 带 ENCRYPT 子句发出 BACKUP 命令,以创建未加密数据库的加密备份映像。
在指定主密钥标签的情况下,重新发出该命令。

SQL1739N

命令或操作失败,因为使用 ENCROPTS 参数指定的值无效。 要使用 DB2 本机加密,必须在 ENCROPTS 数据库配置参数中或使用 ENCROPTS 命令参数指定加密选项。

ENCROPTS 数据库配置参数和 ENCROPTS 命令参数的值必须是字符串,并采用特定格式,以列出与加密相关的配置详细信息组合。

如果由于所指定字符串的格式非预期格式导致数据库管理器无法解析在 ENCROPTS 配置参数或 ENCROPTS 命令参数中指定的配置信息,那么会返回此消息。

请更正在 ENCROPTS 配置参数或 ENCROPTS 命令参数中指定的配置详细信息,然后重新发出该命令。

SQL1740N

密钥轮换操作失败。 原因码:原因码 DB2 本机加密使用主密钥来管理数据库中数据的加密。 您可以使用 ADMIN_ROTATE_MASTER_KEY 内置存储过程,来轮换数据库的主密钥。

当由于内部错误导致轮换主密钥失败时,将会返回此消息。 原因码(仅对于 IBM 支持人员有用)更具体地指示根本问题的性质:

1
发生内存耗尽情况以外的内存管理错误。
2
遇到了内部锁存器错误。
3
尝试在分区系统(非所有数据库分区都处于活动状态)上执行密钥轮换。
对于原因码 1 和 2,请再次执行该操作。

对于原因码 3,请等待到所有数据库分区都处于活动状态,然后重新发出该命令。

如果此错误继续发生,请收集诊断信息,包括 db2diag 诊断日志文件,然后与 IBM 软件支持机构联系以获取帮助。

SQL1741N

该命令或操作失败,因为对应主密钥标签 标签 的主密钥已更改。 DB2 本机加密将加密密钥存储在密钥库文件中。 密钥通过主密钥标签访问,而主密钥标签 也存储在密钥库文件中。 创建标签的方法有两种:

  • 在手动创建密钥时创建标签。
  • 数据库管理器在创建密钥时生成标签。

使用给定标签创建密钥之后,无法更改该标签的密钥。 当更改了给定主密钥标签的密钥时,将会返回此消息。

主密钥标签的关键字可能表现为已更改,原因众多,包括下列示例原因:

  • 将相同的标签用于不同密钥库文件中的不同密钥,并且已将这些密钥库文件移动到不同的主机。
  • 无意中手动更改了密钥。
请执行下列故障诊断步骤:

  • 验证密钥库文件是否包含正确的主密钥和主密钥标签。
  • 必要时,从最新备份映像复原密钥库文件,然后重试该命令或操作。

SQL1742N

创建主键失败,因为主键定义的列与基本表上唯一约束或主键约束的列不对应。 您可以在影子表上创建主键。 但是,在影子表上创建主键具有一些需求和限制。 当尝试在影子表上创建主键,但不具有影子表的基本表的对应主键或唯一约束时,将返回此消息。 要在影子表上创建主键,请在新主键定义中包含一组列,此组列与基本表的主键或唯一约束的一组列对应。

sqlcode:-1742

sqlstate:428I7

SQL1743N

RESTORE 命令失败,因为备份映像是加密数据库的备份映像,但目标数据库未加密。 您可以使用 DB2 本机加密来加密数据库中的数据。 例如,您可以通过使用 CREATE DATABASE 命令指定加密参数来创建加密数据库。

备份加密数据库时,除非指定带 NO ENCRYPT 参数的 RESTORE 命令,否则无法将备份映像复原到未加密的现有目标数据库。

尝试将加密数据库的映像复原到未加密的目标数据库,并且指定不带 NO ENCRYPT 参数的 RESTORE 命令时,将会返回此消息。

要将备份映像复原到未加密的目标数据库,请使用 NO ENCRYPT 参数发出 RESTORE 命令。

SQL1744N

RESTORE 命令失败,因为目标数据库已存在,且指定了加密选项。 您可以使用 DB2 本机加密来加密数据库中的数据。 例如,您可以用两种方法创建加密数据库:

  • 在 CREATE DATABASE 命令中指定与加密相关的参数
  • 通过在 RESTORE 命令中指定与加密相关的参数,从备份映像复原到新的加密数据库

但是,当复原到不加密的现有数据库时,不支持在 RESTORE 命令中指定与加密相关的参数。

要复原到未加密的现有数据库,请执行下列其中一项操作:

  • 要将加密数据库的备份映像复原到未加密的现有数据库,请发出 RESTORE 命令而不指定除 NO ENCRYPT 参数以外任何与加密相关的参数。
  • 要将未加密数据库的备份映像复原到未加密的现有数据库,请发出 RESTORE 命令而不指定任何与加密相关的参数。

SQL1745N

API 名称 API 失败,因为该 API 尝试读取加密日志。 您可以使用 DB2 本机加密来加密数据库中的数据。 对于配置为使用此功能的数据库,还会加密数据库日志文件。 您可以通过 db2ReadLogNoConn API 来使用加密的日志文件。

尝试使用已加密的日志文件不支持的实用程序来处理已加密数据库日志文件时,将返回此消息。

要处理已通过 DB2 本机加密功能加密的日志文件,请只使用已加密的日志文件所支持的实用程序。

SQL1746W

已成功创建数据库 数据库名称。 但是,未根据系统资源自动调整数据库配置。 调用 sqlecrea API 或发出 CREATE DATABASE 命令时,缺省情况下,配置顾问程序会根据系统资源来调整数据库配置。 (通过使用 DB2_ENABLE_AUTOCONFIG_DEFAULT 注册表变量,可以禁止配置顾问程序在创建数据库时运行。)

如果允许配置顾问程序在创建数据库时运行,但配置顾问程序遇到错误,并且无法根据系统资源来优化数据库配置,那么会返回此消息。

要调整数据库配置,请手动运行 AUTOCONFIGURE 命令。

sqlcode:+1746

sqlstate:5U061

SQL1747N

未处理语句,因为指定 ENVIRONMENT 子句时出错。 原因码:原因码。 子字符串:子字符串 您可以在 CREATE FUNCTION 语句的 ENVIRONMENT 子句中指定多个已命名的例程环境变量以及相关联的值。 ENVIRONMENT 子句将指定为“名称/值”对的逗号分隔列表。

当 ENVIRONMENT 子句中指定的一个或多个名称或值存在问题时,将返回此消息。

原因码更具体地确定了此问题:

1
指定了例程环境变量,但其数目超过了受支持的最大例程环境变量数。
2
对例程环境变量指定了值字符串,但其长度超过了受支持的最大长度。
3
指定了例程环境变量名称,但其长度超过了名称的最大受支持长度。
4
多次指定了某个例程环境变量名称。

根据问题的性质,标记 子字符串 可能为空,也可能包含子字符串,用于说明 ENVIRONMENT 子句中出现问题的位置。

在指定有效 ENVIRONMENT 子句的情况下,重新发出 SQL 语句。

sqlcode:-1747

sqlstate:428I8

SQL1748N

用户定义的函数在访问 CPad 时遇到了死锁情况。 函数名:函数名。 特定名称:特定名称 当两个应用程序相互锁定了对方所需的数据时,将发生死锁情况,以至这两个应用程序都无法继续执行。

您可以使用 CPad 来分配已命名的唯一内存区域,以作为用户定义的函数的临时存储器区域和工作台。

如果两个用户定义的函数在访问同一 CPad 时遇到死锁情况,那么会返回此消息。

重写用户定义的函数,以避免发生死锁情况。

sqlcode:-1748

sqlstate:57068

SQL1749N

语句失败,因为它引用了为数组或行列定义生成的类型 类型名称 如果在 CREATE HADOOP TABLE 语句中将 ROW 类型或 ARRAY 类型用作列的数据类型,那么会使用系统生成的名称来生成用户定义的数据类型。

不能在其他语句或表达式中引用为此目的而生成的数据类型,但 COMMENT 语句除外。

替换或移除对所生成数据类型的引用,然后重新提交语句。

sqlcode:-1749

sqlstate:429CC

SQL1750C

发生故障,终止了对表类型为table-type 的进行的操作operation-name,可能导致数据无效或不一致。 日志条目标识 结果可能是无效或不一致的数据,或者是所期望数据的一部分。

以下是运行时标记:

operation-name
处理类型,例如 INSERT。
表名
尝试对其执行操作的表的名称。
表类型
标识该表是 Hadoop 表还是 HBase 表。
日志条目标识
日志条目标识由以下三个部分组成:

  • 一个三字母前缀,指示哪个日志文件包含诊断详细信息。
  • 一个三位数字,指示日志文件所在的数据库分区。
  • 一个标识,打印在日志文件中相关诊断详细信息的附近。

例如,操作可能是针对 HBase 表的 INSERT。 您可以使用一个 INSERT 语句将 HBase 数据的多个文件插入到 HBase 表。 但是,插入操作不是原子操作,无法回滚。 因此,如果装入数据时发生错误,那么某些数据会遗留在表中。 如果表包含索引,那么这些索引可能会与表中的数据不同步。

通过使用 日志条目标识 中的信息,找到相应日志文件中的诊断详细信息。 可以使用以下语句从日志中检索该错误的文本:

 SELECT * FROM Table (SYSHADOOP.LOG_ENTRY('log-entry-id')); 

如果操作是 INSERT 操作,请确定哪些数据未完全插入,然后再次插入这些数据,或者删除该表,然后再次启动 INSERT 操作。

sqlcode:-1750

sqlstate:58041

SQL1751N

最终获得的数据库分区组将不包含可以在分区映射中使用的任何节点。 数据库分区组必须至少包含一个可在分区映射中使用的节点。 如果已将节点添加至不带表空间的数据库分区组,那么不能将它包括在分区映射中,因为没有用于在数据库分区组上定义的表空间的容器。 如果将一个节点像另一节点一样地添加,并且另一节点在数据库分区组上的所有表空间中都没有容器,那么任何一个节点都不能包括在分区映射中。 不能删除数据库分区组中的所有节点,至少应保留一个节点。 如果已在数据库分区组中定义了表空间,但是没有表,那么必须确保至少有一个节点有容器可用于所有表空间。

sqlcode:-1751

sqlstate:428C0

SQL1752N

不能在数据库分区组 数据库分区组 中创建表空间。 当且仅当表空间为系统临时表空间时,才能指定数据库分区组 IBMTEMPGROUP。 对于系统临时表空间,指定数据库分区组 IBMTEMPGROUP。 对于其他表空间类型,指定一个不是 IBMTEMPGROUP 的数据库分区组。

sqlcode:-1752

sqlstate:429A1

SQL1753N

数据库分区 数据库分区号 没有用于在数据库分区组 IBMTEMPGROUP 中定义的所有系统临时表空间的容器。 一个数据库分区必须为在此数据库的数据库分区组 IBMTEMPGROUP 中定义的所有系统临时表空间定义了容器之后,才能将此数据库分区包括在数据库分区组中。 发出 ALTER TABLESPACE 语句,以在每个数据库分区上为数据库中的每个系统临时表空间添加容器。

sqlcode:-1753

sqlstate:57052

SQL1754N

索引表空间或长表空间与主表空间不在同一数据库分区组中。 在 CREATE TABLE 语句中指定的所有表空间必须属于同一数据库分区组。 确保在 CREATE TABLE 语句中指定的所有表空间属于同一数据库分区组。

sqlcode:-1754

sqlstate:42838

SQL1755N

数据库分区 数据库分区号 没有用于在数据库分区组 数据库分区组名 中定义的所有表空间的容器。 数据库分区组中的所有表空间都必须在所有数据库分区上定义容器。 否则,在数据库分区组的重新分发中或在 ALTER DATABASE PARTITION GROUP 语句的 LIKE DBPARTITIONNUM 子句中不应该包含该数据库分区。 请发出 ALTER TABLESPACE 语句以将容器添加至此数据库分区上的所有表空间中。

SQL1756N

多个子句指定了容器,而没有 ON DBPARTITIONNUMS 子句。 对于 CREATE TABLESPACE,只能指定一次不附带 ON DBPARTITIONNUMS 子句的 USING 子句。

对于 ALTER TABLESPACE,只能指定一次不附带 ON DBPARTITIONNUMS 子句的 ADD 子句。

未处理该语句。

更正该语句,然后重新发出该语句。

sqlcode:-1756

sqlstate:428B1

SQL1757N

丢失了没有 ON DATABASE PARTITION 子句的 USING 子句。 在 CREATE TABLESPACE 语句中,每个 USING 子句都指定了 ON DATABASE PARTITION 子句。 但是,并不是包括了数据库分区组中的所有数据库分区,因此并不是数据库分区组中的所有数据库分区都有容器。

未处理该语句。

确保指定了没有 ON DATABASE PARTITION 子句的 USING 子句,或者在 ON DATABASE PARTITION 子句中,数据库分区组中的每个数据库分区都被包括了一次。

sqlcode:-1757

sqlstate:428B1

SQL1758W

未指定给特定节点的容器不被任何节点的表空间使用。 ALTER TABLESPACE 和 CREATE TABLESPACE 语句包括对数据库分区组中所有数据库分区的容器规范。 后面没有紧接着 ON DATABASE PARTITION 子句的容器规范是冗余的,并且已被忽略。

已处理该语句。

如果在某些节点中需要这些容器,那么发出 ALTER TABLESPACE 语句以添加必需的容器。

sqlcode:+1758

sqlstate:01589

SQL1759W

需要重新分发数据库分区组,以更改数据库分区组 数据库分区组名 中对象的数据库分区,从而在数据库分区中包括某些添加的数据库分区或者排除某些已删除的数据库分区。 此警告指示:使用 ALTER DATABASE PARTITION 或 ALTER TABLESPACE 语句进行的更改未导致数据库分区组的分区映射被更改。 仅当没有使用在数据库分区组中定义的任何表空间定义的表或正在删除的数据库分区不在分区映射中时,数据库分区组的分区映射才能被这些语句立即更改。

在下列情况下将发出此警告:

  • 使用 ALTER DATABASE PARTITION ADD DATABASE PARTITION 语句添加了一个或多个数据库分区
  • 使用 ALTER DATABASE PARTITION DROP DATABASE PARTITION 语句删除了一个或多个数据库分区
  • 为表空间添加了多个容器,而数据库分区不需要使用更多的容器。

对于所有这些情况,已经使用数据库分区组中的表空间来定义了一个表。

如果想要数据库分区包括或排除数据库分区,那么发出 REDISTRIBUTE DATABASE PARTITION 命令或 API。 另一种方法是删除数据库分区组中使用表空间的所有表。

sqlcode: +1759

sqlstate:01618

SQL1760N

用于定义存储过程 过程名称 的 CREATE PROCEDURE 或 ALTER MODULE 语句必须包含有效的 LANGUAGE 子句、EXTERNAL 子句和 PARAMETER STYLE 子句或者包含 SQL 过程主体。 在用于定义过程 过程名称 的 CREATE PROCEDURE 或 ALTER MODULE 语句中,缺少必需的子句。 必须指定 LANGUAGE 子句、EXTERNAL 子句和 PARAMETER STYLE 子句。 由于只有 SQL 过程允许发布原型,因此必须对模块中定义的外部过程进行全面指定。

如果正在定义 SQL 过程,那么除非正在使用 ALTER MODULE 的 PUBLISH 操作来定义 SQL 过程原型,否则必须包括 SQL 过程主体。

添加缺少的子句,然后再次尝试。

sqlcode:-1760

sqlstate:42601

SQL1761N

未为缓冲池bpname 定义数据库分区组db-partition-group 还没有为缓冲池定义表空间的数据库分区组。 不能创建或改变表空间以组合使用数据库分区组和缓冲池。

无法处理该语句。

可执行的操作为:

  • 指定已定义了表空间的数据库分区组的缓冲池。
  • 改变缓冲池以添加表空间的数据库分区组。
  • 如果要执行 CREATE TABLESPACE,那么指定为缓冲池定义的数据库分区组。

sqlcode:-1761

sqlstate:42735

SQL1762N

不能与数据库相连,因为没有足够的空间可用来分配活动的日志文件。 没有足够的磁盘空间可用来分配活动的日志文件。 原因可能包括:

  • 用来存储恢复日志的设备上没有足够的可用空间。
  • 如果启用了用户出口,那么用户出口程序可能会因不正确的路径、不正确的安装目录、共享违例或其他问题而失败。
  • 如果已启用日志归档,那么日志归档方法可能未起作用或者目标不可访问。
  • 设置了数据库配置参数 log_disk_cap,并且设备上没有足够的可用空间来存储数据库激活所需的两个日志文件的最小数量,或者 log_disk_cap 设置为低于两个日志文件的大小的值。
原因:

  • 确保设备上有足够的空间用于主日志,因为 Db2 可能需要额外的空间来分配新的日志,以便使数据库启动时至少具有 LOGPRIMARY 日志文件。 不要删除恢复日志以释放空间,即使它们看起来不活动。
  • 通过手动调用用户出口程序来确保它正确运行。 复查样本用户出口源代码中提供的有关编译和安装用户出口程序的指示信息。 确保归档目标路径已存在。
  • 请确保日志归档方法在正常运行。 如果遇到了错误,那么可以在 db2diag.log 文件中找到更多信息。
  • 确保设备上有足够空间用于数据库激活所需的两个日志文件的最小数量,并确保 log_disk_cap 设置为大于两个日志文件的大小的值。

在万不得已的情况下,尝试减小 LOGPRIMARY 和/或 LOGFILSIZ 数据库配置参数的值,以便使用更小的一组活动日志文件。 这将减少对磁盘空间的需求。

在确定和更正问题之后,重新发出连接语句。

SQL1763N

用于 表空间名称 表空间的 ALTER TABLESPACE 语句无效,原因是 原因码 在 ALTER TABLESPACE 语句中指定的各个子句互相之间不能一起使用。

1
CONVERT TO LARGE 子句必须由它自己指定。
2
BEGIN NEW STRIPE SET 容器子句不能与任何其他容器子句(ADD、DROP、EXTEND、REDUCE 或 RESIZE)一起指定。
3
当从表空间中添加或移除空间时:

  1. 如果每个容器的大小都增大,那么可以在同一条语句中使用 EXTEND 和 RESIZE。
  2. 如果每个容器的大小都减小,那么可以在同一条语句中使用 REDUCE 和 RESIZE。
  3. 不能在同一条语句中使用 EXTEND 和 REDUCE,除非它们指向不同的数据库分区。
  4. 不能在同一条语句中使用 ADD 以及 REDUCE 或 DROP,除非它们指向不同的数据库分区。
  5. 不能在同一条语句中使用 DROP 以及 EXTEND 或 ADD,除非它们指向不同的数据库分区。
4
改变自动存储器管理的表空间时,不能将容器子句与 REDUCE 选项一起使用。
5
改变非自动存储器管理的表空间时,必须指定容器子句。
6
无法将临时表空间和系统管理表空间(SMS)转换为使用自动存储器。
7
数据库中没有存储器组。
8
无法使用 ALTER TABLESPACE 语句将具有 DEVICE 容器的数据库管理表空间(DMS)转换为使用自动存储器。
9
REBALANCE 子句必须由它自己指定。
10
只能将 REDUCE MAX 子句或者带有指定大小子句的 REDUCE 与具有“可回收存储器”属性并且由自动存储器管理的表空间配合使用。
11
没有“可回收存储器”属性的表空间不能使用子句来减小或者降低高水位标记。
12
必须指定附带 MAX 子句、数值、PERCENT 或 STOP 子句的 REDUCE 选项,以及附带 STOP 子句的 LOWER HIGH WATER MARK 选项,并且运行时不能再指定任何其他选项,也不能同时指定这两个选项。
13
不能将 ADD、DROP、RESIZE、EXTEND、 REDUCE、 LOWER HIGH WATER MARK 和 BEGIN_STRIPE_SET 子句与 MANAGED BY AUTOMATIC STORAGE 子句 或 USING STOGROUP 子句一起使用。
14
改变自动存储器混合表空间时,无法指定 USING STOGROUP 子句。
1
在它自己的 ALTER TABLESPACE 语句中发出 CONVERT TO LARGE 子句。
2
如果使用相同语句中的 BEGIN NEW STRIPE SET 容器操作和其他操作,那么将 BEGIN NEW STRIPE SET 操作移到它自己的 ALTER TABLESPACE 语句中。
3
如果在表空间中添加页和移除页,那么使用两个 ALTER TABLESPACE 语句。
4
从 ALTER 语句中移除容器子句,然后重新发出该语句。
5
指定包含要减少的容器列表的容器子句,然后重新发出该语句。
6
要转换使用自动存储器的临时表空间,创建一个新的由自动存储器管理的临时表空间,然后删除旧的临时表空间。 要从系统管理表空间转换为由自动存储器管理的表空间,必须手动移动所有数据。
7
使用 CREATE STOGROUP 语句创建存储器组。 仅当创建了存储器组时,才能由自动存储器来管理表空间。
8
要将使用 DEVICE 容器的数据库管理表空间转换为由自动存储器来管理,请执行下列步骤:

  1. 执行表空间或数据库级别的已重定向的复原操作。
  2. 发出带有 USING AUTOMATIC STORAGE 选项的 SET TABLESPACE CONTAINERS 命令。
9
在 REBALANCE 子句自己的 ALTER TABLESPACE 语句中发出此子句。
10
将表空间转换为由自动存储器来管理,并确保在使用 REDUCE MAX 子句或者带有指定大小子句的 REDUCE 之前表空间具有“可回收存储器”属性。
11
表空间必须具有“可回收存储器”属性,您才能使用子句来减小或者降低高水位标记。
12
在每个 ALTER TABLESPACE 语句中只使用单个子句来减小或者降低高水位标记。
13
移除 ALTER 语句中的 ADD、DROP、RESIZE、 EXTEND、REDUCE、 LOWER HIGH WATER MARK 或 BEGIN_STRIPE_SET 子句,然后重新发出该语句。
14
发出 REBALANCE 子句,以便表空间中仅包含自动存储器容器。 完成重新平衡操作之后,发出带有 USING STOGROUP 子句的 ALTER TABLESPACE 语句。

sqlcode:-1763

sqlstate:429BC

SQL1764N

ALTER TABLESPACE 语句中 RESIZE 操作指定的大小小于表空间容器的当前大小。 使用 RESIZE 操作在 ALTER TABLESPACE 语句中指定的大小小于表空间容器的当前大小。 您仅可增大容器的大小。 指定比表空间容器的当前大小值大的大小。

sqlcode:-1764

sqlstate:560B0

SQL1765W

已成功完成更新。 但是,在辅助数据库服务器上可能未恢复索引创建、重新创建或重组。 当启用了 HADR 时,建议将数据库配置参数 LOGINDEXBUILD 设置为 ON,并将数据库或数据库管理器配置参数 INDEXREC 设置为 RESTART 或 ACCESS。 否则,当前或将来的主数据库服务器上的任何索引创建、重新创建或重组在当前或将来的辅助数据库服务器上将不会使用 HADR 进行恢复。 不能恢复的那些索引将被标记为无效,当要访问索引时,在 HADR 接管过程结束时或者在 HADR 接管过程之后将隐式地重建这些索引。 要启用完整日志记录,更新数据库配置参数 LOGINDEXBUILD 或者发出 SQL 语句 ALTER TABLE LOG INDEX BUILD ON。 要启用重做已记录的任何索引构建操作,将配置参数 INDEXREC 更新为 RESTART 或 ACCESS。

SQL1766W

成功地完成该命令。 但是,在 HADR 启动之前未启用 LOGINDEXBUILD。 如果在启动 HADR 之前未将数据库配置参数 LOGINDEXBUILD 设置为 ON,那么无法使用 HADR 在当前或将来的辅助数据库服务器上恢复当前或将来的主数据库服务器上的任何索引创建、重新创建或重组。 要启用完整日志记录,请将数据库配置参数 LOGINDEXBUILD 设置为 ON。

SQL1767N

不能完成启动 HADR。 原因码:原因码 不能完成启动 HADR。 与原因码对应的解释是:

1
当发出 START HADR AS STANDBY 命令时,数据库未处于前滚暂挂或正在前滚状态。
2
不能对 HADR 备用数据库发出 START HADR AS PRIMARY。
3
不能对活动数据库发出 START HADR AS STANDBY。
9
正对活动 HADR 备用数据库执行数据库升级。
98
未安装有效的 HADR 许可证。 命令未成功完成。
99
在多分区实例环境中发出了该命令。
对应原因码的用户响应为:

1
从主数据库的备份映像或分割镜像重新初始化备用数据库,然后重新发出 START HADR AS STANDBY 命令。
2
如果要将备用数据库更改为主数据库,发出 TAKEOVER 命令。
3
如果要将主数据库更改为备用数据库,从当前备用数据库发出 TAKEOVER 命令。 如果要将标准数据库更改为备用数据库,必须首先取消激活该数据库。
9
必须先在主数据库和备用数据库上完成升级处理,并取消激活备用数据库,才能重新发出该命令。
98
获取并安装有效的 HADR 许可证,然后重新提交该命令。
99
在多分区实例环境中,不支持 HADR 功能部件。

SQL1768N

无法启动 HADR。 原因码:原因码 与原因码对应的解释是:

1
不可恢复数据库,因为正在使用循环日志记录。
2
数据库启用了无限活动日志记录。
3
数据库启用了 DATALINKS。
4
hadr_local_host 配置参数的条目无效。
5
hadr_local_svc 配置参数的服务名称无效。
6
hadr_remote_svc 配置参数的服务名称无效。
7
在 HADR 超时时间间隔内,主数据库无法与其备用数据库建立连接。 有多种情形可能导致此错误情况。 例如,如果主数据库的 hadr_timeout 配置参数或 hadr_peer_window 配置参数的值与备用数据库的该配置参数的值不相同,那么会返回此消息并且原因码为 7。
8
下列其中一个或多个 HADR 数据库配置参数的值为 NULL:

  • hadr_local_host 或 hadr_local_svc
  • Db2 pureScale 之外的环境中的 hadr_remote_host、hadr_remote_svc 或 hadr_remote_inst。
  • Db2 pureScale 环境中的 hadr_target_list。
9
数据库配置为使用原始日志。 但是,HADR 不支持对数据库日志文件使用原始 I/O(直接磁盘访问)。
10
命令由于 STOP HADR 命令、取消激活数据库或内部错误而被 HADR 关闭所中断。
11
hadr_remote_host、hadr_local_host 或 hadr_target_list 配置参数所指定的条目未解析为相同的 IP 格式。
12
hadr_remote_host 配置参数的条目无效。
13
至少需要具备一个常规缓冲池,才能启动 HADR 备用数据库。 缓冲池由于内存不足而无法启动。
14
hadr_target_list 配置参数的条目不包含 hadr_remote_host 和 hadr_remote_svc 配置参数中指定的对。
15
hadr_target_list 配置参数的条目无法解析为有效的 TCP/IP 地址。
16
为 hadr_target_list 配置参数指定的条目的格式不正确。
17
如果 hadr_syncmode 配置参数是 SUPERASYNC,那么只能将 hadr_replay_delay 配置参数设为非零值。
18
在 HADR 主数据库上,只能将 hadr_replay_delay 配置参数设为 0。
19
不能作为主数据库启动,因为已检测到另一主数据库。
20
在 Db2 pureScale 环境中,hadr_syncmode 数据库配置参数不能是 SYNC 或 NEARSYNC。
21
hadr_local_svc 配置参数所指定的值与客户机/服务器通信端口冲突。
22
hadr_local_svc 配置参数所指定的值与快速通信管理器 (FCM) 通信端口冲突。
23
hadr_local_svc 配置参数所指定的值与集群高速缓存工具 (CF) 通信端口冲突。
24
无法分配 Db2 注册表变量 DB2_HADR_SOSNDBUF 指定的 TCP 套接字缓冲区。
25
无法分配 Db2 注册表变量 DB2_HADR_SORCVBUF 指定的 TCP 套接字缓冲区。
26
表空间不可用。
27
在 Db2 pureScale 环境中,hadr_peer_window 数据库配置参数不能设置为 0。
28
主数据库与备用数据库之间的 SSL 通信失败。 导致此故障的原因可能是:

  1. 数据库配置参数 HADR_SSL_LABEL 设置为无效证书名称
  2. SSL_SVR_KEYDB 配置参数或 SSL_SVR_STASH 配置参数未设置为有效值。
29
启用自动故障转移后,hadr_syncmode 数据库配置未设置为 SYNC 或 NEARSYNC。
98
未安装有效的 HADR 许可证。 命令未成功完成。
99
在 HADR 启动期间发生了内部错误。
对应原因码的用户响应为:

1
数据库必须是可恢复的数据库。 通过将数据库配置参数 logarchmeth1 或 logarchmeth2 设为除 OFF 之外的值来激活日志归档。 对数据库进行脱机备份以使此数据库可恢复,然后重新发出此命令。
2
禁用无限活动日志记录并重新发出该命令。
3
更新数据库管理器配置文件,以便将 DATALINKS 设为 NO,然后重新发出该命令。
4
请确保可以将配置参数 hadr_local_host 映射至与本地主机相关联的一个 IPv4 或 IPv6 地址。
5
请确保将 hadr_local_svc 配置参数设为有效的服务名称。 对于 Unix 平台,编辑 /etc/services 文件。 对于 Windows,编辑 %SystemRoot%\system32\drivers\etc\services。 另外,可以为此参数指定文字端口号。
6
请确保 hadr_remote_svc 配置参数的值是有效的服务名称。 对于 Unix 平台,编辑 /etc/services 文件。 对于 Windows,编辑 %SystemRoot%\system32\drivers\etc\services。 另外,可以为此参数指定文字端口号。
7
请执行下列故障诊断步骤:

  1. 检查旧备用数据库是否已作为主数据库或独立数据库运行。 为避免潜在脑裂场景,如果主数据库无法建立与备用数据库的连接,那么主数据库不会启动。 如果旧备用数据库已作为主数据库运行,请考虑启动旧主数据库作为新备用数据库。
    1. 发出 START HADR DATABASE ON dbname AS STANDBY 以将旧主数据库转换为新备用数据库。
    2. 或者,通过新主数据库的备份映像,将旧主数据库重新初始化为新备用数据库。
  2. 如果未对备用数据库执行强制接管(又称为故障转移)操作,并且备用数据库未作为主数据库或独立数据库运行,请检查 HADR 状态和配置。
    1. 确保备用数据库联机并且已作为备用数据库启动(使用“db2pd -db dbname -hadr”或 MON_GET_HADR)。
    2. 确认在主数据库和备用数据库上正确设置了 hadr_target_list、hadr_local_host、hadr_local_svc、hadr_remote_inst、hadr_remote_host 和 hadr_remote_svc数据库配置参数。
    3. 确保网络正常工作,并且主/备用主机可通过 TCP/IP 相互访问(考虑使用系统“ping”实用程序 ping 远程主机和 svc/端口)。
    4. 检查 db2diag.log 文件以了解是否存在其他错误消息指示主数据库和备用数据库上存在不兼容配置设置。
    5. 确保主数据库和备用数据库的配置参数 hadr_timeout 的值相同。
    6. 确保主数据库和备用数据库的配置参数 hadr_peer_window 的值相同。
    7. 确保 hadr_timeout 配置参数设置为表示足够在主数据库与备用数据库之间建立连接和握手的时间的值。
  3. 如果备用数据库脱机并且无法启动(因为备用系统故障或其他灾难),请强制启动主数据库。
    1. 对主数据库发出 START HADR DATABASE ON dbname AS PRIMARY BY FORCE。
    2. 或者,对主数据库发出 STOP HADR 命令。
8
确保下列 HADR 数据库配置参数在需要处为非 NULL 值:

  • hadr_local_host
  • hadr_local_svc
  • hadr_remote_host
  • hadr_remote_svc
  • hadr_remote_inst
  • hadr_target_list

您可以使用 GET DATABASE CONFIGURATION 命令来确定这些 HADR 配置参数的当前值。

9
将数据库重新配置为对日志文件只使用文件系统存储器,而不是使用原始 I/O(直接磁盘访问)设备。
10
找出 HADR 关闭的原因,如果有必要,请重新发出 START HADR 命令。
11
请确保配置参数 hadr_local_host、hadr_remote_host 和 hadr_target_list 采用相同的 IP 格式(IPv4 或 IPv6),或者可以将它们解析为相同的格式。
12
请确保可以将配置参数 hadr_remote_host 映射至 IPv4 或 IPv6 地址。
13
请确保已正确配置 dbheap 配置参数,并且对于已定义的缓冲池大小,系统有足够的可用内存。 然后再次尝试该操作。 如果您需要更改 HADR 备用上缓冲池的大小,那么需要从包含新缓冲池大小的主数据库,使用备份映像执行新数据库复原操作。
14
对于 hadr_remote_host 和 hadr_remote_svc 配置参数指定的 host:service 对,请确保配置参数 hadr_target_list 具有相应的条目。
15
请确保 hadr_target_list 配置参数指定的所有条目都是有效的 host:service 对。
16
请确保配置参数 hadr_target_list 的条目的格式正确。
17
将配置参数 hadr_replay_delay 设为 0,或者将 hadr_syncmode 配置参数更改为 SUPERASYNC。
18
请确保将 HADR 主数据库的配置参数 hadr_replay_delay 设为 0。
19
确定应成为主数据库的数据库。 删除另一主数据库或尝试将其转换为备用数据库。 如果两个数据库都应该是主数据库,那么应从它们各自的 hadr_target_list 中移除彼此,以使它们成为独立数据库。
20
将 hadr_syncmode 数据库配置参数设为 ASYNC 或 SUPERASYNC。
21
更新 hadr_local_svc 或 svcename 配置参数所指定的值,让 hadr_local_svc 使用的 TCP 端口不在端口范围 svcename 到 svcename + 1 之间(包括首尾值)。
22
更新 hadr_local_svc 数据库配置参数或系统服务名称,以使 hadr_local_svc 使用的 TCP 端口未位于服务名称 DB2_instance 和 DB2_instance_END 定义的端口之间(包含端点),其中“instance”是数据库管理器实例的名称。 要更新系统服务名称,请编辑 /etc/services 文件(Unix 平台)或 %SystemRoot%\system32\drivers\etc\services (Windows)。
23
更新 hadr_local_svc 数据库配置参数或系统服务名称,让 hadr_local_svc 使用的 TCP 端口不在下列服务名称对所定义的端口之间(包括首尾值):

  • DB2CA_instance_CMD 和 DB2CA_instance_CMD_END
  • DB2CA_instance_NOTIFY 和 DB2CA_instance_NOTIFY_END
  • DB2CA_instance_MGMT 和 DB2CA_instance_MGMT_END

在这些服务名称中,“instance”表示数据库管理器实例的名称。 要更新系统服务名称,请编辑 /etc/services 文件(Unix 平台)或 %SystemRoot%\system32\drivers\etc\services (Windows)。

24
检查是否正确设置了 Db2 注册表变量 DB2_HADR_SOSNDBUF。 它不应超过可用内存或系统级别套接字缓冲区大小限制。
25
检查是否正确设置了 Db2 注册表变量 DB2_HADR_SORCVBUF。 它不应超过可用内存或系统级别套接字缓冲区大小限制。
26
请参阅 db2diag.log 以标识不可用表空间。 请解决根本原因并确保表空间的存储空间可用。 必要时,使用 RESTORE DATABASE 或 ROLLFORWARD DATABASE 命令来恢复受影响的表空间。 否则,可删除不再需要的表空间。
27
在 Db2 pureScale 环境中,将 hadr_peer_window 数据库配置参数设置为 0。
28
确保数据库配置参数 HADR_SSL_LABEL 及数据库管理器配置参数 SSL_SVR_KEYDB 和 SSL_SVR_STASH 设置为有效值。 更新 SSL_SVR_KEYDB 配置参数或 SSL_SVR_STASH 配置参数后,停止数据库管理器然后重新启动。
29
将 hadr_syncmode 数据库配置更改为 SYNC 或 NEARSYNC,或者使用 TSA 作为集群管理器时,通过 db2haicu 禁用自动故障转移。
98
获取并安装有效的 HADR 许可证,然后重新提交该命令。
99
如果问题仍然存在,请与 IBM 支持机构联系。

SQL1769N

不能完成停止 HADR。 原因码:原因码 与原因码对应的解释是:

1
对标准数据库发出了该命令。
2
对活动 HADR 备用数据库发出了该命令。
3
命令由于 STOP HADR 命令、取消激活数据库或内部错误而被 HADR 关闭所中断。
98
未安装有效的 HADR 许可证。 命令未成功完成。
99
在多分区实例环境中发出了该命令。
对应原因码的用户响应为:

1
由于 HADR 未在此数据库上运行,那么不需要执行任何操作。 验证指定的数据库别名是否正确。
2
用户应该取消激活该数据库,然后重新发出该命令。
3
如果命令由于另一 STOP HADR 命令而中断,那么不需要进一步执行操作。 否则,确保启动了数据库实例并重新发出 STOP HADR 命令。
98
获取并安装有效的 HADR 许可证,然后重新提交该命令。
99
在多分区实例环境中,不支持 HADR 功能部件。

SQL1770N

不能完成接管 HADR。 原因码:原因码 TAKEOVER HADR 命令失败。 与原因码对应的解释是:

1
仅当 HADR 备用数据库处于下列其中一种状态时,才能进行非强制接管(角色切换):

  • 对等状态
  • 方式为 SUPERASYNC 的远程同步复制状态。
  • 辅助远程同步复制状态(仅在 DB2 pureScale 环境中适用)
2
HADR 备用数据库尝试进行强制接管。 如果有任何日志流处于本地同步复制状态,那么不允许进行强制接管。
3
从联机备份创建了备用数据库,并且在重放该备用数据库到日志中该备份的终点之前尝试了接管。
4
对标准数据库或 HADR 主数据库发出了命令。
5
对不活动的备用数据库发出了该命令。
6
从主数据库切换到备用数据库时出错。
7
接管期间发生了通信错误。
8
由于在主数据库或备用数据库中遇到有冲突的命令(START HADR、STOP HADR、ACTIVATE DATABASE 或 DEACTIVATE DATABASE)或者内部错误,因此尝试的接管失败。
9
HADR 备用数据库尝试通过指定 PEER WINDOW ONLY 命令参数来进行强制接管。 但是接管失败,因为备用数据库尝试强制接管时它并不处于对等窗口中。 在备用数据库上未配置对等窗口,或者在备用数据库上配置的任何对等窗口之外尝试了强制接管。
10
TAKEOVER HADR 命令在 DB2 高可用性环境中运行。 集群管理器返回了一个使接管操作无法完成的错误。 接管操作失败。 参与接管操作的 DB2 高可用性灾难恢复 (HADR) 数据库将保持处于尝试接管操作前所处的状态。
11
不允许对启用了重放延迟的 HADR 备用数据库进行接管(强制接管或者非强制接管)。
12
HADR 备用数据库尝试了非强制接管(角色切换)。 在 DB2 pureScale 环境中,如果主数据库上的任何成员处于成员崩溃恢复 (MCR) 暂挂或进行中状态,那么不允许进行非强制接管。
15
不允许对正在升级的 HADR 备用数据库进行接管(强制接管或者非强制接管)。
16
在接管期间,暂挂的代理程序处于备用状态。
98
未安装有效的 HADR 许可证。 命令未成功完成。
99
在多分区实例环境中发出了该命令。
对应原因码的用户响应为:

1
等待日志流达到允许的条件,然后重试接管操作。 替代方法是使用 TAKEOVER HADR 命令的 BY FORCE 选项来执行故障转移。 BY FORCE 选项将允许在范围更广的条件下进行接管,但可能会导致数据丢失,并且不会将主数据库更改为备用数据库。
2
等待日志流完成本地同步复制,然后重试接管操作。
3
允许备用数据库花费更多时间达到联机备份的末尾,然后重新发出该命令。
4
标准数据库或 HADR 主数据库不支持此命令。 只对 HADR 备用数据库发出该命令。
5
激活备用数据库,然后发出接管命令。
6
请参阅两个 HADR 数据库分区上的数据库日志以了解产生此消息的可能原因。 数据库分区的角色可能尚未更改。 检查这两个数据库分区的 hadr_db_role 数据库配置参数的值。
7
请参阅两个 HADR 数据库上的数据库日志以了解产生此消息的可能原因。 可通过检查 hadr_db_role 配置参数值来确定此项。

执行角色切换时可能存在问题。

  • 如果数据库角色未更改,请在备用项上重新发出 TAKEOVER HADR 命令。
  • 如果两个数据库的角色都为 STANDBY,请在要用作主项的数据库上发出带 BY FORCE 选项的 TAKEOVER HADR 命令。
8
等待有冲突的命令完成,对于内部错误,请等待数据库关闭。 检查主数据库和备用数据库的 HADR 角色。 启动数据库,然后重试接管(如果您仍想执行此操作)。
9
要在对等窗口之外强制接管备用数据库,在不使用 PEER WINDOW ONLY 参数的情况下重新发出 TAKEOVER HADR 命令。 尽管支持在对等窗口之外强制接管备用数据库,但是在对等窗口之外接管时丢失事务的风险更大。

如果主数据库失败,而您又不想在对等窗口之外强制接管备用数据库,原因是这样做存在丢失数据或事务的风险,那么应考虑对主数据库故障作出与强制接管不同的其他响应。

在具有主数据库和备用数据库的高可用性解决方案中,对主数据库故障作出响应的一种常见策略是让备用数据库接管对失败主数据库执行的数据库操作。 但是,也可以采用其他策略对主数据库故障作出响应,这些策略包括:修复并重新启动失败的主数据库,而不是对备用数据库进行故障转移。 尽管此修复并重新启动策略比故障转移策略对用户应用程序的数据库解决方案可用性造成的负面影响更大,但是它也具备其他优点,例如,丢失数据或事务的风险更低。

10
复审集群管理器诊断信息以确定集群管理器所返回的错误。 如果可能,请修复集群管理器以消除错误原因并再次运行 TAKEOVER 命令。
11
通过将 hadr_replay_delay 配置参数设置为 0 来禁用重放延迟,并重新发出 TAKEOVER HADR 命令。
12
等待成员完成成员崩溃恢复,然后重试接管操作。
15
  • 如果并非立即需要连接至此数据库,请等待 UPGRADE DATABASE 命令在主数据库上完成,并留出时间以允许备用数据库重放从主数据库发送的所有升级日志记录,然后重新发出该命令。
  • 如果需要立即连接至此数据库,请发出 STOP HADR 命令以将 HADR 角色切换为 STANDARD。
16
重新启动实例以解析暂挂的代理程序,然后重新发出 TAKEOVER HADR 命令。
98
获取并安装有效的 HADR 许可证,然后重新提交该命令。
99
在多分区实例环境中,不支持 HADR。

SQL1771N

不可恢复数据库不能用作 HADR 主数据库或 HADR 备用数据库。 不能对 HADR 主角色或备用角色中的数据库使用循环日志记录。 HADR 要求可恢复的数据库。 要么将数据库转换为标准角色,要么不使用循环日志记录。

SQL1772N

不能对 HADR 主数据库或 HADR 备用数据库启用无限活动日志记录。 不能对 HADR 主角色或备用角色中的数据库使用无限活动日志记录。 要么将数据库转换为标准角色,要么不使用无限日志记录。

SQL1773N

该语句或命令失败,因为其需要使用允读的 HADR 备用数据库上不支持的功能。 原因码:原因码 该语句或命令失败。 与原因码对应的解释是:

1
使用了除 UR 之外的隔离级别,并且已关闭 DB2_STANDBY_ISO 注册表变量。
2
查询尝试访问无效索引。
3
尝试对允许读取的 HADR 备用数据库执行查询,并且该查询存在以下其中一个问题:

  • 该查询尝试使用无法在对允许读取的 HADR 备用数据库执行的查询中使用的数据类型。
  • 该查询尝试使用未在数据库表中存储为直接插入数据的 LOB 或 XML 值。
4
查询尝试访问已创建临时表或已声明临时表。
5
尝试对 HADR 备用数据库执行写操作。
6
操作尝试对 HADR 备用数据库执行隐式重新绑定。
7
尝试查询 HADR 备用数据库上按列组织的表。
8
尝试在 HADR 备用数据库上执行 SET INTEGRITY 语句。
对应原因码的用户响应为:

1
HADR 备用数据库只支持 UR 隔离级别。 请将隔离级别更改为 UR,或者将 DB2_STANDBY_ISO 注册表变量设置为 UR 以启用强制自动隔离功能。
2
系统不会自动重建 HADR 备用数据库的无效索引。 请将 HADR 主数据库的 LOGINDEXBUILD 数据库配置参数设置为 ON,以使 HADR 备用数据库的索引保持与主数据库的索引同步。
3
更改查询,以使其不使用任何无法在 HADR 备用数据库上读取的数据类型,并且不查询不是直接插入的 XML 和 LOB 值。
4
更改查询,以使其不访问已创建临时表或已声明临时表。
5
将此语句或命令更改为不需要执行写操作,或者连接到 HADR 主数据库以执行写操作。
6
连接到 HADR 主数据库以重新绑定程序包。
7
针对主数据库上按列组织的表发出查询。
8
在 HADR 主数据库上发出 SET INTEGRITY 语句。

sqlcode:-1773

sqlstate:51045

SQL1774N

不能对 HADR 主数据库或 HADR 备用数据库发出表空间复原或前滚命令。 不允许在 HADR 主数据库上进行表空间级还原和表空间级前移操作。

只允许对处于异常状态的表空间执行 HADR 备用数据库上的表空间级还原操作。 当表空间状态为正常(值 0)时,不允许执行复原操作。

不允许对 HADR 备用数据库进行表空间级的前滚操作。

请将数据库转换为标准角色,然后对该数据库发出复原命令或前滚。

如果目标是恢复主数据库上丢失的数据,而备用数据库上提供了要复原的数据,那么应考虑运行 TAKEOVER 命令来将备用数据库转换为主数据库而不是复原主数据库的表空间。

SQL1775N

未创建 HBase 表,因为 TERMINATED BY 字符 分隔符 无效。 在 TERMINATED BY 子句中使用的分隔符只能指定为一个单字节 ASCII 字符。 指定的分隔符 分隔符 包含多个字符,或者由一个多字节 Unicode 字符组成。 为此选项指定有效值。

sqlcode:-1775

sqlstate:530AE

SQL1776N

不能对 HADR 数据库发出此命令。 原因码:原因码 与原因码对应的解释是:

1
HADR 备用数据库不支持该命令。
2
当 HADR 数据库在接管期间切换角色时,不允许发出连接请求。
3
HADR 备用数据库不支持 UPGRADE DATABASE 命令。
4
当“仅回放”窗口处于活动状态时,不允许向 HADR 备用数据库发出连接请求。 但是,在回放对备用数据库执行的 DDL 或维护操作时,“仅回放”窗口处于活动状态。
5
在备用数据库到达上一次激活的备用数据库的最高回放日志位置之前,不允许向 HADR 备用数据库发出连接请求。
6
此数据库是旧的主数据库。 此数据库无法启动,因为备用数据库已通过强制接管来成为新的主数据库。
7
对 Db2 pureScale 集群重新启动备用回放时,无法处理此命令。
9
正在进行数据库升级时,不允许向 HADR 备用数据库发出连接请求。
对应原因码的用户响应为:

1
考虑在备用数据库上启用读取以允许客户机连接,或者连接到主数据库以执行此操作。
2
完成接管操作之后,重试连接至需要的数据库。 请注意,由于接管操作将重新确定主数据库的角色,因此,您需要的数据库现在可能在另一台服务器(不是它在接管之前所位于的服务器)上处于活动状态。
3
对主数据库发出 UPGRADE DATABASE 命令,然后在数据库升级成功后重新创建备用数据库。
4
连接至 HADR 主数据库,或者等待备用数据库上的“仅回放”窗口进入不活动状态。
5
在回放到达上一次激活的备用数据库的最高回放日志位置时,重新发出此命令。 请检查 db2diag.log 以获取此位置。 使用“db2pd -hadr”命令获取当前回放位置。
6
决定适用响应时,考虑以下场景:

6.1) 如果 HADR 主数据库正在另一服务器上运行,那么此服务器上的数据库应作为 HADR 备用数据库启动。 请执行以下步骤:

  • 对此服务器上的数据库发出 START HADR AS STANDBY 命令。
  • 通过检查 db2pd -hadr 命令的 HADR_CONNECT_STATUS 字段或对 HADR 主数据库执行 MON_GET_HADR() 表函数,验证此新 HADR 备用数据库是否建立了与 HADR 主数据库的连接。 请注意,如果无法建立连接,那么 HADR 主数据库上的管理通知日志中也会报告 ADM12513E 消息。
  • 如果此新 HADR 备用数据库无法建立与 HADR 主数据库的连接,那么需要根据 HADR 主数据库的备份映像完全重新初始化此新 HADR 备用数据库。 请参阅标题为“初始化高可用性灾难恢复 (HADR)”的 IBM Db2 Knowledge Center 文章。

6.2) 如果 HADR 主数据库未在另一服务器上运行(或无法运行),那么此服务器上的数据库应作为 HADR 主数据库启动。 请执行以下步骤:

  • 对此服务器上的数据库发出 STOP HADR 命令。
  • 如果希望在此服务器上将数据库作为 HADR 主数据库启动之前在另一服务器上建立 HADR 备用数据库,请参阅标题为“初始化高可用性灾难恢复 (HADR)”的 IBM Db2 Knowledge Center 文章。
  • 在此服务器上对数据库发出 START HADR AS PRIMARY 命令(如果还没有任何 HADR 备用数据库运行,请使用 START HADR AS PRIMARY BY FORCE 命令)。
7
在重新启动回放完成后,重新发出此命令。
9
确保在主数据库上发出 UPGRADE DATABASE 命令,并等待至备用数据库不再处于“升级中”状态,然后重新发出该命令。

sqlcode:-1776

sqlstate:08004

SQL1777N

已启动 HADR。 当对已经采用期望角色运行的数据库发出 START HADR 命令时产生了此错误。 不需要执行任何操作。

SQL1778N

未创建或变更 HBase 表,因为列映射无效。 原因码:原因码。 列名或映射名:名称 运行时标记 名称 表示 SQL 列或 HBase 列映射的名称。

原因码 是指示错误原因的数字值:

1
SQL 列“<name>”未映射到 HBase 列。 必须在 HBase COLUMN MAPPING 子句中指定所有 SQL 列。
2
在多个 HBase COLUMN MAPPING 子句中映射了 SQL 列“<name>”。 不能在多个 HBase COLUMN MAPPING 子句中指定同一 SQL 列。
3
在 COLUMN MAPPING 子句中多次提供了 HBase 键或列限定符名称。
4
未在 CREATE TABLE(HBASE) 语句中指定 KEY 列映射。 在未指定行键的情况下,无法创建 HBase 表。
更正 HBase 列映射中的错误,然后重新发出该语句。

sqlcode:-1778

sqlstate:530AF

SQL1779N

无法加载类型为class-type的 Java 类class-name。 日志条目标识 找不到在 类的类型 或类引用中指定的 Java 类 类名

类的类型 指示类的上下文,例如 SERDE、INPUTFORMAT、OUTPUTFORMAT 或 STORAGE HANDLER。

标记 日志条目标识 中的日志标识由以下三个部分组成:

  • 一个三字母前缀,指示哪个日志文件包含诊断详细信息。
  • 一个三位数字,指示日志文件所在的数据库分区。
  • 一个标识,打印在日志文件中相关诊断详细信息的附近。
检查所指定类名的拼写,并确保 Big SQL 可以访问包含该类的 JAR 文件。

通过使用 日志条目标识 运行时标记中的信息,找到相应日志文件中的诊断详细信息。 可以使用以下语句从日志中检索该错误的文本:

 SELECT * FROM Table (SYSHADOOP.LOG_ENTRY('log-entry-id')); 

sqlcode:-1779

sqlstate:46503

SQL1780N

未创建此表,因为带有代码页和整理的数据库不支持某种指定功能。 指定不受支持的功能的子句:子句。 数据库代码页:代码页。 数据库整理:整理 代码页是一种映射,用于确定字符的内部表示方式。 整理用于确定字符的比较方式(例如,用于排序或合并)。 数据库的代码页和整理是在创建数据库时设置的,不能更改。

对于某些代码页和整理,某种功能受到限制。

如果数据库代码页和整理不支持尝试创建的表将使用的功能,那么会返回此消息。

通过下列其中一种方式对此错误作出响应:

  • 请移除指定的功能,然后重新发出 SQL 语句。
  • 要使用所指定功能,请删除数据库,然后重新创建带有支持此功能的代码页和整理的数据库

sqlcode:-1780

sqlstate:560DB

SQL1781N

解析配置文件时出错。 配置类型:配置类型。 原因码:原因码 解析配置文件是为了设置数据库管理器实例。

如果解析配置文件时由于下列其中一种原因而发生错误,那么会返回此消息:

1
配置文件中的行无效。
2
配置文件中的行太长。
3
在配置文件中遇到 EOF 条件。
4
无法打开配置文件。
5
无法读取配置文件。
6
配置文件中缺少或者未设置某个参数。
7
配置文件中的某个参数具有无效值。 返回此消息并且原因码为 7 时,该参数的名称将包括在运行时标记值中。
更正外部密钥库配置文件中的所有错误,然后重新运行该命令。

SQL1782N

此命令或操作失败,因为访问集中式密钥管理器时遇到了错误。 原因码为 原因码 如果 KEYSTORE_TYPE 数据库管理器配置参数为 KMIP,那么 Db2 本机加密将加密密钥存储在集中式密钥管理器中。 要使用此功能,必须执行下列设置和配置任务:

  1. 配置集中式密钥管理器以存储加密对象,例如,私钥。
  2. 在 Db2 服务器与集中式密钥管理器之间配置 SSL。
  3. 创建集中式密钥管理器配置文件。
  4. 配置 Db2 数据库管理器以使用集中式密钥管理器配置文件(通过设置加密配置参数,例如,KEYSTORE_TYPE 和 KEYSTORE_LOCATION)。

如果数据库管理器无法连接至集中式密钥管理器或执行下列其中一种操作时从集中式密钥管理器返回错误,那么会返回此消息:

  • 创建加密数据库
  • 创建数据库的加密备份映像
  • 复原加密备份映像
  • 针对加密数据库发出 DB2 命令(例如,db2cklog)

原因码更具体地指示了失败的原因:

1
不允许自动创建新的主密钥和主密钥标签。
2
KEYSTORE_LOCATION 数据库管理器配置参数中指定的集中式密钥管理器配置文件不存在。
3
未提供密码(未隐藏打开 SSL 密钥库所需的密码,并且未在命令中提供密码)。
4
提供的密码(隐藏的密码或在命令中提供的密码)无效,无法访问 SSL 密钥库文件。
5
遇到了 SSL 错误 (ssl-error)。
6
集中式密钥管理器遇到了认证错误。
7
集中式密钥管理器遇到了授权错误。
8
集中式密钥管理器遇到了 KMIP 错误。
9
连接配置为使用 TLS 主机名验证。 连接到所指定的集中式密钥管理器时,主机名验证失败,因为密钥管理器的 TLS 证书不包含与集中式密钥管理器配置文件中所配置的值相匹配的主机名或 IP 地址。
请根据原因码解决问题,然后重新发出该命令:

1
集中式密钥管理器配置文件中的 ALLOW_KEY_INSERT_WITHOUT_KEYSTORE_BACKUP 参数设置为 false。 可在集中式密钥管理器中创建新的主密钥和主密钥标签并在命令上指定该主密钥密钥标签,或将 ALLOW_KEY_INSERT_WITHOUT_KEYSTORE_BACKUP 设置为 true。
2
将 KEYSTORE_LOCATION 数据库管理器配置参数设置为有效的文件名。
3 和 4
通过下列其中一种方式为 Db2 服务器提供用于访问 SSL 密钥库文件的有效密码:

  • 重新创建隐藏项文件
  • 提供密钥库密码作为命令的自变量
5
在 SSL 错误列表(网址为 http://www-01.ibm.com/support/knowledgecenter/SSAL2T_8.1.0/com.ibm.cics.tx.doc/reference/r_gskit_error_codes.html)中查看该错误。 更正导致该 SSL 错误的问题,然后重新发出该命令。 如果该 SSL 错误继续发生,请与 IBM 软件支持机构联系以获取帮助。
6
查看 db2diag 诊断日志文件中显示的认证错误,更正导致认证错误的问题,然后重新发出该命令。
7
查看 db2diag 诊断日志文件中显示的授权错误,更正导致授权错误的问题,然后重新发出该命令。
8
查看 db2diag 诊断日志文件中显示的 KMIP 错误,更正导致 KMIP 错误的问题,然后重新发出该命令。 如果已设置 DEVICE_GROUP 配置参数并且所使用密钥库并非 IBM Security Key Lifecycle Manager (ISKLM),请从配置文件中移除该参数。
9
打开 db2diag.log 文件,并检查集中式密钥管理器证书的公共名和主题备用名 (SAN) 字段。 这些字段中包含为其颁发证书的主机名或 IP 地址。 请确保系统管理员已在密钥管理器上设置了正确的证书。 请查阅特定于供应商的 KMIP 文档,以了解有关如何创建正确证书的信息。

如果集中式密钥管理器使用了正确的证书,并且在集中式密钥管理器配置文件中也指定了正确的主机名,那么此错误将表明存在安全风险。 该通信可能已被恶意主机拦截。

SQL1783N

此命令或操作失败,因为访问 PKCS #11 密钥管理器时遇到了错误。 原因码为 原因码 如果 KEYSTORE_TYPE 数据库管理器配置参数为 PKCS11,那么 DB2 本机加密将加密密钥存储在 PKCS #11 密钥管理器中。 要使用此功能,必须执行下列设置和配置任务:

  1. 配置 PKCS #11 密钥管理器以存储加密对象,例如,私钥。
  2. 配置 PKCS #11 供应商库以访问 PKCS #11 密钥管理器。
  3. 创建 PKCS #11 密钥管理器配置文件。
  4. 配置 DB2 数据库管理器以使用 PKCS #11 密钥管理器配置文件(通过设置加密配置参数,例如,KEYSTORE_TYPE 和 KEYSTORE_LOCATION)。

如果数据库管理器无法连接至 PKCS #11 密钥管理器或执行下列其中一种操作时从 PKCS #11 密钥管理器返回错误,那么会返回此消息:

  • 创建加密数据库
  • 创建数据库的加密备份映像
  • 复原加密备份映像
  • 针对加密数据库发出 DB2 命令(例如,db2cklog)

原因码更具体地指示了失败的原因:

1
KEYSTORE_LOCATION 数据库管理器配置参数中指定的 PKCS #11 密钥管理器配置文件不存在。
2
未提供密码(未隐藏访问 PKCS #11 密钥管理器所需的密码,并且未在命令中提供密码)。
3
提供的密码(隐藏的密码或在命令中提供的密码)无效,无法访问 PKCS #11 密钥管理器。
4
提供的密码(隐藏的密码或在命令中提供的密码)被锁定。
5
提供的密码(隐藏的密码或在命令中提供的密码)已到期。
6
提供的密码(隐藏的密码或在命令中提供的密码)未初始化。
7
PKCS #11 密钥管理器遇到了意外错误。 此错误包含在运行时标记值中。
8
无法装入 PKCS #11 配置文件中指定的 PKCS #11 供应商库。
请根据原因码解决问题,然后重新发出该命令:

1
将 KEYSTORE_LOCATION 数据库管理器配置参数设置为有效的文件名。
2 和 3
通过下列其中一种方式为数据库服务器提供用于访问 PKCS #11 密钥管理器的有效密码:

  • 重新创建隐藏项文件
  • 提供 PKCS #11 密钥管理器密码作为命令的自变量
4、5 和 6
更正 PKCS #11 密钥管理器中的密码的状态,然后重新发出该命令。
7
查看 db2diag 诊断日志文件中显示的 PKCS #11 密钥管理器错误,更正导致该错误的问题,然后重新发出该命令。
8
查看 db2diag 诊断日志文件中显示的错误,更正导致该错误的问题,然后重新发出该命令。

SQL1784N

该操作失败,因为数据库对象已在更高代码级别进行了修改并且无法从当前代码级别访问。 数据库对象名称:对象名称。 对象代码级别标记:标记 1。 当前代码级别标记:标记 2 在下列情况下将返回此消息:

  1. 您正在使用位于特定版本或修订包级别(代码级别 B)的数据库软件,并且在运行该软件时修改了数据库对象 X。
  2. 您后退至之前代码级别 A。
  3. 在代码级别 A 上运行时,您尝试访问对象 X。

遇到代码级别问题的数据库对象列示在运行时令牌 对象名称 中。 运行时令牌 标记 1 和 标记 2 供 IBM 支持人员在必要时使用。

  1. 再次应用较高修订包代码级别(说明中描述的“代码级别 B”)。
  2. 如果需要执行后退操作,请删除运行时令牌 对象名称 中指定的对象,后退至之前修订包代码级别(说明中描述的“代码级别 A”),然后重新创建该对象。

SQL1786N

DB2START 处理失败,因为 netmon.cf 文件无效。 成员或 CF 无法启动,因为未正确配置 /var/ct/cfg/netmon.cf 文件。 查看诊断 (db2diag) 日志文件以确定 /var/ct/cfg/netmon.cf 文件中的配置错误。

更正配置错误。 停止然后重新启动对等域,随后重新发出 db2start 命令。

SQL1790W

找不到页大小至少为 页大小 且许可其使用授权标识 授权标识 的缺省表空间。 过程 NNSTAT 无法创建 SYSPROC.FED_STATS 表来保存已运行的语句的历史记录。 找不到具有足够页大小(至少为 页大小)的表空间。 确保存在页大小至少为 页大小 的表空间。

sqlcode:+1790

sqlcode:01670

SQL1791N

指定的服务器定义、模式或昵称不存在。 过程 NNSTAT 接受将服务器定义、模式和昵称作为输入,但是找不到这些对象中的一个或多个对象。 指定现有的服务器定义、模式或昵称,然后重新提交该语句。

sqlcode:-1791

sqlstate:42704

SQL1792W

由于远程目录与本地目录之间的模式不一致,因此,未彻底更新指定昵称的统计信息。 更改了远程模式。 自从创建昵称以来,更改了远程表或视图或者它的其中一列或列数据类型。 创建新的昵称并重新提交该语句。

sqlcode:+1792

sqlcode:01669

SQL1796I

逻辑备份实用程序已成功完成,备份映像的时间戳记为 时间戳记 逻辑备份实用程序已成功生成了备份映像。 请参阅时间戳记以在将来使用该映像。 不需要执行任何操作。 处理可以继续。

sqlcode: +1796

sqlstate: 01541

SQL1797N

实用程序名称 实用程序失败,发生错误 错误消息 由 utility-name 标识的实用程序遇到了错误并已终止。 请参阅错误文本以及任何相关日志文件以获取详细信息,更正错误,然后再次运行该实用程序。

sqlcode: -1797

sqlstate: 5UA0Q

SQL1800N

将指向结构 sqle_request_info 的无效指针传送给了目录管理命令/API。 作为参数传送给目录管理命令/API 的、指向结构 sqle_request_info 的指针无效。 对于“客户机配置助手”的请求,此指针不能为 NULL。 指定一个指向 sqle_request_info 的有效指针并重新提交该命令。

SQL1801N

无效的请求类型。 此命令不支持指定的请求类型。

确保请求类型是下列受支持的请求类型之一:

  1. SQLE_CCA_REQUEST – 用于编目和打开扫描命令的 CCA 目录节点请求
  2. SQLE_DAS_REQUEST – 用于编目和打开扫描命令的 DAS 目录节点请求
  3. SQLE_CND_REQUEST – 用于 CCA 和 DAS 目录条目的打开扫描命令

SQL1802N

没有任何条目属于请求类型。 节点目录中没有任何条目是按给定的请求类型来编目的。 编目具有相同请求类型的条目,再重新提交该命令。

SQL1803N

无法对正在使用的 CLI 动态 SQL 程序包执行所请求操作,或者无法对任何程序包执行所请求操作(处于“无程序包锁定”方式时)。 受影响程序包为 pkgschema.pkgname_0Xcontoken 禁止尝试修改程序包。 此情况可能由下列其中一个原因导致:

  1. 该程序包是 CLI 动态 SQL 程序包(程序包模式为 NULLID,并且程序包名称以 SYSSH、SYSSN、SYSLH 或 SYSLN 开头),如果工作单元中的另一应用程序当前正在使用该程序包,那么不允许执行操作(重新绑定程序包、删除程序包或使程序包失效)。
  2. 数据库管理器当前正在以“无程序包锁定”方式运行。 已通过将 DB2_APM_PERFORMANCE 注册表环境变量设置为“ON”来激活此方式。

在“无程序包锁定”方式下,以下操作类因为对程序包的影响而被阻止执行:

  • 使程序包失效的操作。
  • 使程序包不工作的操作。
  • 绑定、重新绑定(显式或隐式)或删除程序包。

因为所请求操作将通过下列其中一种方式影响程序包 pkgschema.pkgname_0Xcontoken,所以该操作被禁止。

  1. 如果该程序包是 CLI 动态 SQL 程序包,那么仅应在没有其他活动连接使用 CLI 程序包时尝试此操作。
  2. 如果“无程序包锁定”处于活动状态,请不要在“无程序包锁定”方式下尝试被禁止操作。 为了执行请求的操作,必须退出“无程序包锁定”方式。 这是通过取消设置 DB2_APM_PERFORMANCE 环境注册表变量来完成的。 为了使变量更改生效,必须停止然后再重新启动数据库管理器。

sqlcode:-1803

sqlstate:57056

SQL1804N

无法对当前连接执行此语句,因为该连接已经有一个活动语句,而数据源尚不支持对单个连接执行多个活动语句。 联合数据源名称:数据源名称 可以通过将 DB2_ONE_REQUEST_PER_CONNECTION 服务器选项设置为 ‘Y’,从而将联合数据源配置为与仅支持对连接执行一个活动语句的 ODBC 驱动程序配合使用。 通常,如果您正在使用可支持对连接执行多个活动语句的 ODBC 驱动程序,那么根本就不应设置 DB2_ONE_REQUEST_PER_CONNECTION 服务器选项,或者应当将它设置为 ‘N’。

对于已将 DB2_ONE_REQUEST_PER_CONNECTION 服务器选项设置为 ‘Y’ 的联合数据源,如果尝试对一个连接执行多个语句,那么会返回此消息。

通过下列其中一种方式对此错误作出响应:

  • 对于任何连接,一次仅执行一个语句。
  • 通过使用 ALTER SERVER 语句并将 DB2_ONE_REQUEST_PER_CONNECTION 服务器选项设置为 ‘N’,从而支持对一个连接同时执行多个语句:
     ALTER SERVER <server-name> OPTIONS(      ADD DB2_ONE_REQUEST_PER_CONNECTION 'N') 

sqlcode:-1804

sqlstate:57064

SQL1805N

未处理插入、更新或删除操作,因为此操作采用昵称的方式不受支持。 昵称是应用程序用来引用数据源对象(例如,表或视图)的标识。 在联合环境中,要引用存在于联合系统中但并不存在于联合数据库中的对象,必须使用昵称或三部分名称。

在联合环境中,要在插入、更新或删除操作中使用昵称,存在一些限制。 这些限制包括下列示例:

  • 嵌套在大型 SQL 语句的子句中的 INSERT、UPDATE 或 DELETE 语句不能引用昵称。
  • 用于执行插入、更新或删除操作的 SQL 过程不能引用昵称。
  • 位于触发器主体中的插入、更新或删除操作不能引用昵称。

如果尝试在插入、更新或删除操作中采用其中一种不受支持的方式来使用昵称,就会返回此消息。

通过下列其中一种方式对此消息作出响应:

  • 要更新存在于联合系统中、但是并不存在于联合数据库中的数据源对象,请使用除了复合 SQL 语句、SQL 过程或触发器之外的方法。
  • 从复合 SQL 语句、SQL 过程或触发器中移除对于昵称或者由三部分组成的联合名称的插入、更新或删除操作。

sqlcode:-1805

sqlstate:429A9

SQL1806N

两阶段落实事务失败,因为此事务分布在联合服务器拓扑中,而这种拓扑对于两阶段落实事务无效。 在用于两阶段落实事务的 X/Open 分布式事务处理 (DTP) 模型中有多个组件:

  • 事务标识
  • 事务管理器
  • 资源管理器

在联合系统中,还有另外一个组件:

  • 联合服务器成为联合事务管理器

联合事务管理器代表事务管理器执行一些事务管理功能,并使用 XA 接口与事务管理器进行通信。 联合事务管理器接收来自客户机或事务管理器的两阶段落实请求,又向联合数据源发送联合两阶段落实请求。

如果一个联合服务器 B 接收来自另一个联合服务器 A 的联合两阶段落实请求,而联合服务器 B 必须向联合数据源 C 发送联合两阶段落实请求,那么会返回此消息。

  1. 请查看失败的事务以及失败事务中涉及到的联合服务器和远程数据源的拓扑。
  2. 请修改联合服务器和远程数据源的拓扑,以使得没有任何联合服务器必须在同一事务中既接收联合两阶段落实请求,又向数据源发送联合两阶段落实请求。

sqlcode:-1806

sqlstate:25503

SQL1807N

对联合数据源执行 SQL 语句失败,因为所指定的数据源不支持该 SQL 语句的某些部分。 联合数据源名称:数据源名称。 不受支持的子句:子句 不同的联合数据源支持不同的 SQL 语句语法。 如果尝试使用所指定联合数据源不支持的 SQL 语法或 SQL 子句,或者 SQL 语法或 SQL 子句与所指定联合数据源的当前配置不兼容,就会返回此消息。

可能会由于下列原因而返回此消息:

  • 尝试对联合数据源执行 SQL 语句时,为某个值指定了 DEFAULT 关键字,但是此联合数据源不支持执行其查询语言语法中具有 DEFAULT 关键字的 SQL 语句。
  • 尝试对联合数据源打开可更新的游标,但是此联合数据源已配置为不允许执行插入、更新或删除操作。 具体来说,对一个其 DB2_IUD_ENABLE 服务器选项设置为 ‘N’ 的数据源执行了包含 FOR UPDATE OF 子句的语句。
请根据返回此消息的原因对此消息作出响应:

  • 如果该语句包括 DEFAULT 关键字,那么重写该语句,使其不带 DEFAULT 关键字,然后再次执行该语句。
  • 如果您正在尝试打开游标,请通过下列其中一种方式作出响应:
    • 如果要为其创建游标的语句并不用于插入、更新或删除数据,那么作为只读游标来重新创建游标。
    • 使用以下命令并通过将 DB2_IUD_ENABLE 设置为 ‘Y’ 来启用插入、更新和删除操作:
       ALTER SERVER <server-name> OPTIONS(      ADD DB2_IUD_ENABLE 'Y') 

      将此数据源配置为允许执行插入、更新和删除操作之后,重新创建游标。

SQL1808N

执行 SQL 语句失败,因为查询优化器生成了对于联合环境无效的存取方案。 原因码:原因码 存取方案指定一系列操作的顺序,这些操作是用于访问在解析可说明语句时所需数据的操作。 每当编译了可说明的 SQL 语句或 XQuery 语句,查询优化器就会生成存取方案。

如果优化器已经生成了对于联合环境无效的存取方案,就会返回此消息。 原因码会指出存取方案的哪一方面无效:

1
找不到谓词的某一部分。
2
该语句包括定位更新操作或定位删除操作。 定位更新或删除操作是用于修改结果集数据的更新或删除操作。 定位更新和删除操作需要使用游标。
3
在昵称的列中找不到某个元素。

此信息是关于存取方案的哪些方面无效,仅对于 IBM 技术支持人员有用。

请执行以下步骤以解决此错误:

  1. 重写此语句,以使优化器创建另外的存取方案。
  2. 再次执行此语句。
  3. 如果此语句在重写之后仍然失败,请收集诊断信息并与 IBM 支持机构联系以获取帮助。

sqlcode:-1808

sqlstate:58004

SQL1809N

可信包装器中的插入、更新或删除操作失败,因为在此包装器的主体中,查询的一部分必须在本地进行求值。 包装器名称:包装器名称 不支持在本地数据库分区中执行引用昵称或者由三部分组成的联合名称的插入、更新或删除操作。

对于使用可信包装器在本地数据库分区中查询某个表的 SQL 语句,在尝试打开该语句的结果集中的可更新游标时,就会返回此消息。

通过下列其中一种方式对此错误作出响应:

  • 如果不需要执行插入、更新或删除操作,那么以只读方式重新打开此游标。
  • 在 DB2_FENCED 包装器选项设置为 ‘Y’ 的情况下,使用 ALTER WRAPPER 语句来改变此包装器,使其不再可信,然后重新打开此游标。

SQL1810N

未执行 INSERT 或 UPDATE 语句,或者无法打开游标,因为该语句中既包含一些必须在本地求值的元素,也包含一些必须远程求值的元素。 在联合环境中,有许多因素会影响 SQL 语句的组成部分是在本地求值还是远程求值,下面是一些影响因素的示例:

  • 有时候,SQL 语句的组成部分是在本地执行而不是远程执行,因为查询优化器确定在本地执行效率会更高。
  • 其他时间,SQL 语句的组成部分是在本地执行,因为它们无法在远程数据源进行求值。 例如:
    • 如果一个语句中的表达式包含远程数据源不支持的函数或语法,那么必须在本地对此语句进行求值。
    • 附带 VALUES 子句的 INSERT 语句和附带 SET 子句的 UPDATE 语句都必须在本地进行求值。

在下列情况下将返回此消息:

  • 尝试对一个引用了联合数据源中的表的查询的结果集执行定位更新,但是该查询中的表达式只能在本地进行求值。
  • 尝试执行的语句中既包含一些只能在本地求值的元素,也包含一些只能远程求值的元素。
通过下列其中一种方式对此错误作出响应:

  • 将该语句改变为既不使用带有 VALUES 子句的 INSERT 语句,也不使用带有 SET 子句的 UPDATE 语句,然后再次执行该语句。
  • 如果尝试打开结果集中的游标时返回了此消息,并且不需要执行更新或删除操作,那么以只读方式重新打开此游标。
  • 改变该语句,使其不包含数据源不支持的元素,从而让联合数据库将该语句发送至联合数据源,而不在本地对该语句进行求值。

SQL1811N

该语句失败,因为联合两阶段落实事务不支持联合服务器或数据源的某些方面。 原因码:原因码 原因码指示在此上下文中不受支持的配置或功能:

1
联合两阶段落实事务不支持该联合数据源。
2
该联合服务器包含在 DB2 集群中,并且正在使用高可用性灾难恢复 (HADR) 功能。
3
该联合服务器包含在 DB2 集群中,并且是分区数据库。
4
该联合服务器包含在 DB2 集群中,并且正在进行联机更新。
请根据原因码对此消息作出响应:

1
通过下列其中一种方式对原因码 1 作出响应:

  • 要访问所指定数据源中的数据,请不要使用两阶段落实事务。
  • 要使用两阶段落实事务,事务中不应包括所指定数据源。
1 和 2
要使用两阶段落实事务,事务中不应包括所指定数据源。
3
等待联机更新完成,然后再次执行该事务。

sqlcode:-1811

sqlstate:560D7

SQL1812W

列 列名 的长度从 远程列长度 减少至 列长度 发出 CREATE NICKNAME 语句时,联合服务器对该远程数据源对象中的每个列或字段定义本地数据类型。 为改进查询处理的性能,列 列名 的远程列长度 远程列长度 减少至 列长度。 当远程表包含超过 列长度 字节的长值时,可能发生截断。 检查远程表并确定使用大规模类型(例如 STRING 或 BINARY)的列。 在昵称的本地列规范中,使用 ALTER NICKNAME 语句更改对应上一步中确定的列的列数据类型。 确保列大小足以容纳远程数据源中的数据。

sqlcode:+1812

sqlstate:0169E

SQL1815N

当数据库分区功能处于启用状态时,XML 数据不支持联合功能。 当数据库分区功能处于启用状态时,您不能为包含 XML 数据类型列的远程表创建昵称。 要对 XML 数据使用联合功能,请在未启用数据库分区功能的情况下创建新的数据库实例。

sqlcode:-1815

sqlstate:55076

SQL1816N

不能使用包装器 包装器名 来访问您尝试为联合数据库定义的数据源的 类型或版本服务器类型 服务器版本)。 指定的包装器不支持想要定义的数据源的类型或版本。 请参阅文档以了解哪个包装器支持您想定义的数据源的类型和版本。 确保已经通过 CREATE WRAPPER 语句向联合数据库注册了该包装器。 然后,对 CREATE SERVER 语句重新编码以使它指定此包装器,然后再次运行 CREATE SERVER 语句。

sqlcode:-1816

sqlstate:560AC

SQL1817N

CREATE SERVER 语句不标识您想为联合数据库定义的数据源的 类型或版本 当 CREATE SERVER 语句引用您指定的包装器时,它还必须标识要为联合数据库定义的数据源的 类型或版本 在 CREATE SERVER 语句中对 类型或版本 选项进行编码,以便它指定要定义的数据源的 类型或版本。 然后再次运行 CREATE SERVER 语句。

sqlcode:-1817

sqlstate:428EU

SQL1818N

无法处理您提交的 ALTER SERVER 语句。 在工作单元中,ALTER SERVER 语句的前面是一个 SELECT 语句,该 SELECT 语句引用 ALTER SERVER 语句所引用的数据源(或数据源的类别)中表或视图的昵称。 让该工作单元结束;然后重新提交 ALTER SERVER 语句。

sqlcode:-1818

sqlstate:55007

SQL1819N

无法处理您提交的 DROP SERVER 语句。 在工作单元中,DROP SERVER 语句的前面是一个 SELECT 语句,该 SELECT 语句引用 DROP SERVER 语句所引用的数据源(或数据源的类别)中的表或视图的昵称。 让该工作单元结束;然后重新提交 DROP SERVER 语句。

sqlcode:-1819

sqlstate:55006

SQL1820N

对 LOB 值的操作失败。 原因码=Reason-code

可能的原因码是:

  1. 没有足够的缓冲区空间用来存储 LOB 值。
  2. 远程数据源不支持对 LOB 数据类型的当前操作。
  3. 超过了某些内部编程限制。
减小 LOB 的大小或替换正在应用于 LOB 数据类型的函数。 在万不得已的情况下,从语句中移除 LOB 数据类型。

sqlcode:-1820

sqlstate:560A0

SQL1821W

可能更改了检索到的 LOB 值。 LOB 值是以延迟的检索为基础求得的。 在首次访问 LOB 值与实际检索到该值的时间段内,该值可能已更改。 在 SYSSERVEROPTIONS 中将“deferred_lob_retrieval”设置为“N”,重新提交您的查询或忽略警告。

sqlcode:+1821

sqlstate:01621

SQL1822N

从数据源data-source-name 接收到意外错误代码error-code。 相关联的文本和标记为 标记 引用数据源时,联合服务器从未映射至 DB2 等价数据源的数据源中接收到意外的错误代码。

可能的错误代码包括:

  • 4901 尝试打开多于 15 个游标
  • 4902 行大小超过 32K 限制

如果数据源不可用,可能也会返回此错误。

请确保数据源可用,然后通过找到该数据源中指定的错误的相应消息正文和更正操作,确定并更正该问题的根本原因。

sqlcode:-1822

sqlstate:560BD

SQL1823N

服务器服务器名称的数据类型data-type-name不存在数据类型映射。 尝试创建对象的昵称。 该对象有一列或多列的类型是联合服务器当前不知道的。 消息中列示了未知类型的名称。 使用 CREATE TYPE MAPPING 语句创建指定服务器上的指定类型名的映射。

sqlcode:-1823

sqlstate:428C5

SQL1824W

此 UNION ALL 的操作数中的一些基本表可能是相同的表。 昵称可以引用远程基本表、远程视图、远程别名/同义词或远程昵称。 如果 UNION ALL 视图的两个操作数引用不同的昵称,那么它们可能潜在地指向同一个表(如果不是这两个操作数都被认为是远程基本表)。 发出此消息是用于警告用户:通过两个操作数进行更新/删除可能会更新/删除一个远程基本表两次。 验证是否所有操作数都指向不同的远程表。 如果两个操作数指向同一远程基本表,应考虑发出回滚以取消更新/删除操作。

sqlcode:+1824

sqlstate:01620

SQL1825N

对联合数据源执行 SQL 语句失败,因为该语句的某些部分在联合环境中不受支持。 联合数据源名称:数据源名称。 原因码:原因码 在联合系统中使用 INSERT、UPDATE 或 DELETE 语句时存在一些限制。

原因码指出了返回此消息的特殊原因:

1
尝试通过联合数据库插入、更新或删除 LOB 数据。
2
尝试对一个通过 UNION ALL 子句创建的视图执行插入、更新或删除操作。
请根据原因码对此消息作出响应:

1
通过所指定的数据源中的本机接口对此数据源执行插入、更新或删除 LOB 数据。
2
重写此语句,以使插入、更新或删除操作不使用 UNION ALL 视图,然后再次执行该语句。

sqlcode:-1825

sqlstate:429A9

SQL1826N

为系统目录对象object-name中的列column-name 指定了无效 对系统目录对象 对象名 中的列 列名 指定了无效值 

无法处理该语句。

请参阅 SQL Reference 以获取指定系统目录对象中的指定列的有效值。 更正该语句,然后重新发出该语句。

sqlcode:-1826

sqlstate:23521

SQL1827N

未定义从本地授权标识 授权标识 至服务器 服务器名 的用户映射。 尝试删除或改变未定义的用户映射。 如果它是 ALTER USER MAPPING 语句,那么首先使用 CREATE USER MAPPING 语句来创建用户映射。 然后,改变用户映射。 如果它是 DROP USER MAPPING 语句,那么不需要执行额外操作,因为用户映射不存在。

sqlcode:-1827

sqlstate:42704

SQL1828N

No server option 选项名 is defined for remote server 服务器名 or for a group of remote servers: server type 服务器类型, version 服务器版本, and protocol 服务器协议. 尝试删除或改变未定义的服务器选项。 如果它是 ALTER SERVER 语句,那么首先使用 CREATE SERVER 语句创建服务器选项。 然后,改变服务器选项。 如果它是 DROP SERVER 语句,那么无需任何额外操作,因为服务器的服务器选项不存在。

sqlcode:-1828

sqlstate:42704

SQL1829W

联合服务器收到来自数据源服务器名称的警告信息warning-code。 相关联的文本和标记为 标记 在数据源 服务器名称 处发生了未知警告 警告代码。 该消息的标记是 标记 请使用数据源的诊断信息来确定是否要执行任何可能的更正操作。

sqlcode:+1829

sqlstate:0168O

SQL1830N

必须在使用 EXPRESSION AS 子句的谓词规范之前指定 RETURNS 子句。 在包括 EXPRESSION AS 子句的 PREDICATE 子句之前,未指定 RETURNS 子句。 RETURNS 子句可能已经包括在谓词规范之后或缺少该子句。

无法处理该语句。

指定 CREATE FUNCTION 语句时,将 RESULTS 子句置于 PREDICATE 子句之前。

sqlcode:-1830

sqlstate:42627

SQL1831N

不能更新子表 子表名 的表统计信息。 该语句尝试更新定义为子表的表 子表名 的 NPAGES、FPAGES 或 OVERFLOW 的统计信息值。 对于类型表,只能使用表层次结构的根表来更新这些统计信息。

无法处理该语句。

更新表层次结构的根表而不是子表的目录统计信息。

sqlcode:-1831

sqlstate:428DY

SQL1832N

不能使用例程 例程名 来定义过滤器,因为它被定义为 SQL 函数。 在用户定义的谓词规范或索引扩展定义的 FILTER 子句中指定了例程(函数或方法)例程名。 不能用 LANGUAGE SQL 来定义该例程。

无法处理该语句。

指定一个不是用 LANGUAGE SQL 定义的例程。

sqlcode:-1832

sqlstate:429B4

SQL1833N

与远程扩展搜索服务器host_nameport_number端口的连接无法建立或已终止。 “Extended Search 包装器”尝试在端口 端口号 上连接至远程“Extended Search 服务器”主机名,但无法建立连接,或者远程服务器已终止了该连接。 验证远程“Extended Search 服务器”的“主机名”和“端口号”。 并且,检查“Extended Search 服务器”是否已启动并正在运行。

SQL1834N

用户定义的列 列名 与包装器 包装器名 的固定列完全相同,但它使用另一种数据类型。 CREATE NICKNAME 语句或 ALTER NICKNAME 语句包含一个用户定义的列,其名称与包装器 包装器名 的固定列相同,但使用不同的数据类型。 不要在 CREATE NICKNAME 语句的列定义中指定包装器 包装器名 的固定列。 但是,如果指定了固定列,那么固定列名和数据类型/数据类型长度必须与固定列定义相匹配。 不允许改变固定列名或数据类型。

SQL1835N

在远程“Extended Search 服务器”es-主机名 上找不到类型为 对象类型 的 Extended Search 对象 对象名 在远程“Extended Search 服务器”es-主机名 上找不到类型为 对象类型 的 Extended Search 对象 对象名 验证该对象名在此服务器上是否已定义并且具有类型 对象类型

SQL1836N

在用户定义的列 列名 与远程 Extended Search Server es-主机名 上的字段名之间不存在列映射。 选项 DATASOURCE 或选项 CATEGORY 中指定的数据源都没有包含与用户定义的列 列名 完全相同的字段名。

验证是否已将该列名定义为下列其中一项中的字段:

  • 选项 DATASOURCE 中指定的任何数据源
  • 选项 CATEGORY 中指定的类别中的数据源。

SQL1837N

选项类型 object_name的必选项option_name无法删除。 某些选项对联合是必需的。 不能删除该选项。 请参阅此数据源的联合文档以确定是否可以将该选项设置为另一个值。 可能有必要删除相关联的对象。

sqlcode:-1837

sqlstate:428GA

SQL1838N

搜索语句 语句 不是有效的 Extended Search 查询。 Extended Search 包装器尝试处理所列示的搜索语句,但由于语法不正确,因此查询失败。 更正搜索语句并再次提交请求。 请查阅文档,以了解有关使用“Extended Search 昵称”创建有效 SQL 搜索语句的信息。

SQL1839N

一个或多个搜索参数无效。 Extended Search 包装器尝试使用指定的搜索参数,但它们对 Extended Search 无效。 请查阅《IBM DB2 Life Sciences Data Connect 规划、安装和配置指南》(『Extended Search 包装器』部分),以了解有关如何编写有效 SQL 语句的信息。

SQL1840N

不能将 选项类型 选项 选项名 添加至 对象名 对象。 不能添加该选项。 某些选项是由对象设置的,您不能对其进行添加或覆盖。 请参阅此数据源的联合文档。 确定对与此对象相关联的选项有效的操作。

sqlcode:-1840

sqlstate:428GA

SQL1841N

不能更改选项类型对象的对象名选项选项名值。 不能更改该选项值。 某些选项是由对象设置的,您不能对其进行添加或覆盖。 请参阅此数据源的联合文档。 确定对与此对象相关联的选项有效的操作。 可能有必要删除相关联的对象,然后使用新选项值再次创建该对象。 如果产生此消息以响应 SET SERVER OPTION 语句,那么可能有必要使用 ALTER SERVER 语句。

sqlcode:-1841

sqlstate:428GA

SQL1842N

Option 选项名 of type 选项类型 for object 对象名 found near 文本 is not valid. 原因码为 Reason-code 指定选项的语法无效或者不能将该选项设置为指定值。 原因码提供了有关该错误的更多信息。 原因码为:

01
意外的字符。
02
找不到需要的元素名称或属性名称。
03
引用后需要最小/最大出现次数。
04
在属性名中找到多个冒号。
05
最小/最大出现次数不是整数值。
06
最小/最大出现次数超出范围。
07
最小出现次数大于最大出现次数。
08
列模板选项中的引用不是“列”。
09
名称空间规范中丢失了“=”定界符。
10
名称空间规范中缺少开始或结束引号。
11
模板中存在重复引用。
12
当数据库管理器实例为 32 位实例时,不允许使用包装器选项 选项名
13
两个包装器选项或选项值不兼容。 仅当“DB2_FENCED”设置为“Y”时,包装器选项 选项名 才有效。
14
包装器选项 选项名 在此特殊平台上不受支持。
15
包装器无法装入至此特定平台上的 DB2 线程引擎,因为它不是线程安全的。
16
wait-time 参数的最小有效值为 1000 毫秒。
请参阅此数据源的联合文档。 确定正确的选项语法并重新编码该语句。 原因码为:

01
检查指定位置附近的选项值并更改或移除无效字符。
02
检查指定位置附近的选项值并更正语法。
03
确保范围规范“[最小,最大]”跟在模板选项值中每个引用的后面。
04
模板仅支持一个名称规范级别。 移除额外的规范。
05
确保范围规范的最小出现次数值和最大出现次数值是整数。
06
确保范围规范“[最小,最大]”的值在此数据源的允许范围内。
07
更正范围规范。 确保第一个数字小于或等于第二个数字。
08
将列模板选项值中的引用替换为标记“列”。
(09,10)
使用格式“名称 =“规范””重新编码名称空间选项值。
11
重新编码该模板。 确保没有重复引用。
12
不要对 32 位数据库管理器实例指定包装器选项 选项名
13
检查“DB2_FENCED”包装器选项的选项值。
14
参阅 SQL Reference 以验证您想要的包装器选项。 为此数据源安装并使用 64 位客户机。
15
为“DB2_FENCED”包装器选项指定值“Y”。
16
使用 wait-time 的有效值再次发出该语句。

sqlcode:-1842

sqlstate:42616

SQL1843N

对于nickname-name.column-name昵称列,不支持操作符-名称操作符。 某些数据源限制可以对昵称列指定的运算符。 请参阅此数据源的联合文档。 重新编码该语句并移除或更改无效表达式。 然后再次提交该语句。

sqlcode:-1843

sqlstate:429BP

SQL1844W

在远程数据源与联合服务器之间截断了列 列名 的数据。 在远程数据源与联合服务器之间传送数据时截断了字符。 截断可以在许多情况下发生。 某些这些情况包括不正确的昵称列定义(列对于远程数据源列数据太小)或存在限制由远程数据源返回的数据大小的转换或类型强制类型转换函数。 要更正此问题,检查该语句以找到可能正限制从远程数据源返回的数据大小的任何类型强制类型转换或转换函数。 如果该语句包含这些函数,那么重新编码该语句以允许从数据源返回更大的数据。 然后再次提交该语句。 如果该语句不包含这些函数,或者如果更正函数不更正该问题,那么检查 DB2 目录的昵称中的本地列规范。 通过使用 ALTER NICKNAME 语句或 DROP NICKNAME 和 CREATE NICKNAME 语句,更改列规范以确保列大小足够大,以致能够容纳远程数据源返回的数据。

sqlcode:+1844

sqlstate:01004

SQL1846N

The option-type-1 option option-name-1 for the object-name-1 object conflicts with option-type-2 option option-name-2 for the object-name-2 object. 已经指定了两个或更多个不兼容的选项或选项值。 请参阅此数据源的联合文档。 确定可以对此对象指定的有效选项。 然后对该语句进行重新编码并再次提交。

sqlcode:-1846

sqlstate:42867

SQL1847N

对象名 对象类型 的模板替换错误。 原因码:原因码。 附加文本和标记 文本 在构建 XML 文档期间,包装器在将值替换到模板中时遇到了问题。 这可能是由昵称级别与列级别的模板之间的冲突导致的。 原因码为:

01
在模板中找不到引用名。 附加文本标识缺少的引用。
02
不能将属性引用替换为元素内容。 附加文本标识出错的引用。
请参阅此数据源的联合文档。 在 db2diag 日志文件中可能记录了其他诊断信息。 如果有必要,请使用 ALTER NICKNAME 语句更正模板语法。 然后再次提交原始语句。

sqlcode:-1847

sqlstate:428G9

SQL1860N

表空间 表空间名 与表空间 表空间名 不兼容。 原因码:原因码 由于下列其中一种原因,指定的表空间不兼容:

1
一个分区表的所有表空间(数据、长型和索引)必须位于同一个数据库分区组中。
2
分区表的数据表空间必须全部是 SMS、全部是常规 DMS 或者全部是大型 DMS。 分区索引的索引表空间必须全部是常规 DMS 或全部都是大型 DMS。
3
所有数据表空间的页大小必须相同。 所有索引表空间的页大小必须相同。 所有长表空间的页大小也必须相同。 但是,数据表空间、索引表空间和长表空间的页大小可以互不相同。
4
每个数据表空间的扩展数据块大小都必须与其他数据表空间的扩展数据块大小相同。 每个索引表空间的扩展数据块大小都必须与其他索引表空间的扩展数据块大小相同。 所有用于存储长数据的表空间的扩展数据块大小也必须相同。 但是,用于不同用途的表空间的扩展数据块大小不必匹配。
5
必须将一个分区表的长数据与所有数据分区的数据存储在同一个表空间中,或者必须将它存储在大型表空间中,每个大型表空间都与相应数据分区的表空间不同。 如果使用了 LONG IN 子句来指定一个表空间与数据表空间不同,但它又不是大型表空间,就将发生此错误。 如果常规表空间与数据表空间完全相同(即,在 LONG IN 子句是多余的情况下,因为它仅仅指定数据表空间,这与完全省略了 LONG IN 时的缺省行为相同),那么 LONG IN 只能用来指定常规表空间。
指定与该表的其他表空间相匹配的表空间。

sqlcode:-1860

sqlstate:42838

SQL1865W

查询结果可能与远程语义不一致,而遵循本地语义。 原因码:原因码 对于 Federation/DV,服务器选项 ignore_semantic_difference 可确定服务器是否处于忽略语义差异模式。

N 表示处于最大一致性模式:查询结果将遵循本地查询语义。

Y 表示处于忽略语义差异模式:查询结果将遵循远程数据源语义。

当查询结果可能与远程数据源语义不一致时,即使该查询是在忽略语义差异模式下运行的,也会返回此消息。

原因代码详细说明了出现这种情况的原因:

1
查询执行不会完全推送到远程数据源;其处理会恢复到最大一致性模式。
2
已填充的 MQT 表遵循本地语义;其结果与本地语义一致。

将处理该语句。

1
使用结果评估语义差异是否会影响应用程序的正确性。

如果是这样,要么检查为什么查询没有完全下推,然后将其修改为完全下推以避免差异,要么在应用程序中说明差异。

2
MQT 始终使用本地语义填充。

sqlcode:1865

sqlstate:0169J

SQL1870N

无法将一行插入到范围集群表中,因为键序列列超出了范围。 无法将一行插入到范围集群表中,因为键序列值超出了定义的范围。

要查看由范围集群表定义的范围,查询在此表上定义的约束并查找名为“RCT”的约束。 例如:SELECT * FROM SYSIBM.SYSCHECKS WHERE NAME=’RCT’ AND TABLE=<rct table-name>

  • 可以删除并在启用了 WITH OVERFLOW 选项的情况下重新创建范围集群表。 这将创建一个可以处理超出范围的记录的范围集群表,但是并不保证排序并且具有更高的锁定意义。
  • 可以删除并使用将包括此记录的新范围定义来重新创建范围集群表。
  • 可以定义一个对范围集群表记录执行 UNION ALL 的视图,并创建一个包含独立的超出范围的记录的表。 然后应在视图中管理插入、更新、删除、合并和查询。

sqlcode:-1870

sqlstate:23513

SQL1871N

在范围集群表上不支持此函数。 原因码:原因码 某些函数在范围集群表上不可用。 原因码:

1
VALUE COMPRESSION 和 COMPRESS SYSTEM DEFAULT 不可用。
2
不能对范围集群表创建集群索引。
3
不支持添加列。
4
不支持 SET DATA TYPE。
5
不支持更改 PCTFREE。
6
不支持更改 APPEND 方式。
7
不能更改列属性。
8
不支持类型表。
10
在用来定义包含范围集群表的表空间的数据库分区组上不支持以下命令:ALTER TABLESPACE, REDISTRIBUTE DATABASE PARTITION GROUP。
11
不支持 LOAD 实用程序。
12
不支持“表重组”。
13
不支持“表截断”。
14
不能使用类型为 XML 的列。
15
不支持 COMPRESS YES。
17
当进行了在分区的数据库环境中创建范围集群表的尝试,且 CREATE TABLE 语句中指定的分布键和序列键之间的关系有问题时,会返回本原因码。 问题是:使用 DISTRIBUTE BY HASH 子句指定的分布键不是使用 ORGANIZE BY KEY SEQUENCE 子句指定的序列键列的单个列子集。

以下示例说明分布键和序列键之间的这个关系:

示例 1:分布键是序列键的单个列子集。

 CREATE TABLE ...   ORGANIZE BY KEY SEQUENCE (colA, colB)     ... DISTRIBUTE BY HASH (colA) 

示例 2(错误):分布键不是序列键的单个列子集。

 CREATE TABLE ...   ORGANIZE BY KEY SEQUENCE (colA, colB)     ... DISTRIBUTE BY HASH (colC) 
18
当进行了创建范围集群的具体化查询表的尝试,且在 CREATE TABLE STATEMENT 中指定 DISALLOW OVERFLOW 子句时,会返回本原因码。 不能阻止将键值在已定义范围之外的记录插入到范围集群的具体化查询表中。
19
随机分发表不受支持。
如果此表需要不可用的函数,那么应考虑不使用 ORGANIZE BY KEY SEQUENCE 子句来创建该表。 如果该表已经存在,那么将需要删除该表然后再重新创建该表。 原因码:

1
除去 VALUE COMPRESSION 子句或 COMPRESS SYSTEM DEFAULT 子句。
2
从 CREATE INDEX 语句中除去 CLUSTER 关键字。
3
要添加一列,必须删除该表然后再使用附加列创建该表。
4
从 ALTER TABLE 语句中除去 SET DATA TYPE 子句。
5
从 ALTER TABLE 语句中除去 PCTFREE 子句。
6
从 ALTER TABLE 语句中除去 APPEND 子句。
7
要更改列属性,必须删除该表然后再使用新的列属性来创建该表。
8
不要将类型表定义与 ORGANIZE BY KEY SEQUENCE 子句配合使用。
10
要改变或重新分发用来定义包含范围集群表的表空间的数据库分区组,请执行以下步骤:

  1. 在不属于您想要改变或重新分发的数据库分区组的表空间中删除或重新创建范围集群表。
  2. 再次调用 ALTER TABLESPACE 命令或 REDISTRIBUTE DATABASE PARTITION GROUP 命令。
11
考虑使用 IMPORT 实用程序而不使用 LOAD 实用程序。 可以使用数据的子集同时发出多个 IMPORT 命令来提高性能。 还应考虑使用并行插入应用程序,它们会填充键序列范围的不同区域。
12
“范围集群表”不需要进行表重组。
13
删除然后重新创建表。
14
除去使用数据类型 XML 定义的列,或者使用另一种受支持的数据类型。
15
除去 COMPRESS YES 子句。
17
要在分区的数据库环境中创建范围集群表,请对 CREATE TABLE 语句进行下列其中一个更改,并再次执行该语句:

  • 使用 DISTRIBUTE BY REPLICATION 子句,而非 DISTRIBUTE BY HASH 子句。
  • 使用 DISTRIBUTE BY HASH 子句指定单个列作为分布键,该列是序列键中使用 ORGANIZE BY KEY SEQUENCE 子句指定的列的其中一个。
18
再次执行 CREATE TABLE 语句,而不指定 DISALLOW OVERFLOW 子句。
19
移除 DISTRIBUTE BY RANDOM 子句。

sqlcode:-1871

sqlstate:429BG

SQL1880N

选项名 is not a supported 选项类型 option for cursor 对象名 by either the wrapper 包装名, or the federated data source 服务器名, or both. 使用联合数据源 服务器名 上的包装器 包装器名 来访问昵称的游标 游标名 是使用类型为 选项类型 的选项 选项名 声明的,但包装器或数据源本身不支持此选项。

无法打开该游标。

不要使用此选项来打开该游标。

sqlcode:-1880

sqlstate:428EE

SQL1881N

未设置服务器选项,因为该选项在要使用它的上下文中无效。 选项:选项名。 选项类型:选项类型。 要应用选项的对象:对象名 可通过对 CREATE SERVER 语句、ALTER SERVER 语句或 SET SERVER 语句指定选项来配置联合服务器。 某些联合服务器选项对所有数据源有效,某些联合服务器选项仅对某些数据源有效。

如果指定了无效服务器选项,那么会返回此消息。 服务器选项可能因为不同原因无效,包括以下示例原因:

  • 指定的选项可能不存在
  • 指定的选项可能对该数据源类型无效
  • 指定的选项可能对特定数据源无效
  • 指定的选项可能对该数据库对象无效
请查看适用于该数据源的服务器选项,然后在指定有效选项的情况下再次执行该语句。

sqlcode:-1881

sqlstate:428EE

SQL1882N

选项类型 option-name不能设置为object-name 的 option-value 您指定的值缺少正确的定界符,或者无效。 参阅 SQL Reference 以验证您想要的值。 然后修正并重新提交要运行的语句。 务必将值定界在单引号中。

sqlcode:-1882

sqlstate:428EF

SQL1883N

选项-名称对象-名称必选选项类型 未指定 DB2 处理您提交的语句所需要的选项。 查阅文档以了解您要运行的语句所必需的选项。 然后修正并重新提交此语句。

sqlcode:-1883

sqlstate:428EG

SQL1884N

选项名称对象对象名称 指定了不止一次对象类型选项。 您输入了多次引用同一选项的语句。 重新编码该语句以便它只引用一次您想要的选项。 然后再次提交该语句。

sqlcode:-1884

sqlstate:42853

SQL1885N

The 选项类型 option 选项名称 is already defined for 对象名称. 您对已有值的选项输入了值。 查询适当的目录视图以确定选项当前设置为什么值。 如果选项值与您想要的值不用,那么重新编码该语句,使 SET 关键字跟着 OPTIONS 关键字。 确定哪个目录视图包含此选项的一些选项。

sqlcode:-1885

sqlstate:428EH

SQL1886N

操作类型操作无效,因为对象名 的选项类型选项选项名尚未定义。 您尝试更改或删除尚未对您正在使用的数据源、数据源类型或数据库对象定义的选项的值。 如果在想要运行的语句中指定了 SET,那么重新编码该语句,省略 SET 或者将它替换为 ADD(ADD 是缺省值);移除任何不正确的 DROP 子句。 然后再次提交该语句。

sqlcode:-1886

sqlstate:428EJ

SQL1887N

SPECIFICATION ONLY 子句是必需的。 昵称的 CREATE INDEX 语句必须具有 SPECIFICATION ONLY 子句。 添加 SPECIFICATION ONLY 子句,然后重新提交该语句。

sqlcode:-1887

sqlstate:42601

SQL1888N

端口号 端口号 无效。 在“更新备用服务器”命令上指定的端口号无效。 值不是一个数字或者它的长度无效。 值的长度必须为 1 到 14 个字符,且不能全为空白。 验证端口号被指定为数值并且其长度不超过 14 个字符。

使用有效的端口号重新提交该命令。

SQL1889W

忽略了更新备用服务器请求。 只能将请求应用于数据库服务器。 在数据库服务器中发出该请求。

SQL1890N

主机名 主机名 无效。 在“更新备用服务器”命令上指定的主机名无效。 值长度必须是 1 到 255 个字符,且不能全为空白。 验证主机名的长度不超过 255 个字符。

以有效的主机名重新提交该命令。

SQL1891N

主机名参数的地址无效。 应用程序使用的地址对于主机名参数无效。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

更正应用程序,以便使用正确的地址并且输入字符串以 NULL 结束。

SQL1892N

端口号参数的地址无效。 应用程序使用的地址对于端口号参数无效。 指向未分配缓冲区或缓冲区中字符串的地址没有 NULL 终止符。

无法处理该命令。

更正应用程序,以便使用正确的地址并且输入字符串以 NULL 结束。

SQL1900N

成功地完成该命令。 命令行实用程序成功地完成了该命令。 不需要执行任何操作。

SQL1901N

命令的语法不正确。 命令行实用程序不能处理该命令。 更正然后重新提交该命令。

By admin

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注