2

ベーステーブルの列の順序を変更しましたが、その後、このテーブルを更新した後でも無効として表示されてマテリアライズされました。

マテリアライズドビューを再作成する必要がありますか、それとも他に実装できるものがありますか?

基になるベース テーブルを削除して再作成したために発生していますか。

助けてください。ありがとう!

4

1 に答える 1

3

再構築する必要はありません。ただし、マテリアライズド ビューが依存するオブジェクトを変更する場合は、ビューを再コンパイルして検証し、その古さを計算する必要があります。

ALTER MATERIALIZED VIEW mview_name COMPILE;

問題の MV の USER_MVIEWS の STALENESS 列を確認することで、ビューを再コンパイルする必要があるかどうかを確認できます。列に「NEEDS_COMPILE」と表示されている場合は、上記のステートメントを実行する必要があります。

Database Data Warehousing Guide のInvalidating Materialized ViewsとドキュメントのALL_MVIEWS Reference も参照してください

于 2014-07-28T12:39:07.327 に答える