项目在linux(redhat)已运行了一周,今天突然发现某个功能执行时卡死了,仔细检查发现:由于有人在oracle中执行update操作时,意外中断没有提交事务导致当前会话锁表,导致程序在执行update时无法获取该表的锁(即无法锁表)。Google下找到了解决方案: 1、检查Oracle是否存在锁表 SQL1: select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; SQL2: select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid; 2、杀掉锁表进程
原文地址:
Oracle数据库锁表问题
| http://orgcent.com/oracle-lock-table/
本文介绍了一种在Oracle数据库中遇到的问题,即由于未完成的更新操作导致的锁表现象。文章提供了两种SQL语句来检查锁表情况,并介绍了如何通过杀死锁定进程的方式来解决这一问题。
246

被折叠的 条评论
为什么被折叠?



