Oracle Fusion Middleware Oracle Internet Directory管理者ガイド 11g リリース1(11.1.1) B55919-02 |
|
![]() 前 |
![]() 次 |
ガベージとは、ディレクトリで不要になっているが領域を使用しているデータを指します。結果として、このような不要なデータや古いデータでディスクが一杯になり、ディレクトリのパフォーマンスが低下します。ディレクトリからこの不要なデータを削除する処理を、ガベージ・コレクションと呼びます。
この章の項目は次のとおりです。
ガベージ・コレクタは、ディレクトリから不要なデータを削除する、バックグラウンドのデータベース・プロセスです。Oracle Internet Directoryガベージ・コレクション・フレームワークには、ガベージ・コレクタの標準セットがあり、このフレームワークにより、これらのコレクタを変更できます。Oracle Internet Directory統計情報コレクタでも、Oracle Internet Directoryガベージ・コレクション・フレームワークが使用されます。
この概要の項目は次のとおりです。
この項では、Oracle Internet Directoryガベージ・コレクション・フレームワークを構成するコンポーネントであるガベージ・コレクション・プラグインとバックグラウンドのデータベース・プロセスについて説明します。
Oracle Internet Directoryのガベージ・コレクションは、ガベージ・コレクタの管理リクエストを受け取るガベージ・コレクション・プラグインを使用します。このプラグインは、Oracle Internet Directoryとともにインストールされ、デフォルトで使用可能になります。このプラグインのエントリは、cn=plugin,cn=subconfigsubentry
です。
このプラグインには、3つのトリガーがあります。
ガベージ・コレクション・ジョブの作成に使用するプラグイン・トリガー。識別名は、cn=Add PurgeConfig,cn=plugin,cn=subconfigsubentry
です。
ガベージ・コレクション・ジョブの変更に使用するプラグイン・トリガー。識別名は、cn=Modify PurgeConfig,cn=plugin,cn=subconfigsubentry
です。
ガベージ・コレクション・ジョブの削除に使用するプラグイン・トリガー。識別名は、cn=Delete PurgeConfig,cn=plugin,cn=subconfigsubentry
です。
関連項目: ガベージ・コレクション・プラグインの属性とその説明は、Oracle Fusion Middleware Oracle Identity ManagementリファレンスのOracle Internet Directoryの構成スキーマ要素に関する説明を参照してください。 |
ガベージ・コレクション・プラグインによって起動されるバックグラウンドのデータベース・プロセスには、ガベージ・コレクタやOracle Internet Directory統計情報コレクタがあります。
Oracle Internet Directoryのデフォルトのインストールに含まれている事前定義済ガベージ・コレクタは、次のとおりです。
変更ログのガベージ・コレクタ: ディレクトリ内のコンシューム済変更ログ・エントリをクリーンアップします。このガベージ・コレクタのコンテナは、cn=changelog purgeconfig, cn=purgeconfig,cn=subconfigsubentry
です。
一般統計のガベージ・コレクタ: ディレクトリの一般統計情報を監視するためにOracle Internet Directoryサーバー管理機能により作成され、使用されなくなったエントリをクリーンアップします。このガベージ・コレクタのコンテナは、cn=general stats purgeconfig, cn=purgeconfig,cn=subconfigsubentry
です。
状況統計のガベージ・コレクタ: ディレクトリの状況統計情報を監視するためにOracle Internet Directoryサーバー管理機能により作成され、使用されなくなったエントリをクリーンアップします。このガベージ・コレクタのコンテナは、cn=health stats purgeconfig, cn=purgeconfig,cn=subconfigsubentry
です。
セキュリティおよびリフレッシュ・イベントのガベージ・コレクタ: ディレクトリのセキュリティおよびリフレッシュ・イベントを監視するためにOracle Internet Directoryサーバー管理機能により作成され、使用されなくなったエントリをクリーンアップします。このガベージ・コレクタのコンテナは、cn=secrefresh events purgeconfig, cn=purgeconfig,cn=subconfigsubentry
です。
システム・リソース・イベントのガベージ・コレクタ: ディレクトリのシステム・リソース・イベントを監視するためにOracle Internet Directoryサーバー管理機能によって作成され、使用されなくなったエントリをクリーンアップします。このガベージ・コレクタのコンテナは、cn=sysresource events purgeconfig, cn=purgeconfig,cn=subconfigsubentry
です。
ツームストンのガベージ・コレクタ: ディレクトリ内で削除済とマークされている、使用されなくなったエントリをクリーンアップします。このガベージ・コレクタのコンテナは、cn=tombstone purgeconfig, cn=purgeconfig,cn=subconfigsubentry
です。
LDAPパフォーマンス監視ガベージ・コレクタ: LDAPサーバー・パフォーマンス統計データをクリーンアップします。このガベージ・コレクタのコンテナは、cn=perf stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
です。
LDAPバインド・パフォーマンス監視ガベージ・コレクタ: セキュリティ・イベント追跡用に収集されたバインド・パフォーマンス・データをクリーンアップします。このガベージ・コレクタのコンテナは、cn=bindsec stats purgeconfig,cn=purgeconfig, cn=subconfigsubentry
です。
LDAP比較パフォーマンス監視ガベージ・コレクタ: セキュリティ・イベント追跡用に収集された比較パフォーマンス・データをクリーンアップします。このガベージ・コレクタのコンテナは、cn=comparesec stats purgeconfig, cn=purgeconfig,cn=subconfigsubentry
です。
LDAP比較失敗パフォーマンス監視ガベージ・コレクタ: セキュリティ・イベント追跡用に収集された比較失敗パフォーマンス・データをクリーンアップします。このガベージ・コレクタのコンテナは、cn=comparefailure stats purgeconfig,cn=purgeconfig,cn=subconfigsubentry
です。
関連項目:
|
注意: 事前定義済ガベージ・コレクタは削除しないことをお薦めします。これらのガベージ・コレクタを1つ以上削除すると、不要なデータが増加し、最終的には使用可能なすべてのディスク領域を使い果すことになります。ただし、動作をカスタマイズするために、事前定義済ガベージ・コレクタを変更してもかまいません。 |
図35-1に、変更ログ・エントリをパージするガベージ・コレクタの操作の例を示します。
図35-1の例に示すとおり、ガベージ・コレクション・プロセスは、次のように行われます。
LDAPクライアントが、特定のガベージ・コレクション操作リクエストをディレクトリ・サーバーに送信します。これらの操作には、ツームストンのエントリまたは変更ログのエントリのパージなどがあります。
ディレクトリ・サーバーが、リクエストをガベージ・コレクション・プラグインに渡します。
ガベージ・コレクション・プラグインが、Oracle Internet Directoryで指定されたデータベースのガベージ・コレクション・エンジンにリクエストを送信します。
ガベージ・コレクション・エンジンが、対応するバックグラウンド・データベース・プロセス(この場合は、変更ログのガベージ・コレクタ)をトリガーします。バックグラウンド・データベース・プロセスは、その構成で指定されているパラメータに従って動作します。
各ガベージ・コレクタ・エントリは、動作を指定する属性を持ち、エントリcn=subconfigsubentry
の直下にあるエントリcn=purgeconfig
に存在します。
関連項目: ガベージ・コレクタの各属性の詳細は、Oracle Fusion Middleware Oracle Identity ManagementリファレンスのOracle Internet Directoryの構成スキーマ要素に関する説明を参照してください。 |
Oracle Internet Directory統計情報コレクタ・エントリは、属性を持ち、エントリcn=subconfigsubentry
の直下にあるエントリcn=purgeconfig
にも存在します。
図35-2に、これらのエントリの場所を示します。
レプリケーションとOracle Directory Integration Platformはいずれも変更ログを使用して、サプライヤ・ディレクトリの情報をコンシューマ・ディレクトリに伝達します。変更ログはすべてods_chg_log
という表に格納されます。また、レプリケーション変更ログはasr_chg_log
に格納されます。変更ログのガベージ・コレクタが実行されると、どの変更ログ・コンシューマからも必要とされなくなった変更ログがパージされます。これで、Oracle Internet Directoryデータベースで変更ログ・ストアが大きくなりすぎるのを防ぐことができます。
変更ログのガベージ・コレクタでは、次の2つの方法でパージする変更ログを決定します。
変更番号ベースのパージでは、すべての変更ログ・コンシューマの変更ステータスが考慮されます。つまり、変更ログは、すべてのコンシューマによってコンシュームされてからパージされます。変更ログのガベージ・コレクタを実行すると、レプリケーション、Oracle Directory Integration Platformおよびその他のコンシューマによってコンシュームされたすべての変更ログがパージされます。
時間ベースのパージは、特定の時間が経過した変更ログのパージを目的としたフォールバック方法です。この方法では、すべての変更ログ・サブスクライバによってコンシュームされていないものであっても、古い変更ログが確実にパージされます。時間ベースのパージは、他のコンシューマの変更ステータスではなく、レプリケーションの変更ステータスに従います。変更ログのガベージ・コレクタは、レプリケーションで必要とされず、かつorclpurgetargetage
の時間以上が経過したすべての変更ログをパージします。orclpurgetargetage
がゼロの場合、変更ログのガベージ・コレクタはすぐにこの動作を実行します。orclpurgetargetage
が無効な数値である場合や、定義されていない場合のデフォルト値は、240時間(10日)です。レプリケーションで必要とされる変更ログは、レプリケーションでコンシュームされた後でパージされます。
Oracle Directory Integration Platformがデプロイされているときに時間ベースのパージを有効にする場合は、変更ログがOracle Directory Integration Platformによって処理されてからパージされるように、orclpurgetargetage
を十分に大きな値に設定してください。値を240にすると、10日が経過してから変更ログがパージされます。
「時間ベースの変更ログのパージの構成」を参照してください。
Oracle Internet Directoryガベージ・コレクション・ロジックが正しく動作するようにするには、Oracle Databaseのdbtimezone
パラメータを協定世界時(UTC)からの適切な置換値に設定する必要があります。次のようにします。
次のように、PL/SQLを起動します。
$ sqlplus /nolog SQL> connect / as sysdba
次のように、dbtimezone
の値を取得するための問合せを実行します。
SQL> select dbtimezone from dual;
次のように、協定世界時(UTC)からの置換値を取得するための問合せを実行します。
SQL> select systimestamp from dual;
出力は次のようになります。
SYSTIMESTAMP --------------------------------------- 31-JAN-09 01.04.42.281000 PM -05:00
systimestamp
出力の最終列を取得します。この例では、-05:00
です。
dbtimezone
パラメータがsystimestamp
出力の最終列の値と同じである場合、残りの手順を実行する必要はありません。それ以外の場合は、手順5
に進みます。
第8章「Oracle Internet Directoryインスタンスの管理」で説明しているように、Oracle Databaseを使用しているすべてのOracle Internet Directoryインスタンスを停止します。
次にように、systimestamp
問合せの最終列から取得した値を使用して、dbtimezone
パラメータを設定します。
SQL> ALTER DATABASE SET TIME_ZONE = '-05:00';
Oracle Databaseを停止します。
SQL> shutdown immediate
Oracle Databaseを再起動します。
SQL> startup
第8章「Oracle Internet Directoryインスタンスの管理」の説明に従って、Oracle Internet Directoryを再起動します。
関連項目: dbtimezone パラメータの詳細は、『Oracle OLAP DMLリファレンス』を参照してください。 |
この項の項目は次のとおりです。
ガベージ・コレクタを変更する手順は、次のとおりです。
「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。
タスク選択バーで、「拡張」を選択します。
左側のペインで「ガベージ・コレクション」を展開し、変更するガベージ・コレクタを選択します。右側のペインに「ガベージ・コレクタ」ウィンドウが表示されます。
ガベージ・コレクタ・ウィンドウで、このガベージ・コレクタに対する変更を入力します。
「適用」を選択します。
この項では、コマンドライン・ツールを使用してガベージ・コレクタを変更する方法の例を示します。変更できるガベージ・コレクション属性は、Oracle Fusion Middleware Oracle Identity ManagementリファレンスのOracle Internet Directoryの構成スキーマ要素に関する説明を参照してください。
削除済とマークされたエントリのガベージ・コレクタをすぐに実行するとします。LDIFファイルは次のようになります。
dn: cn=tombstone purgeconfig, cn=purge config, cn=subconfigsubentry changetype:modify replace: orclpurgenow orclpurgenow: 1
ldapmodifyを使用して、このエントリをロードします。
ldapmodify -D "cn=orcladmin" -q -h hostname -p port \ -D username -f file_name_of_defined_entry
変更ログのガベージ・コレクタを使用禁止にするとします。
dn: cn=changelog purgeconfig, cn=purgeconfig, cn=subconfigsubentry changetype: modify replace: orclpurgeenable orclpurgeenable: 0
ldapmodifyを使用して、このエントリをロードします。
ldapmodify -D "cn=orcladmin" -q -h hostname -p port \ -D username -f file_name_of_defined_entry
Oracle Internet Directory統計情報コレクタは、ガベージ・コレクタと同じ方法で変更しますが、変更可能なフィールドは3つのみです。
この項の項目は次のとおりです。
ガベージ・コレクタのロギングを有効にすると、ディレクトリ・サーバーは、ファイル・システム内のファイルに、情報を書き込みます。これには次の情報が含まれます。
ジョブ識別子
ガベージ・コレクタのジョブ説明
パージされたエントリ数
操作のステータス
タイムスタンプ
捕捉されたエラー
ガベージ・コレクション情報のロギングを有効にする手順は、次のとおりです。
orclpurgedebug
属性を必要に応じて1に設定します。orclpurgedebugを1に設定すると、さらに詳細なデバッグ情報が記録されます。こうしておくと、ガベージ・コレクションの問題のトラブルシューティングに役立ちます。
ログ・ファイルの有効なファイル名(oidgc001.log
など)を、orclpurgefilename
属性に設定します。
ログ・ファイルのあるディレクトリのパス名(/private/qzhou/oracle/ldap/log
など)を、orclpurgefileloc
属性に設定します。
手順3で指定したディレクトリへのPL/SQL I/Oアクセスを有効にします。これには、次の内容をデータベースに指定します。
UTL_FILE_DIR=PATH_NAME
PATH_NAME
は、手順3で指定したパスです。
関連項目: 『Oracle Databaseリファレンス』のUTL_FILE_DIRパラメータ・タイプに関する項 |
レプリケーション・サーバーを停止し、次にOracle Internet Directoryサーバーを停止します。
データベースを再起動します。
Oracle Internet Directoryサーバーを起動し、次にレプリケーション・サーバーを起動します。
ガベージ・コレクション情報のロギングを無効にするには、orclpurgedebug
属性を0
に設定します。
注意: orclpurgedebug が0に設定されている場合も、ガベージ・コレクタの処理を示すために、ガベージ・コレクタの操作に関する最小限の情報が記録されます。 |
ガベージ・コレクションのログの情報は、ガベージ・コレクションの監視とトラブルシューティングに役立ちます。このログの場所は、ロギングを有効にする際に属性を設定して指定します。たとえば、次のように構成したとします。
orclpurgefilename = oidgc001.log orclpurgefileloc = /private/qzhou/oracle/ldap/log
ロギングを有効にすると、/private/qzhou/oracle/ldap/log/oidgc001.log
ファイルを読み取ることによって変更ログのガベージ・コレクションの処理を監視できます。
次に、管理者が変更ログのガベージ・コレクション構成エントリのorclpurgenow
属性を変更した場合に記録される情報の例を示します。
Running Garbage Collector: cn=changelog purgeconfig Starting time: 2005/03/24 11:03:23 PurgeConfig object located, Eid= 936 purge_ODSChglog: Nothing to be purged(no_work_to_do) purge_ODSChglog: 107 chglogs successfully purged purge_ASRChglog: Nothing to be purged(no_work_to_do) purge_ASRChglog: 0 chglogs successfully purged purge_ASRChglog: 0 chglogs successfully purged Modifying Garbage Collector for at "2005/03/24 11:03:23 Garbage Collector DN recognized, rdn=cn=changelog purgeconfig orclPurgeNow successfully retrieved. Garbage Collector job found: jobno=21 Garbage Collector has been run Garbage collector is updated successfully!
orclpurgenow
の変更により、変更ログのガベージ・コレクタがすぐに実行されます。最初のパラグラフで示されているように、ods_chg_log
表から107個の変更ログがパージされ、asr_chg_log
表からは0個の変更ログがパージされています。また、2番目のパラグラフの情報は、orclpurgenow
属性が正常に変更されたことを示しています。
変更ログのパージについては、「変更ログのパージ」で説明されています。時間ベースのパージは、変更ログ・パージ構成エントリのorclpurgetargetage
属性を変更して構成します。次の例では、120時間(5日)の時間ベースのパージを構成しています。次のようなLDIFファイルを使用します。
dn: cn=changelog purgeconfig,cn=purgeconfig,cn=subconfigsubentry changetype:modify replace: orclpurgetargetage orclpurgetargetage: 120
LDIFファイルmod.ldif
を適用するには、次のように入力します。
ldapmodify -D "cn=orcladmin" -q -p port -h host -D dn -q -f mod.ldif
注意: 変更ログのガベージ・コレクタのコンテナは、次のとおりです。cn=changelog purgeconfig, cn=purgeconfig,cn=subconfigsubentry |
関連項目: Oracle Fusion Middleware Oracle Identity ManagementリファレンスのOracle Internet Directoryの構成スキーマ要素に関する説明 |