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) lock_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