系統症狀使用者新增資料無法新增,日誌正常輸出,sql指令碼直接在資料庫執行,等待。
判斷可能是開發操作表後沒有commit
通過alter
system kill session命令結束程序
alter
system kill session
'6976,33967'
;--查詢鎖物件
select 'alter system kill session ''' || sid || ',' || serial# || ''';'
from (select distinct a.sid,
a.serial#,
a. status,
a.machine,
a.lockwait,
a.logon_time
from v$session a, v$locked_object b , all_objects o
where (a.status = 'active' or a.status = 'inactive')
and a.sid = b.session_id and b.object_id = o.object_id
and o.object_name='location_net'
) ;
--查詢oracle使用者名稱,機器名,鎖表物件
select l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
l.os_user_name,
s.machine,
s.terminal,
o.object_name,
s.logon_time
from v$locked_object l, all_objects o, v$session s
where l.object_id = o.object_id
and l.session_id = s.sid
order by sid, s.serial#;
--查詢是執行何sql語句導致鎖表的
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#;
oracle鎖表問題
參考 查詢被鎖表的sid等資訊 select t2.username,t2.sid,t2.serial t3.object name,t2.osuser,t2.machine,t2.program,t2.logon time,t2.command,t2.lockwait,t2.saddr,t2.pa...
oracle 鎖表問題
oracle執行表資料更新的時候,會遇到鎖表問題,比方說,會遇到 這樣的問題,主要原因是這張表被其他人占用,修改資料沒有提交。oracle為了避免髒資料的產生,在其安全機制下,鎖住該錶。執行如下操作,select t2.username,t2.sid,t2.serial t2.logon time ...
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...