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

戻る
戻る
 
次へ
次へ
 

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

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

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

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

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

次のパラメータ設定は、4CPUの8GB RAMサーバーの例です。

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

パラメータ Oracle9iの推奨初期設定 Oracle10gの推奨初期設定

compatible

9.2.0.0.0

10.2.0.2.0

cursor_sharing

EXACT

EXACT

db_block_size

8192

8192

db_cache_size

3200M

3200M

db_keep_cache_size

800M

800M

log_buffer

14289920

14289920

shared_pool_size

500M

500M

db_file_multiblock_read_count

16

16

db_writer_processes

2

2

hash_join_enabled

TRUE

該当なし

java_pool_size

300M

300M

open_cursors

600

600

optimizer_feature_enable

9.2.0

10.2.0.2

optimizer_index_cost_adj

0〜20の間

0〜20の間

pga_aggregate_target

1100M

1100M

workarea_size_policy

AUTO

AUTO

processes

processesパラメータは、「現行ユーザーの最大数+バックグラウンド・プロセスの数+SQL*PLUSおよびその他のユーザー・プロセスの数+10(予備)」に設定します。

processesパラメータは、「現行ユーザーの最大数+バックグラウンド・プロセスの数+SQL*PLUSおよびその他のユーザー・プロセスの数+10(予備)」に設定します。

query_rewrite_enabled

TRUE

TRUE

query_rewrite_integrity

TRUSTED

TRUSTED

session_cached_cursors

300

300


物理データの配置

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

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

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

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

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

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

システム・グローバル領域(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. Oracle 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/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データベースをリアルタイム・パフォーマンス・メトリックで監視すると、パフォーマンス・ボトルネックを特定できます。

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