Tungsten Replicatorのドキュメント で概説されている並列抽出方法を使用して、Oracle から MySQL へのレプリケーションをプロビジョニングしようとしています。
- Tungsten が提供する setupCDC.sh スクリプトを使用して、Oracle で CDC テーブルをセットアップします。
- 前のスクリプトで指定された CDC プロセスの開始 SCN を指定して、並列エクストラクタを開始します。
- 並列エクストラクターは、フォームのフラスコバック クエリを使用して既存のすべてのデータを挿入し
AS OF SCN ...
、データの整合性を備えたポイント イン タイム プロビジョニングを実行します。
問題は、CDC が非同期の場合にのみsetupCDC スクリプトが SCN を出力することです。公式フォーラムのスレッドで、これは「スキーマ スナップショット全体に対して 1 つの位置を取得する」ことであることがほのめかされています。
ライセンスの制限により、同期CDCしか使用できません。all_capture
テーブルに記録された SCN を手動で読み取り、プロビジョニングに使用しても安全ですか? データの整合性と最小限のダウンタイムの両方を達成できるオプションは何ですか?
- を。プロビジョニングの進行中は、マスター データベースへの書き込み操作を無効にします。
- 私のデータベースには数百ギガバイトのデータが保持されており、おそらく長いダウンタイムが発生するため、これは望ましくありません。
- b. プロビジョニング中に書き込み操作を許可する: 並列抽出ですべてのテーブルが処理された後、通常のレプリケーションを通じてすべての CDC データを再適用することで、不一致が修正されます。再申請中に発生したエラーは無視する必要があります。
- データの整合性の観点から、これは安全でしょうか?