在程序中调用WebService中更新Oracle数据库中的数据,执行无反应,
调试进入WebService中更新数据的方法,最后一句执行语句是
HibernateTemplate.Update(obj);
发现执行该语句后程序无反应;
此时通过PLSql连接Oracle数据库,执行更新语句
update ZNW_MEASURE_POINT set mp_note='1' where mp_id = '0';
发现数据库也无法执行更新操作,这是数据库哪里的问题?这种情况不定期发生,这是不是用户连接数过大导致的?
希望遇到过此情况的大侠们,能告知一二。
看你的现象,明显是锁表了啊
您好,我通过SQL查询到是ZNW_MEASURE_POINT这个表被锁住了,那我如何去查询是哪个地方导致了他被锁住了呢?
@孙振营: 这个,网上有查看锁表的语句,你去查找对应的进程,然后是可以根据锁内容分析到的。具体的分析只能靠你们自己了,实在不行就找你们的DBA帮忙分析一下。还有一个最笨的方法,把你的代码每执行一次都去看一下是否发生了锁表。
如果是开发库的话,很有可能是在pl/sql中把表锁了!