一天,測試的同事發來日誌說訂單歸檔異常,發來日誌看到在執行update操作時出現超時。
該sql語句沒有問題,於是就懷疑是不是有人鎖了表。使用sql一查果然是,於是想用解鎖語句解鎖但是發現沒有許可權
由於檢視鎖表sql把鎖表的使用者也查出來了,所有就直接喊就鎖了。
----① 檢視使用者鎖表
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name, --表名
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid
----② 解鎖語句
後來測試同事告訴我,她在查表時後面加了for update.
但是她不知道。
在使用oracel資料庫時,一般不要用for update,容易鎖表。
如果需要改資料,可以使用
: selectt.*,rowidfrom kpn_inte***ce_log t order by created_date desc;
oracel 鎖表查詢
以下幾個為相關表 select from v lock select from v sqlarea select from v session select from v process select from v locked object select from all objects sele...
oracel 檢視sql程序,檢視鎖物件,殺死程序
原文出處 查詢oracle正在執行的sql語句及執行該語句的使用者 sql view plain copy select b.sid oracleid,b.username 登入oracle使用者名稱,b.serial spid 作業系統id,paddr,sql text 正在執行的sql,b.ma...
MsSql檢視鎖資訊
檢視鎖資訊 create table t req spid int,obj name sysname declare s nvarchar 4000 rid int,dbname sysname,id int,objname sysname declare tb cursor for select ...