度量快速开发平台-专业、快速的软件定制快开平台
标题:
oracle查询、Kill锁资源的SQL语句
[打印本页]
作者:
万望
时间:
2020-4-2 21:25
标题:
oracle查询、Kill锁资源的SQL语句
有时候在对oracle中的表进行DML操作的时候,会出现类似资源正在被使用的提示,如果资源正在被使用,就可能会导致该资源被oracle给锁住,导致别的session无法进行操作。这个时候,我们可以通过查找到对该资源进行锁定的session,然后kill掉该session。在查锁的时候,主要用到的表或视图主要有v$locked_object、all_objects、v$session等。
-- 查看锁表进程SQL语句1:
SELECT b.session_id,
b.oracle_username,
b.os_user_name,
b.process,
b.locked_mode,
a.owner,
a.object_name,
a.object_id,
a.object_type,
b.xidusn,
b.xidslot,
b.xidsqn
FROM all_objects a, v$locked_object b
WHERE a.object_id = b.object_id;
-- 查看锁表进程SQL语句2:
SELECT *
FROM v$locked_object v, all_objects ao
WHERE v.object_id = ao.object_id;
-- 杀掉锁表进程
-- 如有记录则表示lock,记录下SID和serial#,将记录下的SID和serial#替换下面的738,1429,即可接触lock。
ALTER SYSTEM KILL SESSION '738,1429';
复制代码
上面的SQL代码只是用作参考,记住主要操作v$locked_object、all_objects、v$session这几个对象就OK了,kill语句记不住也没关系,可以使用PL/SQL Developer工具来kill。
作者:
陈晓龙
时间:
2020-4-3 20:21
作者:
陈晓龙
时间:
2020-4-3 20:22
欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://p.delit.cn/)
Powered by Discuz! X3.2