Sei sulla pagina 1di 3

SELECT s.

inst_id,
NVL (s.username, 'Internal') "Database User",
m.SID,
s.serial#,
p.spid "DB OS Process",
m.TYPE,
DECODE (m.lmode,
0, 'None',
1, 'Null',
2, 'Row Share',
3, 'Row Excl.',
4, 'Share',
5, 'S/Row Excl.',
6, 'Exclusive',
lmode, LTRIM (TO_CHAR (lmode, '990'))
) "Lock Type",
DECODE (m.request,
0, 'None',
1, 'Null',
2, 'Row Share',
3, 'Row Excl.',
4, 'Share',
5, 'S/Row Excl.',
6, 'Exclusive',
request, LTRIM (TO_CHAR (m.request, '990'))
) "Lock Request",
DECODE (command,
0, 'None',
DECODE (m.id2,
0, dusr.username || '.' || SUBSTR (dobj.NAME, 1, 30),
'Rollback Segment'
)
) "Object",
s.machine "Application Server",
s.process "Apps OS process",
m.ctime,
NVL (NVL (usr.description, s.action),
'Database Session'
) "Online User,Concurrent",
NVL (fnd.responsibility_name, s.module) "Responsibility,Module",
fnd.user_form_name "Form Name",
SQL.sql_text "Statement"
FROM gv$session s,
gv$lock m,
gv$process p,
apps.fnd_form_sessions_v fnd,
apps.fnd_user usr,
gv$sqlarea SQL,
dba_users dusr,
SYS.obj$ dobj
WHERE m.id1 IN (SELECT il.id1
FROM gv$lock il
WHERE il.request <> 0)
AND m.SID = s.SID
AND s.paddr = p.addr
AND s.inst_id = p.inst_id
AND SQL.inst_id(+) = s.inst_id
AND SQL.address(+) = s.sql_address
AND SQL.hash_value(+) = s.sql_hash_value
AND s.username != 'SYS'
AND m.lmode != 4
AND fnd.audsid(+) = s.audsid
AND m.inst_id = s.inst_id
AND fnd.user_name = usr.user_name(+)
AND fnd.user_id = usr.user_id(+)
AND dobj.obj#(+) = DECODE (m.id2, 0, m.id1, 1)
AND dusr.user_id(+) = dobj.owner#
ORDER BY m.id1, m.request ASC, m.SID;
--------------------------------------------------------------------------------
-----------
Blocking session :-
SELECT sid, serial#, username, status, state, event,
blocking_session, seconds_in_wait, wait_time, action, logon_time
FROM gv$session WHERE state IN ('WAITING') AND wait_class != 'Idle'
AND event LIKE '%enq%'
AND type='USER';
o/p :-
SID : 123
USERNAME : APPS
EVENT : enq: TX row lock contention
BLOCKING_SESSION : 254
SECONDS_IN_WAIT : 8300
WAIT_TIME : 0
SELECT b.sid, b.serial#, a.spid, b.program, a.username, b.osuser,
b.machine, b.STATUS,b.logon_time, c.sql_text
FROM v$process a, v$session b, v$sqltext c
WHERE a.addr=b.paddr
AND c.hash_value = b.sql_hash_value
AND b.STATUS = 'ACTIVE'
AND b.sid IN ('123', '254')
ORDER BY a.spid, c.piece;
--------------------------------------------------------------------------------
------------
Hi Praveen,

set lines 200;


select /*+ rule */ 'SID '||a.sid||' is blocking the sessions '||b.sid from v$loc
k a, v$lock b where a.block=1 and b.request >0;
select /*+ rule */ 'SID '||a.sid||' is blocking the sessions ',count(b.sid) from
v$lock a, v$lock b where a.block=1 and b.request >0 group by a.sid;
set pagesize 20;
select /*+ rule */ 'alter system kill session '''||a.sid||','||c.serial#||''';'
as "COMMAND FOR LOCKS KILL" from v$lock a, v$lock b, v$session c where a.block=1
and a.sid = c.sid and b.sid = c.sid and b.request >0 group by a.sid,c.serial#;

--
Thanks &Regards
Sasidhar.Manam
--------------------------------------------------------------------------------
------------

Potrebbero piacerti anche