oracle 锁表 解锁 批量解锁[通俗易懂]

oracle 锁表 解锁 批量解锁[通俗易懂]oracle锁表,解锁

大家好,又见面了,我是你们的朋友全栈君。

oracle锁表情况时有发生,本文介绍了查看具体锁信息、强制删除锁、批量解锁等操作

一. 查看锁信息的方式

1. 锁表查询:

select count(*) from v$locked_object;
select * from v$locked_object;

2. 查询具体被锁的表信息:

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;

3. 查询引起锁表的语句:

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#;

4.查看是哪个session引起的:

select b.username,b.sid,b.serial#,logon_time 
from v$locked_object a,v$session b 
where a.session_id = b.sid order by b.logon_time

二. 解锁方式

1. 直接杀掉对应进程

alter system kill session'1025,41';

其中1025为sid,41为serial#,均可以使用上面第四条的语句进行查询出来

2. 批量解锁的存储过程

declare cursor mycur is  
select b.sid,b.serial# 
  from v$locked_object a,v$session b  
  where a.session_id = b.sid group by b.sid,b.serial#; 
  
begin  
  for cur in mycur  
    loop    
     execute immediate ( 'alter system kill session '''||cur.sid || ','|| cur.SERIAL# ||''' ');  
     end loop;  
     
end;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150147.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Git拉取代码报密码错误「建议收藏」

    Git拉取代码报密码错误「建议收藏」刚刚Git拉取代码,显示密码错误。我就奇怪了,密码输入了好几次,还是错误。但是马上得提交了,又很着急 ,将最简单的处理 方法忘记了。冷静下来,细细分析。刚学习时好像遇到过此类问题,于是直接删除凭证,再次拉取,正常。真的越着急越乱,遇到问题还是要冷静分析。…

    2022年6月13日
    36
  • mysql fsync_用一分钟了解: fsync这个系统调用!

    mysql fsync_用一分钟了解: fsync这个系统调用!1前言不要诧异在MySQL专题中突然插入fsync系统调用,因为马上就要和大家分享MySQL的undolog、redolog、binlog了,在分享这些文章的时候会经常说fsync这个名词,所以提前来看下。2缓冲传统的UNIX实现的内核中都设置有缓冲区或者页面高速缓存,大多数磁盘IO都是通过缓冲写的。当你想将数据write进文件时,内核通常会将该数据复制到其中一个缓冲区中,如果该缓冲没被写满…

    2022年5月31日
    45
  • spin_lock & mutex_lock的差别?

    spin_lock & mutex_lock的差别?

    2021年12月7日
    45
  • 多线程下HashMap的死循环问题

    多线程下HashMap的死循环问题

    2022年3月6日
    38
  • 模仿学习对比强化学习「建议收藏」

    模仿学习对比强化学习「建议收藏」模仿学习介绍模仿学习是将专家经验作为样本进行强监督学习的一种方法。模仿学习对比强化学系模仿学习优点:1.简单、稳定的监督学习过程缺点:1.需要提供榜样行为数据2.需要处理多解型行为(例如绕过障碍物,可以从左边或者右边,但是专家数据不一定覆盖所有行为,可以用多元高斯分布去等方法去处理)3.不能超越人类水平强化学习优点:1.可以超越人类水平缺点:1.需要设置奖励函数2.必须解决策略探索性问题3.训练可能不收敛、不稳定结合模仿学习和强化学习:Pretrain&Finetune

    2022年9月18日
    2
  • spring+websocket整合(springMVC+spring+MyBatis即SSM框架和websocket技术的整合)

    spring+websocket整合(springMVC+spring+MyBatis即SSM框架和websocket技术的整合)纠结了两天的

    2022年7月11日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号