Gesperrte Objekte anzeigen

Welche Objekte sind gerade gesperrt? Die folgende Abfrage beantwortet die Frage zwar nicht mit dem entsprechenden Datensatz, hilft aber dabei, Tabellen und Sessions herauszufinden, die generell Locks auf der Datenbank offen halten.

-- Some formatting
SET LINESIZE 180
SET PAGESIZE 200
COLUMN owner FORMAT A20
COLUMN username FORMAT A20
COLUMN object_owner FORMAT A20
COLUMN object_name FORMAT A30
COLUMN lock_mode FORMAT A15
COLUMN machine FORMAT A20

-- Query locked objects
SELECT lo.session_id AS sid,
       s.serial#,
       NVL(lo.oracle_username, '(oracle)') AS username,
       o.owner AS object_owner,
       o.object_name,
       Decode(lo.locked_mode, 
              0, 'None',
              1, 'Null (NULL)',
              2, 'Row-S (SS)',
              3, 'Row-X (SX)',
              4, 'Share (S)',
              5, 'S/Row-X (SSX)',
              6, 'Exclusive (X)',
              lo.locked_mode) locked_mode,
       lo.os_user_name,
       s.machine
FROM v$locked_object lo
       JOIN dba_objects o ON o.object_id = lo.object_id
       JOIN v$session s ON lo.session_id = s.sid
ORDER BY 1,  2,  3,  4;

Basierend auf  https://oracle-base.com/dba/monitoring/locked_objects.sql