マテリアライズドビュー(MV)ログを使用すると、MVは、変更されたデータのみを変更する高速リフレッシュを実行できます。ただし、さまざまな条件により、MVはログを使用できないため、完全な更新が必要です。Oracleは、すべてのレコードの削除と挿入として、アトミック完全リフレッシュを実装しました。最終的にデータに変更がない場合でも、これを行います。
このレプリケーションをREDO生成に関してインテリジェントにする方法はありますか?MERGEに続いてDELETEを実行するには、ソースを2回クエリする必要があります。BULK MERGEおよびDELETEを実行するためにデータを一括収集することは価値がありますか?もっと良い方法はありますか?
更新:
グローバル一時テーブルをステージング領域として使用することを検討しました。使用するREDOは半分未満ですが、それでも多くを使用しています。
@Jack Douglas psoug.org/reference/gtt.htmlには、物理テーブルと
—
Leigh Riffel、2011年
insert
sのGTTとの間でREDOが60%削減されたことを示すGTT Redo Generation Demoがあります。これは、私が見ている結果とほぼ一致しており、優れていますが、私が望むほど良くはありません。
これらのテスト(行
—
ジャックはtopanswers.xyzを試してみました
append
ごとでヒントなし)は、やり直しを減らすための理想的な条件ではありません-私が何を意味するかを示すためにいくつかのテストを実行しました。コメントに収まらないため回答として投稿しました
insert
opsは、delete
orupdate
ops よりもはるかに少ないundoを生成します(実際にはほとんどありません)。高価なOPSを避けるために、複数のCisco ITPの初期導入を持つことは良いアプローチであるかもしれない