如果遇到db2表空间被锁,重启数据库, 无效,怎么办呢?下文就为您介绍db2表空间被锁的解决方法,如果您遇到过db2表空间被锁的问题,不妨一看。
成都创新互联公司是一家集网站建设,零陵企业网站建设,零陵品牌网站建设,网站定制,零陵网站建设报价,网络营销,网络优化,零陵网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
错误代码是
Table space access is not allowed. SQLSTATE=55039
force application all
db2stop
db2start
>;db2 "list tablespace containers for 2 show detail"|pg
Tablespace Containers for Tablespace 2
Container ID = 0
Name = /dev/rhisdb01
Type = Disk
Total pages = 5242880
Useable pages = 5242848
Accessible = Yes
容器是正常的阿
正常表空间状态是
State = 0x0000
Detailed explanation:
Normal
现在表空间状态是
Tablespace ID = 4
Name = ff
Type = Database managed space
Contents = Any data
State = 0x0004
Detailed explanation:
Quiesced: EXCLUSIVE
如何解除这种状态
Enter db2 "list tablespaces show detail".
Find the tablespace id and object id that have the tablespace in this state.
Look at the system catalog table syscat.tables to determine to which table the object id refers.
Reissue the load with the replace or restart option against this table.
编码时死锁是很常见的事情,没有理由去指责程序员的疏忽,死锁后及时的排除死锁才是最重要的。我的问题已经得到解决,方法是利用第三方工具对挂起的表空间中的所有表进行quiesce reset,另外谢谢anto的指点
,但不知"Find the tablespace id and object id that have the tablespace in this state"中object id 是指什么?怎么查找?
object id just like this
'表空间标识 = 0'
应该是吧![/quote]
tablespace id 应该是表空间标识的id,而object id应该是造成死锁表的id,然后可以通过 select tabname from syscat.tables where tableid=object id,来得到表的名称,最后用quiesce tablespaces for table tablename reset语句来清除这样状态。
经过验证已找到答案如下
Number of quiescers = 1
Quiescer 1:
Tablespace ID = 2
Object ID = 3338
朋友们,为了不要deallock,请千万不要在 Commit & Rollback 前放 MessageBox
【编辑推荐】
带约束的DB2建表语句
不允许设置db2主键问题的解决
DB2创建表空间的方式
Linux中DB2用户组的介绍
DB2性能优化的十大注意事项
分享文章:db2表空间被锁的解决方法
本文来源:http://www.csdahua.cn/qtweb/news18/549118.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网