Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

マテリアライズド・ビューの完全リフレッシュで、最新の情報に更新されません

831166Jan 14 2011 — edited Jan 24 2011
マテリアライズド・ビューの完全リフレッシュで、最新の情報に更新されません。

下記の環境で、
 ① DB1のAテーブルのデータを更新(バッチプログラムからSQLPlusでストプロを実行)し、
 ② DB2のマテビューを完全リフレッシュ(バッチプログラムからSQLPlusで完全リフレッシュを実行)
を実行した場合に、マテリアライズド・ビューの値が更新されないことがあります。

 <環境>
  データベースのバージョン:10gR2
  DB1 : Aスキーマ、Aテーブル(60万件)
  DB2 : Bスキーマ、Bテーブル(100万件)、Bマテビュー、AスキーマへのDBリンク
  Bマテビュー:BテーブルとAテーブル(AスキーマへのDBリンクを使用)の結合表

いろいろとテストをした結果、①実行前の情報に更新されている事がわかりました。
また、②の完全リフレッシュ実行前にBマテビューで使用されているSELECT文を実行すると、
②のマテビュー完全リフレッシュで正しい値に更新されました。

なぜこのような結果になるのでしょうか?
マテビューの完全リフレッシュでは、DeleteとInsertIntoを行っているだけだとおもっているのですが、
何か特殊なデータの取り方をしているのでしょうか?

どういった事をしらべていけばよいのかも分からない状態です。
調べ方や完全リフレッシュの仕組み等教えて下さい。
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 21 2011
Added on Jan 14 2011
5 comments
4,137 views