Oracleでロックされたテーブル確認方法

ロックされたテーブルを見るには、以下のようにできます。

  1. ロックされているテーブルを調べるには、次のSQLステートメントを使用します。
SELECT 
    OBJECT_NAME, 
    SESSION_ID, 
    ORACLE_USERNAME, 
    LOCKED_MODE 
FROM 
    V$locked_object 
WHERE 
    OBJECT_TYPE = 'TABLE';

ロックされているテーブル名、セッションID、オラクルユーザー名、ロックモードを返します。

  1. 以下のSQL文で現在セッションがロックしているすべてのテーブルを照会できます:
SELECT 
    OBJECT_NAME, 
    SESSION_ID, 
    ORACLE_USERNAME, 
    LOCKED_MODE 
FROM 
    V$locked_object 
WHERE 
    SESSION_ID = <当前会话ID>;

<現在のセッションID>は、クエリをしたいセッションIDと置き換えてください。

  1. 以下のSQL文でロックされているすべてのオブジェクト(テーブル、インデックスなど)を照会します。
SELECT 
    OBJECT_NAME, 
    SESSION_ID, 
    ORACLE_USERNAME, 
    LOCKED_MODE 
FROM 
    V$locked_object;

ロックされたオブジェクト名、セッション ID、Oracle ユーザー名、ロックモードをすべて返します。

これらのクエリを実行するには、適切な権限を持つユーザーが必要になることがありますのでご注意ください。

bannerAds