db2 重置处于停顿(quiesce)状态的表空间后仍然遇到 SQL0290N 的错误

环境:
产品:DB2 UDB
平台:Unix, Linux & Windows
版本:V7.2, V8.1


问题描述:

如果用户由于遇到 SQL0290N 的报错,指出表空间由于处于停顿状态而不允许存取,从而使用如下命令:

db2 quiesce tablespaces for table reset

对表空间状态进行重置,但在成功完成了重置操作后,再尝试对该表空间进行存取操作时,仍遇到上述错误,检查表空间状态并未发生改变,其原因可能与用于执行上述命令的用户有关。


解答:

当用户使用“ list tablespaces” 命令对 DB2 数据库的表空间状态进行检查时,如果发现输出信息中表空间的“ 状态” 项中为:0x1,0x2 或 0x4,“ 详细解释” 项中对状态的解释分别为:SHARE,UPDATE 或 EXCLUSIVE 的停顿状态,这表明表空间处于一种由 quiesce 命令发出的持续的锁定状态。对该表空间的操作将遇到 SQL0290N 的报错,具体报错信息为:

SQL0290N 不允许存取表空间。

解释:

进程尝试存取一个处于无效状态的表空间,该状态不允许所期望的存取。

o 若表空间处于停顿状态,则仅允许还使表空间处于停顿状态的进程存取表空间。
:
:

为了除去以上三种停顿(quiesce)状态,解决 SQL0290N 的问题,用户可利用以下命令:

db2 quiesce tablespaces for table reset

将表空间的状态重新置为正常状态(0x0),具体操作可参看文档《如何将表空间的状态置为正常》中的步骤描述。

如果在重置操作成功完成后,对表空间的操作仍然遇到 SQL0290N 的报错,并且在 DB2 的错误诊断日志文件 db2diag.log 文件中发现有类似如下的信息记录:

2003-06-06-13.50.39.579506 Instance:db2inst1 Node:001
PID:3432546(db2agent (XYZ) 1) TID:1

ADM6086W The attempt to acquire and reset the phantom quiesce state for table space "TBS1" (ID "6") did not change the state even though the command returned successfully. The authorization ID of the current user does not match the quiescer authorization ID and these must be the same to successfully acquire and reset a phantom quiesce. Determine the correct quiescer authorization ID by taking a table space snapshot and retry the quiesce reset command using that ID.

则说明用来执行停顿状态重置的用户有问题。正如上述信息中描述的那样,该用户的 ID 与当初执行停顿操作的用户的 ID 不一致。为成功将遗留的停顿状态去除,必须使用发出 quiesce 命令的用户(quiescer)进行重置操作。

这里介绍一种查询 quiescer 的方法:

1. 停止当前实例的运行:db2stop。

2. 利用 db2dart 工具搜集有关信息:
db2dart /dtsf

3. 从 db2dart 的输出报告文件(*.rpt)中,可在相应的表空间名下找到类似如下的信息:

1) Userid of quiescer: DB2INST1
Quiesce state: 1
Tbspace ID of quiesced object: 2
Table ID of quiesced object: 3
EDU ID: 0
Agent ID: 0

即 quiescer 的 ID 为“ DB2INST1” ,用户应该以该用户的身份重新登录,然后重新尝试状态重置的操作。在该命令成功完成后,应该不会再遇到 SQL0290N 的错误,用户可再次通过“ LIST TABLESPACES ” 的命令对表空间的“ 状态” 进行一次检查,以确保表空间的状态均为“ 正常” 。

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13165828/viewspace-614496/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13165828/viewspace-614496/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值