ヘッダーをスキップ
Oracle® Fusion Middlewareパフォーマンスおよびチューニング・ガイド
11g リリース1 (11.1.1)
B61006-10
  目次へ移動
目次

前
 
次
 

23 Oracle Internet Directoryのパフォーマンス・チューニング

この章では、インストールされているOracle Internet Directoryのチューニングおよびサイズ設定のガイドラインを示します。内容は次のとおりです。

23.1 Oracle Internet Directoryについて

Oracle Internet Directoryは、オラクル社のLightweight Directory Application Protocol (LDAP)バージョン3のディレクトリ・サーバーです。Oracle Internet Directoryは、スケーラビリティ、可用性および管理性に優れています。また、マルチスレッド、マルチプロセス、マルチインスタンスのプロセス・アーキテクチャを備え、Oracle Databaseをディレクトリ・ストアとして使用します。この独自の物理アーキテクチャにより、Oracle Internet Directoryは、対称型マルチプロセッサ(SMP)、不均一メモリー・アクセス(NUMA)、クラスタ・ハードウェアなどの複数のハードウェア・アーキテクチャにデプロイできます。Oracle Internet Directoryの物理アーキテクチャは、ハードウェア・リソースおよび多数の高可用性構成で、リニアなパフォーマンスのスケーラビリティを実現します。

詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください。


注意:

Oracle Internet Directoryのデフォルト構成は、ほとんどの本番用デプロイメントおよびテスト用デプロイメントにとって最適なものではありません。最適なパフォーマンスおよび可用性を得るには、少なくとも23.3項「チューニングに関する基本的な考慮事項」に示す手順に従う必要があります。



関連項目:


この章の推奨事項の多くは、Oracle Internet Directoryのシステム構成属性およびレプリケーション構成属性の変更を必要とします。


関連項目:

  • 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の「システム構成属性の管理」

  • 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の「レプリケーション構成属性の管理」

  • 『Oracle Fusion Middleware Oracle Identity Managementリファレンス』の「属性リファレンス」

Oracle Internet Directoryの構成属性の詳細は、これらを参照してください。


23.2 Oracle Internet Directoryのパフォーマンスの監視

Oracle Internet Directoryデータベースのリアルタイム・パフォーマンス・メトリックを監視すると、パフォーマンス・ボトルネックを特定できます。他のOracle Fusion Middlewareコンポーネントの監視方法の詳細は、第4章「Oracle Fusion Middlewareの監視」を参照してください。

23.2.1 UNIXシステムおよびWindowsシステムでのパフォーマンスの監視

Linux、Solaris、その他のUNIXライクなオペレーティング・システムを使用している場合は、次の各ツールを理解しておくことをお薦めします。

ツール 説明

top

システムでCPUを最も多く消費しているタスクを表示します。

vmstat

Virtual Memory Managerなど、システムの様々な部分の実行統計を示します。

mpstat

vmstatと同様の出力ですが、システム内の各種CPUにわたって分割して示します。これはSolarisでのみ使用可能です。

iostat

各種ディスク・コントローラからのディスクI/O統計を示します。

sar

システムのアクティビティ情報を収集、報告または保存します。


Microsoft Windowsを使用している場合は、次のツールを理解しておくことをお薦めします。

ツール 説明

Windowsパフォーマンス・モニター

システム内のイベントのカスタマイズされたビューを表示します。

Windowsタスク・マネージャ

システムで実行されている主なタスクの大まかな出力(UNIXのtopと同様)を提供します。


Oracle Databaseを使用する場合は、次のツールを理解しておくことをお薦めします。

  • utlbstat.sqlおよびutlestat.sqlまたはstatspack

  • 自動ワークロード・リポジトリ(AWR)および自動データベース診断モニター(ADDM)のレポート

  • DBMS_STATSパッケージを使用したオプティマイザ統計の収集


    関連項目:

    • utlbstat.sqlおよびutlestat.sqlの詳細は、Oracle Databaseドキュメント・ライブラリの『Oracle Databaseリファレンス』を参照してください。

    • statsパッケージの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

    • DBMS_STATSパッケージのANALYZEファンクションの詳細は、Oracle Databaseドキュメント・ライブラリの『Oracle Database概要』を参照してください。


オペレーティング・システム・ツール以外に、カスタマ環境で使用されているLDAPアプリケーションも待機時間やスループットの測定方法を提供しています。

さらに、様々なデータベースodsスキーマ・オブジェクトを分析して統計を見積るために、$ORACLE_HOME/ldap/adminにあるデータベース統計収集ツール(oidstats.sql)が提供されています。第23.2.3項「oidstats.sqlを使用したデータベース統計の更新」を参照してください。

23.2.2 「チューニングとサイズ設定」ウィザードを使用した推奨事項の取得

Oracle Enterprise Manager Fusion Middleware Controlには、Oracle Internet Directoryのチューニングおよびサイズ設定に便利なツールが用意されています。

このウィザードを使用して、システムのチューニングおよびサイズ設定に関する推奨事項を取得します。「チューニング」、「サイズ設定」または「両方」を選択できます。「サイズ設定」または「両方」を選択した場合は、「基本」または「拡張」を選択できます。

チューニング

  1. 「Oracle Internet Directory」メニューから、「管理」「チューニングとサイズ設定」を選択します。

  2. 「作成」アイコンをクリックしてウィザードを起動します。

  3. 「タイプ選択」ページで、レポート名を変更し、「チューニング」を選択します。

  4. ウィザードに「ハードウェア」、「機能」、「ロード」、「データ特性」および「ガベージ・コレクション」の各ページが表示されます。

    各ページで、テキスト・フィールドに値を指定(またはデフォルト値を使用)し、質問ごとに「はい」または「いいえ」を選択します。一部の選択肢は、前の選択内容に応じてグレー・アウトされている場合があります。ほとんどのフィールドには、カーソルをフィールド上に移動すると表示されるツールチップが用意されています。

    次のページに進むには「次へ」、前のページに戻るには「戻る」をクリックします。ウィザードを閉じるには、「取消」をクリックします。

  5. 「確認」ページで、入力したデータを確認します。指定内容を変更するには「戻る」、レポートを表示するには「終了」をクリックします。

  6. レポートは、ページの右下のセクションに表示されます。

    レポートをダウンロードするには、「レポートのダウンロード」をクリックします。レポートを削除するには、「削除」をクリックします。

サイズ設定

  1. 「Oracle Internet Directory」メニューから、レポート名を変更し、「管理」「チューニングとサイズ設定」を選択します。

  2. 「作成」アイコンをクリックしてウィザードを起動します。

  3. 「タイプ選択」ページで、「サイズ設定」を選択します。

  4. 「基本」または「拡張」を選択します。

  5. 「サイズ設定」ページで、テキスト・フィールドに値を指定(またはデフォルト値を使用)し、質問ごとに「はい」または「いいえ」を選択します。一部の選択肢は、前の選択内容に応じてグレー・アウトされている場合があります。

  6. 「次へ」をクリックします。

  7. 「確認」ページで、入力したデータを確認します。指定内容を変更するには「戻る」、レポートを表示するには「終了」をクリックします。

  8. レポートは、ページの右下のセクションに表示されます。

    レポートをダウンロードするには、「レポートのダウンロード」をクリックします。レポートを削除するには、「削除」をクリックします。

両方

  1. 「Oracle Internet Directory」メニューから、レポート名を変更し、「管理」「チューニングとサイズ設定」を選択します。

  2. 「作成」アイコンをクリックしてウィザードを起動します。

  3. 「タイプ選択」ページで、「両方」を選択します。

  4. 「基本」または「拡張」を選択します。

  5. 「次へ」をクリックします。

  6. ウィザードに「サイズ設定」、「ハードウェア」、「機能」、「ロード」、「データ特性」および「ガベージ・コレクション」の各ページが表示されます。

    各ページで、テキスト・フィールドに値を指定(またはデフォルト値を使用)し、質問ごとに「はい」または「いいえ」を選択します。一部の選択肢は、前の選択内容に応じてグレー・アウトされている場合があります。

    次のページに進むには「次へ」、前のページに戻るには「戻る」をクリックします。ウィザードを閉じるには、「取消」をクリックします。

  7. 「確認」ページで、入力したデータを確認します。指定内容を変更するには「戻る」、レポートを表示するには「終了」をクリックします。

  8. レポートは、ページの右下のセクションに表示されます。

    レポートをダウンロードするには、「レポートのダウンロード」をクリックします。レポートを削除するには、「削除」をクリックします。

23.2.3 oidstats.sqlを使用したデータベース統計の更新

データベース統計が自動的に更新され、OIDMONがデータベースの構成された数の更新ごとにoidstats.sqlを実行します。デフォルトでは、5000エントリが追加されるたびに、OIDMONがoidstats.sqlを実行します。次のようにldapmodifyコマンドを使用して、この頻度を変更できます。

$ORACLE_HOME/bin/ldapmodify -p <oidPort> -h <oidHost> -D cn=orcladmin -w <adminPassword> << eof
dn:  cn=configset,cn=oidmon,cn=subconfigsubentry
changetype: modify
replace: orclstatsperiodicity
orclstatsperiodicity: <desired_number>
eof

関連項目:

『Oracle Fusion Middleware Oracle Identity Managementリファレンス』oidstats.sqlコマンドライン・ツールのリファレンス


23.2.4 パフォーマンス関連のレプリケーション構成属性の設定

レプリケーション属性を設定するには、Oracle Enterprise Manager Fusion Middleware Controlのレプリケーション・ウィザードまたはコマンドラインを使用します。

属性orclthreadspersupplierorclchangeretrycountおよびorclconflresolutionは、レプリケーション構成セット属性です。


関連項目:

  • 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のFusion Middleware Controlを使用したレプリケーション属性の構成に関する項

  • 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のldapmodifyを使用したレプリケーション構成セット属性の構成に関する項

次の情報については


属性orclhiqscheduleおよびorclupdatescheduleは、レプリケーション承諾エントリ属性です。


関連項目:

  • 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のFusion Middleware Controlレプリケーション・ウィザードを使用したLDAPベースのレプリケーション設定の表示または変更に関する項

  • 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のldapmodifyを使用したレプリケーション承諾属性の構成に関する項



関連項目:

  • レプリケーション・ウィザードを使用したレプリケーション属性の設定の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の、Fusion Middleware Controlのレプリケーション・ウィザードを使用した一方向、双方向またはマルチマスターLDAPベースのレプリケーション承諾の設定に関する項を参照してください。

  • 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のldapmodifyを使用したレプリケーション構成セット属性の構成に関する項。


23.2.5 システム構成属性の管理

ほとんどのパフォーマンス関連のシステム構成属性は、Oracle Enterprise Manager Fusion Middleware Controlまたはコマンドラインから設定できます。Oracle Directory Services Managerのデータ・ブラウザを使用してシステム構成属性を変更することもできます。

Oracle Internet Directoryのシステム構成属性の設定の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の「システム構成属性の管理」を参照してください。

  • 「Fusion Middleware Controlを使用したシステム構成属性の管理」

  • 「WLSTを使用したシステム構成属性の管理」

  • 「LDAPツールを使用したシステム構成属性の管理」

  • 「ODSMデータ・ブラウザを使用したシステム構成属性の管理」

23.2.6 ガベージ・コレクション構成属性の設定

属性orclpurgetargetageおよびorclpurgeintervalは、変更ログ・パージ構成エントリにあります。これらは、ldapmodifyまたはOracle Directory Services Managerを使用して変更できます。

23.2.6.1 ldapmodifyを使用した変更ログ・パージ属性の変更

次の例は、変更ログのパージの構成に使用するLDIFファイルです。


関連項目:

変更ログのパージの詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の変更ログのパージに関する項を参照してください。


この例では、120時間(5日)の時間ベースのパージを構成しています。次のようなLDIFファイルを使用します。

dn: cn=changelog purgeconfig,cn=purgeconfig,cn=subconfigsubentry
changetype:modify
replace: orclpurgetargetage
orclpurgetargetage: 240

LDIFファイルmod.ldifを適用するには、次のように入力します。

ldapmodify -D "cn=orcladmin" -q -p port -h host -D dn -q -f mod.ldif

関連項目:

『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の時間ベースの変更ログのパージの構成に関する項。


23.2.6.2 Oracle Directory Services Managerでの変更ログのパージの変更

orclpurgetargetageおよびorclpurgeintervalは、Oracle Directory Services Managerのデータ・ブラウザを使用して変更できます。データ・ツリーで変更ログ・パージ構成エントリに直接移動することはできませんが、次のように拡張検索を使用すると可能です。

  1. 「データ・ブラウザ」タブで「拡張」をクリックします。

  2. 左ペインで「ガベージ・コレクション」を展開し、「changelog purgeconfig」を選択します。「ガベージ・コレクタ」ウィンドウが右ペインに表示されます。

  3. 右ペインで、パージのターゲット期間およびパージの間隔に加える変更を入力します。

  4. 「適用」を選択します。

23.3 チューニングに関する基本的な考慮事項

チューニングとは、ディレクトリのパフォーマンスを改善するためにパラメータを調整することです。Oracle Internet Directoryのデフォルト構成は、ほとんどすべてのデプロイメントでチューニングを必要とします。この項に記載されている要件および推奨事項を十分に確認してください。

23.3.1 データベース・パラメータ

Oracle Databaseインスタンス・パラメータの推奨される最小値を表23-1に示します。

表23-1 Oracle Databaseインスタンス・パラメータの最小値

パラメータ 注意

sga_target

sga_max_size

1700M (32ビットのシステムの場合)

sga_targetおよびsga_max_sizeを使用するSGA自動チューニングの使用時に適用できます。bulkdeleteのパフォーマンスにおいて特に重要です。

ディレクトリ・サイズが100万エントリを超える場合や、I/Oレートが高い場合には、大きな値が必要になることがあります。64ビットのシステムでは、マシン上のOracle Databaseで使用できるRAMの最大60から70%まで増やすことができます。

db_cache_size

1200M (32ビットのシステムの場合)

sga_targetおよびsga_max_sizeを使用したSGA自動チューニングを使用していない場合に適用されます。(このパラメータを使用せずに、sga_targetおよびsga_max_sizeを使用したSGA自動チューニングを行うことをお薦めします。)

ディレクトリ・サイズが100万エントリを超える場合や、I/Oレートが高い場合には、大きな値が必要になることがあります。64ビットのシステムでは、マシン上のOracle Databaseで使用できるRAMの最大60から70%まで増やすことができます。

shared_pool_size

300M

sga_targetおよびsga_maxsizeを使用したSGA自動チューニングを使用していない場合に適用されます。

session_cached_cursors

500


processes

500


memory_target

0

これは0に設定するようにし、sga_targetおよびpga_aggregate_targetのみを説明のとおり設定してください。

pga_aggregate_target

1 - 4 GB

十分なRAMが使用可能な場合は、1-4 GBに設定します。PGA使用率が増えるパターンを確認した場合は、サイズを増やします。これは特に大量のバルク・ロード実行の際に役立ちます。

job_queue_processes

1以上。

このパラメータは、Oracle Databaseアドバンスト・レプリケーション・ベースのマルチマスター・レプリケーションを使用している場合にのみチューニングします。

注意: このパラメータは、データベース・サーバーで使用可能なCPUコアの数を超えることはできません。

_b_tree_bitmap_plans

FALSE

このパラメータのデフォルト値TRUEにより、SQLの実行計画に不要なビットマップ操作が発生し、パフォーマンスに影響を与える可能性があります。

NLS_SORT

BINARY

NLS_SORTをBINARYに設定することを検討してください。そうしない場合、ソートによって全表スキャンが実行されるため、パフォーマンスが影響を受ける場合があります。

PL_SQL_CODE_TYPE

NATIVE

PL_SQL_CODE_TYPEをNATIVEに設定することを検討してください。


Oracle Databaseインスタンス・パラメータの設定の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

23.3.2 LDAPサーバー属性

この項の推奨事項は、表23-2にまとめてあります。

  • LDAPアプリケーション・トラフィックを処理するOracle Internet Directoryサーバー・インスタンスのプロセスおよびスレッドの数をチューニングします。これは、全体的なパフォーマンスに大きな影響を与えます。表23-2に記載されたorclmaxccの推奨設定を参照してください。

  • レプリケーションまたはOracle Directory Integration Platformをデプロイしない場合、変更ログの生成を無効にします。属性orclgeneratechangelog0に設定します。

  • ディレクトリに参照エントリがない場合、LDAP検索で参照をスキップします。orclskiprefinsqlを1に設定します。これは、パフォーマンスに大きな影響を与える可能性があります。

  • アイドルLDAP接続を開いたままにせず、一定期間の経過後閉じます。こうすると、接続が必要以上に増えるのを防止できます。たとえば、orclldapconntimeoutを60分に設定します。

    これは、g (10.1.4.0.1)から、操作統計を追跡するよう構成されていないユーザーにしか設定できなくなりました。統計を収集するよう構成されているユーザーの接続は、この設定に従ってタイムアウトしません。


    関連項目:

    『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のFusion Middleware Controlを使用した統計収集のためのユーザーの構成に関する項。


  • LDAP検索操作のベースDNがディレクトリになく、クライアントが詳細なMatchDN情報を必要としない場合は、詳細なMatchDN情報を無効にします。orclmatchdnenabledを0に変更します。

次の値は、ほとんどのデプロイメントに適しています。

表23-2 チューニングするLDAPサーバー属性

属性 デフォルト 推奨値 注意

orclserverprocs

1

CPUコアの数

この値を設定する際は、CPUコアのみを使用し、CPUスレッドは使用しないでください。

orclmaxcc

2

10

サーバーの再起動が必要です。

orclskiprefinsql

0

1

この変更を行うことを強くお薦めします。LDAP参照エントリがある場合は変更しないでください。LDAP参照エントリは共通ではありません。

サーバーの再起動が必要です。

orclgeneratechangelog

1

0

レプリケーションまたはOracle Directory Integration Platformをデプロイしない場合にのみ、変更ログの生成を無効にします。

orclldapconntimeout

0(タイムアウトなし)

場合によって異なる(一般的には60分)

統計を追跡するよう構成されているユーザーはタイムアウトしません。

orclmatchdnenabled

1

0

検索のベースDNが存在せず、アプリケーションが詳細なMatchDN情報を必要としない場合にのみ、無効にします。


Oracle Enterprise Manager Fusion Middleware Controlを使用したorclserverprocsorclldapconntimeoutおよびorclmatchdnenabledの構成の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のインスタンス固有の構成エントリの属性に関する項を参照してください。

Oracle Enterprise Manager Fusion Middleware Controlを使用したorclskiprefinsqlまたはorclmatchdnenabledの構成の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の共有プロパティの構成に関する項を参照してください。

これらの属性およびorclgeneratechangelogのコマンドラインからの構成の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のldapmodifyを使用したシステム構成属性の設定に関する項を参照してください。

23.3.3 データベース統計

LDAPコマンドを使用して多数のエントリをOracle Internet Directoryに追加すると、ディレクトリのパフォーマンスに影響が出ることがあります。その場合は、データベース統計を更新します。第23.2.3項「oidstats.sqlを使用したデータベース統計の更新」を参照してください。

通常、この操作が必要になるのは、Oracle Internet Directoryのインストール後に初めてエントリをバルクで追加する場合のみです。データベース統計は夜間に自動的に更新されるため、この操作を再度実行する必要はありません。ただし、データ・フットプリントを変更していないのにLDAP操作が突然遅くなった場合は、一度oidstats.sqlを実行してパフォーマンスが改善するかどうか確認することを検討してください。データベースSQL実行計画の変更が原因で影響が出ている可能性があります。この場合は、oidstats.sqlによって改善します。


関連項目:

SQLチューニングの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。


bulkloadツールを使用してエントリを追加する場合、データベース統計の更新は不要です。データベース統計は、bulkloadコマンドによって自動的に更新されます。

23.3.4 チューニングに関する優先度の低い考慮事項

この項では、パフォーマンスを改善することはあるが、優先度が低いとみなされている属性について説明します。

23.3.4.1 検索で返されるエントリの数の制御

  • 属性orclsizelimitは、検索で返されるエントリの最大数を制御します。デフォルト値は10000です。この値を非常に大きくすると、サーバーのパフォーマンスに影響が出ます。また、レプリケーション・サーバーが一度に処理できる変更ログの最大数を制限する役割も果します。

  • 複数値のorclsimplemodchglogattributes属性は、変更ログにすべての値のリストではなく、変更のみが含まれる属性を制御します。変更のみを返すように制限すると、パフォーマンスが向上する場合があります。

    詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のディレクトリ・レプリケーションの変更ログに関する項を参照してください。

23.3.4.2 グループ・キャッシュの有効化

インスタンス固有のサブエントリ属性orclenablegroupcacheは、権限グループおよびACLグループをキャッシュするかどうかを制御します。このキャッシュを使用すると、ユーザーのアクセス制御評価のパフォーマンスが向上します。

グループ・キャッシュは、権限グループ・メンバーシップが頻繁に変更されない場合に使用してください。権限グループ・メンバーシップが頻繁に変更される場合は、グループ・キャッシュをオフにすることをお薦めします。これは、グループ・キャッシュを計算する処理がパフォーマンスに影響を与えるためです。デフォルトは1(有効)です。0(ゼロ)に変更すると、無効になります。

『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のldapmodifyを使用したシステム構成属性の設定に関する項を参照してください。

23.3.4.3 書込み操作のタイムアウト

LDAPクライアントが操作を開始し、構成されている秒数以内にサーバーに応答しない場合、サーバーは接続を閉じます。この秒数は、インスタンス固有の構成エントリのorclnwrwtimeout属性によって制御されます。デフォルトは30秒です。

orclnwrwtimeoutの変更には、Fusion Middleware Controlまたはコマンドラインを使用できます。『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のインスタンス固有の構成エントリの属性に関する項を参照してください。

23.4 チューニングに関する高度な考慮事項

前の項で推奨されている変更を行った後、デプロイメントに固有の変更をさらに行うことができます。この項の推奨事項は、ご使用の環境に適しているかどうか慎重に検討してください。

23.4.1 レプリケーションまたはOracle Directory Integration Platform

Oracle Directory Integration Platformまたはレプリケーションと一緒にOracle Internet Directoryをデプロイする場合、これらの2つのサーバーに専用のLDAPサーバー・インスタンスを使用するとパフォーマンスが向上します。この場合、デフォルトのOracle Internet Directory LDAPインスタンスでLDAPアプリケーションのトラフィックを処理し、2番目のインスタンスでレプリケーション・サーバーおよびOracle Directory Integration PlatformサーバーからのLDAPリクエストを処理することができます。

  1. 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の「Oracle Internet Directoryインスタンスの管理」の説明に従って、追加のサーバー・インスタンスを作成します。

  2. 新しいインスタンス構成で、orclmaxccを10に、orclserverprocsを1に設定します。

  3. 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の「Oracle Internet Directoryインスタンスの管理」の説明に従って、サーバーを再起動します。

  4. 新しいインスタンスが使用するSSLポートおよび非SSLポートを設定し、レプリケーションおよびOracle Directory Integration Platformがこれらのポートを指し示すように構成します。

orclmaxccおよびorclserverprocsを構成するには、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のインスタンス固有の構成エントリの属性に関する項および『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のldapmodifyを使用したシステム構成属性の設定に関する項を参照してください。


注意:

Oracle Internet Directoryクラスタ構成(ラックマウントまたはマルチボックス)では、レプリケーション・サーバーを1つのハードウェア・ノードでのみ起動する必要があります。レプリケーション専用のLDAPサーバー・インスタンスは、それと同じノードで起動してください。Oracle Directory Integration Platformサーバーは、別のノードにあってもかまいません。


23.4.2 レプリケーション・サーバー構成

次の推奨事項は、レプリケーション・トラフィックが多い場合に役立ちます。変更を行う前に、必ずトレードオフを理解しておいてください。推奨値は、表23-3にまとめてあります。

  • 読取り専用のレプリカ・コンシューマを持つ単一のマスターをデプロイする場合、競合解決をオフにすると、パフォーマンスへの影響を軽減できます。これを行うには、orclconflresolutionの値を0にします。

  • サプライヤがボトルネックの場合、サプライヤのorclthreadspersupplierを増やします。コンシューマがボトルネックになっている場合も、コンシューマのorclthreadspersupplierを増やせますが、並列度が高まることによって変更ログの適用時に競合状態が生じ、結果的に管理者操作キュー(HIQ)の変更が増加することに注意してください。

  • 新規変更ログのリソースが増えるようorclchangeretrycountを減らします。ただし、競合が発生している場合は、これによって管理者操作キュー(HIQ)の変更が増加します。

  • orclupdatescheduleを0に変更して、サーバー・プロセスの変更ログが60秒おき(デフォルト)ではなく、ただちに作成されるようにします。これは、サプライヤとコンシューマの両方で行います。

  • orclhiqscheduleの値を大きくします。たとえば、管理者操作キュー(HIQ)に1日4回アクセスすれば十分であり、デプロイメントにもそれが適している場合は、orclhiqscheduleを21600秒(6時間)に設定します。

表23-3は、これらの推奨事項をまとめたものです。

表23-3 レプリケーション属性

属性 デフォルト 推奨値 注意

orclthreadspersupplier

転送=1

適用=5

転送スレッドを1に、適用スレッドを10以上に設定

サプライヤがボトルネックになっている場合に最も有効です。

orclchangeretrycount

10

4

変更ログのリソースが増えますが、HIQが増加することがあります。

orclupdateschedule

60秒

0

変更ログがただちに処理されます。

orclhiqschedule

600秒

21600秒

新しい変更を処理するためのリソースが増えます。

orclconflresolution

1

0

読取り専用のレプリカ・コンシューマを持つ単一のマスターをデプロイする場合にのみ変更します。


これらのレプリケーション属性の設定の詳細は、第23.2.4項「パフォーマンス関連のレプリケーション構成属性の設定」を参照してください。

23.4.3 ガベージ・コレクション構成

デフォルトでは、Oracle Internet Directoryはデータベース・ジョブを実行して、変更ログ、サーバー管理性統計、その他のデータをパージします。各ジョブは、午前0時から15分間隔で開始されます。表23-4に示すパラメータを変更すれば、この構成をデプロイメント要件に合せて変更できます。

表23-4 ガベージ・コレクション構成パラメータ

パラメータ 注意

orclpurgetargetage

10日(240時間)未満

変更ログを保持する必要がない場合のみ

orclpurgeinterval

6から12時間



これらの属性は、ldapmodifyまたはOracle Directory Services Managerを使用して変更できます。第23.2.6項「ガベージ・コレクション構成属性の設定」を参照してください。

23.4.4 クラスタ構成を使用するOracle Internet Directory

第23.4.2項「レプリケーション・サーバー構成」で説明したとおり、デフォルトのサーバーに加えて、Oracle Directory Integration Platformおよびレプリケーション専用のLDAPサーバーを使用できます。Oracle Internet Directoryクラスタでは、すべてのOracle Internet DirectoryノードでデフォルトのLDAPインスタンスを起動しますが、この専用のインスタンスはOracle Directory Integration Platformおよびレプリケーションが稼働しているノードでのみ起動します。

最適なパフォーマンスを維持するには、Oracle Internet Directoryがどのデータベース・インスタンスに接続するかを慎重に検討します。

  • クラスタ内のOracle Databaseインスタンス間のロード・バランシング、またはフェイルオーバー・モード用にOracle Internet Directoryを構成できます。

  • クラスタ内の通知に専用のIPアドレスおよびOracle Internet Directoryのインスタンスを使用します。orclcachenotifyip構成属性をldiffileに追加して、使用するポート番号およびIPアドレスを示すことができます。ただし、orclcachenotifyipがOracle Internet Directoryのインスタンス用に構成されている場合、IPアドレスはそのインスタンスが稼働しているノードに対してローカルである必要があることに注意してください。

    詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のクラスタ内の通知用のIPアドレスの構成に関する項を参照してください。

  • レプリケーションおよびOracle Directory Integration Platform専用のLDAPサーバー・インスタンスを使用する場合は、そのインスタンスの接続文字列をフェイルオーバー用に構成できます。tnsnames.oraで次の文字列を使用します。

    (FAILOVER=ON)(LOAD_BALANCE=OFF)
    
  • bulkloadなどのバルク操作の実行時には、ツールを1つのOracle Databaseインスタンスにのみ接続してすべての操作を実行します。

  • Oracle Internet Directoryインスタンスを次のように構成します。

    • LDAPアプリケーション・トラフィックを処理する各ノードにOracle Internet Directoryインスタンスを1つ配置

    • Oracle Internet Directoryレプリケーション・サーバーおよびOracle Directory Integration Platformサーバーのインスタンスを1つのノードに配置

23.4.5 パスワード・ポリシーとパスワード検証プロファイル

Oracle Internet Directoryでは、パスワード・ポリシーおよびパスワード検証プロファイルがデフォルトで有効になっています。特定のデプロイメントでパスワード・ポリシーを適用する必要がない場合は、パスワード・ポリシーを無効にできます。デフォルトで有効になっているパスワード検証プロファイルは、Enterprise User SecurityやOracle Collaboration SuiteなどのOracle製品で必要とされる特定のパスワード・ベリファイアの生成を制御します。他のOracle製品用にOracle Internet Directoryがデプロイされていない場合は、すべてのパスワード検証プロファイルを無効にできます。

パスワード・ポリシーおよびパスワード・ベリファイアは、Oracle Directory Services Managerまたはldapmodifyを使用して無効にできます。


関連項目:

  • 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の「パスワード・ポリシーの管理」。

  • 『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の「パスワード・ベリファイアの管理」。


23.4.6 サーバー・エントリ・キャッシュ

Oracle Internet Directoryのサーバー・キャッシュを使用すると、Oracle Internet Directoryの共有メモリーにLDAPエントリをキャッシュできます。そのノードで実行しているOracle Internet Directoryのすべてのプロセスでキャッシュを共有し、パフォーマンスを向上させます。

23.4.6.1 エントリ・キャッシュを使用する利点

エントリ・キャッシュを使用する主な利点の1つに、LDAP検索操作が4倍速くなることがあります。これは、エントリのすべて、または大半がキャッシュ可能な場合にのみ当てはまります。

23.4.6.2 エントリ・キャッシュを構成するための値

サーバー・エントリ・キャッシュは、表23-5に示す値を設定することで構成および最適化できます。

表23-5 サーバー・エントリ・キャッシュの構成

属性 デフォルト 推奨値 注意

orclmaxcc

2

10

この属性を変更した後、サーバーを再起動します。

orclecacheenabled

1

2


orclecachemaxsize

200000000バイト

ディレクトリの合計サイズ(バイト)

この属性の最適な設定を決定するには、ディレクトリ情報ツリーのエントリ数を使用し、その数に平均エントリ・サイズを掛けます。

LDIF形式のエントリ・サイズの3倍の見積りをしてください。

orclecachemaxentries

100000

DIT内のエントリ総数


orclecachemaxentsize

1000000

DIT内の最大エントリのサイズ(バイト)

通常、最大エントリはグループ・エントリまたはバイナリ属性値のエントリです。


たとえば、ディレクトリ情報ツリーの合計サイズが300Kで、LDAPデータ交換ファイル(LDIF)形式の300Kのエントリの合計サイズが500Mである場合、orclecacheenabledを1に、orclecachemaxsizeを1,500,000,000に、orclecachemaxentriesを300,000に設定します。最大のグループ・エントリまたはバイナリ値のエントリのサイズが10Mの場合、orclecachemaxentsizeを10,000,000に設定します。

ディレクトリ情報ツリーのエントリ数を取得するには、次のコマンドを使用します。

sqlplus ods@oiddb
select count(*) from ct_dn;
 
oidctl connect=oiddb status -diag 

次の例は、oidctl connect=oiddb status -diagコマンドの出力を示しています。

  +--------------------------------------------------------------------------+
  | Process      |  PID   |   InstName    |  CompName   |Inst#| Port | Sport |
  +--------------------------------------------------------------------------+
  | oidmon       |   8192 |         inst1 |        oid1 |    0|      |       |
  +--------------------------------------------------------------------------+
  | oidldapd disp|   8201 |         inst1 |        oid1 |    1| 5678 |     0 |
  | oidldapd serv|   8205 |         inst1 |        oid1 |    1| 5678 |     0 |
  | oidldapd serv|   8209 |         inst1 |        oid1 |    1| 5678 |     0 |
  | oidldapd serv|   8213 |         inst1 |        oid1 |    1| 5678 |     0 |
  | oidldapd serv|   8217 |         inst1 |        oid1 |    1| 5678 |     0 |
  | Config   DN  | cn=oid1,cn=osdldapd,cn=subconfigsubentry                  |
  +--------------------------------------------------------------------------+
 
 
  +--------------------------------------------------------------------------+
  |Printing LDAP Operation in progress status ...                          |
  +--------------------------------------------------------------------------+
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8205 WorkerID: 8 DBSID: 168 DBPID: 8245 ==> IDLE
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8205 WorkerID: 9 DBSID: 170 DBPID: 8253 ==> IDLE
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8205 WorkerID: 10 DBSID: 180 DBPID: 8261 ==> IDLE
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8205 WorkerID: 11 DBSID: 189 DBPID: 8269 ==> IDLE
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8209 WorkerID: 13 DBSID: 171 DBPID: 8249 ==> IDLE
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8209 WorkerID: 9 DBSID: 181 DBPID: 8257 ==> IDLE
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8209 WorkerID: 12 DBSID: 193 DBPID: 8267 ==> IDLE
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8209 WorkerID: 10 DBSID: 199 DBPID: 8225 ==> IDLE
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8209 WorkerID: 11 DBSID: 190 DBPID: 8227 ==> IDLE
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8205 WorkerID: 13 DBSID: 197 DBPID: 8223 ==> IDLE
  +--------------------------------------------------------------------------+
    OIDLDAPD_PID: 8205 WorkerID: 12 DBSID: 182 DBPID: 8229 ==> IDLE
  +--------------------------------------------------------------------------+
 
          Cache Max Size : 96000001024
          Max Entries configured : 2600000
          Max Entries cached : 3000000
          Num Entries in Cache : 3000000
          Num Entries in GC : 6000000
          Page size : 46062504
          Entry cache Hit count : 164805647431
          Entry cache Mis count : 8981856
          Hash Area bytes used : 39904896
          Hash Area blocks used : 22
          Free pages : 944
          Freed Blks : 18008766
          Entry cache bytes used : 47468777224
          Entry cache blocks used : 675008984
          Cache memory used : 47508682120

OIDCTLの-opdiagオプションは、5秒間隔で実行されるLDAP操作の合計回数を表示します(vmstatおよびiostatと同様)。

oidctl connect=oiddb status -opdiag

属性を構成するには、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のインスタンス固有の構成エントリの属性に関する項および『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のldapmodifyを使用したシステム構成属性の設定に関する項を参照してください。

23.4.7 結果セット・キャッシュ

結果セット・キャッシュは、完全な結果セットをメモリーに格納できるようにするOracle 11g OIDの機能です。SQL問合せが実行され、その結果セットがキャッシュ内にある場合、SQL実行のオーバーヘッドのほぼ全部が回避されます。これには、解析時間、論理読取り、物理読取り、通常に発生するキャッシュ競合オーバーヘッド(インスタンスのラッチ)が含まれます。結果キャッシュを構成すると、パフォーマンスが向上する可能性があります。これは、ほとんどのLDAPアプリケーションは通常、mail=john.doe@acme.comuid=john.doeなどのユーザー・エントリをユーザー・ツリーから検索するためです。このような問合せは、ユーザーがアプリケーションにログインしたり、使用したりするたびに、アプリケーションによって繰り返されます。このような問合せの結果セットは、単一エントリであることがあります。問合せが実行されるたびに、そのエントリを求めてOIDはデータベースを検索するため、パフォーマンスに影響が出ることがあります。

23.4.7.1 結果セット・キャッシュを使用する条件

次の条件を満たす場合にのみ、結果セット・キャッシュの使用を検討してください。

  • フィルタが1つまたは少数のエントリと合致すること。

  • SQL文によってディスクまたはバッファから複数の読取りが発生すること(高コスト)

23.4.7.2 結果セット・キャッシュを使用する利点

エントリ・キャッシュを使用する利点は次のとおりです。

  • OIDはデータベースを検索せずにフィルタを評価するため、データベースに対する負荷が軽減します。

  • 結果セット・キャッシュを使用しないときのパフォーマンスと比較すると、パフォーマンスは3倍から5倍向上する可能性があります。

23.4.7.3 結果セット・キャッシュの構成

OrclRSCacheAttr属性を使用して、OID用の結果セット・キャッシュを構成します。OrclRSCacheAttrはcn、mail、uid、orclguidを含む複数値属性です。通常、これらの属性はエントリの存続期間中変更できません。

結果セット・キャッシュを有効化するには、orclecacheenabled=2を設定します。結果セット・キャッシュは、orclecacheenabled=1またはorclecacheenabled=0を設定すると無効化できます。

次の構成属性に対する変更には、OIDサーバー(すべてのインスタンス)を再起動する必要があることに注意してください。

23.4.8 セキュリティ・イベント追跡のチューニング

インスタンス固有の構成エントリ属性orcloptrackmaxtotalsizeおよびorcloptracknumelemcontainersは、セキュリティ・イベント追跡に使用するメモリー量を制御します。

属性orcloptrackmaxtotalsizeには、セキュリティ・イベント追跡で各タイプの操作に使用できるRAMの最大バイト数を指定します。ある操作に関して収集される情報について、この制限を超えると、ディレクトリ・サーバーは新しい情報の収集を停止し、該当するメッセージをサーバー・ログ・ファイルに記録します。比較操作の場合、ディレクトリ・サーバーではこの属性値の2倍のメモリーを使用します。これは、比較操作を実行するユーザーと、パスワードを比較されているユーザーに関する情報を合せた量です。orcloptrackmaxtotalsizeのデフォルト値は100000000バイトで、ほとんどのデプロイメントはこれで十分です。この値は200MBまで増やせます。orcloptrackmaxtotalsizeの変更の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のldapmodifyを使用したシステム構成属性の設定に関する項のインスタンス固有の構成属性の例を参照してください。

属性orcloptracknumelemcontainersによって、Oracle Internet Directoryサーバーでセキュリティ・イベント追跡に割り当てるメモリー内キャッシュ・コンテナの数を選択できます。この属性にはサブタイプが2つあります。1stlevel2ndlevelです。1stlevelサブタイプでは、操作を実行するユーザーの情報を格納するためのメモリー内キャッシュ・コンテナの数を設定します。2ndlevelサブタイプは比較操作にのみ適用されます。このサブタイプでは、詳細比較操作統計がプログラムされている場合に、ユーザー・パスワードが比較および追跡されるユーザーの情報を格納するためのメモリー内キャッシュ・コンテナの数を設定します。両サブタイプのデフォルト値は256です。これらのサブタイプの適切な値は、次のように、環境内のユーザー数、およびディレクトリへのアクセスに使用されるアプリケーションの数によって異なります。

  • 多数のエンドユーザーにかわって複数のアプリケーションが操作を実行するデプロイメントでは、アプリケーションの数にディレクトリに直接アクセスするエンドユーザー用の数百を足した数に比例して1stlevelを設定します。2ndlevelは、エンドユーザーの数に比例して設定します。

  • エンド・ユーザー自身が操作を行うデプロイメントでは、1stlevelはエンド・ユーザーの数に比例して設定し、2ndlevelは25などの小さい値に設定します。

  • 通常、比例値は5分の1です。ほとんどの環境で10分の1から2分の1までの割合が適切です。

デプロイメントでの必要に応じて、セキュリティ・イベント収集が有効になっている場合にのみorcloptracknumelemcontainersに値を設定します。

23.4.9 検索の最適化

この項には次のトピックが含まれます:

23.4.9.1 大きいグループ・エントリの検索の最適化

member属性とuniquemember属性のいずれかが数千の属性値を持つグループ・エントリの検索では、待機時間が長くなる可能性があります。待機時間が受け入れ難いほど長い場合は、これを減らせる方法があります。

最も簡単な方法は、検索する属性の数を減らすことです。グループ・エントリの属性をすべて取得する必要がないのであれば、待機時間を最適化するために検索リクエストに必須の属性を指定します。

23.4.9.1.1 エントリ・キャッシュを有効にした構成

必須の属性を指定してもまだ待機時間が長すぎる場合は、エントリ・キャッシュに大きいグループ・エントリをキャッシュします。これを行うには、インスタンス固有の構成エントリのorclEcacheMaxEntSize属性の値を増やします。

cn=componentname,cn=osdldapd,cn=subconfigsubentry

この属性は、キャッシュ・エントリの最大サイズを制御します。


注意:

大きいグループに対する更新が頻繁になることが予想される場合は、このチューニング方法を使用しないでください。エントリ・キャッシュを無効にした構成を使用します。


23.4.9.1.2 エントリ・キャッシュを無効にした構成

アクションは不要です。この構成はデフォルトで有効になっています。

23.4.9.2 スキュー属性の検索の最適化

典型的な検索要求を処理する場合、ディレクトリ・サーバーはSQL文をOracle Databaseに送信します。ある属性のレスポンス時間が属性の値によって大きく異なる場合、この属性はスキュー属性と呼ばれます。たとえば、my_attribute=value1my_attribute=value2の検索で、レスポンス時間が大きく異なる場合、my_attributeはスキュー属性と呼ばれます。

このような属性を、DSA構成エントリにあるorclskewedattribute属性の値として追加することにより、検索時のレスポンス時間を均一にできます。DSA構成エントリのDNは次のとおりです。

cn=dsaconfig,cn=configsets,cn=oracle internet directory

デフォルトでは、objectclass属性はorclskewedattribute属性内に値としてリストされます。

ldapmodifyを使用してorclskewedattributeの値を変更できます。『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のインスタンス固有の構成エントリの属性に関する項および『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のldapmodifyを使用したシステム構成属性の設定に関する項を参照してください。

23.4.9.3 複雑な検索フィルタのパフォーマンスの最適化

Oracle Internet Directoryはクライアント・アプリケーションからLDAP検索フィルタを受け取ると、フィルタをSQL問合せとしてOracle Databaseに送信します。クライアント・アプリケーションから送られたフィルタに、ディレクトリ内の多数のエントリと一致する条件が含まれている場合があります。たとえば、次のようなフィルタがあるとします。

(&(uid=msmith)(objectclass=inetorgperson)(orclisenabled=TRUE))

このフィルタの条件(objectclass=inetorgperson)および(orclisenabled=TRUE)は、ほとんどすべてのエントリと一致します。Oracle Databaseでのフィルタ全体の実行には非常に多くのリソースが必要になります。パフォーマンスを改善するために、Oracle Internet Directoryがデータベースではなく自身のメモリーでフィルタの一部を実行するよう指定できます。そのためには、次のDSA構成エントリの属性orclinmemfiltprocessを使用します。

cn=dsaconfig,cn=configsets,cn=oracle internet directory

orclinmemfiltprocessが構成されている場合、Oracle Internet DirectoryがLDAP検索を受け取るたびに、次のイベントが発生します。

  1. Oracle Internet Directoryは、SQL問合せを形成する前に、orclinmemfiltprocessに構成されているすべての条件を削除します。

  2. Oracle Internet Directoryは、SQL問合せをOracle Databaseに送信します。

  3. Oracle Databaseは、SQL問合せの結果のエントリをOracle Internet Directoryに送信します。

  4. Oracle Internet Directoryは、クライアントから送信された元のフィルタ(orclinmemfiltprocessの条件)をメモリー内のエントリに適用します。

  5. Oracle Internet Directoryは、そのフィルタと一致するエントリをクライアントに送信します。

たとえば、orclinmemfiltprocess(objectclass=inetorgperson)(orclisenabled=TRUE)に設定されているとします。Oracle Internet Directoryは、検索(&(uid=msmith)(objectclass=inetorgperson)(orclisenabled=TRUE))を受け取ると、パラメータ(uid=msmith)のみを含むフィルタをデータベースに送信します。データベースから返されたエントリを受信すると、Oracle Internet Directoryはフィルタ(objectclass=inetorgperson) (orclisenabled=TRUE)をこれらのエントリに適用します。

デフォルトでは、orclinmemfiltprocessは次の値に設定されています。

(objectclass=inetorgperson)

(objectclass=oblixorgperson)

(|(!(obuseraccountcontrol=*))(obuseraccountcontrol=activated))

(|(obuseraccountcontrol=activated)(!(obuseraccountcontrol=*)))

(objectclass=*)

(objectclass=oblixworkflowstepinstance)

(objectclass=oblixworkflowinstance)

(objectclass=orcljaznpermission)

(obapp=groupservcenter)(!(obdynamicparticipantsset=*))

(objectclass=orclfeduserinfo)

ldapmodifyを使用してorclinmemfiltprocessの値を変更できます。『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のインスタンス固有の構成エントリの属性に関する項および『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のldapmodifyを使用したシステム構成属性の設定に関する項を参照してください。

ある条件下では、Oracle Internet Directoryはorclinmemfiltprocessを無視してフィルタ全体をデータベースに送信します。これが実行されるのは、受信するフィルタが次の条件を満たしている場合です。

  • 1つのパラメータ、つまり1つの属性/値ペアのみで構成されていること。

  • orclinmemfiltprocessで指定されている条件以外のフィルタ条件がないこと

  • orclinmemfiltprocessで指定されている条件に適用されるOR条件があること

  • orclinmemfiltprocessで指定されている条件と同じ条件が異なる順序で含まれていること

次の各例でこれらの条件について説明します。次の例ではすべて、orclinmemfiltprocess(objectclass=inetorgperson)(employeetype=Contract)に設定されています。

例A

(&(manager=cn=john doe)(objectclass=inetorgperson) (employeetype=Contract))

Oracle Internet Directoryは、フィルタ(&(manager=cn=john doe))をデータベースに送信します。

例B

(&(uid=rmsmith)((objectclass=inetorgperson)(employeetype=Contract)))

Oracle Internet Directoryは、(&(uid=rmsmith))のみをデータベースに送信し、データベースから返されたエントリにフィルタ(&(objectclass=inetorgperson)(employeetype=Contract))を適用します。

例C

(|(uid=rmsmith)(objectclass=inetorgperson) (employeetype=Contract))

このフィルタでは、orclinmemfiltprocessと一致する条件がOR条件に含まれます。Oracle Internet Directoryは、このフィルタをそのままデータベースに送信します。

例D

(&(uid=rmsmith)(employeetype=Contract) (objectclass=inetorgperson))

このフィルタの条件の一部がorclinmemfiltprocessと一致しても、条件の順序が異なるため、Oracle Internet Directoryはフィルタ全体をデータベースに送信します。Oracle Internet Directoryがこのフィルタをデータベースに送信しないようにするには、orclinmemfiltprocess(employeetype=Contract)(objectclass=inetorgperson)を追加します。

例E

(|(&(uid=rmsmith)(sn=smith)(objectclass=inetorgperson)(employeetype=Contract))

このフィルタでは、orclinmemfiltprocessと一致する条件がOR条件に含まれます。Oracle Internet Directoryは、このフィルタをそのままデータベースに送信します。

例F

(&(|(uid=rmsmith)(sn=smith))(objectclass=inetorgperson)(employeetype=Contract)))

このフィルタにOR演算子が含まれていても、フィルタはorclinmemfiltprocessと一致する条件に適用されません。Oracle Internet Directoryは、(&(|(uid=rmsmith)(sn=smith)))をディレクトリに送信し、データベースから返されたエントリにフィルタ(&(manager=cn=john doe)(&(objectclass=inetorgperson) (employeetype=Contract))を適用します。

複数のフィルタの構成

アプリケーションが複数のフィルタを送信し、あるフィルタの条件が別のフィルタの条件のスーパーセットである場合は、両方の値に対してorclinmemfiltprocessを構成する必要があります。たとえば、アプリケーションが次の2つのフィルタを送信するとします。

(&(uid=rmsmith)(objectclass=inetorgperson)(employeetype=Contract))

(&(uid=rmsmith)(objectclass=inetorgperson)(employeetype=Contract)(departmentNumber=627))

(departmentNumber=627)は多くのエントリと一致します。orclinmemfiltprocessを次のように構成する必要があります。

(objectclass=inetorgperson)(employeetype=Contract)

(departmentNumber=627)

検索ベースDNのパフォーマンスの最適化

DITでは、cn=users,dc=acme,dc=comなどの1つのベースDNにすべてのユーザーが存在する場合、すべてのLDAP検索クライアントがcn=users,dc=acme,dc=comとしてベースを送信するので、orclinmemfilterの構成でデータベース処理時間が大幅に削減されます。次の例を参照してください。

orclinmemfiltprocess;dn: cn=users,dc=acme,dc=com

23.5 追加のチューニングを必要とする特殊なユースケース

この項では、第23.3項「チューニングに関する基本的な考慮事項」に加えて、さらにチューニングが必要になる特殊なユースケースについて説明します。

23.5.1 バルク・ロード操作

大規模なbulkload操作を予定している場合、次の変更を行います。

  • 十分なRAMが使用可能な場合は、データベース初期化パラメータpga_aggregate_targetを1から4GBに設定します。PGA使用率が増えるパターンがあれば、サイズを大きくすることを検討してください。

  • 多数のエントリをロードする前に、データベース一時表領域を大きくします。100万エントリのロードにつき、約1GBの一時表領域が必要になります。この一時表領域は、操作の完了後に解放できます。

23.5.2 バルク削除操作

大規模なbulkdelete操作を予定している場合、次のタスクを実行します。

  • データベース初期化パラメータsga_targetが、第23.3.1項「データベース・パラメータ」の説明に従ってチューニングされていることを確認します。

  • データベース初期化パラメータlog_bufferを10Mに設定します。こうすると、パフォーマンス上の利点が増します。

  • それぞれ少なくとも2GBのデータベースREDOログ・ファイルが少なくとも3つあることを確認します。

  • UNDO表領域の合計サイズが1GB以上であることを確認します。

  • 次の第23.5.3項「負荷の高いLDAP書込み操作」のREDOログおよびUNDO表領域に関する推奨事項に従います。

23.5.3 負荷の高いLDAP書込み操作

LDAP書込み操作の負荷が高い場合や、多くのbulkdelete操作を実行する場合は、次の値のチューニングを検討します。

  • データベースREDOログ・ファイルのサイズまたは数を、合計サイズが1000から1500MBになるよう増やします。他に考慮すべき要素によってREDOログの合計サイズは変わります。

  • ディスクの構成によっては、REDOログ・ファイルを専用のディスク・セットに置くほうが効果的な場合があります。

  • データ・ファイルをUNDO表領域に追加することで、この表領域を大きくします。ほとんどのデプロイメントでは、2から4GBで十分です。

  • Oracle Internet Directoryのサーバー・エントリ・キャッシュは使用しないでください。第23.4.6項「サーバー・エントリ・キャッシュ」を参照してください。

  • Oracle Internet DirectoryレプリケーションもDIPもデプロイされていない場合、変更ログの生成を無効にします。第23.4.1項「レプリケーションまたはOracle Directory Integration Platform」を参照してください。

表23-6は、この項で説明したREDOログおよびUNDO表領域に関する推奨事項をまとめたものです。

表23-6 REDOログおよびUNDO表領域の値

属性 注意

REDOログ

3ログ、各2GB

多数のbulkdelete操作および多数の書込み操作の処理に対して十分であること。

UNDO表領域

合計で1GB以上

多数のbulkdelete操作。

UNDO表領域

2から4GB

多数の書込み操作。


23.5.4 Sparc T4ハードウェアのチューニング

Sparc T4ハードウェアでは、OID_BIND_CPU=0環境変数を設定し、$ORACLE_HOME/bin/oiddispdが、setuidビットがONのルート・プロセスに所有されていることを確認します。

OIDDISPDはプロセッサ・セットを作成するため、orclserverprocs = NumberOfcores-1としてください。