锁住了表资源, 杀失败了

honghulong 2005-09-13 11:56:36
今天用户说系统死了
同事把weblogic从启了
还是不行,俺一看数据库
哎呀,锁住了几十个进程
俺用object_browse和sql 配合看了一下
都是一个sql 惹的祸,最早的一个居然是9.5号的

用ob杀了一通
最后剩一个12号,已经标记为killed
但是资源就是不释放,还在locked_object中,晕死了
问题1: 请教 这种情况怎么杀??

缘由, 用户在前台点击菜单, jsp程序即往此表merge into ,
就是记录页面菜单的使用情况的,
锁住该表的都是一个操作员,sql都是一样的,
问题2: 有哪个大哥帮俺分析下下,大概有什么办法能找到原因呢
...全文
174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zealot_zk 2005-09-15
  • 打赏
  • 举报
回复
这也是个办法,不过在windows系统中没法这样做,这种kill -9 spid的方法只能在unix系统上作,还有些危险,我记得有一篇文章曾经说使用oracle自己的alter session kill过不能完全释放资源是因为oracle把这样杀死的进程的进程号都指到一个空地址,只要把这个空地址重置一下就可以了。我在找找那篇文章找到发给你。
honghulong 2005-09-14
  • 打赏
  • 举报
回复
不敢重启,
今天下午查看,那个12号还卡这呢,资源也不释放,因此又卡了好几个,

俺搜了下

select paddr from v$session where sid=v_sid and serial#=v_serial#
select spid from v$process where addr=paddr


然后kill掉了,(kill -9 spid) 汗!


honghulong 2005-09-13
  • 打赏
  • 举报
回复
现在速度真快
honghulong 2005-09-13
  • 打赏
  • 举报
回复
自己座
skyinfo 2005-09-13
  • 打赏
  • 举报
回复
则重启数据库
bierbin 2005-09-13
  • 打赏
  • 举报
回复
性能管理器,是OEM吧?oracle安装自带的。
honghulong 2005-09-13
  • 打赏
  • 举报
回复
重启是不敢了,
zealot_zk(风中追风) ,请问,你说那个性能管理器是什么呀??
zealot_zk 2005-09-13
  • 打赏
  • 举报
回复
这可能是由于你的客户端频繁的向数据库发相同的merge into命令造成的。可以使用oracle自己带的性能管理器进行进程的kill,这样最方便。
qiaozhiwei 2005-09-13
  • 打赏
  • 举报
回复
问题一,遇到过这样的情况,一般是显示killed,要等下才可以释放资源,如果真的不可以释放资源,则重启数据库
问题二、修改程序,用事务处理,或者直接加锁,页面连接数据库完成查询后,一定要断掉数据库连接

17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧