鎖表會導致關於此表的任何編輯情況都受到限制,對相關應用影響十分嚴重。
所以有時排查故障會對資料的表空間和鎖表情況做檢查:
一、檢查是否存在鎖
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#;
postgresql解決鎖表
查詢是否鎖表了 select oid from pg class where relname 可能鎖表了的表 select pid from pg locks where relation 上面查出的oid 如果查詢到了結果,表示該錶被鎖 則需要釋放鎖定 select pg cancel backe...
plsql表鎖被占用 解決Oracle鎖表
概述 鎖表是很容易發生的現象,當有多人對錶進行操作時就容易發生。如下是解決鎖表的步驟 鎖表原因 由於oracle資料庫具有保持資料的一致性,所以當乙個人對錶進行操作,沒有提交,另乙個人在需要操作的時候,就不能操作,必須等表提交,就一直處於等待狀態,就導致鎖表。鎖表報錯資訊 如果發現修改乙個表資料時不...
ORACLE解決鎖表問題
下面3個語句是我經常使用來解決oracle鎖問題的 注意你的使用者有沒有許可權問題 1.檢視被鎖的表 select p.spid,a.serial c.object name,b.session id,b.oracle username,b.os user name from v process p...