eristoddle
11/7/2013 - 4:32 PM

Find locked oracle tables

Find locked oracle tables

SELECT owner
  || '.'
  || object_name AS object_name,
  oracle_username
  || ' ('
  || s.status
  || ')'       AS oracle_user,
  os_user_name AS os_user,
  machine      AS computer,
  l.process    AS unix_pid,
  ''''
  || s.sid
  || ','
  || s.serial#
  || ''''                                        AS ss,
  r.name                                         AS rs,
  TO_CHAR(s.logon_time, 'yyyy/mm/dd hh24:mi:ss') AS time_now,
  s.status,
  q.sql_fulltext
FROM v$locked_object l,
  dba_objects o,
  v$session s,
  v$transaction t,
  v$rollname r,
  v$sql q
WHERE l.object_id = o.object_id
AND s.sid         = l.session_id
AND s.taddr       = t.addr
AND t.xidusn      = r.usn
AND q.sql_id(+)   = s.sql_id
ORDER BY os_user,
  ss,
  object_name;