FC2ブログ

オラクル R&D センター

尚、本ブログに関する情報を無断引用することを禁止します。 引用希望の場合はコメント欄に記入下さい。個別対応します。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Exp/Impの高速化

タイトルにExp/Impと書いたが主にImp時の対応だ。
ImportはDB上で実施すべきかクライアントで実施すべきかを考察する。
DB上に置くメリット
・ネットワーク負荷がない
・OracleNetを介さず、BEQ接続できる(メリットか!?)
クライアントに置くメリット
・ExpファイルのReadとImport時のデータベースに対するIOが競合しない
・IMPプロセスはクライアント上で動く

つまり、IOを気にするならクライアント上で実行し
ネットワーク帯域が気になるならサーバー上で実行ということだ。

これを実証するため検証をした。
*DBサーバーのDiskI/Oがすぐボトルネックになる構成です*
・DBサーバー
 CPU450MHz、メモリ500MB、NIC=100BASE/TX
 Windows2000+Oracle10gR2
 HDD=Maxtor 32049H2
・クライアント
 CPU450MHz、メモリ500MB、NIC=100BASE/TX
 Windows2000+Oracle10gR2
・ネットワーク
 スイッチングHUB(2つのマシンは同一セグメント内)
・対象データ
 テーブル1つ(1行約8kb(char型で構成)、100万件、サイズ=1.1G)
・Exportファイルの生成
 exp scott/tiger direct=y buffer=10000000 tables=imp_perf file=imp_perf.dmp
ダンプファイルサイズ=1G弱

~以下、実証結果~
※データファイルの拡張が起きないよう
 十分な空ORACLEブロックがある状態で実行しています。
 imp scott/tiger tables=imp_perf statistics=none file=imp_perf.dmp recordlength=1000000 buffer=1000000
 (recordrengthはimp実行時に65535に切り捨てられました)

・パターン1
 DBサーバー上でIMPを実行した場合(EXPファイルとDBFが同一HDDに存在)
 TIME=10分

・パターン2
 クライアント上でIMPを実行した場合
 TIME=8分弱


結論:今回の環境ではクラアント別立てがパフォーマンス改善に
   つながったが、最新のH/Wでは、DBサーバー上で実行したほうが
   はやいと思う。
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://oracool.blog26.fc2.com/tb.php/6-eb55ba2f
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。