大量のデータ(約数百万のレコード)をOracleからOracleデータベースに転送するには、毎日が必要です。あなたはそれを行うために最高のperfoming方法をお勧めしますか?大量のデータをDB2からOracleに転送しますか?
答えて
DB2では、レプリケーション先としてOracleを選択できます。これはおそらく、毎日行うのが最も効率的で簡単な方法ですが、あなたが持っている「中間コンテナ」の異論も取り除きます。
詳しくは、this introductionを参照してください。
これは私が必要としているようです。 –
これはうまくいくことは間違いありません。私の経験では、これはファイルのエクスポート/インポートよりもずっと遅くなります。 –
あなたがスピードを話しているだけの場合は、これを実行します。
DB2データをフラットファイルにダンプするのにかかる時間。
このフラットファイルをOracleに吸い上げるのにかかる時間。
ベースラインがあり、無料です。 ETLツールでそれを打つことができれば、そのツールのコストがそれに見合っているかどうかを判断してください。
このような単純なETLについては、これを時間通りに打ち負かすことができるものはほとんどありません。
これの欠点は、どのようにあなたはすべての行を得たことを知っていますファイル
- だけで、一般的なファイル操作のBSである
- 方法何かが壊れたときに再開しますか?
これらの小さな「細心の注意」は通常、速度で支払われます。もちろん、私は少し冗談を言っています。彼らはいつも少しうまくはありません。それらはしばしばスムーズな実行プロセスに不可欠です。
中間ファイルが必要ない場合は、私はデータベースとデータベースとのやりとりが必要です。あなたの質問に答えます:1.読み込みはスケジュールどおりに実行されます。2.テーブル3からすべての行をコピーすると、例外が発生します。 PS:英語に申し訳ありません –
あなたは最高のパフォーマンスを発揮する方法を求めました。これで、最高のパフォーマンスを発揮する方法を排除したいと考えています。人々は、彼らの助けが時間の無駄でない限り、助けに気をつけません。これが限界だった場合は、それを質問に含めるべきでした。 –
まあ、私は間違いを知った、申し訳ありませんが、私の質問にこの制限はありません。中間コンテナより効率的な方法があるはずだと思っていたので、この制限は言及されていません。 –
デリミタ付きファイルにデータをダンプします。 DIRECT load sqlldr jobを使用してOracleにロードします。セクシーではなく、速い。最高のものと同じサブネット上にいる場合(ネットワークを介してデータをプッシュすることは、あなたが望むものではありません)。これをクローンに設定し、エラーの電子メールアラートを追加してください。
パフォーマンスを定義してください。 –