Support
Orange Support > 문의하기
Q & A
Lock Tree 쿼리가 느립니다.
지금 사용 중인 버전은 6.0.0(Build:5) 입니다.
사용중인 DB가 RAC 이어서 옵션에서 GV$ 뷰로 조회 하도록 설정해 놓고 조회하니 느려서 어떤 쿼리를 수행하는지 살펴보니
아래의 쿼리가 수행 됩니다.
SELECT /*+ ordered */ s.inst_id,
decode(lk.lmode, 0, to_char(s.sid), ' ') lock_sid,
s.sid,
s.serial#,
decode(lk.type, 'TD', decode(u.name, '', '', u.name||'.'||o.name), 'TM', decode(um.name, '', '', um.name||'.'||om.name), 'RW', 'FILE#=' || substr(lk.id1, 1, 3) || ' BLOCK#=' || substr(lk.id1, 4, 5) || ' ROW=' || lk.id2, 'TX', 'RBS#=' || FLOOR(lk.id1/65536) || ' SLOT#='|| MOD(lk.id1, 65536) || ' WRP#=' || lk.id2, 'WL', 'REDO LOG FILE#=' || lk.id1, 'RT', 'THREAD=' || lk.id1, 'TS', decode(lk.id2, 0, 'ENQUEUE', 'NEW BLOCK ALLOCATION'), decode(lk.id1, '', '', 'ID1='||lk.id1||' ID2='||lk.id2)) locked_object,
lk.type,
lk.id1,
lk.id2,
decode(lk.lmode, 0, 'none', 1, 'null (NULL)', 2, 'row-s (SS)', 3, 'row-x (SX)', 4, 'share (S)', 5, 'S/Row-X (SSX)', 6, 'exclusive (X)', 'unknown') LMODE,
decode(lk.request, 0, 'none', 1, 'null (NULL)', 2, 'row-s (SS)', 3, 'row-x (SX)', 4, 'share (S)', 5, 'S/Row-X (SSX)', 6, 'exclusive (X)', 'unknown') Request,
lk.ctime,
nvl(s.username, decode(s.type, 'USER', decode(bgp.name, NULL, 'UNDEFINED '))) USERNAME,
p.spid,
s.machine,
substr(s.module, 1, 48) module,
substr(s.action, 1, 32) action,
substr(s.program, 1, 48) program
FROM sys.gv_$lock lk,
sys.gv_$session s,
sys.gv_$process p,
sys.gv_$bgprocess bgp,
sys.obj$ o,
sys.user$ u,
sys.obj$ om,
sys.user$ um
WHERE EXISTS (SELECT id1
FROM sys.v_$lock
WHERE lmode = 0
AND id1 = lk.id1
AND id2 = lk.id2 )
AND s.inst_id = p.inst_id(+)
AND s.paddr = p.addr(+)
AND s.inst_id = bgp.inst_id(+)
AND s.paddr = bgp.paddr(+)
AND s.inst_id = lk.inst_id
AND s.sid = lk.sid
AND s.row_wait_obj# = o.obj#(+)
AND o.owner# = u.user#(+)
AND lk.id1 = om.obj#(+)
AND om.owner# = um.user#(+)
AND s.type <> 'BACKGROUND'
order by lk.id1, lk.id2, lk.lmode desc ;
살펴보니 이상한 것이 " FROM sys.v_$lock" 이 부분 입니다.
이전버전에서 사용중인 쿼리를 별도로 저장해놓은 부분과 비교하니 예전버전에서는 sys.gv_$lock 으로 조회하는데
지금 사용중인 버전에서는 gv$ 를 사용하도록 설정하였는데도 다른 뷰는 gv_$ 뷰를 조회 하는데 lock 뷰만 v_$lock 으로 조회합니다.
이부분으로 문의 드립니다.
Lock Tree 쿼리가 느립니다.
정현호
2014.11.25
Re: Lock Tree 쿼리가 느립니다.
오렌지팀
2014.11.27