Operation not allowed for reason code SQL0668N
SQL0668N
不允许对表 表名 执行操作,原因码为 原因码。
说明
限制对表 表名 的访问。原因基于下列原因码 原因码:
1
该表处于“设置完整性暂挂无访问”状态。未强制表的完整性并且表的内容可能是无效的。如果从属表处于“设置完整性暂挂无访问”状态,那么对于未处于“设置完整性暂挂无访问”状态的父表或基础表执行的操作也可能会接收到此错误。
2
表处于“无数据移动”状态。当处于此状态时,禁止导致数据移动的操作。数据移动操作包括 REDISTRIBUTE、更新数据库分区键、更新易做图集群键、更新范围集群键、更新表分区键和 REORG TABLE。
3
表处于“装入暂挂”状态。先前尝试装入(LOAD)此表失败。在重新启动或终止 LOAD 操作之前不允许对表进行访问。
4
表处于“读访问”状态。此状态可以在联机装入(LOAD)处理(带有 READ ACCESS 选项的 LOAD INSERT)期间发生,或在联机装入(LOAD)操作后发生,除了在使用 SET INTEGRITY 语句在表的新追加的部分验证所有约束之前。不允许对此表的更新活动。
5
表处于“正在装入”状态。LOAD 实用程序当前对此表进行操作,直到 LOAD 完成才允许访问。
6
不能在 ESE 中刷新引用昵称的具体化查询表。
7
表处于“REORG 暂挂”状态。在执行包含 REORG 建议的操作的 ALTER TABLE 语句后,可能会发生这种情况。
8
表处于“改变暂挂”状态。当在包含 REORG 建议的操作的 ALTER TABLE 语句所在工作单元中使用该表时,就可能会发生这种情况。
9
表处于“重新分发暂挂”状态。REDISTRIBUTE 实用程序未完成对此表的操作,直到 REDISTRIBUTE 完成才允许访问。
10
该表是正在执行的 ADMIN_MOVE_TABLE 操作的源表。所尝试的操作在移动操作完成或被取消前将受限制。
用户响应
1
对表 表名 执行带有 IMMEDIATE CHECKED 选项的 SET INTEGRITY 语句,以使表脱离“设置完整性暂挂无访问”状态。对于用户维护的具体化查询表,执行带有 IMMEDIATE UNCHECKED 选项的语句,而不是带 IMMEDIATE CHECKED 选项。
2
对表 表名 的从属立即具体化查询表和登台表执行 REFRESH TABLE 语句。可以通过先前的 LOAD INSERT 操作根据 表名 的追加数据以及通过先前带有 ATTACH 子句的 ALTER TABLE 语句根据 表名 的连接数据以增量方式维护这些从属立即具体化查询表和登台表的内容。
3
通过分别发出带有 RESTART 或 TERMINATER 选项的 LOAD 来重新启动或终止先前失败的对此表的 LOAD 操作。
4
发出 LOAD QUERY 命令以检查该表是否正在装入。如果是,那么一直等到 LOAD 实用程序完成,或如果有必要,请重新启动或终止先前失败的“装入”操作。如果当前未在进行 LOAD,那么发出带有 IMMEDIATE CHECKED 选项的 SET INTEGRITY 语句以验证表的新装入部分中的约束。
5
一直等到当前 LOAD 操作完成。可用使用 LOAD QUERY 命令来监视装入的进度。
6
使用 MAINTAIN BY USER 选项定义具体化查询表。然后,使用带有子查询的 INSERT 语句填充具体化查询表。
7
使用 REORG TABLE 命令对表进行重组。
对于处于 REORG 暂挂状态的表,请注意在对该表进行重组时不允许使用下列子句:
INPLACE REORG TABLE 子句
当分区表上定义了非分区索引时对于该表的 ON DATA PARTITION 子句。
8
完成该工作单元,然后重新发出该命令。
9
如果 REDISTRIBUTE 实用程序在工作,请等待直到它完成对当前表的处理。可使用 LIST UTILITIES 命令来监视 REDISTRIBUTE 实用程序的进度。如果先前的 REDISTRIBUTE 操作失败并且使表处于此状态,请再次发出 REDISTRIBUTE 实用程序并指定 CONTINUE 或 ABORT 选项,然后让它完成对此表的处理。
10
完成或取消表移动操作,然后重新发出该命令。您可以查询 SYSTOOLS.ADMIN_MOVE_TABLE 表,以了解有关移动操作状态的信息。
sqlcode:-668
sqlstate:57007
作者 cuiran