3个回答
展开全部
出现锁的根本解决办法不是去手动解锁啊,
而是应该去看,是哪个SESSION,哪个sql语句锁的,锁了哪些资源,是不是应该锁定这些资源!
如果有些锁是不必要的,要么commit事务来释放锁,要不就不锁定这些资源!
修改应用才是应该做的!
而是应该去看,是哪个SESSION,哪个sql语句锁的,锁了哪些资源,是不是应该锁定这些资源!
如果有些锁是不必要的,要么commit事务来释放锁,要不就不锁定这些资源!
修改应用才是应该做的!
追问
问题是这个应用是对的,同一个程序运行其他程序的时候是OK的,可就是这条数据会被锁住,而且解锁好几次了,还是如此。
追答
V$LOCK, V$SESSION, V$SQL, V$LOCK_OBJECT 这几个视图查啊,看看到底这条数据是被哪个应用,哪个SQL语句锁住的,加的什么锁?
展开全部
进入oracle控制台,查看锁的产生原因和源头。可能还是程序原因,如一个事务耗时过长;或者是行级锁;或者是有其他pl/sql客户端在使用表未提交或回滚等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看是谁锁的,把这个用户kill掉
追问
Kill用户可不行哦,我们的ERP系统与数据库就用这个用户交互数据的。
追答
那你要看看是什么锁类型了,查清楚了才好办
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询