01、oracle dba 解决锁表及查看原因


锁表会导致关于此表的任何编辑情况都受到限制,对相关应用影响十分严重。

所以有时排查故障会对数据的表空间和锁表情况做检查:

一、检查是否存在锁

select object_name,machine,s.sid,s.serial#,o.created,o.last_ddl_time
from v$locked_object l,dba_objects o ,v$session s
where l.object_id = o.object_id and l.session_id=s.sid;
 
二、kill 锁
alter system kill session '548,3291' ; 其中548为锁id
 
三、查询锁原因及导致锁表账户
select l.session_id sid, 
       s.serial#, 
       l.locked_mode, 
       l.oracle_username, 
       s.user#, 
       l.os_user_name, 
       s.machine, 
       s.terminal, 
       a.sql_text, 
       a.action 
from v$sqlarea a, v$session s, v$locked_object l 
where l.session_id = s.sid 
and s.prev_sql_addr = a.address 
order by sid, s.serial#;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM