1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| select
l.type,
s.sid HOLDING_SESSION,
s.serial# SESSION_SERIAL,
s.osuser,
s.row_wait_obj# ROW_WAIT_OBJ,
s.row_wait_file# ROW_WAIT_FILE,
s.row_wait_block# ROW_WAIT_BLOCK,
s.row_wait_row# ROW_WAIT_ROW,
o.owner,
o.object_name,
dbms_rowid.rowid_create( 1, o.DATA_OBJECT_ID, s.ROW_WAIT_FILE#, s.ROW_WAIT_BLOCK#, s.ROW_WAIT_ROW#) DATA_ROWID,
rtrim(ltrim(s.osuser))||' (dbuser '||rtrim(ltrim(s.username))||') sur le poste '||rtrim(ltrim(s.machine)) HOLDING_OSUSER,
substr (c.sql_text, 1, 4096) SQL,
substr (pc.sql_text, 1, 4096) PREVIOUS_SQL
from v$lock l,
v$session s,
v$process p,
sys.dba_objects o,
v$open_cursor c,
v$open_cursor pc,
nls_session_parameters nls
where l.sid = s.sid
and o.object_id (+) = l.id1
and c.hash_value (+) = s.sql_hash_value
and c.address (+) = s.sql_address
and pc.hash_value (+) = s.prev_hash_value
and pc.address (+) = s.prev_sql_addr
and s.paddr = p.addr
and l.type = 'TM'
and nls.parameter = 'NLS_NUMERIC_CHARACTERS'
and s.lockwait is NULL
; |
Partager