oracle表鎖問題

2021-07-03 02:34:55 字數 1571 閱讀 2200

系統症狀使用者新增資料無法新增,日誌正常輸出,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...