CLOBフィールドを含むファイルにデータをOracleデータベースに挿入する方法。
ファイルから読み取ります。Oracleデータベースに挿入します
CLOBデータが存在する場合、いくつかの問題が発生する可能性があります。
ありがとう、Naveen
ファイルがデータベースサーバーに配置されているか(または配置できるか)、またはクライアントマシンからファイルをロードすることが意図されているかどうかに応じて、通常はSQL * Loaderまたは外部テーブルをお勧めします。
SQL*Loader 制御ファイルの詳細は、ファイルの形式によって異なりますが、ドキュメントには、データ ファイルに格納された CLOB データをロードする例が記載されています。
ボトルネックを最小限に抑えます。
ハードウェアが重い書き込み負荷に対応できるようになったら、SQL*Loader / 外部テーブルを使用します。
CPUではなくディスクに書き込む機能によって速度が制限されると予想されるため、複数のスレッド/プロセスが役立つかどうかは疑問です。複数のスピンドル上のファイルを含む表領域に LOB を分散できる場合は、それが役立つ可能性があります。
私の最後の会社でこれを行ったとき、ストアド プロシージャと複数のスレッドを使用して C# プログラムを作成しました。スレッドを上下に調整すると、データベースの負荷が軽減されました。一部の構成設定のため、ローダーを使用できませんでした。連想配列も役に立ちました。
私たちの場合、テーブルがライブであったため、いくつかの最適化を行うことができませんでしたが、インデックスをオフにして読み込み後に再構築すると、パフォーマンスが向上する可能性があります。私たちの RAC 環境では、各 rac サーバーがインデックス ファイルをめぐって競合し、パーティション分割とインデックスの調整によってパフォーマンスが向上するという問題が見られましたが、私は実際には Oracle の第一人者ではないので、詳しい人に尋ねてください。
CLOB データで非常に低いパフォーマンスが見られたことは知っています。たとえば、フィールドの 1 つを複数の varchar(4000) にまたがる圧縮文字列に変更し、使用時にプログラムでそれらをつなぎ合わせるようにしました。