無効なビュー・プロシージャ・トリガーを取得する
Oracleでは無効なオブジェクトを取得することができます。
テーブルを変更すると、ビュー、インデックス、ストアドプロシージャ、ストアドファンクション、トリガーなどが無効になってしまうことがあります。
どれが無効なオブジェクトなのかをSQLを使って取得することができます。
Oracle 無効なビュー・プロシージャ・トリガーを取得する
-- 無効なオブジェクトを取得する SELECT OBJECT_NAME,OBJECT_TYPE,STATUS FROM DBA_OBJECTS WHERE STATUS = 'INVALID' AND OWNER = 'ユーザー' ORDER BY OBJECT_NAME;
OBJECT_NAME | OBJECT_TYPE | STATUS |
TRG_001 | TRIGGER | INVALID |
PRO_EMP | PROCEDURE | INVALID |
V_TBL01 | VIEW | INVALID |
Oracleの無効なオブジェクトを取得するには「DBA_OBJECTS」を使います。
「DBA_OBJECTS」の「STATUS=’INVALID’」が無効なオブジェクトです。「OWNER = ‘ユーザー’ 」は任意のユーザーに変更してください。
無効なオブジェクトは、もう一度再作成(再コンパイル)すれば有効になります。
以上、Oracleで無効なビュー・プロシージャ・トリガーを取得するSQLでした。
コメント