プライマリ・コンテンツに移動
Oracle® Database 2日でデータベース管理者
12c リリース1 (12.1)
B71307-08
目次へ移動
目次
索引へ移動
索引

前
次

8.7.2 無効なスキーマ・オブジェクトの検証(コンパイル)

データベース管理者(DBA)として、無効になったスキーマ・オブジェクトの再検証を要求される場合があります。依存しているオブジェクトが変更されると、スキーマ・オブジェクト(トリガー、プロシージャ、ビューなど)は無効になる可能性があります。たとえば、PL/SQLプロシージャに表の問合せが含まれている場合に、問合せで参照される表の列を変更すると、PL/SQLプロシージャが無効になります。コンパイルしてスキーマ・オブジェクトを再検証します。

注意:

プログラム・コードを格納しているスキーマ・オブジェクトをコンパイルするのみで必ず再検証できるとはかぎりません。改善処置がまず必要である場合があります。たとえば、参照している表が削除されてビューが無効になった場合に、ビューをコンパイルすると、表が存在していないことを示すエラー・メッセージが生成されます。表を再作成するまで、ビューは検証できません。

SQL Developerを使用して、無効なスキーマ・オブジェクトを検索するレポートを実行できます。

無効なスキーマ・オブジェクトを検索するには、次の手順を実行します。

  1. SQL Developerで「レポート」ナビゲータが表示されない場合は、「表示」メニューから「レポート」オプションを選択して「レポート」ナビゲータを表示します。

    「レポート」ナビゲータが表示されます。

  2. 「レポート」ナビゲータで、「すべてのレポート」ノードを展開した後に「データ・ディクショナリ・レポート」ノードを展開し、次に「すべてのオブジェクト」ノードを展開して、「無効オブジェクト」をクリックします。

    「接続の選択」ダイアログ・ボックスが表示されます。

  3. 「接続の選択」ダイアログ・ボックスで、使用する接続を選択するか、新しい接続を作成します。

    無効なオブジェクト・レポートに自身のスキーマの無効なオブジェクトのみに関する情報を含める場合は、自身のスキーマの接続を使用します。

    無効なオブジェクト・レポートにデータベース全体の無効なオブジェクトに関する情報を含める場合は、SYSなどの特権ユーザーの接続を使用します。この例では、SYSユーザーに対する接続が選択されています。

  4. 「OK」をクリックします。

    「バインド値の入力」ダイアログ・ボックスが表示されます。

  5. 「適用」をクリックします。

    オブジェクト・ペインに「無効なオブジェクト」タブが表示されます。このタブには、(「接続の選択」ダイアログ・ボックスで指定した接続に応じて、)スキーマ内またはデータベース内の無効なオブジェクトがリストされます。

  6. 「無効なオブジェクト」タブで特定の無効なオブジェクトの行を右クリックすると、「コンパイル」オプションが表示されます。そのオプションを選択して、無効なオブジェクトを再コンパイルします。

    再コンパイルすることによって、常にオブジェクトを有効にできるとは限らないことに注意してください。この項の先頭の注意事項を参照してください。

関連項目:

  • スキーマ・オブジェクトの依存性の詳細は、『Oracle Database概要』を参照してください。

  • オブジェクト依存性の管理の詳細は、『Oracle Database管理者ガイド』を参照してください。