エンタープライズ・クラスのどのようなビジネス・アプリケーションにおいても、すべてのシステムに通用するような単純なチューニング方法はありません。この項では、構成のサンプルを1つ示し、チューニングの原則の概要を説明します。
Oracle Identity Managerには、多数の構成オプションがあります。ボトルネックを特定し、パフォーマンスを最適化する最善の方法は、本番環境のキーとなるデータベース・パフォーマンスを監視し、必要に応じて構成を調整していくことです。この章では、データベース構成の初期ベースラインを選択する際に役に立つガイドラインを示します。
この章では、次の内容について説明します。
次のパラメータ設定は、4CPUの8GB RAMサーバーの例です。
表3-1 構成パラメータのサンプル
パラメータ | Oracle9iの推奨初期設定 | Oracle10gの推奨初期設定 |
---|---|---|
|
9.2.0.0.0 |
10.2.0.2.0 |
|
EXACT |
EXACT |
|
8192 |
8192 |
|
3200M |
3200M |
|
800M |
800M |
|
14289920 |
14289920 |
|
500M |
500M |
|
16 |
16 |
|
2 |
2 |
|
TRUE |
該当なし |
|
300M |
300M |
|
600 |
600 |
|
9.2.0 |
10.2.0.2 |
|
0〜20の間 |
0〜20の間 |
|
1100M |
1100M |
|
AUTO |
AUTO |
|
processesパラメータは、「現行ユーザーの最大数+バックグラウンド・プロセスの数+SQL*PLUSおよびその他のユーザー・プロセスの数+10(予備)」に設定します。 |
processesパラメータは、「現行ユーザーの最大数+バックグラウンド・プロセスの数+SQL*PLUSおよびその他のユーザー・プロセスの数+10(予備)」に設定します。 |
|
TRUE |
TRUE |
|
TRUSTED |
TRUSTED |
|
300 |
300 |
Oracle Identity Managerの即時利用可能なインストールでは、データベース・オブジェクトの格納に使用する物理表領域は1つのみです。Oracle Identity Managerのデータベース・オブジェクトは、次のカテゴリのいずれかに属します。
物理表
索引
ラージ・オブジェクト(LOBS/CLOBS)
パフォーマンスを向上させるため、ローカルで管理する複数の表領域を作成し、各カテゴリのデータベース・オブジェクトを専用の表領域に格納してください。これによりストレージが最適化され、データ・アクセスが効率的になります。次のユーザー・プロファイル監査(UPA
)コンポーネント表と索引を、個別の表領域に配置することをお薦めします。
UPA
UPA_FIELDS
UPA_GRP_MEMBERSHIP
UPA_RESOURCE
UPA_USR
これらの表に大量の履歴データを格納し、履歴レポートによって使用できます。
データベース・スキーマには、リコンシリエーション・データのための次の表が含まれます。
RCA
RCB
RCD
RCE
RCH
RCM
RCP
RCU
RPC
使用する環境で大量のリコンシリエーション・データが生成される場合は、これらの表を新たな表領域に移動してください。自動エクステント割当てにはローカル管理の表領域を使用します。
パフォーマンス・メトリックを使用して、頻繁にアクセスする表、すなわちホット表を特定できます。I/O競合が削減するよう、ホット表を専用の表領域に移動します。パフォーマンス・メトリックの詳細は、「データベース・パフォーマンスの監視」を参照してください。
Oracle Identity Managerでは、シーケンス・オブジェクトを使用して、一意のレコード識別子を生成します。また、ストアド・プロシージャを使用して、特定のデータベース操作を行います。本番のパフォーマンスを最適化するために、シーケンス・オブジェクトおよびストアド・プロシージャをSGAに固定してください。Oracle Identity Managerインストールに付属のcreate_db_trigger.sqlという名前のスクリプトでこれを行います。create_db_trigger.sqlスクリプトは、Oracle Identity Managerデータベース・アカウントSYSADM
用に作成されています。これは、サンプルのOracleログイン・アカウントです。
このスクリプトは、次のインストール・ディレクトリに置かれます。
\installServer\Xellerate\db\oracle
次の手順で、シーケンス・オブジェクトおよびストアド・プロシージャを固定します。
SYS
でログインします。
Oracle SQL*Plus(Oracleクライアント・ツール)をコマンド・プロンプトで起動し、次のコマンドを入力します。
sqlplus /nolog
Oracleインスタンスに、SYSDBA
ロールを持つSYS
ユーザーとして接続します。
たとえば、次のコマンドを入力します。
CONNECT SYS/sys_password@db_instance AS SYSDBA
ここで、sys_password
はSYS
ユーザー・アカウントのパスワード、db_instance
はデータベース・インスタンスに接続するNet 8サービス名です。
たとえば、次のコマンドを入力します。
CONNECT SYS/sys@xeltest AS SYSDBAConnected.
create_db_trigger.sqlスクリプトをテキスト・エディタで編集し、使用する実際のOracle Identity Managerのデータベース・アカウント名を指定します。
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;/
create_db_trigger.sqlスクリプトを実行します。
このスクリプトにより、データベースが起動する度に起動されるデータベース・トリガーが作成されます。その後でデータベースのバウンスが行われると、シーケンスおよびストアド・プロシージャは自動的にSGAに固定されます。
OracleにSYS
ユーザーで接続した状態で、次のコマンドを実行します。
EXEC database_user
.PIN_OBJ;EXEC database_user.PIN_SP;
ここで、database_user
はデータベース・アカウントです。
これらのコマンドは、初期スキーマ作成時に1回だけ実行してください。Oracleサーバーのバウンスは必要ありません。
Oracle Identity Managerデータベースをリアルタイム・パフォーマンス・メトリックで監視すると、パフォーマンス・ボトルネックを特定できます。
次のことを定期的に実行してください。
Oracle9iのStatspackやOracle10gの自動ワークロード・リポジトリ(AWR)などのパフォーマンス・モニタリング・ツールを使用して、リアルタイムのパフォーマンスを監視すること
初期スキーマ統計をOracle Identity Manager実装で収集すること
スキーマ統計を定期的に更新すると、コストベース・オプティマイザ(CBO)で最新の統計にアクセスできます。
これによりCBOは、データの現行の状態に基づく効果的な問合せ実行計画を決定できます。
OracleのStatspackレポートやAWRレポートのアドバイザ・セクションにある関連推奨事項を参照し、アドバイスされた設定に従ってインスタンス構成パラメータを調整すること