查询Oracle数据库表是否被锁的实现方式
作者:Zoe_YuZu
本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,还提到在尝试加锁之前判断记录是否已经被锁定,以避免锁定已锁定的记录
查询Oracle数据库表是否被锁
1、查询锁表的会话、人员等信息
select * from v$locked_object;
2、根据 object_id查询被锁的表名
select * from user_objects where object_id = 819556;
3、根据会话ID查询本地进程
select * from v$session where sid = 1706;
根据PID停止进程
4、查看表被锁的行
select * from 表名 for update skip locked;
在尝试加锁之前判断记录是否已经被其他用户锁定,如果已经锁定,这跳过该已锁订记录,如果没有被锁定,就锁定该没有被锁定的记录。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。