Oracle Databaseユーティリティ 11g リリース1(11.1) E05768-02 |
|
データ・ポンプ・ユーティリティは、大規模データベースを対象に設計されています。サイトに、大量のデータおよびメタデータがある場合は、オリジナルのエクスポート・ユーティリティおよびインポート・ユーティリティと比較して、パフォーマンスが大幅に向上します。この章では、パフォーマンス向上の理由を簡単に説明し、エクスポートおよびインポート操作のパフォーマンスを向上させるための具体的な手順を示します。
この章の内容は、次のとおりです。
データ・ポンプ・エクスポート・ユーティリティおよびデータ・ポンプ・インポート・ユーティリティでのメタデータ抽出およびデータベース・オブジェクト作成のパフォーマンスは、基本的にはオリジナルのエクスポート・ユーティリティおよびインポート・ユーティリティのパフォーマンスと同様です。
次に、データ・ポンプ・エクスポートおよびインポート・ユーティリティでのパフォーマンス向上の要因を示します。
INSERT
文バインド変数への変換は実行されません。
データ・ポンプ・テクノロジでは、すべての使用可能なリソースを最大限に使用して、スループットの最大化およびジョブ経過時間の最小化が行われます。これを実現するには、システムでCPU、メモリー、I/O間でバランスがとられている必要があります。また、パフォーマンス・チューニングの標準原理が適用されます。たとえば、ダンプ・ファイル・セット内のダンプ・ファイルの書込みおよび読取りはパラレルで行われるため、最大のパフォーマンスを得るにはそれらのダンプ・ファイルを個別のディスクに常駐させる必要があります。また、それらのダンプ・ファイルは、ソースまたはターゲットの表領域が常駐するディスクとは別のディスクに常駐させる必要があります。
パフォーマンス・チューニングを行う場合は、パフォーマンスとリソース消費のバランスをとることが必要です。
データ・ポンプ・エクスポートおよびインポート・ユーティリティを使用すると、ジョブごとのリソース消費量を動的に増減できます。これを実行するには、PARALLEL
パラメータを使用してそのジョブの並列度を指定します。(データ・ポンプ固有のチューニング・パラメータはPARALLEL
パラメータのみです。)最大のスループットを得るには、PARALLEL
をCPU数の2倍(CPUごとに2つのワーカー)以下に設定してください。
並列度を増加すると、CPU使用量、メモリー使用量およびI/O帯域幅使用も増大します。これらのリソースの使用可能な量が適切であることを確認してください。必要に応じて、異なるディスク・デバイスまたはチャネル間にファイルを分散して、必要なI/O帯域幅を確保できます。
並列度を最大にするには、並列度ごとに少なくとも1つのファイルを提供する必要があります。これを簡単に行うには、たとえばfile%u.dmp
のように、ファイル名に置換変数を使用します。ただし、ディスク設定によっては(たとえば、単純な非ストライプ・ディスクなどの場合)、すべてのダンプ・ファイルを1つのデバイスに配置しない場合があります。その場合は、置換変数を使用して複数のファイル名を指定し、それぞれのファイルを別々のディレクトリ(別々のディスク)に配置します。高速CPUと高速ディスクを使用する場合でも、CPUとディスク間のパスは、持続可能な並列度の量を制約する要因になることがあります。
PARALLEL
パラメータは、Oracle Database 11g のEnterprise Editionでのみ有効です。
圧縮および暗号化に関連するデータ・ポンプ・パラメータを使用すると、エクスポート操作とインポート操作のパフォーマンスが低下する場合があります。これは、RAWデータの変換を実行するために、追加のCPUリソースを必要とするためです。
特定の初期化パラメータの設定が、データ・ポンプ・エクスポートおよびデータ・ポンプ・インポートのパフォーマンスに影響する場合があります。特に、次の設定を使用してパフォーマンスを改善できます。ただし、プラットフォームによっては同様の効果を得られない場合もあります。
次の初期化パラメータには、並列度が最大になる値を指定する必要があります。
さらに、初期化パラメータSHARED_POOL_SIZE
とUNDO_TABLESPACE
は、余裕のある大きさにする必要があります。具体的な値は、データベースのサイズによって異なります。
Oracle Data Pumpは、Streams機能を使用してプロセス間の通信を行います。SGA_TARGET
初期化パラメータが設定されていると、STREAMS_POOL_SIZE
初期化パラメータは自動的に合理的な値に設定されます。
SGA_TARGET
初期化パラメータが設定されていない状態で、STREAMS_POOL_SIZE
初期化パラメータも定義されていない場合は、ストリーム・プールのサイズは自動的に共有プール・サイズの10%(デフォルト)になります。
ストリーム・プールが作成されると、バッファ・キャッシュに割り当てられたメモリーから必要なSGAメモリーが確保されるため、キャッシュのサイズは、DB_CACHE_SIZE
初期化パラメータで指定したサイズよりも少なくなります。つまり、バッファ・キャッシュが必要最小限のSGAで構成されていた場合、データ・ポンプ操作は正しく動作しません。データ・ポンプ操作を正常に実行するために、STREAMS_POOL_SIZE
の値は、最小サイズの10Mにすることをお薦めします。
|
Copyright © 2007 Oracle Corporation. All Rights Reserved. |
|