DB2表空间静默状态的

DB2表空间处于静默状态的话,由于静默操作导致的锁定的存在,对这样的表空间进行某些操作时,可能会遇到 SQL3805N 或 SQL0290N 等报错信息,提示表空间不可访问。

成都创新互联公司是专业的李沧网站建设公司,李沧接单;提供成都网站建设、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行李沧网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

例如以位于 DB2INST1.USERSPAC1 表空间的 DB2INST1.STAFF 表为例:

a) 静默DB2表空间为意向更新状态:

db2 quiesce tablespaces for table db2inst1.staff intent to update

b) 尝试删除表的操作将失败:

db2 delete from db2inst1.staff
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0290N Table space access is not allowed. SQLSTATE=55039

此时若使用:

db2 list tablespaces

命令检查表空间状态,可以发现DB2表空间 USERSPACE1 处于 INTENT TO UPDATE 的静默状态:

......
Tablespace ID = 2
Name = USERSPACE1
Type = System managed space
Contents = Any data
State = 0x0002
Detailed explanation:
Quiesced: UPDATE
......

如果要除去这一静默状态,可使用静默命令中的“RESET”选项,使表空间恢复到正常状态(0x0000),从而实现对DB2表空间中表的正常访问。

此时,若尝试使用任何一个DB2 用户,执行如下命令,进行除去该表空间的静默状态的尝试:

db2 quiesce tablespaces for table db2inst1.staff reset
DB20000I The QUIESCE TABLESPACES command completed successfully.

可以看到命令已成功完成,但当再次尝试上述的 DELETE 操作时,却仍然遇到同样的SQL0290N 的报错,即不允许存取表空间。查询表空间状态表明它仍处于原来的意向更新的静默状态。


分享题目:DB2表空间静默状态的
路径分享:http://www.gydahua.com/article/djsdoce.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流