请高手帮忙!用Quest Center 作Tune SQL报错!

发布于 2022-06-23 11:13:06 字数 330 浏览 418 评论 9

Explain Failed - 16:31:05
[IBM][CLI Driver][DB2/AIX64] SQL0668N  由于表 "TBSPACEID=22.TABLEID=3351" 上的原因代码 "1",所以不允许操作。  SQLSTATE=57016

这个表是个分区表,
属性有
LOCKSIZE ROW
APPEND OFF
NOT VOLATILE
其他的属性都应该是默认属性了。
请问是什么属性有问题?怎么解决?
谢谢!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

看海 2022-07-02 15:17:30

表的DDL:
CREATE TABLE T_t
( id char(1) )
  DATA CAPTURE NONE
  IN SINGLENODETBS;

ALTER TABLE T_t
  LOCKSIZE ROW
  APPEND OFF
  NOT VOLATILE;

梨涡 2022-07-02 15:12:41

应该不是外键这样的问题,因为我的表是没有建主键,也没有建外键的。
我通过查看该表的DDL语句,只有
LOCKSIZE ROW
APPEND OFF
NOT VOLATILE
。其他的都没有,应该是都是默认属性。
另外我仓库中所有的表都不可以作Tune SQL了,包括最简单的select *。
我随便Create Table 一个表,然后做Tune SQL也不可以。
不知道什么原因?是不是有什么其他的参数?亦或数据库级的参数?
因为以前我是可以做这样操作,仓库重建后就不行了,不知道是什么原因?谢谢!

忘羡 2022-07-02 15:11:32

原帖由 "tophi" 发表:
我看了所有的表空间都是下面这样子的。
Tablespace ID = 7
Name = XXXXXXXXXX
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal

CHECK PENDING是表的状态,而非表空间的状态!

请帮我爱他 2022-07-02 14:36:47

原帖由 "tophi" 发表:
set integrity for t IMMEDIATE CHECKED
报错:
[IBM][CLI Driver][DB2/AIX64] SQL3600N 因为表 "XJDSS.BS_CC_FEESET" 是用户维护的具体查询表或未处于检查暂挂状态,所以 SET INTEGRITY 语句的 IMMEDIATE CHECKED 选项无效。 SQLSTATE=5102
应该说明他不是“检查挂起”状态。

你的表应该处于check pending状态,该表上应该定义有外键或检查限制,而且有数据违反限制,所以你执行上述命令后表仍处于check pending状态!

解决方法一个是建立例外表,检查父子表,将违反限制的数据放入例外表中
另一个方法是不检查限制,解除状态,但可能存在违反限制的数据,如:

  1. set integrity for t  ALL IMMEDIATE UNCHECKED

复制代码

公布 2022-07-02 14:30:59

我看了所有的表空间都是下面这样子的。
Tablespace ID                        = 7
Name                                 = XXXXXXXXXX
Type                                 = Database managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal

小兔几 2022-07-02 13:09:28

你吧所有节点表空间的状态贴出来啊!
db2=>;list tablespace

柠檬心 2022-07-02 08:41:20

set integrity for t  IMMEDIATE CHECKED
报错:
[IBM][CLI Driver][DB2/AIX64] SQL3600N   因为表 "XJDSS.BS_CC_FEESET" 是用户维护的具体查询表或未处于检查暂挂状态,所以 SET INTEGRITY 语句的 IMMEDIATE CHECKED 选项无效。  SQLSTATE=5102
应该说明他不是“检查挂起”状态。

冷清清 2022-06-30 03:21:42

怎么操作?谢谢,给个例子?嘿嘿

你是我的挚爱i 2022-06-29 17:54:39

是不是做Load操作了?表处于“检查暂挂”状态,需要运行set integrity命令解除。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文