この付録では、Oracle Virtual Directoryの使用時に発生する可能性のある一般的な問題とその解決策、および問題の診断に関する情報について説明します。この付録の内容は次のとおりです。
この項では、一般的な問題と解決策について説明します。この項の内容は次のとおりです。
Internet Explorer 7を使用してアクセシビリティ・モードでOracle Directory Services Managerにアクセスするときにカーソルに問題がある
Oracle HTTP Serverを使用したOracle Directory Services Managerのフェイルオーバーが透過的でない
Oracle Directory Services ManagerがOracle Virtual Directory-Oracle RACデータベース構成に接続できなくなる
データベース・アダプタとともに構成されているOracle Virtual Directoryへの問合せ後にエラーが戻される
この項では、Oracle Directory Services Managerの起動におけるいくつかの一般的な問題の解決方法を説明します。
問題: Fusion Middleware ControlからOracle Directory Services Managerを起動できない
Oracle Internet Directoryターゲットの「Oracle Internet Directory」メニューから「Directory Services Manager」を選択し、「データ・ブラウザ」、「スキーマ」、「セキュリティ」または「拡張」を選択して、Oracle Enterprise Manager Fusion Middleware ControlからのOracle Directory Services Managerの起動を試みます。
ODSMは開きません。エラー・メッセージが表示される場合があります。
解決策
これはおそらくインストールの問題です。『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』を参照してください。
問題: WebブラウザからOracle Directory Services Managerを起動できない
Webブラウザを使用して、Oracle Directory Services Managerの起動を試行しますが失敗します。
解決策
Oracle Virtual Directoryサーバーが稼働していることを確認します。Oracle Directory Services ManagerからOracle Virtual Directoryサーバーに接続するには、Oracle Virtual Directoryサーバーが稼働している必要があります。
「サーバー」、「ポート」、「ユーザー名」および「パスワード」フィールドに、適切な資格証明を入力したことを確認します。ターゲットのOracle Virtual Directoryサーバーに対してldapbindコマンドを実行すると、サーバー、ユーザー名およびパスワードの資格証明を確認できます。
サポートされているブラウザを使用していることを確認します。Oracle Directory Services Managerでサポートされているブラウザの詳細は、Oracle Technology Network WebサイトのOracle Identity Management動作要件情報を参照してください。Oracle Technology NetworkのWebサイトには、次のURLでアクセスできます。
Oracle Directory Services ManagerのURLで、LDAPポートではなく、管理リスナーのポートを指定していることを確認します。
問題: 複数のNICおよびDHCPを有効化した環境でFusion Middleware ControlからOracle Directory Services Managerを起動できない
Oracle Directory Services ManagerがデプロイされているWebLogic管理対象サーバーで、複数のネットワーク・インタフェース・カードがあるか、またはDHCPが有効です。Oracle Enterprise Manager Fusion Middleware ControlからのOracle Directory Services Managerの起動が失敗し、404 errors
が返されます。
解決策
Oracle Directory Services ManagerのURL内のIPアドレスまたはホスト名にアクセスできるように、WebLogic Server管理コンソールを使用してWebLogic管理対象サーバーのリスニング・アドレスを変更します。
次のステップを実行します。
ブラウザを使用して、WebLogic Server管理コンソールにアクセスします。
WebLogic Server管理コンソールの左ペインで、「ロックして編集」をクリックしてサーバー構成を編集します。
WebLogic Server管理コンソールの左ペインで「環境」を開き、「サーバー」を選択します。
「サーバーのサマリー」ページで、Oracle Directory Services ManagerがデプロイされているWebLogic管理対象サーバーのリンクをクリックします。
WebLogic管理対象サーバーの「設定」ページで、「リスニング・アドレス」を、Oracle Directory Services Managerがデプロイされているサーバーのホスト名に更新します。
構成を保存するには、「保存」をクリックします。
「変更のアクティブ化」をクリックして、サーバー構成を更新します。
問題
Internet Explorer 7で、キーボードのみを使用してアクセシビリティ・モードでOracle Directory Services Managerにアクセスすると、カーソルが焦点を失います。この動作は、次のような状況で確認されています。
SSL有効モードでディレクトリにアクセスし、サーバー証明書が表示されている。
無効なパスワードを入力し、エラー・ダイアログが表示されている。
解決策
[Tab]キーを9回押した後、[Enter]キーを押します。
問題
Oracle HTTP Serverを使用してOracle Directory Services Managerのフェイルオーバーを実行すると、フェイルオーバーが透過的に行われません。次の手順を実行すると、この動作を確認できます。
Oracle Directory Services Managerが、Oracle HTTP Serverを使用して、高可用性アクティブ-アクティブ構成でデプロイされています。
Oracle HTTP Serverの名前およびポート番号を使用して、「Oracle Directory Services Manager」ページを表示します。
Oracle Virtual Directoryサーバーへの接続を確立します。
現在のOracle Directory Services Manager Oracle HTTP Serverのホストとポートを使用して、Oracle Virtual Directoryサーバーを使用します。
WebLogic Server管理コンソールを使用して、一度に1つの管理対象サーバーを停止します。
Oracle Directory Services Managerのページとポート、およびOracle Virtual Directoryに対して以前に確立された接続に戻ります。この操作を行うと、「Oracle Directory Services Manager」ページへの接続を再確立する必要があることを示すメッセージが表示されます。
解決策
この問題が発生した場合は、次の手順を実行します。
Webブラウザで、現在の「Oracle Directory Services Manager」ページを終了します。
新しいWebブラウザ・ページを起動し、同一のOracle Directory Services Manager Oracle HTTP Serverの名前とポートを指定します。
以前に操作していたOracle Virtual Directoryサーバーへの新しい接続を再確立します。
関連項目:
|
問題
Oracle Directory Services Managerでは、Oracle RACデータベースを使用しているOracle Virtual Directoryコンポーネントとの接続が一時的に切断されます。Oracle Directory Services Managerに、Failure accessing Oracle database (oracle errcode=
errcode
)
などのメッセージが表示されることがあります。この場合、errcode
は、3113
、3114
、1092
、28
、1041
、または1012
のいずれかです。
解決策
このエラーは、Oracle Virtual Directoryコンポーネントが使用しているOracleデータベースのフェイルオーバー中に発生することがあります。接続は1分以内に再確立され、ログインしなおさずに作業を継続することができます。
問題
Oracle Virtual DirectoryがLDAPアダプタとともに構成されており、プロキシ設定されたLDAPサーバーでエントリを確認できます。LDAPクライアントからOracle Virtual Directoryに問合せを行うと、LDAP err=1
という操作のエラー・メッセージが戻されます。
解決策
プロキシ設定されたLDAPサーバーが実行されていることを確認します。実行されていない場合は起動し、LDAPクライアントからOracle Virtual Directoryに再度問合せを行います。
問題
Oracle Virtual Directoryがデータベース・アダプタとともに構成されており、プロキシ設定されたデータベースでエントリを確認できます。LDAPクライアントからOracle Virtual Directoryに問合せを行うと、LDAP err=1
という操作のエラー・メッセージが戻されます。
解決策
プロキシ設定されたデータベースが実行されていることを確認します。実行されていない場合は起動し、LDAPクライアントからOracle Virtual Directoryに再度問合せを行います。操作のエラー・メッセージがまた戻される場合は、「Oracle Virtual Directoryサーバーへのライブラリのロード」で説明されているように、Oracle Virtual Directoryに各データベースの正しいドライバがロードされていることを確認します。
Oracle Virtual DirectoryへのOPMN pingは、ビジー・システムでは失敗することがあり、失敗するとOPMNによってOracle Virtual Directoryが再起動されます。この状況を回避するには、次の例に示すように
でping間隔を60秒以上に増やします。
$ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml
<process-type id="OVD" module-id="OVD">
<module-data>
<category id="start-options">
<data id="java-bin" value="$ORACLE_HOME/jdk/bin/java"/>
<data id="java-options" value="-server -Xms2056m -Xmx2056m -Dvde.soTimeoutBackend=0 -DdisableECID=1 -Didm.oracle.home=$ORACLE_HOME -Dcommon.components.home=$ORACLE_HOME/../oracle_common -Doracle.security.jps.config=$ORACLE_INSTANCE/config/JPS/jps-config-jse.xml"/>
<data id="java-classpath" value="$ORACLE_HOME/ovd/jlib/vde.jar$:$ORACLE_HOME/jdbc/lib/ojdbc6.jar"/>
</category>
</module-data>
<stop timeout="120"/>
<ping interval="60"
/>
</process-type>
この項では、Oracle Virtual Directoryの問題の診断方法について説明します。この項の内容は次のとおりです。
Oracle Directory Services Managerを介したOracle Virtual Directoryとの接続の問題
Fusion Middleware Controlメトリックを使用したOracle Virtual Directoryサーバーの監視
Oracle Virtual Directoryでエラーが発生した場合、次の手順を実行すると、エラーの発生原因に関するより詳しい情報を収集できます。
「Oracle Virtual Directoryのロギングの管理」を参照して、ログ・レベルをDEBUGに引き上げます。
エラーの発生元であるタスクまたはプロシージャを再度実行します。
DEBUGレベルを使用して生成されたログ情報を調査します。
Oracle Directory Services Managerを介したOracle Virtual Directoryとの接続で問題が発生する場合は、スーパーユーザー権限cn=orcladminを持っていることを確認してください。
Oracle Virtual Directoryのログ・ファイルに記録された例外の調査は、ターゲット・ディレクトリ、およびカスタム・プラグインやアダプタでのエラーの識別に役立ちます。たとえば、LDAP error=1
メッセージを受け取った場合は、診断ログを調査し、host not found
やout of memory
などのメッセージによってエラーの原因を見つけることができます。
診断ログには、次のディレクトリでアクセスできます。
$ORACLE_INSTANCE/diagnostics/logs/OVD/COMPONENT_NAME/
Dump Transactionsプラグインは、各LDAP操作の全トランザクションのレコードを生成し、そのレコードをOracle Virtual Directoryのコンソール・ログに記録します。Dump Transactionsプラグインは、任意のログ・レベルで実行するように構成できます。Dump Transactionsプラグインは、ロジックがOracle Virtual Directoryシステムを通過する際に、マッピングおよび統合作業を診断するのに特に便利です。Dump Transactionsプラグインを使用すると、サーバー・ログ・レベル全体をより詳細なレベルに設定せずに、特定のアダプタの問題を分析できます。Dump Transactionsプラグインは、Oracle Virtual Directoryのプロトコル・アナライザのようなものです。
クライアント・アプリケーションにおける問題をトラブルシューティングする場合、特に検索結果(属性やエントリの欠落など)を使用することで問題の原因を判別しようとしている場合は、操作において何が起きているのかを完全に把握することが重要です。
本番環境における問題のトラブルシューティングには、次の方法をお薦めします。
最初に、操作を再実行するためにOracle Virtual Directoryサーバー・インスタンス(DEBUGインスタンスと呼ばれる)を使用可能にしておくことが重要です。たとえば、DEBUGインスタンスが本番サーバー上で実行されている追加のインスタンスであり、サーバーが異なるポートまたはネットワーク構成上で稼動しているためにクライアント・アプリケーションからそれにアクセスできない場合があります。
Oracle Virtual Directory 11gでは、同じシステム上でOracle Virtual Directoryサーバーの複数のインスタンスを簡単に実行できます。管理者は、syncovdconfigツールを使用して、本番サーバー構成とDEBUGインスタンスの同期を保つ必要があります(「syncovdconfigを使用したOracle Virtual Directoryサーバー間での構成ファイルのコピー」を参照)。DEBUGインスタンスによって、管理者は本番サーバーのパフォーマンスを低下させることなく、どのような問題もすばやくデバッグできます。
次に、本番サーバー上のaccess.logを有効にします(「Oracle Virtual Directory固有のロギングの考慮事項」を参照)。問題が発生した場合は、access.logを使用してサーバー上でどの操作を実行中であるのかすばやく判断できます。
次の例は、検索の問題をトラブルシューティングする方法を示しています。このシナリオでは、アプリケーション管理者がユーザー・データの参照で特定の属性が欠落していると報告します。この問題は、次の方法でトラブルシューティングできます。
本番サーバー上で、access.logを確認して次の事項を判別します。
何を検索していたか
検索にはどのアプリケーションがバインドされていたか
使用された検索パラメータ(フィルタと有効範囲)は何か、および検索結果は何であったか
注意: 結果がない(たとえば検索のnentries= valueが0であり、かつerr=0である)場合、フィルタ自体が適切な形式になっていたか確認します。たとえば、管理者がuidに基づいてユーザーjsmithを検索しようとしていた場合は、フィルタがuid=jsmithになっており、かつuid=hsmithなどのタイプミスがないことを確認します。 |
DEBUGインスタンス上で、diagnostic.logトレース・レベルをTRACE:32 (完全なロギング)に設定し、すべてのアダプタにDump Transactionsプラグインを追加します。
検索を再実行します。
注意: ログインをアプリケーションとしてレプリケートする必要があるときは、場合によってはOracle Virtual Directoryサーバーを構成してこのアカウントが別のテスト・エントリ(ローカル・ストア・アダプタ・エントリに格納されているエントリなど)を使用するようにして、Oracle Virtual Directory管理者がアプリケーション・パスワードを知らなくても問題がないようにする必要があります。 |
検索を実行した後、DEBUG access.logを確認して、その結果がPRODUCTIONの結果と同じであることを確認します。diagnostic.logに格納されたデータとこの特定の検索をリンクさせるには、ECID値を使用します。
このデータは、Enterprise Managerのログ・マネージャを使用することでリンクできます。また、管理者がEnterprise Managerの外部でコマンドラインでログを読むことを希望する場合はgrepなどのツールを使用することでリンクできます。
問合せに対してECIDを使用すると、この特定の操作に対してOracle Virtual Directoryによって記録されたログ・データをすべて表示できます。このログ・データには次の内容が含まれています。
ルーティングの選択(操作に対してどのアダプタが選択されたかなど)
Oracle Virtual Directoryに送信されたデータおよびDump Transactionによって記録された結果
TRACE:32での実行からのACLの決定などの追加のデータ
たとえば、予期される属性のいくつかをアプリケーションが参照できないという一般的な問題は、ACLによって結果がブロックされることによって発生します。
Oracle Enterprise Manager Fusion Middleware ControlのOracle Virtual Directoryの「パフォーマンス・サマリー」ページでは、Oracle Virtual Directoryサーバーの様々なメトリックを時間ベースのコンテキストで表示できます。これらのメトリックを使用して、Oracle Virtual Directoryの監視と問題の診断を行うことができます。
注意: 「パフォーマンス・サマリー」ページに表示されるメトリックは、メトリック・パレットを使用してカスタマイズできます。メトリック・パレットの使用方法の詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。 |
「パフォーマンス・サマリー」ページでメトリックを表示する手順:
Oracle Enterprise Manager Fusion Middleware Controlにログインし、メトリックを表示するOracle Virtual Directoryターゲットにナビゲートします。
「Oracle Virtual Directory」メニューから「監視中」を選択し、「パフォーマンス・サマリー」を選択します。「パフォーマンス・サマリー」ページが表示されます。
表D-1に、「パフォーマンス・サマリー」ページで確認できるOracle Virtual Directoryサーバーのメトリックを示します。
表D-1 Fusion Middleware Controlの「パフォーマンス・サマリー」ページのODVのメトリック
メトリック | 説明 |
---|---|
CPU使用率(%) |
Oracle Virtual Directoryが使用しているCPUの割合を指定します。 |
その他のCPU使用率(%) |
Oracle Virtual Directory以外のコンポーネントが使用しているCPUの割合を指定します。 |
CPUアイドル時間(%) |
Oracle Virtual DirectoryホストのCPUのアイドル時間の割合を指定します。 |
メモリー使用量(MB) |
Oracle Virtual Directoryサーバーによって消費されたメモリー量(MB)を指定します。 |
メモリー使用率(%) |
Oracle Virtual Directoryサーバーによって消費されたメモリーの割合を指定します。 |
その他のメモリー使用量(MB) |
Oracle Virtual Directoryサーバー以外のコンポーネントによって消費されたメモリー量(MB)を指定します。 |
その他のメモリー使用率(%) |
Oracle Virtual Directoryサーバー以外のコンポーネントによって消費されたメモリーの割合を指定します。 |
空きメモリー(MB) |
Oracle Virtual Directoryサーバー・ホスト上の空きメモリー量(MB)を指定します。 |
空きメモリー(%) |
Oracle Virtual Directoryサーバー・ホスト上の空きメモリーの割合を指定します。 |
メモリー合計(MB) |
Oracle Virtual Directoryサーバー・ホスト上で利用可能なメモリーの合計(MB)を指定します。 |
ヒープ使用量(MB) |
Oracle Virtual DirectoryサーバーのJVMヒープ使用量(MB)を指定します。 |
稼働時間(ミリ秒/Epoch以降) |
Oracle Virtual Directoryサーバーが稼働している時間(ミリ秒)を指定します。 |
開始時間(ミリ秒/Epoch以降) |
Oracle Virtual Directoryの開始時間(Epoch以降、ミリ秒)を指定します。 |
稼働/停止ステータス |
Oracle Virtual Directoryが稼働中か、または停止中で使用不可能かを指定します。 |
合計操作数 |
最後のデータ収集以後に完了したすべてのLDAP操作の合計数を指定します。 |
オープン接続の合計数 |
Oracle Virtual Directoryサーバーへのオープン接続の合計数を指定します。 |
現在接続しているユーザーの合計数 |
Oracle Virtual Directoryサーバーに現在しているユーザーの合計数を指定します。 |
現在接続しているIPの合計数 |
Oracle Virtual Directoryサーバーに現在接続している個別のIPアドレスの合計数を指定します。 |
同時接続(ユーザー) |
特定のユーザーの現在のオープン接続数を指定します。 |
合計接続数(ユーザー) |
特定のユーザーによってオープンされた合計接続数を指定します。 |
同時接続(IP) |
特定のIPアドレスからの現在のオープン接続の合計数を指定します。 |
合計接続数(IP) |
特定のIPアドレスからの接続の合計数を指定します。 |
検索リクエスト完了までの最小時間 |
Oracle Virtual Directoryが最後に起動されてから、検索の完了に要した最小時間を指定します。 |
検索リクエスト完了までの最大時間 |
Oracle Virtual Directoryが最後に起動されてから、検索の完了に要した最大時間を指定します。 |
LDAP検索リクエスト完了までの平均時間 |
Oracle Virtual Directoryが最後に起動されてから、検索の完了に要した平均時間を指定します。 |
LDAP検索リクエスト数 |
最後のデータ収集以後のLDAP検索リクエスト数を指定します。 |
LDAP追加リクエスト数 |
最後のデータ収集以後のLDAP追加リクエスト数を指定します。 |
LDAPバインド・リクエスト数 |
最後のデータ収集以後のLDAPバインド・リクエスト数を指定します。 |
LDAP削除リクエスト数 |
最後のデータ収集以後のLDAP削除リクエスト数を指定します。 |
LDAP変更リクエスト数 |
最後のデータ収集以後のLDAP変更リクエスト数を指定します。 |
LDAP名変更リクエストの数 |
最後のデータ収集以後のLDAP名変更リクエスト数を指定します。 |
合計操作数 |
最後のデータ収集以後のすべてのLDAP操作の合計数を指定します。 |
有効(アダプタ) |
Oracle Virtual Directory Adapterが無効化または有効化されているかを指定します。 |
操作バージョン(アダプタ) |
Oracle Virtual Directoryアダプタの操作バージョンを指定します。 |
プロビジョニングされたバージョン(アダプタ) |
Oracle Virtual Directoryアダプタのプロビジョニングされたバージョンを指定します。 |
タイプ(アダプタ) |
アダプタのタイプを指定します。 |
名前が変更された操作の合計数(アダプタ) |
特定のアダプタによって名前が変更された操作の合計数を指定します。 |
バインド操作の合計数(アダプタ) |
特定のアダプタによって実行されたバインド操作の合計数を指定します。 |
再利用した接続の合計数(アダプタ) |
特定のアダプタによって再利用された接続の合計数を指定します。 |
処理された接続の合計数(アダプタ) |
特定のアダプタによって処理された接続の合計数を指定します。 |
検索リクエスト完了までの最小時間(アダプタ) |
Oracle Virtual Directoryが最後に起動されてから、特定のアダプタがLDAP検索リクエストの完了に要した最小時間を指定します。 |
検索リクエスト完了までの最大時間(アダプタ) |
Oracle Virtual Directoryが最後に起動されてから、特定のアダプタがLDAP検索リクエストの完了に要した最大時間を指定します。 |
検索リクエスト完了までの平均時間(アダプタ) |
Oracle Virtual Directoryが最後に起動されてから、特定のアダプタがLDAP検索リクエストの完了に要した平均時間を指定します。 |
操作数(アダプタ) |
特定のアダプタによって実行されたすべての操作の合計数を指定します。 |
追加操作(アダプタ) |
最後のデータ収集後に特定のアダプタによって実行された追加操作の合計数を指定します。 |
変更操作(アダプタ) |
最後のデータ収集後に特定のアダプタによって実行された変更操作の合計数を指定します。 |
検索操作(アダプタ) |
最後のデータ収集後に特定のアダプタによって実行された検索操作の合計数を指定します。 |
削除操作(アダプタ) |
最後のデータ収集後に特定のアダプタによって実行された削除操作の合計数を指定します。 |
オープン接続(アダプタ) |
最後のデータ収集以後の特定のアダプタによってオープンされた接続の合計数を指定します。 |
My Oracle Support(旧MetaLink(http://metalink.oracle.com
))には、その他の解決策も記載されています。問題の解決策が見つからない場合は、サービス・リクエストを記録してください。
関連項目:
|