Oracle9iメモリー管理機能によるパフォーマンスの向上

メモリーは、Oracleデータベース全体のパフォーマンスに重大な影響を及ぼす、重要なシステム・リソースです。 そのため、データベース管理者はメモリーが最適に使用されるようにシステム・メモリー使用量を厳しく監視しています。 オラクルはOracleデータベースの管理を簡略化することを常に探求しており、Oracle9iにはメモリー管理を自動化し、 インストール後ただちに最適なパフォーマンスを提供し、動的な再構成を可能にする多数の機能が装備されています。 Oracle9iの拡張されたメモリー管理により、高速な問合せの実行が可能になり、使用可能なメモリーの最も効率的な 使用が確保され、オペレーティング・システム・リソース・マネージャとのよりよい統合が促進されます。

動的システム・グローバル領域(SGA)
Oracle9iは、インスタンスに対するメモリーの追加と削除を簡易化します。データベース管理者は、インスタンスを 再起動することなく、バッファ・キャッシュと共有プールのサイズを変更できます。このような変更をオンラインで 実行できるようにすることで、動的SGA機能は管理者によるデータベース可用性の向上を支援します。 また、動的SGAは、システム・ハードウェアでの変更またはOSリソース・マネージャ割当ての変更に応じて、 Oracleインスタンスで使用可能なメモリーを動的に変更することも可能にします。

実行中のインスタンスのSGA構成は、バッファ・キャッシュのサイズを制御するパラメータ(DB_CACHE_SIZE)と 共有プールのサイズを制御するパラメータ(SHARED_POOL_SIZE)の値を変更することで変更できます。これらのパラメータは 両方ともOracle9iで動的であり、その値はALTER SYSTEMコマンドを使用して変更することができます。

バッファ・キャッシュ・アドバイザ

Oracle9iバッファ・キャッシュ・アドバイザは、データベース・メモリー構成から予測値を取得します
 
Oracle9iには、DBAがバッファ・キャッシュのサイズを最適に設定することを支援するアドバイザも 含まれています。 このアドバイザは、現在の処理負荷に基づいた内部シミュレーションに従って、現在のキャッシュ・サイズの 10%から200%にいたる様々なサイズのバッファ・キャッシュのキャッシュ「ミス」率を予測します。これらの予測は、 新しいビューV$DB_CACHE_ADVICEを介して公開されます。 このビューを使用すると、バッファ・キャッシュの現在のサイズを 大きくするか小さくするかを決定し、現在の処理負荷に対する最適なパフォーマンスを確保することができます。 バッファ・キャッシュのサイズ決定に対する決定論的な方法を提供することにより、Oracle9iはデータベース・メモリー構成から 予測値を取得して、メモリーの過剰割当てよる無駄を排除します。

バッファ・キャッシュ・アドバイザは、デフォルトではオフになっています。 これは、データ収集とキャッシュ・シミュレーションに関連する多少のパフォーマンス・オーバーヘッドが生じるためです。 パラメータDB_CACHE_ADVICEをONにすることで、オンにできます。このパラメータの値をREADYに変更すると、それ以降の データ収集は停止されますが、アドバイザの結果はV$DB_CACHE_ADVICEビューに保持されます。このビューの内容は、 DB_CACHE_ADVICEパラメータをOFFに設定してアドバイザをオフにすると消去されます。

自動SQL実行メモリー管理
ビジネスインテリジェンス処理などにおける複雑な長時間実行問合せのパフォーマンスは、プログラム・グローバル領域(PGA) で使用可能なメモリーに非常に大きく依存しています。Oracle8iおよびそれ以前のリリースのデータベースでは、管理者は 多数の初期化パラメータを注意深く調整することによってPGAのサイズを設定していました。Oracle9iでは、PGAメモリーの 管理が完全に自動化されます。管理者は、新たに導入されたPGA_AGGREGATE_TARGETパラメータを使用することにより、 インスタンスに使用可能なPGAメモリーの最大量を指定する必要があるだけです。

データベース・サーバーは、インテリジェント な方法でこのメモリーを様々なアクティブな問合せに自動的に割り当て、パフォーマンスを最大限にし、最も効率的なメモリー 使用率を確保します。さらに、Oracle9iは変化する処理負荷に適応することができるため、システムの負荷に関係なくリソース を効率的に使用します。インスタンスで使用可能なPGAメモリーの量は、PGA_AGGREGATE_TARGETパラメータの値を変更すること によって動的に変更でき、アクティブなインスタンスに対してオンラインでPGAメモリーを追加したり削除することができます。 自動モードにすれば、管理者はSORT_AREA_SIZE、HASH_AREA_SIZE、BITMAP_MERGE_AREA_SIZE、および CREATE_BITMAP_AREA_SIZEなどのパラメータを使用して手動で個々の作業領域のサイズを調整する必要はありません。

自動SQL実行メモリー管理機能は、パラメータWORK_AREA_SIZEを「AUTO」に設定すると使用可能になります。 下位互換性のために、Oracle9iでは手動PGA管理モードも引き続きサポートされます。手動モードは、WORK_AREA_SIZEパラ メータを「MANUAL」に設定するか、またはPGA_AGGREGATE_TARGETに値を指定しないことによってアクティブになります。

この機能は、DBAがDSSアプリケーションのメモリー使用率を調整するために必要な時間を短縮するのに役立ちます。 メモリー使用率の改善によって節約できたメモリーは、多数のユーザーがシステムに存在する場合のスループットの 向上や問合せの応答時間の短縮につながります。
 
追加情報
 Oracle9i Database マニュアル(ドキュメント) - Oracle9i Database(全般) - Oracle9i データベース管理者ガイド (2-33 SGAのサイズに影響する初期化パラメータの設定)
 Oracle9i Database マニュアル(ドキュメント) - パフォーマンス&レプリケーション - Oracle9iデータベース・パフォーマンス・ガイドおよびリファレンス - 第14章 メモリーの構成と使用方法

Oracle9i Database Daily Feature
 アーカイブ