1

ここでの問題は、リモート データベースのベース テーブルにマテリアライズド ビュー ログを作成する必要があることです。

ローカル データベースのそれぞれのマテリアライズド ビュー

ローカル データベースとリモート データベースの両方が Oracle 11g (11.2) である

例: s1 と s2 は 2 つのスキーマです。

s1 スキーマはローカル データベースにあります s2 スキーマはリモート データベースにあります

s2スキーマ(リモートデータベース)にマテリアライズドビューログを作成する必要があります

s2 スキーマのオブジェクト (リモート データベース) にアクセスするためのデータベース リンクを作成しました。

しかし、このエラーORA-00949「リモートデータベースへの不正な参照」が発生しています

しかし、s1 スキーマ (ローカル データベース) では、マテリアライズド ビューを作成できます。

ありがとう

ラガフ

4

1 に答える 1

3

リモート サイトにあるテーブルのクエリを実行する高速更新(ターゲット テーブルで mview ログを使用して mview を更新する) を実行するMviewを作成しても問題はないと考えられます。

するべきこと:

  1. 2 つの Oracle データベース間のデータベース リンクを作成する
  2. データベースリンクが実際に機能することをテストします(「ターゲットテーブル」でいくつかのクエリを実行します)
  3. リモート サイト —ターゲット テーブルにmview ログを作成します。
  4. 高速更新オプション (たとえば、オンデマンドで更新) を使用してローカル データベースに mview を作成し、mview の SQL でターゲット テーブルをクエリします (たとえばselect name, date from target_schema.target_table@remote_oracle_db;) 。
  5. 次に、mview で完全な更新を実行します。dbms_snapshot.refresh('local_schema.mview_x','c');
  6. これからは、[高速更新] オプションを使用して mview を更新できます。dbms_snapshot.refresh('local_schema.mview_x','f');
于 2014-12-09T22:11:27.523 に答える