ヘッダーをスキップ
Oracle Identity Managerベスト・プラクティス・ガイド
リリース9.1.0
E05901-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

2 Oracle Identity Manager用のOracle Databaseのチューニング

エンタープライズ・クラスのどのようなビジネス・アプリケーションにおいても、すべてのシステムに通用するような単純なチューニング方法はありません。この項では、構成のサンプルを1つ示し、Oracle Databaseのチューニングに関する原則の概要を説明します。

Oracle Identity Managerには、多数の構成オプションがあります。ボトルネックを特定し、パフォーマンスを最適化する最善の方法は、本番環境のキーとなるデータベース・パフォーマンスを監視し、必要に応じて構成を調整していくことです。この章では、データベース構成の初期ベースラインを選択する際に役に立つガイドラインを示します。

この章では、次の内容について説明します。

インスタンス構成パラメータのサンプル

次の構成パラメータ設定のサンプルは、4つのCPU(64ビット)と8または16GBのRAMを備えたサーバーに基づいています。


注意:

この表は、次のように使用します。

ASMMは、Oracle Database 10gの自動共有メモリー管理機能を意味しています。これにより、様々なサブコンポーネントのメモリーが自動的に分散され、メモリー使用率を最も効果的に高めることができます。

次の接続プール要件および外部プログラムに対する追加接続に対応するように、プロセス・パラメータを設定する必要があります。

  • アプリケーション・サーバーで構成されたXAデータ・ソースの接続プール・サイズ

  • アプリケーション・サーバーで構成されたXAではないデータ・ソースの接続プール・サイズ

  • xlconfig.xmlで構成されたダイレクト・データベース接続プール・サイズ


表2-1 構成パラメータのサンプル

パラメータ Oracle9i Databaseの推奨初期設定 Oracle Database 10gの推奨初期設定

db_block_size

8192

8192

sga_target

4GB(ASMMを有効化)

10GB(ASMMを有効化)

sga_max_size

4GB

10GB

pga_aggregate_target

1.2GB

1.2GB

db_keep_cache_size

800M

800M

log_buffer

15MB

15MB

optimizer_mode

CHOOSE

CHOOSE

optimizer_index_cost_adj

0〜20の間

0〜20の間

cursor_sharing

FORCE

FORCE

open_cursors

600

800

session_cached_cursors

600

800

cursor_space_for_time

False

False

query_rewrite_enabled

TRUE

TRUE

query_rewrite_integrity

TRUSTED

TRUSTED

db_file_multiblock_read_count

16

16

db_writer_processes

2

2

processes

接続プール設定に基づく。

接続プール設定に基づく。


物理データの配置

Oracle Identity Managerの基本インストールでは、データベース・オブジェクトの格納に使用する物理表領域は1つのみです。Oracle Identity Managerのデータベース・オブジェクトは、次のカテゴリのいずれかに属します。

パフォーマンスを向上させるため、ローカルで管理する複数の表領域を作成し、各カテゴリのデータベース・オブジェクトを専用の表領域に格納してください。これによりストレージが最適化され、データ・アクセスが効率的になります。次のユーザー・プロファイル監査(UPA)コンポーネント表と索引を、個別の表領域に配置することをお薦めします。

これらの表には大量の履歴データを格納でき、履歴レポートで使用できます。

データベース・スキーマには、リコンシリエーション・データのための次の表が含まれます。

使用する環境で大量のリコンシリエーション・データが生成される場合は、これらの表を新たな表領域に移動してください。自動エクステント割当てにはローカル管理の表領域を使用します。

パフォーマンス・メトリックを使用して、頻繁にアクセスする表(ホット表)を特定できます。I/O競合を削減するため、ホット表を専用の表領域に移動します。パフォーマンス・メトリックの詳細は、「データベース・パフォーマンスの監視」を参照してください。

REDOログ・ファイル

Oracle Identity Managerで構成されたリコンシリエーション・プロセスによっては、リコンシリエーション中のデータベース・トランザクションおよびコミットの量が多くなる場合があります。複数REDOログ・ファイルを使用することをお薦めします。REOログ・ファイルに割り当てる総領域は、1〜2GBです。

プールの変更の保存

Oracle Identity Managerでは、USRおよびPCQ表はプール保存バッファを使用してデータベースにキャッシュされるようにデフォルトで割り当てられます(表2-1のdb_keep_cache_sizeを参照)。使用するインストールのユーザーが50,000より多い場合、プール保存バッファではなく、USRおよびPCQ表にデフォルトのバッファを使用することをお薦めします。使用できるコマンドは次のとおりです。

ALTER TABLE USR STORAGE(buffer_pool default);

ALTER TABLE PCQ STORAGE(buffer_pool default);

システム・グローバル領域(SGA)へのシーケンスおよびストアド・プロシージャの固定

Oracle Identity Managerでは、シーケンス・オブジェクトを使用して、一意のレコード識別子を生成します。また、ストアド・プロシージャを使用して、特定のデータベース操作を行います。本番のパフォーマンスを最適化するために、シーケンス・オブジェクトおよびストアド・プロシージャをSGAに固定してください。Oracle Identity Managerインストールには、このためにcreate_db_trigger.sqlという名前のスクリプトが付属しています。create_db_trigger.sqlスクリプトは、Oracle Identity Managerデータベース・アカウントSYSADM用に作成されています。これは、サンプルのOracleログイン・アカウントです。

このスクリプトは、次のインストール・ディレクトリに置かれます。

/installServer/Xellerate/db/oracle

シーケンス・オブジェクトおよびストアド・プロシージャを固定する手順:

  1. SYSでログインします。

  2. SQL*Plus(Oracleクライアント・ツール)をコマンド・プロンプトで起動し、次のコマンドを入力します。

    sqlplus /nolog
    
  3. Oracleインスタンスに、SYSDBAロールを持つSYSユーザーとして接続します。

    たとえば、次のコマンドを入力します。

    CONNECT SYS/sys_password@db_instance AS SYSDBA
    

    このコマンドでは、sys_passwordSYSユーザー・アカウントのパスワードであり、db_instanceはデータベース・インスタンスに接続するNet 8サービス名です。

    次に例を示します。

    CONNECT SYS/sys@xeltest AS SYSDBAConnected.
    
  4. create_db_trigger.sqlスクリプトをテキスト・エディタで編集し、使用するOracle Identity Managerのデータベース・アカウント名を指定します。

  5. create_db_trigger.sqlで、sysadmへのすべての参照が、使用されるアカウント名に置き換えられます。

    たとえば、Oracle Identity Managerデータベース・アカウント名がmyschemaの場合、スクリプトを次のように編集します。

    create or replace trigger cache_seq after startup on database beginmyschema.pin_obj;
    -- pin all sysadm's sequences in shared_poolmyschema.pin_sp;
    -- pin all commonly executed XELL stored procedures or functionsend;/
    
  6. create_db_trigger.sqlスクリプトを実行します。

    このスクリプトにより、データベースが起動する度に起動されるデータベース・トリガーが作成されます。その後でデータベースのバウンスが行われると、シーケンスおよびストアド・プロシージャは自動的にSGAに固定されます。

  7. OracleインスタンスにSYSユーザーで接続した状態で、次のコマンドを入力します。

    EXEC database_user.PIN_OBJ;EXEC database_user.PIN_SP;
    

    このコマンドでは、database_userはデータベース・アカウントです。

    これらのコマンドは、初期スキーマ作成時に1回のみ実行してください。Oracleサーバーのバウンスは必要ありません。

データベース・パフォーマンスの監視

Oracle Identity Managerデータベースのリアルタイム・パフォーマンス・メトリックを監視すると、パフォーマンス・ボトルネックを特定できます。

次のことを定期的に実行してください。