Oracle DB内のテーブルから別のDB内の別のテーブルに約40k行をコピーする必要があります。Oracle DBのテーブルから同様のスキーマを持つ別のDBテーブルにデータをコピーする
私はこれを毎日やっているので、これをできるだけ短時間で行うことができます。我々はDBを使用している考えている選択肢の
一つは
Oracle DB内のテーブルから別のDB内の別のテーブルに約40k行をコピーする必要があります。Oracle DBのテーブルから同様のスキーマを持つ別のDBテーブルにデータをコピーする
私はこれを毎日やっているので、これをできるだけ短時間で行うことができます。我々はDBを使用している考えている選択肢の
一つは
40Kは、行の数が少ないですので、データベース・リンクが正常に動作しますリンクします。 100万の行をコピーする場合は、他の方法を使用する必要があります。
また、テーブルのエクスポート(exp)を実行し、fromuserおよびtouserパラメータを使用してターゲットをインポート(imp)することもできます。
エクスポートの代わりにdatapumpを使用することもできます。
データが100kになると、dblinksを使用したパフォーマンスはどのようになりますか。そして、dbにコピーするよりもスプールの方が良いオプションを使ってファイルにコピーしています。 – SKR
また、40k行を生成するビューを考慮する必要があります。そのビューはどれくらい複雑ですか?基本的に私が得意とすることは、あなたのボトルネックになるのでしょうか?私。行を取得していますか? ii。それらを運ぶ? iii。それらを書いている? – BobC
100kはまだ問題ありません。数百万行になると、渋滞しているネットワーク上にいる場合は、dblinkから離れる必要があります。複数の挿入ステートメントへのスプーリングは、直接コピーまたはエクスポート/インポートよりも常に遅くなります。とにかくシングルインサートが悪いです。バルクローディング機構を使用する必要があります。 – sandman
データベースは同じホストまたは異なるホストにありますか?異なるホストの場合、それらの間にはどのような種類のネットワークがありますか?あなたはテーブル全体を対処していますか、40kだけが行のサブセットですか?ターゲット表が空であるか、またはそれが移入されていますか? – BobC
@BobCホストは異なっていますが、同じファイアウォール内です.scededbはビューであり、すべてのデータをコピーしていて、ターゲットは空です。 – SKR
実際に2番目のデータベースからコピーするか、アクセスするだけですか? – Vlad