现在一个项目, 是用jdbc 连接
问题:
有个时候,点击某些页面出现获不到连接情况, 导致大不开页面,不得不重启!
(出现此现象不经常,偶尔, 估计是某些地方没关闭连接原因!)
但一个项目页面这么多, 无从去找, 现在oracle中提供查找锁可精确到表不知道能不能查出更详细点的或者是因哪条sql语句导致?? 各位 有何高见!急!!!
问题:
有个时候,点击某些页面出现获不到连接情况, 导致大不开页面,不得不重启!
(出现此现象不经常,偶尔, 估计是某些地方没关闭连接原因!)
但一个项目页面这么多, 无从去找, 现在oracle中提供查找锁可精确到表不知道能不能查出更详细点的或者是因哪条sql语句导致?? 各位 有何高见!急!!!
解决方案 »
- 统计一个表的字段数量,有两个条件限制
- plsql 将date转换成varchar2
- 求一个我认为很难的sql语句或过程,谢谢
- oracle存储过程的动态游标出错
- 一个insert的小问题
- 救急:Oracle中如何在一个SQL语句里面实现跨库查询?
- oracle闪回出错!快照过旧 回退段号5的问题
- 请问:数据文件脱机,如何恢复?
- oracle数据库转成sqlserver
- select j.user_id,s.username from AR_JPUSH_USER j join sysuser s on s.userid = j.
- 急啊!通过透明网关抽sybase数据到oracle速度慢
- 我的意思是跟sql server 一样通过存储过程获取一个表,然后通过vb.net 获取此存储过程的表数据,我的存储过程如何做,vb.net 如何调用?
或者没有带上自动commit
有带自动的commit的!!!
UO.OBJECT_NAME as "been locked object",
SE.SID as "been locked session",
SA.SQL_TEXT as "been locked SQL"
from v$locked_object lb, v$session se, v$sqlarea sa, user_objects uo
where LB.SESSION_ID = SE.SID
and SE.SQL_ID = SA.SQL_ID
and UO.OBJECT_ID = LB.OBJECT_ID
2、执行alter语句删除被锁的进程:alter system kill 'sid,serial#';
第一步、找到产生锁的事物:
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;第二步、找到其对应SQL_TEXT(引用第一步的SID):
select t3.SQL_TEXT
from v$session t1, v$locked_object t2,v$sqltext t3
where t1.sid = t2.SESSION_ID
and t1.SQL_ADDRESS = t3.ADDRESS
and t1.SID = 1983
ORDER BY T3.PIECE ASC;当然有外部工具就更容易,例如PL/SQL dev直接通过Tools查看session即可。