Oracle 11g を使用しています。私の要件は、2 つの異なるデータベースのデータを比較することです。各データベースには約 350 のテーブルがあり、これらの 350 のテーブルのうち、約 40 のテーブルには 100 万を超えるレコードがあります。データ比較のために、ハッシュを使用して比較する 1 つの perl スクリプトを作成し、いくつかのファイルでテストしました。また、UNIX の awk コマンドを使用してパフォーマンスを確認し、Unix ソリューションに関するこのフォーラムに質問したところ、優れたヘルプが得られました。
今私の問題は、テーブルからファイルにデータを抽出する最良の方法を見つけることです。
両方のデータベースには同じ数のテーブルがあり、各テーブルには両方のデータベースで同じ数の列があります。つまり、両方のデータベースのレイアウトはまったく同じです。
私が考えて検索したオプションは、
1)sqlloaderを使用する-この場合はパフォーマンスが低下すると思います
2)データポンプを使用する-データポンプを使用してSQLを介していくつかの列セットを抽出し、テキストファイルにロードできるかどうかわかりません
3)一括収集を使用 -- 上記と同じ。各テーブルと列の各テーブル セットから抽出することは可能ですか。はいの場合、どのように行うことができますか。また、パフォーマンスはどうなりますか。
4) sqlplus またはその他。このためのソフトウェアを自分のマシンにダウンロードできません。
両方のデータベースの各テーブルから列のセットを選択するための基本的な sql は簡単に実行できます。データをフラット ファイルにエクスポートする最善の方法を検討しています。
提案してください