概述
oracle查询被锁定的表:
SELECT p.spid,c.object_name,b.session_id,a.serial#,b.oracle_username,b.os_user_name
FROM v$process p,v$session a,v$locked_object b,all_objects c
WHERE p.addr = a.paddr
AND a.process = b.process
AND c.object_id = b.object_id;
解除表的锁定:
DECLARE
S_CMD VARCHAR2(2000);
BEGIN
FOR X IN (SELECT p.spid,all_objects c
WHERE p.addr = a.paddr
AND a.process = b.process
AND c.object_id = b.object_id) LOOP
S_CMD := ''''||X.SESSION_ID||','||X.SERIAL#||'''';
BEGIN
execute immediate 'alter system kill session '||S_CMD;
exception
when others then
DBMS_OUTPUT.PUT_LINE(sqlCODE||'---'||sqlERRM);
end;
END LOOP;
END;
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
最后
以上就是儒雅小蝴蝶为你收集整理的oracle查询数据库锁等待的表,Oracle查询数据库锁表和解除锁表的全部内容,希望文章能够帮你解决oracle查询数据库锁等待的表,Oracle查询数据库锁表和解除锁表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复