ITPub博客

首页 > 数据库 > Oracle > oracle 解锁 lock

oracle 解锁 lock

原创 Oracle 作者:ttboylb 时间:2016-06-21 16:04:48 0 删除 编辑
解决方案: RAC1 RAC2  多个节点执行

通过触发器。

create or replace trigger on_logon_trigger 
after logon on database 
begin 
    dbms_application_info.set_client_info(sys_context( 'userenv', 'ip_address' ) ); 
end;
/



这样当客户端登陆后,在v$session的client_info列会记录其相应的IP信息。


1.select username,lockwait,status,machine,program,client_info from v$session where sid in
(select session_id from v$locked_object); --以sys用户登陆数据库查询死锁+IP地址

 1.select session_id from v$locked_object;  --首先得到被锁对象的session_id
2. select sql_text from v$sql where hash_value in
(select sql_hash_value from v$session where sid in
(select session_id from v$locked_object));
--查到被锁的SQL语句
3.SELECT sid, serial#, username, osuser FROM v$session where sid = session_id;   
--通过上面得到的session_id去取得v$session的sid和serial#,然后对该进程进行终止。
   ALTER SYSTEM KILL SESSION 'sid,serial';
   example:
   ALTER SYSTEM KILL SESSION '13, 8';

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12131609/viewspace-2120612/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 201611巡检SQL
请登录后发表评论 登录
全部评论

注册时间:2011-01-07

  • 博文量
    60
  • 访问量
    252007