SQL2000 - SQL2249

SQL2000N 实用程序命令中指定的驱动器不是有效的软盘驱动器或硬盘。

说明

实用程序命令中指定的输入或输出驱动器不存在。

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

用户响应

重新提交实用程序命令,并指定正确的驱动器盘符。

SQL2001N 实用程序已被中断。输出数据可能不完整。

说明

用户可能按了中断键序列,或已用终止调用者操作来调用实用程序。

当数据库目录节点已关闭时,在数据库节点上的备份或复原操作期间,可能会返回此消息。

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

用户响应

需要时重新启动应用程序或重新发出命令。中断的命令的输出数据可能不完整,不应使用。

SQL2002N 指定的数据库实用程序命令对远程数据库无效。命令中指定的数据库必须驻留在本地工作站上。

说明

数据库实用程序命令只对本地数据库有效。

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

用户响应

在本地运行实用程序。

SQL2003C 发生了系统错误。

说明

发生了操作系统错误。可以在 SQLCA 的 SQLERRD[0] 字段中找到返回码。

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

用户响应

查看 SQLCA 的 SQLERRD[0] 字段中的错误返回码。如果有可能,更正错误,并重新提交命令。

SQL2004N 处理期间发生 SQL 错误 sqlcode

说明

出错时,实用程序正在使用 SQL 语句。

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

用户响应

查看消息中的 SQLCODE(消息号)以了解更多信息。进行更改并重新提交该命令。

SQL2005C 读操作期间发生了 I/O 错误。数据可能不完整。

说明

I/O 操作期间读取了不完整的数据。

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

用户响应

确定是否可以更正此 I/O 错误,并重新提交该命令。

SQL2006C 写操作期间发生了 I/O 错误。数据可能不完整。

说明

I/O 操作期间写入了不完整的数据。

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

用户响应

确定是否可以更正此 I/O 错误,并重新提交该命令。

SQL2007N 指定的缓冲区大小 缓冲区大小 4K 缓冲区对于 页大小 页大小对象太小了。

说明

要备份 页大小 页大小的数据库对象,需要大于页大小的缓冲区。备份数据库时,首先将数据复制到内部缓冲区中。然后,在缓冲区已满时,将数据从此缓冲区写入备份介质。指定的缓冲区大小 缓冲区大小 个 4K 缓冲区并不足够。

用户响应

使用更大的缓冲区大小。

SQL2008N 由于 callerac 参数不在有效范围内或请求的操作顺序不对,因此无法处理该实用程序命令。

说明

每个实用程序都有它自己的有效 callerac 值的列表。

可能会由于下列其中一个原因而返回此消息:

  • callerac 参数值不是可接受的其中一个值
  • 请求的操作顺序不对

用户响应

重新提交该命令,并指定对该实用程序有效的 callerac 参数。

SQL2009C 由于内存资源不足,因此备份或复原操作失败。

说明

在以下情况下可能会发生此问题:

  1. 由于实用程序堆中的空间不足,因此备份或复原数据库的尝试已失败。
  2. 在尝试进行联机备份时,还有实用程序正在运行。

用户响应

要解决此消息的解释中描述的所有可能情况,请重新调用该命令,并通过不指定下列参数来调用自动模式:

WITH num-buffers BUFFERS 
PARALLELISM n 
BUFFER buffer-size

如果您希望显式地指定参数,那么每种情况下的适当操作是:

  1. 使用以下命令增大数据库配置参数 UTIL_HEAP_SZ 的值:UPDATE DB CFG FOR <DBNAME> USING UTIL_HEAP_SZ <VALUE>。对于备份和复原而言,此值的大小必须至少等于缓冲区数 * 缓冲区大小。

    注意:如果尝试执行 RESTORE 时数据库尚未存在,请创建一个空数据库,按照上面描述的方式增大其 UTIL_HEAP_SZ,然后尝试复原到新数据库中。

  2. 先确保没有任何实用程序正在运行,然后再次尝试进行联机备份。

SQL2010N 实用程序在连接到数据库时遇到了错误 错误

说明

实用程序未能连接数据库。

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

用户响应

查看消息中的错误号以了解更多信息。进行更改并重新提交该命令。

SQL2011N 实用程序在与数据库断开连接时遇到了错误 错误

说明

实用程序未能与数据库断开连接。

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

用户响应

查看消息中的错误号以了解更多信息。进行更改并重新提交该命令。

SQL2012N 未能启用中断处理。

说明

实用程序未能启用中断处理。可以在 SQLCA 的 SQLERRD[0] 字段中找到实际返回码。

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

用户响应

查看 SQLCA 的 SQLERRD[0] 字段中的错误返回码。如果有可能,更正错误,并重新提交命令。

SQL2013N 实用程序未能访问数据库目录。返回了错误 错误

说明

实用程序访问数据库目录时出错。

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

用户响应

如果 database 参数中的路径不是数据库目录路径,那么重新提交该命令,并指定正确的路径。否则,查看消息中的错误号以了解更多信息。进行更改并重新提交该命令。

SQL2014N 发生了数据库环境错误。

说明

实用程序从数据库环境命令接收到错误。数据库管理器配置文件及数据库配置文件可能包含不兼容的值。

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

用户响应

检查数据库管理器配置文件及数据库配置文件的值是否一致。重新提交该命令。

SQL2015N 数据库参数无效。数据库名称太长、未指定数据库名称或名称的地址无效。

说明

数据库名称是必需的。它必须包含 1 到 8 个字符,且这些字符必须是从数据库管理器基本字符集中选择的。该名称必须位于应用程序的有效地址处。

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

用户响应

使用有效的数据库名称来重新提交该命令。

SQL2016C PATH 命令未包含 程序名 的路径。

说明

实用程序使用操作系统“选择路径”找不到所需的程序。

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

用户响应

更新 PATH 命令,使之包括指示的程序名的路径。

SQL2017N 启动了太多会话,或者未成功完成“OS/2 启动会话”。

说明

BACKUP 或 RESTORE 实用程序未能启动新会话,原因是:
  • 启动的会话数已达到最大会话数。
  • OS/2 启动会话程序返回了错误。

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

用户响应

等待一些当前会话停止处理,并重新提交该命令。或者,请参阅 SQLCA 中的 SQLERRD[0] 字段以了解更多信息,并重新提交该命令。

SQL2018N 实用程序在尝试验证用户的授权标识或数据库权限时遇到错误 错误

说明

用户尝试执行一个实用程序,但发生下列其中一项:
  • 用户授权标识无效。
  • 尝试访问用户的数据库权限时出错。

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

用户响应

查看消息中的错误号以了解更多信息。进行更改并重新提交该命令。

SQL2019N 将实用程序绑定至数据库时发生错误。

说明

因为正在执行的当前级别的实用程序未与数据库进行绑定,所以系统尝试将所有实用程序与数据库进行绑定,然而此绑定过程失败。下列情况可能是导致此错误的原因:

  • 磁盘空间不足
  • 打开的文件太多,或者产生了类似的系统资源问题
  • 要绑定的实用程序列表 (db2ubind.lst) 丢失或无效
  • 其中一个实用程序的绑定文件(db2uxxxx.bnd)丢失或无效
  • 没有足够的权限来绑定实用程序;必需的特权是对于实用程序的 BIND 特权以及对于系统目录的 SELECT 特权

对于 RESTORE 实用程序而言,已复原数据库,但至少一个实用程序没有与数据库绑定。其他实用程序停止了处理过程。

用户响应

完成所有可能会争用系统资源的活动,然后重新提交实用程序命令。如果错误仍存在,那么执行下列其中一项操作:

  • 请具有 DBADM 权限的用户再次尝试运行该命令。
  • 重新安装数据库管理器或者重新应用最新更新,或者执行这两个操作。
  • 通过绑定 db2ubind.lst 文件中所列示的 db2uxxxx.bnd 文件来将实用程序逐个绑定至数据库(不指定格式选项),以找出问题,并有可能使某些实用程序能够成功操作。

SQL2020N 实用程序未与数据库正确绑定。

说明

因为实用程序未与数据库绑定,或与数据库绑定的实用程序的程序包与安装的数据库管理器版本不兼容,所以已将所有实用程序重新与该数据库绑定,但是在安装的数据库管理器版本与程序包之间仍存在时间戳记冲突,因此实用程序与绑定文件不兼容。

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

用户响应

重新安装数据库管理器或者重新应用最新更新,或者执行这两个操作。重新提交该实用程序命令。

SQL2021N 驱动器中的软盘不正确。

说明

用于“备份数据库”或“复原数据库”的软盘不在驱动器中,或无效。

无法处理该命令。

用户响应

验证驱动器中的软盘是否正确,或插入新软盘。

SQL2023N 实用程序在访问日志控制文件时遇到 I/O 错误 代码

说明

有两个日志控制文件:

  • 主日志控制文件 SQLOGCTL1.LFH
  • 辅助日志控制文件 SQLOGCTL2.LFH

    辅助日志控制文件是主日志控制文件的镜像副本,当主日志控制文件发生问题时就使用辅助日志控制文件。

数据库管理器在访问主日志控制文件时接收到读取或写入错误。

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

用户响应

记录错误返回码的值。确定是否可以更正 I/O 错误。

SQL2024N 在访问文件类型 文件类型 时,实用程序遇到 I/O 错误 代码

说明

访问指定文件时发生了 I/O 错误。

使用扩展名为 “.BRG” 的文件来确定 RESTORE 操作是否已异常终止。文件驻留在对其尝试 RESTORE 操作的数据库的本地数据库目录中。

扩展名为 “.BRI” 的文件存储有关增量 RESTORE 操作进度的信息。文件驻留在对其尝试 RESTORE INCREMENTAL 操作的数据库的本地数据库目录中。

文件名由数据库标记与文件类型扩展名并置而成。例如,如果为数据库 “SAMPLE” 指定了数据库标记 “SQL00001”,那么 BRI 文件将具有名称 “instance/NODE0000/sqldbdir/SQL00001.BRI”。

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

用户响应

记录错误返回码。确定是否可以更正 I/O 错误。

SQL2025N 发生了 I/O 错误。错误代码:代码。发生了此错误的介质:目录或设备

说明

访问指定介质上的文件时发生了 I/O 错误。

实用程序或操作已停止处理。

如果介质是 "TSM",那么表示存在与 IBM Tivoli Storage Manager 相关的问题。一个与 TSM 相关的常见问题是 TSM 会话由于 COMMTIMEOUT 设置太小而超时。

用户响应

  1. 通过使用日志分析工具来搜索特定的错误代码,从 db2diag 诊断日志文件中收集更多信息:
    db2diag -rc <RC>
  2. 根据介质的类型对此错误作出响应:
    • 如果介质是 TSM,请参阅错误代码 code 中提供的 IBM Tivoli Storage Manager API 返回码的完整文本。
    • 对于其他介质类型而言,请确保 目录或设备 可访问,并检查介质错误。例如,对于 TAPE 介质,请确保磁带库处于联机状态。如果正在尝试备份到磁带,并且使用了块大小可变的磁带,请将缓冲区大小选项减小到磁带设备支持的范围内(如果未指定此参数,数据库管理器将自动为此参数选择最佳值)。

SQL2026N 尝试在内部与数据库断开连接时发生错误 sqlcode

说明

内部断开连接命令失败。消息中返回 SQLCODE。

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

用户响应

查看消息中的 SQLCODE(消息号)以了解更多信息。进行更改并重新提交该命令。

SQL2027N 尝试在内部与数据库连接时发生错误 sqlcode

说明

内部连接失败。消息中返回 SQLCODE。数据库管理器配置文件及数据库配置文件可能包含不兼容的值。

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

用户响应

查看消息中的 SQLCODE(消息号)以了解更多信息。进行更改并重新提交该命令。检查数据库管理器配置文件值与备份映像的数据库配置文件值是否兼容。

SQL2028N 安装中断处理程序时发生错误 sqlcode

说明

实用程序未能启用中断处理程序。消息中返回 SQLCODE。

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

用户响应

查看消息中的 SQLCODE(消息号)以了解更多信息。进行更改并重新提交该命令。

SQL2029N 在处理 命令文件名 时发生错误 错误

说明

从指定的命令文件或操作系统中返回了错误。

用户响应

用户请求对 ROLLFORWARD 恢复启用数据库的“仅备份更改”,或者在请求使用用户出口时请求“仅备份更改”。

SQL2030N 名称 驱动器已满。在此驱动器上至少需要 数值 个可用字节。

说明

指定的驱动器没有足够的空间来建立内部子目录和信息文件。

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

用户响应

在指定驱动器上释放指示的空间,并重新提交该命令。

SQL2031W 警告!请在设备 设备 上安装目标介质或源介质。

说明

数据库实用程序进程或者将数据写入指定设备上的介质,或者从该介质读取数据。该实用程序返回,以便用户可以安装用于操作的正确介质。

实用程序等待响应,然后才继续。

用户响应

安装介质,然后返回至实用程序,并用 callerac 参数指示处理是应继续还是应终止。

SQL2032N 参数 参数无效。

说明

参数指定不正确。或者是值超出范围,或者是不正确。

用户响应

重新提交该命令,并对参数指定正确的值。

sqlcode:-2032

sqlstate:22531

SQL2033N 数据库实用程序的处理期间,在访问 TSM 时出错。TSM 原因码:原因码

说明

一些常见的 TSM 原因码是:

106

另一个进程正在使用所指定的文件。而您尝试读取或写入当前正在被另一个进程使用的文件。

137

TSM 认证失败。

168

需要密码文件,但用户不是 root 用户。在以下情况下通常会生成此消息:DSMI_DIR 环境变量所指向的目录包含 32 位版本的 dsmtca 程序,而数据库管理器实例是 64 位版本(反之亦然)。

400

对传递给 TSM 的 OPTIONS 参数指定了无效的选项。

406

TSM 找不到或者无法读取其选项文件。

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

用户响应

常见 TSM 问题的响应是:

106

确保指定了正确的文件名或目录名,更正许可权,或者指定新位置。

137

如果 TSM 参数 PASSWORDACCESS 设置为 GENERATE,那么确保系统管理员已使用 dsmapipw 实用程序来设置密码。如果 PASSWORDACCESS 设置为 PROMPT,那么确保已正确地设置 TSM_NODENAME 和 TSM_PASSWORD 数据库配置参数。

168

请确保 DSMI_DIR 指向其中包含正确版本的 dsmtca 的目录,重新启动该实例,然后再次执行该命令。

400

确保 BACKUP 或 RESTORE 命令上指定的 OPTIONS 参数正确。

406

确保 DSMI_CONFIG 环境变量指向有效的 TSM 选项文件。确保实例所有者有权读取 dsm.opt 文件。确保在 db2profile 中设置了 DSMI_CONFIG 环境变量。

SQL2034N 参数 参数的地址无效。

说明

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

用户响应

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

SQL2035N 在以非中断方式执行实用程序时遇到警告情况 警告

说明

调用应用程序以无中断方式调用了此实用程序。操作期间,遇到了警告状态。

用户响应

重新提交该操作,而不在 callerac 参数中指定非中断状态,或执行操作来避免该警告并重新提交该操作。

SQL2036N 文件、命名管道或设备 路径/设备 的路径无效。

说明

调用实用程序的应用程序提供了无效的源或目标路径。指定的路径、文件、命名管道或设备可能不存在,或者未正确指定这些项。

用户响应

重新发出该实用程序命令,并指定表示正确路径或设备的路径。

SQL2037N 未能装入 TSM。

说明

对数据库实用程序的调用将 TSM 指定为备份目标或源。尝试了装入 TSM 客户机。TSM 客户机在系统上不可用,或者装入过程遇到错误。

用户响应

确保系统有可用的 TSM。在使 TSM 可用之后重新提交该命令,或者重新提交该命令而不利用 TSM。

SQL2038N 在处理期间发生了数据库系统错误 错误代码

说明

处理其中一个实用程序期间遇到数据库系统错误。

用户响应

  1. 检查消息中的错误代码。
  2. 查看诊断 (db2diag) 日志文件以了解更多信息。
  3. 执行更正操作。
  4. 在适当时,重新提交该命令。

SQL2039N 调用此实用程序的应用程序已终止。

说明

调用此实用程序的应用程序已终止。实用程序的应用程序方与调用应用程序处于同一进程中,并与应用程序一起终止。结果是,实用程序的代理进程方终止。

用户响应

在确定应用程序的终止原因之后,重新发出命令。

SQL2040N 数据库别名参数 数据库别名 无效,或未指定。

说明

调用 Backup 或 Restore 实用程序的应用程序提供了无效的数据库别名参数。别名必须为 1 到 8 字节,且字符必须从数据库管理器基本字符集中选择。

用户响应

重新发出 Backup 或 Restore 命令,并指定有效数据库别名。

SQL2041N 指定的缓冲区大小参数无效。必须将缓冲区大小指定为 0,或在 8 和 16384 之间(包括 8 和 16384)。

说明

调用实用程序的应用程序提供了无效的缓冲区大小参数。缓冲区大小用来确定内部缓冲区大小。值是为此缓冲区获取的 4K 页的数目。必须将值指定为 0,或在 8 和 16384 之间。

当运行 Backup 或 Restore 实用程序时,如果指定 0,那么使用数据库管理器配置中定义的缺省缓冲区大小。

如果目标介质是软盘,那么缓冲区大小必须小于软盘大小。

SQL2042W 警告!访问设备 设备 时发生了I/O 错误 错误。更多信息(如果可用):更多信息。请确保已正确安装并定位介质。

说明

调用实用程序的应用程序在尝试读取或写入磁带设备时遇到 I/O 错误。实用程序返回,以便用户可以正确安装和定位磁带。

该消息可能包含可以帮助诊断问题的其他信息。

实用程序等待响应,然后才继续。

用户响应

正确地安装和定位磁带,然后返回至实用程序,并指示处理是应继续还是结束。

可使用错误信息、设备信息及其他信息(如果有)来诊断并更正问题。

SQL2043N 无法启动子进程或线程。

说明

无法启动数据库实用程序的处理期间所需的子进程或线程。 可能是没有足够的可用内存来创建新进程或线程。实用程序停止了处理过程。

用户响应

确保未达到进程或线程数的系统限制(增大限制或减少已在运行的进程或线程数)。确保有足够的内存供新进程或线程使用。重新提交该实用程序命令。

SQL2044N 访问消息队列时出错。原因码:原因码

说明

处理数据库实用程序期间在某个操作系统消息队列中接收到意外错误或错误消息。

原因码更具体地指示了问题根源:

1

无法创建消息队列。超过允许的消息队列数时,可能会返回此消息及原因码 1。

2

读取消息队列时出错。

3

写消息队列时出错。

4

从消息队列接收到无效消息。

5

打开消息队列时出错。

6

关闭消息队列时出错。

7

查询消息队列时出错。

8

删除消息队列时出错。

用户响应

以下列一种或多种方式对此消息作出响应:

  • 通过运行 ipcs 操作系统命令来查看消息队列、其标识及所有者的列表以监视消息队列。
  • 使用更少的消息队列。例如,通过使用 EXPORT 实用程序来使用更多更小的 IPX 文件。
  • 通过设置操作系统配置参数来增大消息队列限制。

SQL2045W 警告!在写入介质 介质 时发生错误 错误

说明

在写入介质 介质 时,数据库实用程序进程遇到了由操作系统返回的错误 错误。实用程序返回,以便用户可以尝试修正问题或者取消操作。

实用程序等待响应,然后才继续。

用户响应

参阅操作系统的故障诊断文档,并更正 错误 情况。返回至实用程序,并用正确的调用者操作参数指示处理是应继续还是应终止。

SQL2046N 未能更新名为 参数名 的配置参数,因为操作已超时。

说明

集群高速缓存工具 (CF) 是在实例级别指定的,它提供了多项对于 DB2 pureScale 环境的运行而言非常关键的服务。CF 结构包含有关 DB2 pureScale 实例的元素的信息,其中包括有关 DB2 pureScale 实例中的每个数据库的信息。

CF 结构内存参数是可配置的联机参数,并且在运行时期间接受调整大小请求。对于诸如 CF_GBP_SZ、CF_SCA_SZ 和 CF_LOCK_SZ 这些结构内存参数的调整大小请求共同受到为 CF_DB_MEM_SZ 设置的内存限制的约束。

必须在时间限制内完成对于结构内存参数的更新操作。当操作超过了此时间限制时,就会返回此消息。尚未完成此操作。

用户响应

使用带有 SHOW DETAIL 子句的 GET DB CFG 命令来查看为 CF 结构分配的内存总量。同时,结构内存参数不能超过 CF_DB_MEM_SZ 参数的值。

请按照文档中的建议将 参数名 的值设置为一个遵从所有 CF 结构内存参数之间的所定义关系的值。

sqlcode:-2046

sqlstate:5U050

SQL2047N CF 中没有足够的可用内存,无法满足将名为 参数名 的数据库配置参数增大到所指定值的请求。

说明

集群高速缓存工具 (CF) 是在实例级别指定的,它提供了多项对于 DB2 pureScale 环境的运行而言非常关键的服务。CF 中的结构包含对于 DB2 pureScale 实例中每个数据库的运行而言非常关键的元素。

CF 总内存受到名为 CF_MEM_SZ 的数据库管理器配置参数的限制。

可用于每个数据库的 CF 内存受到名为 CF_DB_MEM_SZ 的数据库配置参数的限制。请注意,CF_DB_MEM_SZ 只是一个上限,并且未保留其内存。

可用 CF 内存可供其他活动数据库(如果受支持)使用或者供内部 CF 使用。

尝试将 参数名 设置为一个超过可用于 CF_MEM_SZ 或 CF_DB_MEM_SZ 的内存量的值时,就会返回此消息。

用户响应

使用带有 SHOW DETAIL 子句的 GET DB CFG 命令来查看可用于 CF 结构的内存总量。指示可用于整个 CF 的内存量的参数为 CF_MEM_SZ。指示可用于所有 CF 结构的内存量的参数为 CF_DB_MEM_SZ。

参数名 的值设置为较小的值。

sqlcode:-2047

sqlstate:5U051

SQL2048N 访问对象 对象 时出错。原因码:原因码

说明

数据库实用程序的处理期间,在访问对象时出错。下面是原因码列表:

1

遇到无效对象类型。

2

锁定对象操作失败。锁定等待可能已达到数据库配置中指定的锁定超时限制。

3

数据库实用程序的处理期间,解锁对象操作失败。

4

访问对象失败。

5

数据库中的对象已毁坏。

6

如果由于多种原因(其中包括下列原因)而无法访问表空间,就会返回此消息:

  • 表空间所处的状态不支持这种类型的访问尝试。下面是数据库状态的一些示例,在这些状态下会阻止进行某些类型的数据库访问:“已停顿”、“脱机”和“正在备份”。
  • 一个或多个表空间容器不可用。

例如,如果尝试备份一个已经在备份的表空间,就会返回此消息,原因码为 6。

7

删除对象操作失败。

8

尝试装入/停顿到未在此分区上定义的表中。

9

BACKUP 实用程序在处理某个对象时在意外位置遇到了文件末尾。这并不一定意味着数据被毁坏了,但是在当前状态下 BACKUP 实用程序将无法处理该数据。

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

用户响应

1

确保 对象 属于有效类型。

2

增大数据库配置参数 locktimeout。

3

请检查在锁定 对象 时是否不存在任何问题,然后再次尝试执行该操作。

4 和 7

请检查 对象 是否存在并且可访问。确保您具有访问它的正确特权/许可权。

5

如果对象是 db2rhist.asc,那么确保实例所有者可访问 db2rhist 文件。如果正确设置了许可权,那么说明 db2rhist 文件可能已被损坏。将现有文件从它的现有位置移开,或者删除该文件。数据库管理器在下一次需要访问 db2rhist 文件时,将创建新的 db2rhist 文件。注意:删除 db2rhist 文件将导致丢失 db2rhist 文件中的历史信息。

如果 对象 是任何其他数据库控制文件,那么可能需要恢复数据库。

6

使用 MON_GET_TABLESPACE 表函数确定表空间的当前状态,然后执行下列故障诊断步骤:

  • 如果表空间已脱机,请尝试确定基本问题并进行更正。例如:
    • 如果未安装文件系统,请安装文件系统,然后使表空间处于联机状态。
    • 如果已删除表空间文件,请执行复原操作。
  • 如果表空间已停顿,请使用带有 RESET 子句或 EXCLUSIVE 子句的 QUIESCE TABLESPACES FOR TABLE 命令使此表空间可用。请注意,拥有此停顿的用户标识可能需要执行 QUIESCE RESET 或 QUIESCE EXCLUSIVE 操作。
  • 如果正在备份表空间,请等待完成备份操作。
8

确保指定适当的表。

9

对指定的表执行 REORG 操作,然后重新提交 BACKUP 命令。

SQL2049N 激活数据库失败,因为没有足够的 CF 内存。原因码:原因码

说明

在激活数据库期间,数据库管理器将为集群高速缓存设施 (CF) 内的结构分配内存,内存大小由数据库管理器配置参数、数据库配置参数和 DB2 注册表变量(其中包括下列参数和变量)来确定:

  • CF_GBP_SZ
  • CF_SCA_SZ
  • CF_LOCK_SZ
  • CF_DB_MEM_SZ
  • NUMDB
  • DB2_DATABASE_CF_MEMORY

请注意,使用 DB2_DATABASE_CF_MEMORY 注册表变量必须与数据库配置参数 CF_DB_MEM_SZ 和数据库管理器配置参数 NUMDB 相协调。

示例

如果一次有四个数据库要处于活动状态,那么应按如下所示协调这些配置参数:

  • 数据库管理器配置参数 NUMDB 至少应设置为 4。
  • 如果四个数据库中的每一个的数据库配置参数 CF_DB_MEM_SZ 都设置为 AUTOMATIC,那么应设置注册表变量 DB2_DATABASE_CF_MEMORY,以反映要为每个数据库分配的 CF 内存量的百分比,在此示例中将为 25。

当没有为 CF 分配足够的内存来容纳为一个或多个数据库的 CF 内的结构分配的内存时,就会返回此消息。

原因码指出 CF 内存分配的哪方面发生了问题:

1

组缓冲池 (GBP)。

2

共享通信区 (SCA)。

3

全局锁定管理器 (LOCK)。

4

此数据库所需的 CF 内存总量。

5

为此数据库分配的 CF 内存总量所占的百分比。

用户响应

以下列一种或多种方式对此消息作出响应:

常规:

  • 通过为 CF_MEM_SZ 设置更大的值来增大 CF 内存的总大小
  • 对每个 CF 结构配置参数使用 AUTOMATIC 设置,并让 DB2 计算这些参数的相应值

对于原因码 1 - 4:

  • 根据原因码来减少各个 CF 结构配置参数:
    1

    CF_GBP_SZ 数据库配置参数

    2

    CF_SCA_SZ 数据库配置参数

    3

    CF_LOCK_SZ 数据库配置参数

    4

    CF_DB_MEM_SZ 数据库配置参数

对于原因码 4 和 5:

  • 确定其他数据库所使用的 CF 内存量,并了解是否需要更改任何设置,以便容纳此数据库的 CF 内存需求。

SQL2051N DB2 成员与 CF 之间发生了通信故障。原因码:原因码。CF 标识:CF-标识。主机名:主机名

说明

当数据库管理器检测到会妨碍 DB2 成员与集群高速缓存工具 (CF) 之间进行通信的问题时,就会返回此消息。

由原因码来指示通信问题的性质:

1

在用户级别直接访问编程库 (uDAPL) 中发生了错误或者检测到错误。

2

在套接字层中发生了错误或者检测到错误。

3

未能确定错误的性质。

用户响应

请参阅故障诊断文档。

SQL2052N 备份操作失败,因为备份实用程序无法为一个或多个 DB2 成员收集必需的信息和元数据。

说明

在 DB2 pureScale 环境中,当您从 DB2 成员执行备份操作时,备份实用程序必须为实例中的所有其他 DB2 成员收集恢复元数据。如果备份实用程序无法为一个或多个成员收集元数据信息,那么会返回此消息。备份实用程序可能无法执行序列化,而处理元数据时必须执行序列化。

用户响应

  1. 请检查 db2diag 日志文件,以了解与备份代理程序或记录器 EDU 相关联的任何通信错误或 I/O 错误。请更正这些错误,然后再次运行备份操作。
  2. 如果备份操作仍然失败,请执行下列步骤:
    1. 找出备份实用程序无法收集元数据信息的原因并加以解决。
    2. 再次运行备份操作。

sqlcode:-2052

sqlstate:5U055

SQL2054N 备份或副本映像已毁坏。

说明

正在使用的备份或副本映像已毁坏

这还可能表示 Restore 实用程序确定未能正确地将压缩的映像解压缩。

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

用户响应

因为该映像无效,所以将其废弃。重新提交实用程序命令,并指定有效映像。

SQL2055N 无法访问内存集 内存堆 中的内存。

说明

数据库实用程序无法在处理期间访问内存。

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

用户响应

停止数据库管理器,然后重新启动它,并重新提交实用程序命令。

SQL2056N 在介质 介质 上遇到无效介质类型。

说明

数据库实用程序的处理期间,遇到无效的介质类型。

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

用户响应

确保使用的介质属于实用程序所支持的类型。重新提交该命令,并指定有效介质列表。

SQL2057N 介质 介质 已被另一进程打开。

说明

数据库实用程序处理期间指定的源或目标介质已被另一进程打开。该实用程序不允许操作进行共享访问。

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

用户响应

确保该介质当前不在使用中。重新提交该命令,并指定有效介质列表。

SQL2058W 在介质 介质 上遇到介质结束警告。

说明

数据库实用程序处理期间遇到介质结束警告。如果指定了无效的磁带设备块大小,那么也可能会发生此错误。

实用程序正在等待响应,以继续执行。

用户响应

更正介质结束状态,然后返回到实用程序,并用正确的调用者操作参数指示处理是应该继续还是应终止。

复原时使用的磁带设备块大小(或分块因子)必须与备份期间所使用的相同。如果使用可变的块大小,那么使用的缓冲区大小必须小于或等于磁带设备的最大块大小。

SQL2059W 在设备 设备 上遇到设备满警告。

说明

在数据库实用程序处理期间,遇到设备满警告。

实用程序正在等待响应,以继续执行。

用户响应

更正设备满状态,然后返回至实用程序,并用正确的调用者操作参数指示处理是应继续还是应终止。

SQL2060W 设备 设备 是空的。

说明

数据库实用程序处理期间遇到空设备。实用程序正在等待响应,以继续执行。

用户响应

安装介质,然后返回至实用程序,并用调用者操作参数指示处理是应继续还是应终止。

SQL2061N 尝试访问介质 介质 被拒绝。

说明

在数据库实用程序处理期间,尝试访问设备、文件、命名管道、TSM 或供应商共享库被拒绝。实用程序停止了处理过程。

用户响应

确保实用程序使用的设备、文件、命名管道、TSM 或供应商共享库允许请求的访问,并重新提交实用程序命令。

SQL2062N 访问介质 介质 时出错。原因码:原因码

说明

在数据库实用程序的处理期间,在访问设备、文件或供应商共享库时发生了意外错误。下面是原因码列表:
1
尝试初始化设备、文件或供应商共享库时失败。

其他原因码引用供应商 API 代码。

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

用户响应

确保实用程序使用的设备、文件或供应商共享库可用,然后重新提交实用程序命令。如果该命令仍不成功,请与技术服务代表联系。

对于其他原因码,请查阅适当的供应商文档以了解有关该代码的更多详细信息。

SQL2065W 当指定的介质 介质 是唯一与实用程序相连的介质时,不允许指定的调用者操作 调用者操作

说明

因为只剩下一个设备与数据库实用程序相连,所以不允许指定的调用者操作。

用户响应

返回至实用程序,并用正确的调用者操作参数指示处理是应继续还是应终止。

SQL2066N 命令失败,因为指定的表空间不存在或者不受指定的命令支持。指定的表空间名称:name

说明

指定的表空间名称语法正确,但它不存在于数据库中,或者不能在指定的实用程序操作中使用。

可能会由于许多原因而禁用表空间,其中包括以下示例:

  • 如果正在使用的实用程序是备份操作,那么该表空间可能被禁用,原因是该表空间是系统或用户临时表空间,或者处于不一致状态。
  • 如果正在使用的实用程序是复原操作,那么该表空间可能被禁用,原因是已经在对该表空间执行另一个复原操作或执行前滚操作。
  • 如果实用程序是前滚操作,那么该表空间可能被禁用,原因是已经在对该表空间进行复原。

用户响应

重新提交实用程序命令,并指定有效的表空间。

SQL2068N 在介质 介质 上遇到无效映像。没有介质头。

说明

在处理数据库实用程序期间遇到了无效映像。实用程序找不到有效的介质头。实用程序停止了处理过程。

用户响应

利用正确的备份或副本映像重新提交该命令。

SQL2069N 在介质 介质 上遇到无效映像。此映像是为数据库别名 数据库别名 创建的。

说明

在处理数据库实用程序期间遇到了无效映像。提供的映像来自另一数据库别名。实用程序停止了处理过程。

用户响应

利用正确的备份或副本映像重新提交该命令。

SQL2070N 在介质 介质 上遇到无效映像。此映像包含时间戳记 时间戳记

说明

在处理数据库实用程序期间遇到了无效映像。提供的映像来自带有另一时间戳记的备份或副本。实用程序停止了处理过程。

用户响应

利用正确的备份或副本映像重新提交该命令。

SQL2071N 访问共享库 shared-library-name 时出错。原因码:原因码

说明

数据库实用程序处理期间,访问供应商共享库时发生了意外错误。

原因码更具体地指示了问题根源:

1

遇到无效的共享库路径。

2

由于库(或者库所需的库)不存在或格式无效,因此无法装入该库。有时,这表示正在 64 位实例中装入 32 位的库,或正在 32 位的实例中装入 64 位的库。

3

卸装共享库时出错。

用户响应

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

1

在 RESTORE 或 BACKUP 命令中指定正确的路径。确保路径有效并包含正确的共享库。

2

确保指定了正确的库。如果系统可以运行 32 位和 64 位二进制文件,那么确保指示 DB2 实用程序装入格式正确的库。

如果在使用 TSM 时发生了失败,请验证是否正确地安装了 TSM API Client。

请参阅 db2diag 日志文件以了解更多信息。

3

确保使用的 TSM 客户机版本与数据库管理器实例兼容。

SQL2072N 无法绑定共享库 共享库名。原因码:原因码

说明

数据库实用程序处理期间,在绑定共享库时出错。实用程序停止了处理过程。

用户响应

记下消息中由供应商实用程序返回的原因码,并执行更正操作(如果有可能)。重新提交该命令,并指定有效共享库,或使用另一受支持的介质。

SQL2073N 因为数据库服务器或 DB2 Data Links Manager 发生内部问题,所以 DATALINK 处理失败。

说明

处理 DATALINK 值时,发生意外错误。

用户响应

重新提交该命令。如果问题仍然存在,请在关闭并重新启动数据库管理器和 DB2 Data Links Manager 之后重新提交该命令。

通过指定 WITHOUT DATALINK,Restore 实用程序可以避免 DATALINK 处理。

SQL2074N 因为数据库服务器发生内部问题,所以 DATALINK 处理失败。

说明

处理 DATALINK 值时,发生意外错误。

用户响应

重新提交该命令。如果该问题仍存在,那么在关闭并重新启动 DB2 之后重新提交该命令。

通过指定 WITHOUT DATALINK,Restore 实用程序可以避免 DATALINK 处理。

SQL2075N 因为 DB2 Data Links Manager 发生内部问题,所以 DATALINK 处理失败。

说明

处理 DATALINK 值时,发生意外错误。

用户响应

重新提交该命令。如果该问题仍存在,那么在关闭并重新启动 DB2 Data Links Manager 之后重新提交该命令。

通过指定 WITHOUT DATALINK,Restore 实用程序可以避免 DATALINK 处理。

SQL2076W 未向数据库注册 DB2 Data Links Manager 服务器名

说明

未用 ADD DATALINKS MANAGER 命令向数据库注册 DB2 Data Links Manager 服务器名

用户响应

有关 ADD DATALINKS MANAGER 命令失败原因的详细信息,检查管理通知日志。

SQL2077W 在可用的 Data Links Manager 上,协调处理成功完成。在不可用的 Data Links Manager 上,协调处理处于暂挂状态。检查管理通知日志以了解更多信息。

说明

表数据中涉及的某些或所有 Data Links Manager 在协调处理期间不可用。在可用的 Data Links Manager 上,协调处理成功完成。该表处于“DataLink 协调暂挂”(DRP)状态,因为协调处理在不可用的 Data Links Manager 上处于暂挂状态。

用户响应

当表数据中涉及的所有 Data Links Manager 上成功完成协调时,表将脱离“DataLink 协调暂挂”状态。停止不可用的 Data Links Manager 并再次运行协调。

SQL2078N 无法成功添加或删除 DB2 Data Links Manager。原因码:原因码

说明

由于下列原因码所指示的原因之一而无法添加或删除 DB2 Data Links Manager:
01
已经向数据库注册了正在添加的 DB2 Data Links Manager。
02
未向数据库注册正在删除的 DB2 Data Links Manager。
03
数据库管理器配置参数 DATALINKS 被设置为 NO。
04
已经具有数据库允许的最大数目的 DB2 Data Links Manager 向该数据库注册。

用户响应

操作视原因码而定,如下所示:
01
不要尝试多次添加 DB2 Data Links Manager。
02
不要尝试删除未注册的 DB2 Data Links Manager。
03
使用 UPDATE DATABASE MANAGER CONFIGURATION 命令来将数据库管理器配置参数 DATALINKS 设置为 YES,并再次尝试执行该操作。
04
不要尝试添加多于允许的最大数目的 DB2 Data Links Manager。

SQL2079N 共享库 共享库名 报告了错误。返回码:返回码

说明

在数据库实用程序处理期间,供应商共享库报告了错误。显示的返回码响应有效的供应商 API 返回码之一。实用程序停止了处理过程。

可能的 API 返回码是:

3

数据库产品与供应商产品不兼容。

4

请求了无效的操作。

8

指定了无效的用户标识。

9

提供了无效的密码。

10

指定了无效的选项。

12

提供了无效的设备句柄。

13

指定了无效的缓冲区大小。

30

供应商产品内遇到严重错误。

其他

供应商产品返回特定严重错误。

用户响应

请确保提供的共享库有效。尝试根据供应商 API 返回码和相应的 db2diag 日志文件条目执行必要的更正操作,然后重新提交实用程序命令。

SQL2080N 快照备份失败。所备份的数据库在它的卷目录中不是唯一的。

说明

快照备份使您能够使用快速复制技术来完成备份和复原操作的数据复制和移动部分。

已尝试对数据库执行快照备份。但是,快照备份实用程序无法唯一地标识需要复制的数据库的所有元素,因为在同一卷目录中对正在备份的数据库和其他的一个或多个数据库进行了编目。

如果其他数据库与您正在尝试对其运行快照备份的数据库在同一卷目录中进行了编目,那么备份映像可能包含与您正在尝试备份的数据库不相同的数据库中的文件。如果备份映像包含多个数据库中的文件,那么将不能成功地使用该备份映像来复原任何这些数据库。

只能对在其卷目录中唯一的数据库执行快照备份或复原。

快照备份失败。

用户响应

要对包含多个数据库的给定卷目录中的数据库执行快照备份,请执行下列操作:

  • 删除或移动目标卷目录中的任何其他数据库。
  • 再次运行 BACKUP 命令。

SQL2081N 快照复原失败,因为要复原的数据库的某个或某些元素与现有数据库的某个或某些元素同名。原因码:原因码

说明

快照备份使您能够使用快速复制技术来完成 DB2 数据库备份和复原操作的数据复制和移动部分。

尝试从快照备份映像来复原数据库。但是,由于 原因码 所指示的原因,快照复原实用程序无法唯一地标识需要复制的数据库的所有元素:

1
在目标卷目录中对其他的一个或多个数据库进行了编目。

如果目标卷目录中存在另一个数据库,那么复原操作将替换该卷目录,从而导致现有数据库变得未编目。

2
因为另一个数据库正在使用备份映像中的数据库目录的某些部分,所以在复原期间无法在磁盘上创建备份映像中的完整数据库目录。

例如,当您创建数据库时,数据库服务器将创建一个如下所示的目录层次结构来存储该数据库的元数据:使用数据库管理器实例的名称来创建一个目录;在此目录下面,可能有一些用于数据库分区的目录;在这些目录下面是使用数据库标记命名的目录,例如,将 SQL00001 用于所创建的第一个数据库,将 SQL00002 用于所创建的第二个数据库,依此类推。

如果目标卷目录中存在一些同名的目录,那么将不能复原包含名为 SQL00001、SQL00002 或类似名称的目录的快照备份映像。

3
要从备份映像复原的日志目录已经存在于磁盘上并且不为空。

如果要从备份映像复原的日志目录已经存在于磁盘上并且包含数据,那么数据库管理器将不会复原这些目录,否则可能会意外地覆盖数据。

快照复原失败。

用户响应

要将数据库从快照备份映像复原到包含多个数据库的给定目标卷目录,请删除或移动目标卷目录中的任何其他数据库。

为了确保可以复原快照备份映像中的日志目录,请验证是否日志目录在磁盘上不存在或者为空。再次运行 RESTORE 命令。

SQL2084N 只能为数据库、工作负载或服务超类 数据库或服务超类名称 定义一个工作操作集。

说明

已经为指定的数据库、工作负载或服务超类 数据库或服务超类名称 定义了一个工作操作集。在任何时候,对于任何一个数据库、工作负载或服务超类,只能定义一个工作操作集。

用户响应

  1. 请执行下列其中一项操作:
    • 指定另一个数据库、工作负载或服务超类。
    • 删除当前为该数据库、工作负载或服务超类定义的工作操作集。
  2. 再次发出该请求。

sqlcode:-2084

sqlstate:5U017

SQL2085N 在映射工作操作 工作操作名称 中指定的服务子类不能是缺省服务子类。

说明

定义工作操作以映射活动时,不能指定缺省服务子类。

用户响应

请指定一个有别于缺省服务子类的服务子类,然后再次尝试执行此请求。

sqlcode:-2085

sqlstate:5U018

SQL2086N 对工作类 工作类名称 指定的范围无效。

说明

对 FROM 参数或 TO 参数指定的值无效。FROM 值必须为零或者为正的双精度值,而 TO 值必须为正的双精度值或 UNBOUNDED(指定无上限)。如果 TO 值不是 UNBOUNDED,那么它必须大于或等于 FROM 值。

用户响应

请对 FROM 值和 TO 值指定有效值,然后再次尝试执行此请求。

SQL2089N 不能从工作负载 工作负载名称 的定义中删除最后一个连接属性。

说明

ALTER WORKLOAD 语句应该可以导致从工作负载 工作负载名称 中删除最后一个连接属性,但不允许执行此操作。在工作负载的定义中必须至少指定一个连接属性。

用户响应

请确保 ALTER WORKLOAD 语句至少保留了工作负载定义中的一个连接属性。

sqlcode:-2089

sqlstate:5U022

SQL2090N 无法删除工作负载 工作负载名称,因为它未被禁用、它有活动的工作负载实例或者具有相关联的阈值或工作操作集。

说明

尝试删除工作负载 工作负载名称 失败,原因为下列其中一项。

  • 该工作负载尚未被禁用。
  • 该工作负载具有活动的工作负载实例。
  • 某个阈值与该工作负载相关联。
  • 某个工作操作集与该工作负载相关联。

用户响应

执行下列其中一项操作:

  • 如果该工作负载尚未被禁用,请发出 ALTER WORKLOAD 语句以禁用该工作负载并使新工作负载实例无法进入活动状态。
  • 请等待系统上不再有任何活动的工作负载实例运行,然后发出 DROP 语句以删除该工作负载。
  • 如果某个阈值与该工作负载相关联,请发出 DROP THRESHOLD 语句以删除相关联的阈值。
  • 如果某个工作操作集与该工作负载相关联,请发出 DROP WORK ACTION SET 语句以删除相关联的工作操作集。

sqlcode:-2090

sqlstate:5U023

SQL2091N 其余的存储路径中没有足够的存储空间用来重新平衡 表空间名称 表空间中的数据。

说明

已请求重新平衡某个表空间,但是此表空间在要删除的一个或多个存储路径上具有容器。作为重新平衡操作的一部分,数据服务器将删除这些容器。但是,在此表空间的其余路径中必须要有足够的空间,以便容纳要从被删除的容器中移动的数据。数据服务器将自动扩展现有容器并根据需要在其余路径中创建新容器,但是,在其余路径中没有足够的可用存储器来存放要移动的数据。

用户响应

对于您打算通过此方式重新平衡的每个表空间,请确定要删除的容器数目和大小,以估计要移动到其余存储路径中的数据量。至少需要此数量的可用空间才能成功完成重新平衡操作。请增加其余存储路径中的可用空间量,或者向数据库添加新的存储路径。

sqlcode:-2091

sqlstate:57011

SQL2092N 存储路径 存储路径 处于删除暂挂状态。无法处理当前请求。

说明

一个或多个存储路径已经处于删除暂挂状态。

用户响应

请从 ALTER DATABASE 语句或 ALTER STOGROUP 语句中除去处于删除暂挂状态的存储路径。然后再次尝试该请求。

sqlcode:-2092

sqlstate:55073

SQL2093N 无法删除所指定的存储路径。必须至少有一个存储路径与存储器组相关联。

说明

存储器组必须至少有一个与它相关联的存储路径。ALTER STOGROUP 语句正在尝试删除此存储器组的所有存储路径(或者删除尚不处于删除暂挂状态的其余路径)。

用户响应

修改 ALTER STOGROUP 语句,以便至少有一个存储路径未删除。如果必须删除所有存储路径,请修改 ALTER STOGROUP 语句,以同时添加一个或多个新的存储路径。新的存储路径必须具有足够的可用空间用来从正在删除的路径中移动容器和数据。

sqlcode:-2093

sqlstate:428HH

SQL2094W 重新平衡表空间 表空间名称 时未添加或删除容器,或者没有足够的磁盘空间来创建所有容器。原因码:原因码

说明

重新平衡操作尝试从处于“删除暂挂”状态的存储路径中删除容器,并在最近添加的存储路径中创建新的容器。此操作还会尝试为尚不包含所有数据库存储路径的分割集创建容器。由于下列其中一个原因码所指示的原因,在一个或多个数据库分区中出现此警告:

1

不需要添加或删除容器。

2

不需要删除容器,但是表空间中的某些分割集不包含每个存储路径的容器。然而,存储路径中没有足够的磁盘空间可用于已达到其最大大小的任何新容器或表空间。

3

不需要删除容器,但是表空间中的某些分割集不包含每个存储路径的容器。未能创建某些容器,因为某些存储路径没有足够的磁盘空间,或者表空间已达到其最大大小。会将新容器添加至表空间,并且会重新平衡数据。

4

需要删除某些容器,但是表空间中的某些分割集不包含每个存储路径的容器。然而,相应的存储路径中没有足够的磁盘空间可用于要创建的任何容器。将删除处于“删除暂挂”状态的存储路径中的容器,并且会重新平衡数据。

5

需要删除某些容器,但是表空间中的某些分割集不包含每个存储路径的容器。有足够的磁盘空间用来创建某些容器,但是不能创建所有容器。将删除处于“删除暂挂”状态的存储路径中的容器,并且将根据需要将新容器添加至分割集。将重新平衡数据。

用户响应

1

不需要重新平衡。

2

请增加已满的存储路径中的可用空间量,或者增大表空间的最大允许大小。然后再次尝试该请求。

3

等待当前的重新平衡操作完成。然后,增加已满的存储路径中的可用空间量,或者增大表空间的最大允许大小。然后再次尝试该请求。

4

等待当前的重新平衡操作完成。然后,增加已满的存储路径中的可用空间量,然后再次尝试该请求。

5

等待当前的重新平衡操作完成。然后,增加已满的存储路径中的可用空间量,然后再次尝试该请求。

要增加存储路径中的可用空间量,请增大文件系统大小或者删除非数据库数据。

sqlcode:+2094

sqlstate:01690

SQL2095W 存储路径 存储路径 处于删除暂挂状态,因为一个或多个自动存储器表空间位于此路径中。

说明

已请求从数据库中删除存储路径 存储路径。因为一个或多个自动存储器表空间在此存储路径中具有容器,所以不能立即将它除去,因此处于删除暂挂状态。将存储路径中的所有容器都除去之后,才能除去此存储路径。

如果正在删除多个存储路径,那么此消息可能也适用于其他存储路径。

用户响应

执行下列其中一项或多项任务以从存储路径中除去容器:

  • 删除所有自动存储器临时表空间。然后,重新创建这些表空间。新创建的表空间将不会使用处于删除暂挂状态的存储路径。
  • 使用 ALTER TABLESPACE 语句的 REBALANCE 子句来移动正在删除的存储路径中的数据和容器。
  • 删除不需要的表空间。

sqlcode:+2095

sqlstate:01691

SQL2096N 不能删除阈值 阈值名称。该阈值未被禁用,阈值队列不为空,或者活动正在该阈值的控制下运行。

说明

尝试删除阈值 阈值名称 失败。该阈值未被禁用,阈值队列不为空,或者活动正在该阈值的控制下运行。

用户响应

如果该阈值尚未被禁用,请将其禁用。如果该阈值是工作操作集的一部分,那么必须使用 ALTER WORK ACTION SET 语句将其禁用。如果该阈值不是工作操作集的一部分,请使用 ALTER THRESHOLD 语句将其禁用。禁用该阈值将阻止新的请求在该阈值的控制下运行。如果达到了排队阈值的并行限制,那么执行 DISABLE 操作可阻止新的请求加入该队列。请等待直到当前正在执行的请求完成,或者队列中不再有任何请求,然后再次发出 DROP THRESHOLD 语句。

sqlcode:-2096

sqlstate:5U025

SQL2097N 无法将活动映射至所指定的服务子类,因为 WLM_REMAP_ACTIVITY 例程至少有一个输入参数无效。原因码:原因码

说明

WLM_REMAP_ACTIVITY 例程失败,因为有一个或多个输入参数无效。原因码如下所示:

1

只能将活动重新映射至此活动的服务超类下的服务子类。在 service_superclass_name 参数中指定该活动的服务超类名,或者将它设置为 NULL。将 service_superclass_name 参数设置为 NULL 时,会将输入参数缺省设置为此活动的当前服务超类名称。

2

必须在 service_subclass_name 参数中指定该活动的服务超类下的有效服务子类。

3

将 log_evmon_record 参数的值指定为 Y,以便在分区上重新映射活动时将事件监视器记录写入 THRESHOLD VIOLATIONS 事件监视器。将 log_evmon_record 参数的值指定为 N,以便在分区上重新映射活动时阻止将事件监视器记录写入 THRESHOLD VIOLATION 事件监视器。

用户响应

请确保已满足原因码中的条件,然后重新调用 WLM_REMAP_ACTIVITY 例程。

sqlcode:-2097

sqlstate:5U046

SQL2098N 无法执行所请求的操作,因为所请求的操作与模式传输操作当前使用的对象或模式传输操作先前生成的对象有冲突。原因码:返回码

说明

所请求的操作与传输操作不兼容。下列原因码指示了该错误:

1

当存储路径正在由传输操作访问时,无法更改这些存储路径。当传输操作正在登台数据库上添加或删除存储路径时或在目标数据库上删除存储路径时,便会发生这种冲突。

2

所请求的操作无法在不具有容器且不可用的表空间上执行。

3

已为传输操作保留了表空间名称。

用户响应

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

1

请等待模式传输完成,然后重新发出 ALTER STORAGE PATH 命令。

2

删除不可用的表空间。不要在不可用的表空间上执行该操作。

3

指定一个不同的表空间名。

SQL2101N 由于与相关的数据库对象或配置不兼容,因此无法完成 ADMIN_MOVE_TABLE 过程。原因码:原因码

说明

您可以使用 SYSPROC.ADMIN_MOVE_TABLE 过程将数据从一个表空间移至另一个表空间。例如,您可以使用此过程将该数据迁移到新的表空间。返回此错误的原因由原因码指示:

1

DB2_SKIPDELETED 注册表变量处于启用状态。在 DB2 V9.7 修订包 2 之前,如果 DB2_SKIPDELETED 注册表变量处于启用状态,那么无法执行联机管理移动表操作。

26

协议表 SYSTOOLS.ADMIN_MOVE_TABLE 并非由此过程创建,因此不可用。

用户响应

首先,根据给定原因码作出响应:

1

禁用 DB2_SKIPDELETED 注册表变量。

26

删除 SYSTOOLS.ADMIN_MOVE_TABLE 表。

然后,再次调用 ADMIN_MOVE_TABLE 过程。

sqlcode:-2101

sqlstate:5UA0M

SQL2102N 由于执行 ADMIN_MOVE_TABLE 过程期间发生内部故障,因此无法完成该过程。原因码:原因码

说明

您可以使用 SYSPROC.ADMIN_MOVE_TABLE 过程将数据从一个表空间移至另一个表空间。例如,您可以使用此过程将该数据迁移到新的表空间。返回此错误的原因由原因码指示:

12

发生意外的内部错误。

13

使用了 LOAD 作为复制选项,但交换阶段未设置 FORCE 选项。

18

该过程尝试对表创建索引,但由于该表只包含无法被指定为索引组成部分的列,因此无法完成创建索引操作。

19

在回放阶段,由于对登台表挂起的活动锁定过多,因此无法处理登台表中的某些行。

22

装入目标表时发生错误或者行被拒绝。

28

将统计信息从源表复制到目标表时出错。

31

CLUSTER 与 NON_CLUSTER 选项相互不兼容。

32

系统时间段时间表不支持 KEEP 选项。

33

尝试获取信号量时,超过了最大重试次数。

35

超过了表的最大索引键长度。

用户响应

请根据给定原因码作出响应:

12

要报告此意外结果,请与 DB2 服务代表联系并提供 db2diag 日志文件以及诊断目录路径(由 DIAGPATH 数据库管理器配置参数指定)的内容。

13

装入操作不可恢复。请将 FORCE 选项与 COPY_USE_LOAD 配合使用,以便了解此事实并可以创建备份映像。

18

在尝试移动此表之前,请在此表中创建可以被指定为索引组成部分的列。

19

在对表执行的插入、更新或删除活动较少时再次尝试此操作。

22

请参阅 db2diag 日志目录中的 db2load 输出文件,并更正任何导致无法成功装入目标表的错误或数据。

28

无法复制统计信息;请再次尝试该操作并指定 NO_STATS 或 NEW_STATS 选项。

31

不能同时指定 CLUSTER 和 NON_CLUSTER 选项。请选择指定其中一个选项,或者,如果您期望缺省行为,那么不要指定这两个选项。

32

在不附带 KEEP 选项的情况下重试 ADMIN_MOVE_TABLE SWAP 操作。

33

等到当前正在进行的冲突移动操作释放信号量。

35

请确保将表移动至的表空间具有相同或更大的页大小。

sqlcode:-2102

sqlstate:5UA0M

SQL2103N 由于源表或目标表的某个方面不受 ADMIN_MOVE_TABLE 过程支持,因此无法完成 ADMIN_MOVE_TABLE 过程。原因码:原因码

说明

可通过使用 SYSPROC.ADMIN_MOVE_TABLE 过程将数据从一个表空间移至另一个表空间。

当 ADMIN_MOVE_TABLE 过程由于原因码所指示的原因而无法对源表或目标表执行操作时,会返回此消息。

6

源表类型不受支持,或者表中包括 ADMIN_MOVE_TABLE 过程不支持的功能。

7

验证操作在两个表之间检测到差别。在这两个表之间,行数或者列的值不一致。

14

源表是活动事件监视器的目标,因此无法移动。

16

源表中可更改的标志或索引与目标表中可更改的表标志或索引不匹配。

17

列定义或索引不同,但它们应该相同。

20

指定的目标表不受支持,或者对该表定义了引用约束。

21

指定的目标表不为空。

33

无法将系统时间段时间表或应用程序时间段时间表指定为目标表。

用户响应

请根据给定原因码作出响应:

6

将表的类型更改为一种受支持的类型。移除 ADMIN_MOVE_TABLE 存储过程不支持的所有表功能。

7

再次启动联机移动表操作,这应该能更正协议表中的错误。

14

在尝试移动该表之前,禁用事件监视器。

16

再次尝试交换阶段,以便更正源表与目标表之间可更改表标志或索引的差别。

17

将源表和目标表的列定义及索引定义更改为相同。

20

执行下列其中一项操作:

  • 更改目标表以使其受支持。
  • 指定不同的受支持目标表。
  • 移除引用约束。
21

指定空的目标表或者删除目标表中的所有条目,然后再次尝试该操作。

33

指定一个不是系统时间段时间表或应用程序时间段时间表的表作为目标表。

sqlcode:-2103

sqlstate:5UA0M

SQL2104N 此用户此时无法完成 ADMIN_MOVE_TABLE 过程。原因码:原因码

说明

您可以使用 SYSPROC.ADMIN_MOVE_TABLE 过程将数据从一个表空间移至另一个表空间。例如,您可以使用此过程将该数据迁移到新的自动存储器表空间。数据库对象或操作的状态与所尝试的移动表操作有冲突。返回此错误的原因由原因码指示:

4

联机移动表操作的状态不允许执行指定的操作。

8

没有正在执行中的联机移动表操作;因此,不允许执行指定的操作。

9

存在正在执行中的联机移动表操作;不允许对同一个表执行并行的联机表移动操作。

15

该表是联机表移动操作的目标表、登台表或协议表,因此不可移动。

29

正在执行现场重组操作,此操作不允许执行联机移动表操作的复制阶段。

用户响应

请根据给定原因码作出响应:

4

指定适合于联机移动表操作的当前状态的操作。可使用以下查询检查移动表操作的状态:

SELECT * FROM SYSTOOLS.ADMIN_MOVE_TABLE
WHERE KEY='STATUS' AND TABNAME='<TABLE-NAME>';
8

指定允许的操作。

9

等待有冲突的联机表移动操作完成。

15

等待联机表移动操作完成。

29

等待现场重组操作完成。

sqlcode:-2104

sqlstate:5UA0M

SQL2105N 由于未满足运行 ADMIN_MOVE_TABLE 过程的先决条件,因此无法完成该过程。原因码:原因码

说明

您可以使用 SYSPROC.ADMIN_MOVE_TABLE 过程将数据从一个表空间移至另一个表空间。例如,您可以使用此过程将该数据迁移到新的自动存储器表空间。ADMIN_MOVE_TABLE 过程要求某些信息或对象存在才能成功地运行。原因码指示了未满足的条件:

10

在协议表中找不到索引信息。

11

在协议表中找不到期望的数据。

23

由于必须存在唯一索引才能删除列,因此无法按照指定删除该列。要删除的列无法存在于该唯一索引中。

24

已指定常规数据、大对象(LOB)数据或索引的表空间,但未指定全部这三个表空间。

25

已指定要移动包含 LONG、LOB、结构化类型或 XML 列的表,但尚未对该表定义唯一索引(不包括包含 XML 列的唯一索引)。

30

无法按指定的方式添加该列,因为,对于所添加的任何被定义为 NOT NULL 的列,必须对其指定 DEFAULT 值。

用户响应

请根据给定原因码作出响应:

10

再次启动联机移动表操作,这应该能更正协议表中的错误。

11

再次启动联机移动表操作,这应该能更正协议表中的错误。

23

为该表创建新的唯一索引,移除要从唯一索引中删除的列,或者不要尝试删除该列并重试联机移动表操作。

24

指定全部三个表空间参数(常规数据、大对象数据和索引),或者不指定任何这些参数。

25

对该表创建唯一索引,或者不要尝试移动该表。

30

对所添加的任何被定义为 NOT NULL 的列指定 DEFAULT 值。

sqlcode:-2105

sqlstate:5UA0M

SQL2150W 已复原备份映像中所包含的表空间。根据调用程序的请求,可能已跳过一个或多个这样的表空间。

说明

发出了 RESTORE DATABASE 命令。用户可能已指示仅要恢复备份映像中的表空间的一个子集。

用户响应

不需要执行任何操作。

SQL2154N RESTORE 不成功。用来复原表空间的备份未与数据库的当前 日志序列相关联。

说明

对于表空间复原,必须在数据库的当前日志序列期间执行备份。日志文件序列由先前已复原的数据库或已处理的日志文件确定。另外,在最后一次对前滚恢复启用数据库之后,必须执行备份。

表空间复原已停止。

用户响应

重新提交该命令,并指定正确的备份映像。

SQL2155W 在发出打开扫描之后,已对恢复历史记录文件进行了更改。

说明

在打开文件以进行扫描之后,已对恢复历史记录文件进行了更改。读取的数据可能不一致。

用户响应

如果最重要的是扫描到一致的数据,那么关闭恢复历史记录文件,并重新提交该命令。

SQL2157N 已打开 8 个恢复历史记录文件扫描。

说明

已在此进程中打开了 8 个恢复历史记录文件扫描。不允许多于 8 个打开扫描。

无法处理该命令。

用户响应

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

SQL2160W 破坏的恢复历史记录文件已被替换。处理继续。

说明

访问恢复历史记录文件期间遇到错误。实用程序能够从替代副本恢复文件。实用程序继续处理。

用户响应

实用程序成功地继续处理。用户应该采取适当的预防措施来确保恢复历史记录文件不再破坏。

SQL2161N 未能修复破坏的恢复历史记录文件。指定的操作失败。

说明

访问恢复历史记录文件期间遇到错误。实用程序无法恢复此文件。实用程序停止了处理过程。

用户响应

要继续处理,用户可以除去恢复历史记录文件,并重新提交该命令。实用程序将重新生成新文件。破坏的文件中的任何数据都已丢失。用户可以查看破坏的文件,看看能否保存任何信息。用户应该采取适当的预防措施来确保恢复历史记录文件不再破坏。

SQL2162N 恢复操作失败,因为数据库管理器不具备访问 数据库分区号 数据库分区上的 数据库名称 数据库以及 日志流标识 日志流中的 日志文件号 日志文件的许可权。

说明

由于文件许可权设置方面的原因使得数据库管理器无法访问所指定的日志文件。无法继续进行恢复(前滚或崩溃恢复)。

用户响应

检查存储了日志文件的文件系统。请确保已经为实例所有者授予了足够的许可权来访问这些日志文件,然后再次尝试执行恢复操作。

SQL2163N 数据库管理器在恢复历史记录文件中找不到备份映像,因此无法在数据库分区号 分区号 上将数据库恢复到给定的时间点。

说明

数据库管理器在恢复历史记录文件中找不到备份映像,因此无法将数据库恢复到给定的时间点。当已删除了“历史记录文件”时,可能发生此错误。

用户响应

尝试及时指定一个较后的点。如果指定日志的结尾,那么确保“历史记录文件”包括备份事件的记录。

SQL2164N RECOVER 实用程序在数据库分区号 分区号 上找不到指定的恢复历史记录文件 文件名

说明

找不到为 RECOVER 命令指定的恢复历史记录文件。

用户响应

验证文件名并重新提交该命令。

SQL2165W 存储在历史记录文件记录中的表空间数目超过了 db2HistoryData 数据结构的 poTablespace 字段中已分配的表空间数目。

说明

db2HistoryData 中 iNumTablespaces 字段的值小于所访存的历史记录文件记录中的表空间数目。表空间数据已经被截断为 iNumTablespaces 的值。

用户响应

请增大为 poTablespace 分配的内存以允许存放更多表空间,并将 iNumTablespaces 的值更新为相应的较大数目。保证 db2HistoryOpenStruct 数据结构中 oMaxTablespaces 字段的值(由 db2HistoryOpenScan API 返回)所表示的表空间数目足以读取历史记录文件中的任何条目。

SQL2166N RECOVER 命令失败,因为数据库 数据库 不存在。

说明

RECOVER 命令依靠恢复历史记录文件来确定需要哪些备份映像和日志文件来恢复数据库。

因为指定的数据库不存在,所以数据库管理器找不到恢复历史记录文件。

用户响应

确定指定的数据库名称正确,或者使用 RECOVER 命令的 USING HISTORY FILE 子句来指定数据库的恢复历史记录文件。

SQL2167W 存储在历史记录文件记录中的日志流数目超过了传递给此函数的已分配日志流的数目。

说明

db2HistoryData 数据结构中 ioLogRange.iNumLogStreams 字段的值小于所访存的历史记录文件记录中的日志流的数目。日志流数据已被截断为 ioLogRange.iNumLogStreams 的值。

用户响应

请增大为 ioLogRange.oStream 分配的内存以允许存放更多日志流,并将 ioLogRange.iNumLogStreams 的值更新为相应的较大数目。保证由 db2HistoryOpenStruct 数据结构中 oMaxLogStreams 字段的值(由 db2HistoryOpenScan API 返回)所表示的日志流数目足以读取历史记录文件中的任何条目。

SQL2170N 实用程序在恢复历史记录文件中遇到具有同一标识的条目。写操作失败。

说明

实用程序在写恢复历史记录文件时,在该文件中遇到具有同一标识(精确到秒的时间戳记) 的条目。对恢复历史记录文件的写操作终止。数据库管理器确保恢复历史记录文件标识的唯一性,预防有不唯一的情况,即使每秒钟有多个请求时也是如此。然而,如果在几秒钟之内有大量请求,写操作也可能失败。

用户响应

如果应用程序正在运行生成很多条目到历史记录文件的实用程序(如 Backup、Quiesce、Load),那么尝试协调实用程序请求以预防该问题。

SQL2171N 因为文件中不存在指定的对象部件,所以更新恢复历史记录文件失败。

说明

指定要更新的恢复历史记录文件条目不存在于该文件中。实用程序停止了处理过程。

用户响应

重新提交该命令,并指定有效条目。

SQL2172W 实用程序已完成,但是由于错误 错误,使它不能记录恢复历史记录文件中的事件。

说明

实用程序在写入恢复历史记录文件时出错。此警告并不影响处理。

用户响应

更正错误状态以避免将来的警告。

SQL2180N 在过滤规范中使用了不正确的语法或密码键。

说明

提供的过滤规范使用了不正确的语法和/或不正确的密码键。

用户响应

保存诊断信息。与 IBM 服务中心联系。

SQL2181N 在已过滤的恢复期间,发生了内部错误。

说明

在已过滤的恢复期间,发生了内部错误。恢复终止。

用户响应

如果在尝试更改表的状态时发生错误,那么尝试过滤掉整个表空间。保存诊断信息。与 IBM 服务中心联系。

SQL2200N 表或索引名的限定符过长。

说明

授权标识必须是 1 到 128 字节长。

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

用户响应

使用正确的限定符重新提交命令。

SQL2203N 表名参数无效。表名太长、只指定了授权标识、未指定表名,或名称的地址无效。

说明

需要表名并且长度必须是 1 到 128 个字符(在 MBCS 环境中以字节计)。表名必须位于有效的应用程序地址处。

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

用户响应

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

SQL2204N iname 参数无效。索引名太长、只指定了授权标识,或索引的地址无效。

说明

如果指定了索引,那么名称长度必须为 1 到 128 字节。索引必须位于有效的应用程序地址处。

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

用户响应

重新提交该命令,并指定有效的索引名。

SQL2205N 因为指定的索引无效,所以请求的操作失败。原因码:原因码

说明

对于所请求的操作,指定的索引参数无效。下面是原因码的列表:

1

对于指定的 模式.表名模式.索引名,指定的索引不存在。

2

指定的索引是一个扩展的索引。“重组表”实用程序不支持基于索引扩展的索引。

3

必须以伪删除方式对下列操作启用对表定义的所有索引:原地表 REORG、联机 LOAD 以及指定了 CLEANUP 选项的 REORG INDEXES。

4

在表 REORG 命令中指定了除集群索引之外的索引。

5

如果表上存在基于索引扩展的任何索引,那么不允许进行原地表重组(REORG)。

6

不能对具有一个或多个维(使用 CREATE TABLE 命令的 ORGANIZE BY 子句)的表的 REORG TABLE 指定索引。

7

对 REORG TABLE 指定的索引不能是 XML 区域索引、XML 列路径索引或者 XML 列的索引。

8

如果指定了索引或者如果集群索引在表上存在,那么只能使用 REORG INDEXSCAN。

9

对带有 RECLAIM EXTENTS 选项的 REORG INDEX 指定的索引必须位于数据库管理空间 (DMS) 表空间中。

10

指定的索引是使用 RANDOM 排序的索引。

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

实用程序或操作停止处理。

用户响应

重新提交该命令,并指定有效的索引,或者不指定索引(如果适用)。

SQL2207N 数据文件参数指定的文件路径无效。

说明

数据文件参数不是任何指示缺省文件路径的值。数据文件参数也是无效的非缺省值。下列其中一项可能适用:
  • 该指针无效。
  • 该指针所指向的字符串对于文件路径指定而言太长。
  • 指定的路径值(在服务器上)无效。
  • 服务器的文件路径没有以适当的分隔符结束。

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

用户响应

使用有效的数据文件参数来重新提交该命令。

SQL2208N 由表空间或长表空间参数指定的表空间 表空间名 无效。

说明

表空间或长表空间参数不包含有效值。可能存在下列其中一种情况:
  • 该指针无效
  • 该指针所指向的字符串对于表空间名而言太长
  • 指定的表空间不存在。

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

用户响应

使用有效的表空间或长表空间参数重新提交该命令,或者不使用这些参数。在以后的例子中,重组表实用程序将使用表本身所驻留的表空间。

SQL2211N 指定的表不存在。

说明

该表不存在于数据库中。表名或授权标识不正确。

无法处理该命令。

用户响应

使用有效的表名重新提交该命令。

SQL2212N 指定的表是一个视图。不能对视图运行重组表实用程序。

说明

不能对视图运行重组表实用程序。

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

用户响应

使用有效的表名重新提交该命令。

SQL2213N 指定的表空间不是系统临时表空间。

说明

REORG 实用程序要求任何指定的表空间是系统临时表空间。提供的表空间名不是定义来保存系统临时表的表空间。

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

用户响应

重新提交该命令,并指定系统临时表空间的名称,或不使用表空间名参数。在后一种情况下,REORG 实用程序将使用表本身驻留的表空间。

SQL2214N 此用户标识不具有对表 名称 运行 REORG 实用程序的权限。

说明

尝试在没有适当权限的情况下重组所指定的表或者其索引。适当的权限是对于表的 CONTROL 特权或者下列权限之一:SYSADM、SYSCTRL、SYSMAINT、DBADM 或 SQLADM。

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

用户响应

以具有适当权限或特权的用户身份登录,并重新提交 REORG 实用程序命令。

SQL2215N 落实前一个数据库工作时,发生 SQL 错误 sqlcode

说明

用户已与 Reorganize Table 命令中指定的数据库相连。当落实数据库的先前工作时出错。

实用程序停止了处理过程,而不尝试回滚工作或断开数据库连接。

用户响应

查看消息中的 SQLCODE(消息号)以了解更多信息。进行更改并重新提交该命令。

SQL2216N 重组数据库表或其索引时发生 SQL 错误 sqlcode

说明

在重组数据库表或其索引期间出错。

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

用户响应

查看消息中的 SQLCODE(消息号)以了解更多信息。进行更改并重新提交该命令。

SQL2217N REORG 实用程序使用的系统临时表空间的页大小必须与表数据 (包括 LONG 或 LOB 列数据)所在表空间的页大小相匹配。原因基于下列原因码 原因码

说明

下面是原因码的列表:
1
原因与表的数据的临时表空间的选择相关。
2
原因与表的 LONG 或 LOB 数据的临时表空间的选择相关。
如果对 REORG 实用程序显式地指定了系统临时表,那么 REORG 实用程序使用的系统临时表空间的页大小必须与表数据(包括 LONG 或 LOB 列数据)所在的表空间的页大小相匹配,否则必须为长数据指定适当的容器。下列其中一项违反了此限制:
  • 表数据所在的表空间的页大小与指定的系统临时表空间的页大小不同。
  • 该表包含 LONG 或 LOB 列,这些列的数据驻留在页大小与系统临时表空间和表的规则数据的页大小不同的表空间中,但是,无法为 LONG 或 LOB 数据对象找到具有正确页大小的表空间。

如果未对 REORG 实用程序指定系统临时表空间或 LONG 临时表空间,那么该实用程序在内部查找系统临时表空间。在数据库中不存在使用与表数据页大小相同的页大小的系统临时表空间,或者该系统临时表空间此时不可用。

用户响应

如果数据库中不存在使用与表数据页大小相同的页大小的系统临时表空间,请创建一个系统临时表空间,它使用与该表数据的页大小相匹配的页大小。如果表数据的页大小与 LOB 或 LONG 数据的页大小不同,那么应确保使用该页大小的系统临时表空间也存在。

如果数据库中存在使用与表数据页大小相同的页大小的系统临时表空间,但是发出命令时该临时表空间不可用,请在该系统临时表空间可用时重新发出该命令。

SQL2218N 为 REORG 实用程序指定的一个或多个参数不兼容。

SQL2219N 一个或多个成员上的原位表重组失败。表名:表名。原因码:原因码

说明

通过对表进行重组,可以回收未使用的空间以及提高查询的性能,由于对表数据进行了大量更改,这些查询已开始缓慢运行。可以通过发出 REORG TABLE 命令来重组表。

通过在 REORG TABLE 命令中指定 INPLACE 参数,可以执行原位(联机)表重组,这使用户和应用程序在重组期间对表中的数据具有完全访问权。

当原位表重组因为不兼容的参数、函数顺序错误或原位重组功能的限制而失败时,将返回此消息。原因码标识了特定错误:

1

因为数据或索引对象从暂停重组以来已更改,所以恢复已暂停的重组失败。

2

因为对于指定的表没有要恢复的已暂停重组,所以恢复重组失败。

3

不能指定索引来继续执行非集群表重组。

4

因为已删除启动重组时指定的索引,所以恢复重组失败。

5

因为恢复重组时指定的索引不是暂停表重组时指定的同一索引,所以恢复重组失败。

6

因为 .OLR 状态文件的内容无效或者因为缺少该状态文件,所以恢复重组失败。

7

因为重组实用程序尝试访问 .OLR 状态文件时发生了 I/O 错误,所以恢复重组失败。

8

因为对于指定的表已有正在进行的重组,所以启动或恢复重组失败。

9

因为对于指定的表已经有一个已暂停重组,所以启动重组失败。

10

因为已经发出用于暂停或停止重组的命令,所以尝试暂停或停止重组失败。

11

因为没有任何要暂停或停止的表重组,所以尝试暂停或停止重组失败。

12

表处于附加模式。

13

表缺少行更改时间戳记列。

14

表使用了原位表重组不支持的数据压缩类型。

15

恢复重组失败,因为指定数据分区上没有要恢复的暂停重组。

16

尝试通过在指定 FULL 参数的情况下调用 REORG TABLE 命令来恢复重组。但是,最初启动重组时未指定 FULL 参数。

17

尝试通过在指定 CLEANUP 和 OVERFLOWS 参数的情况下调用 REORG TABLE 命令来恢复重组。但是,最初启动重组时未指定 CLEANUP 和 OVERFLOWS 参数。

18

表具有基于表达式的索引。

19

尝试启动、暂停或恢复重组失败,因为分区表存在多个 .OLR 状态文件。

20

针对范围分区表的重组失败,因为该表存在非分区索引。

用户响应

根据原因码对此错误作出响应:

1

停止正在运行的重组,然后启动新的重组。

2

启动新的重组。

3

通过执行以下其中一个操作,对原因码 3 作出响应:

  • 在不指定索引的情况下继续执行重组
  • 停止现有重组,然后在指定索引名的情况下启动新的重组
4

停止已暂停的表重组,然后启动新的重组。

5

通过执行以下其中一个操作,对原因码 5 作出响应:

  • 在指定最初启动重组时指定的同一索引的情况下恢复重组。
  • 在不指定任何索引的情况下恢复重组,缺省情况下,这将导致使用原始索引。
6、7

通过执行以下故障诊断步骤对原因码 6 和 7 作出响应:

  1. 确认名为“<tablespaceID>.<objectID>.OLR”的文件存在于数据库目录下并且可访问,然后重新提交命令
  2. 如果错误仍存在,请停止该重组,然后启动新的重组。
8

因为重组已在进行中,所以无需作出响应。

9

通过执行以下其中一个操作,对原因码 9 作出响应:

  • 恢复已暂停的重组
  • 停止该重组,然后启动新的重组
10

等待重组暂停或停止。

11

因为未在对指定的表运行重组,所以不需要用户响应。

12

通过执行以下其中一个操作,对原因码 12 作出响应:

  • 在指定 APPEND OFF 子句的情况下发出 ALTER TABLE 语句,然后执行原位重组
  • 对表进行脱机重组
13

对表进行脱机重组。

14

对表进行脱机重组。

15

在指定正确数据分区或不指定 ON DATA PARTITION 子句的情况下恢复重组。

16

在不指定 FULL 参数的情况下恢复重组。

17

在不指定 CLEANUP 和 OVERFLOWS 参数的情况下恢复重组。

18

对表进行脱机重组。

19

停止针对该表的重组,然后启动新的重组。

20

删除非分区索引并重新发出重组命令,或从重组命令中移除 INPLACE 选项。

SQL2220W 没有为一个或多个数据对象构建压缩字典。

说明

未能为一个或多个数据对象构建压缩字典。这些对象不包含任何记录,或者不包含大于适合于此页大小的最小记录长度的任何记录。未构建新字典。将继续完成该操作。如果在执行该操作之前已经有一个字典,那么会保留该字典,而行数将取决于压缩程度。

用户响应

参阅“管理日志”以确保是那些数据对象导致了警告。

SQL2221N REORG 命令失败,因为所指定的表 表名 与要求回收扩展数据块的请求不兼容。

说明

如果发出了 REORG TABLE RECLAIM EXTENTS 命令,那么仅当表是多维集群 (MDC) 或插入时集群 (ITC) 表并且此 MDC 或 ITC 表位于数据库管理空间 (DMS) 表空间中时,指定的表名才受支持。

如果发出了带有 RECLAIM EXTENTS 选项的 REORG INDEXES ALL 命令,那么指定表名的索引必须位于数据库管理空间 (DMS) 表空间中。

用户响应

执行下列其中一项操作:

  • 在 REORG RECLAIM EXTENTS 命令中使用标识 DMS 表空间中的 MDC 或 ITC 表的表名。
  • 对 REORG INDEXES ALL 命令使用其索引位于 DMS 表空间中的表。

sqlcode:-2221

sqlstate:5U044

SQL2222N 所指定的数据分区 数据分区名称 无效。原因码:原因码

说明

所指定的数据分区名称对于请求无效,以下原因码指出了其原因:

1

所指定的表不存在数据分区名称。

2

REORG INDEX 命令不支持 ON DATA PARTITION 子句。

3

因为数据分区处于已连接或已拆离状态,所以无法执行该操作。

用户响应

请根据消息中列示的原因码来执行下列操作。

1

使用有效的数据分区名称或不使用数据分区名称来重新提交此请求。

2

在不指定 ON DATA PARTITION 子句的情况下重新提交此命令。

3

查询 SYSCAT.DATAPARTITIONS 目录视图以检查分区的 STATUS 列的值。

如果 STATUS 为“A”,那么该分区是新连接的分区,请执行下列步骤:

  1. 发出 SET INTEGRITY 语句以使新连接的分区进入正常状态,STATUS 为空字符串。
  2. 在 SET INTEGRITY 成功完成之后重新提交该请求。

如果 STATUS 值为“D”、“L”或“I”,那么正在拆离该分区,但拆离操作尚未完成。不允许重组已拆离分区的数据或索引。

在拆离操作完成后,该分区将不再是源表的一部分。您可以在拆离操作完成后重组新创建的目标表的数据或索引。