数据库表解锁

本文介绍了如何通过SQL查询锁定状态,并使用ALTER SYSTEM KILL SESSION命令强制结束导致锁的事务,以解锁数据库表。首先,通过查询v$locked_object、dba_objects和v$session视图获取锁信息,然后根据session ID和serial#终止特定会话。
摘要由CSDN通过智能技术生成

第一步,使用SQL语句查询锁的状态

Sql代码
  1. select sess.sid,     
  2.    sess.serial#,     
  3.    lo.oracle_username,     
  4.    lo.os_user_name,     
  5.    ao.object_name,     
  6.    lo.locked_mode     
  7.    from v$locked_object lo,     
  8.    dba_objects ao,     
  9.    v$session sess     
  10. where ao.object_id = lo.object_id and lo.session_id = sess.SID;   
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; 

 

 

第二步 获得未提交的事物的列表和基础信息,然后根据 sessionID和serial#号强制关闭事物

Sql代码
  1. --'9,108'为sessionID和serial#号,逗号分开   
  2. ALTER SYSTEM KILL SESSION '9,108';   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值