Si presuppone l'utilizzo di una RAC.
SELECT
sut.username, sut.workspace, sut.sid,
DECODE(t.ses_addr, NULL, 'INACTIVE','ACTIVE') status,
sut.inst_id,sut.saddr ses_addr
FROM(SELECT
DECODE(t.ses_addr, NULL, 'INACTIVE','ACTIVE') status,
sut.inst_id,sut.saddr ses_addr
FROM(SELECT
st.username,wt.workspace, st.sid,st.saddr,st.inst_id
FROM gv$lock dl, wmsys.wm$workspaces_table wt, gv$session st
WHERE dl.type = 'UL' and dl.id1 - 1 = wt.workspace_lock_id
and dl.sid = st.sid) sut, gv$transaction t
WHERE sut.saddr = t.ses_addr (+);
FROM gv$lock dl, wmsys.wm$workspaces_table wt, gv$session st
WHERE dl.type = 'UL' and dl.id1 - 1 = wt.workspace_lock_id
and dl.sid = st.sid) sut, gv$transaction t
WHERE sut.saddr = t.ses_addr (+);
Per individuare il comando in esecuzione basta aggiungere una join con la gv$sqlarea effettuando una decode del campo COMMAND.
Nessun commento:
Posta un commento