报错,错误号为:SQL0668N

 报错,错误号为:SQL0668N

  详细说明:

  SQL0668N 不允许对表 "<表名 designtimesp=24220>" 执行操作, 原因码。

  解释:

  限制对表 "<表名 designtimesp=24224>" 的访问。原因基于下列原因码

  原因码:

  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语句所在工作单元中使用该表时,就可能会发生这种情况。

  用户响应:

  1 对表 "<表名 designtimesp=24243>" 执行带有 IMMEDIATE CHECKED 选项的SETINTEGRITY 语句,以使表脱离“设置完整性暂挂无访问” 状态。对于用户维护的具体化查询表,执行带有IMMEDIATE UNCHECKED选项的语句,而不是带 IMMEDIATECHECKED选项。

  2 对表 "<表名 designtimesp=24245>"

的从属立即具体化查询表和登台表执行 REFRESH TABLE语句。可以通过先前的 LOAD insert 操作根据 "<表designtimesp=24248>" 的追加数据以及通过先前带有 ATTACH子句的 alter TABLE 语句根据 "<表名 designtimesp=24249>" 的连接数据以增量方式维护这些从属立即具体化查询表 和登台表的内容。

  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)。

  8 完成该工作单元,然后重新发出该命令。

sqlcode : -668

sqlstate : 57007

-------------------------------------------------------

  解决方案:

  在服务器端CLP执行下列命令即可:

  SET INTEGRITY FOR DB2ADMIN.ALARMTARGET IMMEDIATE CHECKED

  说明:如果表处于"设置完整性暂挂"的状态,那么就需要尽快处理,否则该表不能进行 select、update、delete 等操作。


SQL0668N 原因码为 "1",所以不允许操作 SQLSTATE=57016 ORACLE一次失败的导入到DB2 收藏
时间:2010-10-25 09:37来源:互联网 作者:互联网 点击:55次
? SQL0668N 原因码为 "1",所以不允许操作 SQLSTATE=57016 ORACLE一次失败的导入到DB2 收藏 SQL0668N 原因码为 "1",所以不允许操作 SQLSTATE=57016 ORACLE一次失败的导入到DB2 SQL0668N 原因码为 "1" SQLSTATE=57016 ORACLE导入到DB2 日月 ...
SQL0668N 原因码为 "1",所以不允许操作 SQLSTATE=57016 ORACLE一次失败的导入到DB2 收藏
SQL0668N 原因码为 "1",所以不允许操作 SQLSTATE=57016 ORACLE一次失败的导入到DB2
SQL0668N 原因码为 "1" SQLSTATE=57016 ORACLE导入到DB2
日月明王的BLOG http://sunmoonking.spaces.live.com
利用MTK工具没有成功导入数据,于是用(ORACLE 用MTK工具导入到DB2
http://sunmoonking.spaces.live.com/blog/cns!E3BD9CBED01777CA!751.entry)最后所写的方法手工批量导入。一切顺利。做完后抽样检查,发现有些表出现如下问题。
db2 => select * from TABLE_NAME
USER_FUNCTION_ID USER_ID DEALER_ID FUNCTION_ID CREATE_
BY CREATE_DATE UPDATE_BY UPDATE_DATE
-------------------- -------------------- --------- -------------------- -------
SQL0668N 由于表 "ADMINISTRATOR. TABLE_NAME " 上的原因码为
"1",所以不允许操作。 SQLSTATE=57016
查了下问题原因是原因是装入时有数据违反了检查约束,造成表处于检查挂起状态。网上说可以用set integrity for table_name check immediate unchecked解除表的检查挂起状态, 但是运行完后还是无法访问此表
db2 => set integrity for table_name check immediate unchecked
DB20000I SQL命令成功完成。
db2 => select * from TABLE_NAME
USER_FUNCTION_ID USER_ID DEALER_ID FUNCTION_ID CREATE_
BY CREATE_DATE UPDATE_BY UPDATE_DATE
-------------------- -------------------- --------- -------------------- -------
SQL0668N 由于表 "ADMINISTRATOR. TABLE_NAME " 上的原因码为
"1",所以不允许操作。 SQLSTATE=57016
问题依旧。又试图用再次LOAD的方法使其状态正常,通过分别发出带有 RESTART 或 TERMINATER 选项的 LOAD 来重新启动或终止先前失败的对此表的 LOAD 操作。但是问题依旧。
db2 => LOAD FROM C:\MTK\projects\Unknown7\DataOutScripts\FILENAME_TABLE_NAME.out of DEL restart INTO TABLE_NAME
SQL27902N LOAD RESTART/TERMINATE 在未处于 LOAD PENDING 状态的表上不允许。
再试
C:\Documents and Settings\Administrator>db2 set integrity for TABLE_NAME immediate checked
不成功。
怀疑现在的问题不仅仅是表的问题,于是察看TABLESPACE
db2 =>list tablespaces show detail
表空间标识 = 2
名称 = USERSPACE1
类型 = 数据库管理空间
内容 = 所有持久数据。大型表空间。
状态 = 0x0020
详细解释:
备份暂挂
总计页数 = 40960
可用页数 = 40928
已用页数 = 40448
可用页数 = 480
高水位标记(页) = 40448
页大小(以字节计) = 16384
扩展数据块大小(页) = 32
预取大小(页) = 32
容器数 = 1
最小恢复时间 = 2007-02-13-02.29.51.000000
想通过以下命令使其正常
db2 => alter tablespace USERSPACE1 switch online
DB20000I SQL命令成功完成。
状态一样
于是通过BACKUP来除去备份暂挂状态, 手工备份后恢复正常. 0x0000
db2 backup db DB_NAME tablespace (userspace1)
再解除表的检查挂起状态
db2 => set integrity for tt_user_function immediate checked
DB20000I SQL命令成功完成。
db2 => select count(*) from tt_user_function;
SQL0104N 在 "rom tt_user_function" 后面找到异常标记
";"。预期标记可能包括:"END-OF-STATEMENT"。 SQLSTATE=42601
db2 => select count(*) from tt_user_function

1
-----------
1534
访问正常.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值