ゆとりずむ

東京で働く意識低い系ITコンサル(見習)。金融、時事、節約、会計等々のネタを呟きます。

Oracleのインポートを高速化するために見落としがちなこと

お仕事をしている中で、お客様の環境と同じ環境を社内に構築する必要があります。そういう時に、expdp.exeのファイルでデータを頂ければ良いのですが、まだまだexp.exeも現役で頑張っている為、exp.exe形式のdumpファイルを頂くことがよく有ります。

特に、障害が起こっているときは、可能な限り早めにインポートを行いたいのですが、データ量が多いと、なかなか終わらない時があります。以下に、インポートを高速化するのかは、問題解決の為に重要なポイントになりますので、今まで試してきたことを記載致します。

パラメータを設定する

インポート実行時は必ずbufferを指定します。デフォルトでは、4キロバイトずつしか処理できません。Windows環境では、20MBが最大という話もありますが、最適値はそれぞれの環境で確認してください。

読込が高速な環境から実行する

DB環境のディスクが貧弱な場合、レコードの読み取りに時間が掛かる場合があります。ネットワークを介す必要が無い分、DB環境上で行うほうが高速な気もしますが、ネットワーク越しで別の端末から実行した方が高速になる可能性があります。

REDOログを大きくする

これが、意外と気がつかない、忘れがちなポイントです。開発環境では、デフォルトのままの50MB*3となっているケースが多いのですが、これを500MB*2などとすると、それだけでずいぶんと高速化される場合があります。

ではでは、皆様のお役に立てば幸いです。