今天 發生程式不能正常運作,但沒有ERROR,根據經驗有可能是ORACLE 有資料LOCK住了
之前在網路上找到了 協助查詢的指令,如下
select b.object_name obj_name,
d.ctime time,
to_char(d.lmode) l,
to_char(d.request) r,
a.os_user_name os_user,
c.machine machine,
c.program program,
c.serial# s_serial,
a.oracle_username ora_user,
a.object_id obj_id,
a.process pid,
a.session_id s_id,
p.spid
from v$locked_object a, all_objects b, v$session c, v$lock d,V$process p
where a.object_id=b.object_id
and c.Paddr = p.Addr
and a.session_id=c.sid
and a.session_id=d.sid
and d.type='TX'
order by d.ctime desc, p.spid
找出來之後,記住sid的編號,這個是oracle的sid,透過此sid(sid=<sid>),可以找出是那一支process Lock住
相同的,知道Linux ID(pid=<pid>),就可以找出這一個Process是誰了
資料來源:http://shinchuan1.blogspot.tw/2013/10/lockoracle.html
留言列表