登录论坛 | 注册会员 设为首页 | 收藏本站
当前位置 : 首页>软件学院>数据库>SQL>正文
 
在Informix数据库中释放异常的锁资源

http://www.dbit.cn 2008/4/29 9:16:54  来源:ccident  编辑:叶子
 

  Informix数据库释放异常的锁资源:

问题

  在Informix数据库中,锁的使用和释放是自动完成的。但在某些异常情况下,当前台程序退出(正常或异常)后,相应在数据库中的会话没有终止,其占有的资源(主要是锁)没有被释放,影响了其他用户的使用。

  这种情况可能出现在用户表或系统表中,一般都是由于产品的BUG或非常极端的情况引起的。

  这时需要用手工的方式将有问题的会话终止,以释放其占有的资源,当然重新启动数据库自然就释放了所有的资源了,但有时业务上暂时不允许重新启动。

  第一步,确定被锁住的资源

  一般在遇到这种情况时,很容易确定被锁住的资源,如果是用户表,则一般会在操作这张表时报错,而如果是系统表,也会直接报告是哪张表,如:

  211: Cannot read system catalog (sysprocplan).

  144: ISAM error: key value locked

  在以上的信息中,关于存储过程的系统表sysprocplan被锁住了。

  在确定了相关表名后,需要查询出其在内部的表号,以便后续的处理,如下所示:

  dbaccess <该表所在的数据库>

  select hex(partnum) from systables where tabname="<表名>"

  执行返回的是一个16进制表示的数,这是该表在IDS内部的标识。

  第二步,查找上锁的用户线索

  运行IDS锁的监控命令onstat -k,确定对该表上锁的用户线索,如下所示:

  $ onstat -k

  IBM Informix Dynamic Server Version 9.40.FC6 -- On-Line -- Up 18:13:12 -- 38912 Kbytes

  Locks

  address  wtlist owner  lklist type tblsnum rowid key#/bsiz

  10a13a590 0   10afd30c8 0   HDR+S 100002 207  0

  在输出中,查找tblsnum为第一步找到的表号的行,每行代表一个锁资源的情况,并找到相应的owner,即使用这个锁的用户线索号。

  第三步,查找用户线索对应的会话

  通过用户线索监控命令onstat -u进一步查找相应的会话以及用户情况。如下所示:

  $ onstat -u

  IBM Informix Dynamic Server Version 9.40.FC6 -- On-Line -- Up 18:20:47 -- 38912 Kbytes Userthreads

  address flags   sessid user tty wait tout locks nreads nwrites

  10afd1028 ---P--D  1    informix - 0 0 0 28 7

  10afd1850 ---P--F  0    informix - 0 0 0 0 0

  10afd2078 ---P---  5    informix - 0 0 0 0 0

  10afd28a0 ---P--B  6    informix - 0 0 0 0 0

  10afd30c8 Y--P--- 17   informix 4 10b1f9548 0 1 157 0

  10afd4118 ---P--D  9    informix - 0 0 0 0 0

  10afd4940 Y--P--D  13   informix - 10a125f10 0 0 0 0

  其中第一列为线索号,相对应的第三列为拥有该线索的会话号。

   第四步,分析原因并采取措施

  有了会话号之后,就可以进一步分析原因或采取相应的措施了,如:

  onstat -g ses <会话号>,分析会话的状态

  onstat -g sql <会话号>,查看会话的SQL情况

  注意,如果在会话的database一项中出现的是“-”,说明该会话所对应的客户端程序已经退出,但数据库中的会话并未终止,

  或通过onmode -z <会话号>直接终止该会话,其所占有的锁资源将全部释放。

  管理建议:

  请关注异常锁的情况,如果频繁出现,应该是产品的BUG,要考虑IDS版本的升级

收藏】【打印】【进入论坛
  相关文章:

·金仓护航电力应用数据表超越国外数据库
·IBM收购数据库安全公司Guardium
·IBM或斥资2.25亿美元收购数据库安全软件厂商
·解决数据库开发中的疑难问题
·快速了解服务器数据库系统的优点 
·教你为数据库服务器配置存储和内存
·数据库服务器安全的权限控制策略
·长期使用中型Access数据库的一点经验
·教你简便实现Oracle数据库文件移动方法
·网站整体优化之数据库优化
·Dreamweaver中数据库路径的使用

 
 
 
最新文章

抢先苹果,消息称英特尔芯片采用台积电
三星揭晓业内首款单条 512GB DDR5 内存
vivo 高端新机爆料:120Hz 曲面屏 + 天
vivo Y21 在印度正式上市:Helio P35 芯
微星推出 GeForce RTX 3080 Sea Hawk X
消息称三星 Galaxy Tab S8 系列平板将放
机械革命推出 F6 轻薄本:16 英寸全面屏
英特尔 12 代 Alder Lake CPU 600 系列
雷军:向小米手机 1 首批用户每人赠送价
小米李明谈用户被踢出 MIUI 测试版:大

推荐文章
1
2
3
4
5
6
7
8
9
10
叛逆嫩模性感写真
宫如敏不雅照疯传 看张馨予韩一菲兽兽谁
不惧孔子抢位 阿凡达游戏影音配置推荐
2015第十七届“东北安博会”火爆招商
第十六届东北国际公共安全防范产品博览
2016年第五届中国国际商业信息化博览会
2016年第五届中国国际POS机及相关设备展
互联网电视熟了吗 2013最火电视深解析
桑达获邀出席2015中国(广州)国际POS机
宝获利报名参加“2015年度中国POS机行业
八卦图解 More>>
叛逆嫩模性感写真 宫如敏不雅照疯传 看张馨予韩一菲
周伟童魔鬼身材日本性感写真图  联想V360笔记本模特写真