0

DB2へのdbリンクを介して、スケジュールされたJOBを使用してマテリアライズドビューを毎晩更新するOracleデータベース(DB1)があります。

MV の更新は、スキーマ内のすべてのテーブル名に対して実行され、各テーブルを 1 つずつ更新する手順を使用して行われます。

最近、DB2 が配置されている場所で電力の問題が発生しています。DB1 がジョブを開始している間に DB2 がオフラインの場合、DB1 の具体化されたビューは空になります。接続がない場合に更新が単に失敗しないのはなぜですか? どうすればこれを防ぐことができますか?

前もって感謝します

4

1 に答える 1

1

更新プロセスでエラーが発生していないことを確認してください (エラーが発生した場合、アラート ログにエラーが書き込まれます)。

完全なリフレッシュを行っていますか? それとも増分更新?アトミックリフレッシュを行っていますか? または非アトミックリフレッシュ?私の推測では、完全な非アトミック リフレッシュ (舞台裏では、TRUNCATEand direct-path を実行していることを意味しますINSERT) はTRUNCATE成功しますが、ダイレクト パスINSERTは失敗します。DELETE代わりに、 andを実行する完全なアトミック リフレッシュを実行できますINSERT。ただし、これは、リモート データベースが使用可能で、より多くのREDO. または、代わりに増分更新を行うこともできますが、その場合、少なくともリモート データベースにマテリアライズド ビュー ログを作成する必要があります。

于 2013-10-20T07:26:06.653 に答える