Send your questions to appsdbauniverse@gmail.com

Wednesday, March 2, 2016

How to check locks on a particular table/object


set lines 400
col Object format a40
col Locker format a6
col Type format a9
SELECT
SESSION_ID "SID",
serial#,
c.status,
c.audsid "ora_sess_id",
OWNER||'.'||OBJECT_NAME "Object",
  ORACLE_USERNAME "Locker",
-- mysessf(lockwait) "Wait",
-- lockwait "Wait",
  DECODE(LOCKED_MODE,
    2, 'ROW SHARE',
    3, 'ROW EXCLUSIVE',
    4, 'SHARE',
    5, 'SHARE ROW EXCLUSIVE',
    6, 'EXCLUSIVE',  'UNKNOWN') "Lockmode",
  OBJECT_TYPE "Type",
  c.ROW_WAIT_ROW#,
  c.inst_id
-- PROGRAM "Program"
FROM
  SYS.gV_$LOCKED_OBJECT A,
  SYS.ALL_OBJECTS B,
  SYS.gV_$SESSION c
WHERE
  A.OBJECT_ID = B.OBJECT_ID AND
  C.SID = A.SESSION_ID
  and object_name in ('&object_name')
ORDER BY 1 ASC, 5 Desc
/

Provide table_name or object_name in question to check the locks on it. 

========================================================================

No comments:

Post a Comment