Oracle查看数据库中的锁以及解锁的问题

在操作Oracle数据库时有时出现疏忽,使数据库某表被锁住了,导致其它操作无法进行,那怎么查看 Oracle 数据库中产生的锁呢?

一,Oracle查看锁

-- oracle 查看产生的锁列表
select s.sid, s.serial# 
from v$locked_object lo, dba_object ao, v$session s 
where ao.object_id = lo.object_id and lo.session_id = s.sid;

在PL/SQL 中执行该SQL语句,如果存在锁,则以表的形式展示,如果存在一些锁,想删除其中某个锁,则按如下解锁,

二,解锁/删除锁

-- Oracle 解锁/删除锁
alter system kill session 'SID字段值,serial#字段值';

根据前面查询到的 SID 和 serial# 字段的值放到语句中,在PL/SQL 中执行该SQL语句即可删除对应的锁,通过上面的查询可验证对应的锁是否已经解锁;

欢迎拍砖讨论...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值