oracle表锁问题

系统症状用户添加数据无法添加,日志正常输出,sql脚本直接在数据库执行,等待。

判断可能是开发操作表后没有commit

通过alter system kill session命令结束进程

alter system kill session '6976,33967';

--查询锁对象 

select 'alter system kill session ''' || SID || ',' || SERIAL# || ''';'  
  from (select distinct a.sid,  
                        a.Serial#,  
                      a. status,  
                        a.machine,  
                        a.LOCKWAIT,  
                        a.logon_time  
          from v$session a, v$locked_object b  , all_objects o
         where (a.status = 'ACTIVE' or a.status = 'INACTIVE')  
           and a.sid = b.session_id  and b.object_id = o.object_id  
             and o.object_name='LOCATION_NET'  
        )  ;

-- 查询oracle用户名,机器名,锁表对象

SELECT l.session_id sid,  
       s.serial#,  
       l.locked_mode,  
       l.oracle_username,  
       l.os_user_name,  
       s.machine,  
       s.terminal,  
       o.object_name,  
       s.logon_time  
  FROM v$locked_object l, all_objects o, v$session s  
 WHERE l.object_id = o.object_id  
   AND l.session_id = s.sid  
 ORDER BY sid, s.serial#;  


-- 查询是执行何sql语句导致锁表的

SELECT l.session_id sid,  
       s.serial#,  
       l.locked_mode,  
       l.oracle_username,  
       s.user#,  
       l.os_user_name,  
       s.machine,  
       s.terminal,  
       a.sql_text,  
       a.action  
  FROM v$sqlarea a, v$session s, v$locked_object l  
 WHERE l.session_id = s.sid  
   AND s.prev_sql_addr = a.address  
 ORDER BY sid, s.serial#;  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值