ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Access Manager with Oracle Security Token Service管理者ガイド
11g リリース1 (11.1.1)
B62265-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

I トラブルシューティング

この章ではトラブルシューティングのヒントについて説明します。

OAM 11gのトラブルシューティングの概要

OAMはビジネス・クリティカルなシステムで、停止時間によりビジネスに高いコストが生じる可能性があります。システム分析の目標は、迅速な問題の切り分けおよび原因の修正です。これにはシステムの全体像と、使用中のシステムを監視し、コンポーネントをさらに大きな視野と関連付けるツールが必要です。

管理者による迅速な診断を支援するために、この項では次の項目を提供します。

システム分析と問題例について

システム分析には、製品の動作、失敗の可能性、起こりうる例、およびその影響または観測可能な問題の理解が含まれます。

システムの問題は次の基本的な2つのカテゴリに分類できます。

  • 連鎖的で致命的な障害

  • 漸進的なパフォーマンスの低下

連鎖的で致命的な障害は次のことが原因で発生する可能性があります。

  • LDAPサーバーがロードされて応答しない

  • 朝のピーク負荷の開始

  • WebgateがプライマリOAMサーバーにリクエストを送信

  • Webgateリクエストがタイムアウトで、WebgateがセカンダリOAMサーバーに再試行

漸進的パフォーマンスの低下は、次のように、時間の経過にともなって発生する可能性があります。

  • OAMのサイズが変更され、10,000ユーザーおよび500グループ用にロールアウトされた

  • 1年の間に、ユーザーおよびグループの数が大幅に増加(たとえば50,000ユーザーおよび250グループ)

もっとも一般的に発生する問題については、次の各項を参照してください。

LDAPサーバーまたはアイデンティティ・ストアの問題について

この項では、次の問題の症状、考えられる原因および診断手順を提供します。

症状: 動作が遅い

  • ユーザーの操作性の悪化

  • エージェントのタイムアウトによる再試行

原因

  • OAM以外の負荷がOAMの操作に影響を与える可能性がある

  • ピーク負荷の漸進的増加によるキャパシティの問題

症状: サービスがすべて失われる

原因

  • すべてのLDAPサーバーの停止

  • ロード・バランサの古い接続のタイムアウト

診断

  1. LDAPサーバーを停止します。

  2. ブラウザを再起動します。

  3. 保護されたサイトにアクセスしてみます。

  4. 第22章(または第26章)の説明に従い、OAMサーバー・ログ・ファイルでエラーを確認します。

  5. Oracle Access Managerコンソールにアクセスしてみます。

  6. WebLogic AdminServerログ・ファイルでエラーを確認します。

  7. LDAPサーバーを再度立ち上げます。

  8. 保護されたアプリケーションに再度アクセスしてみます。

  9. Oracle Access Managerコンソールに再度アクセスしてみます。

  10. 環境に応じた要件に基づき問題を修正します。

OAMサーバーまたはホストの問題について

この項では、次の問題の症状、考えられる原因および診断手順を提供します。

症状: キャパシティの問題

  • 動作の遅さによるユーザーの操作性の悪化

  • エージェントのタイムアウトと再試行は余分な負荷となる可能性がある

原因

  • CPUサイクル

  • メモリの問題

症状: ホスト上の他のサービスとの衝突

  • 動作の遅さによるユーザーの操作性の悪化

  • エージェントのタイムアウトと再試行は余分な負荷となる可能性がある

原因

  • CPUサイクルの競合

  • メモリの競合

  • ファイルシステムが満杯

診断: OAMサーバー

  1. OAMサーバーを停止します

  2. Webgateまたは保護されたリソースmod_ossoにアクセスしてみます

  3. OAMサーバーを立上げます

  4. アクセス・テスターを使用して、第14章の説明に従い認証および認可をテストします。

  5. アクセス・テスターを使用しながら、'top'を使用してOAMサーバーのCPUおよびメモリ消費を計算します

  6. OAMサーバーのスレッド・ダンプを取得します。

診断: OAM Adminサーバー

  1. OAM AdminServerを停止します

  2. ブラウザを再起動し、処理の必要がある保護されたリソースにアクセスします。

  3. 第10章の説明に従い、リモート登録を使用して新しいパートナを登録します(これは失敗するはずです)。

  4. OAM AdminServerを開始します。

エージェント側の構成およびロードの問題について

この項では、エージェントとサーバー間の時間の問題の症状、考えられる原因および診断手順を提供します。

症状: エージェントとサーバーでクロック時間が異なる

  • エージェントおよびサーバーの両方で高いCPU使用率

  • ユーザーにシステム停止が発生

原因

  • エージェントはサーバーが発行したトークンが無効だと判断

  • エージェントがトークンの再発行のためサーバーへ戻し続けている

診断

  1. 保護されたリソースにアクセスします。

  2. 確認: クライアント・アクセスがハングしています。

  3. 確認: エージェントおよびサーバーで高いCPU使用率。

実行時データベース(監査またはセッション・データ)の問題について

監査およびセッション機能はどちらも書込み集中型の処理です。ポリシー・データベースは読取り集中型のサービスに対してチューニングできます。

症状

  • 監査およびセッション処理が遅い

  • OAMサーバー上のファイルシステムが、まだデータベースに書き込まれていない監査データで満杯

  • クラスタ内のいずれかのサーバーの障害発生時にメモリ内セッションが消失

原因

  • データベースが書込み集中型の処理向けにチューニングされていない

  • データベースがメンテナンスにより使用できない

  • データベースの容量の問題

診断

  1. 監査およびセッション・データを格納するのに使用するデータベースを停止します。

  2. 保護されたリソースにアクセスしてみます。

  3. 第22章(または第26章)の説明に従い、OAMサーバー・ログ・ファイルでエラーおよび警告メッセージを確認します。

変更の伝播またはアクティブ化の問題について

この項では、次の問題の症状、考えられる原因および診断手順を提供します。

症状

  • ポリシーへの変更がすぐに有効にならない

  • システム構成への変更がすぐに有効にならない

原因

  • サーバーがランタイム・リクエストの処理でビジー状態(CPUの競合)

  • コヒーレンス・ネットワークが遅い

診断: 「ポリシー・ストア・データベースの問題について」を参照してください

ポリシー・ストア・データベースの問題について

この項では、ポリシー・データベースの問題の症状、考えられる原因および診断手順を提供します。

症状: ポリシーの変更が許可されず、実行時に影響を及ぼさない

原因

  • データベースが使用できない(メンテナンスによる停止)

  • データベースの容量の問題

診断

  1. OAMポリシーを含むデータベースを停止します。

  2. 保護されたリソースにアクセスし、実行時アクセスに影響が及んでいないことを確認します。

  3. Oracle Access Managerコンソールにアクセスしてポリシーを編集してから、AdminServerログ・ファイルでエラーを確認します。

Oracle Access Manager Consoleの状態が矛盾している

問題

複数の管理者が更新を同時に実行すると、Oracle Access Managerコンソールのシステム構成が一貫性のない状態になります。

原因

構成の同時更新はサポートされていません。

解決策

どのようなときでも、1人の管理者のみがシステム構成を変更できるようにする必要があります。

WebLogic Serverのインストール時に不正なJavaパスが指定されると管理サーバーが起動しない

WebLogic Server (wls1035_generic)インストールが、32ビットJava (jdk1.6.0_24)が搭載されたWindows 64ビットでは正常に行われます。setup.exeを実行するとき、インストール・シールドが正常に起動するように64ビットJava (jdk1.6.0_23)のパスを指定する必要があります。

32ビットのJava (jdk1.6.0_24)パスを指定すると、インストール・シールドは起動しません。ただし、config.cmdを\Middleware\Oracle_IDM1\common\binから実行すると、デフォルトでは32ビットJava (jdk1.6.0_24)パスが使用されます。しかしOracle Access Managerのインストールが正常に行われた後で、AdminServerを起動できません。

Windowsホストでは、32ビットのJAVA_HOME (c:\program files (x86)\java\jdkxxx)はstartWeblogic.cmdによって正しく処理されません。SUN_JAVA_HOMEを短い名前のパス(c:\progra~2\java\jdkxxxx)を使用するよう置き換えることをお薦めします。

Windowsの場合、"dir /X"を実行することにより、短い名前を表示できます。

また、短い名前を使用してWindowsのコマンド・シェル変数JAVA_HOMEをパスに設定し、この中でstartWeblogic.cmdを実行することもできます。次に例を示します。

>set JAVA_HOME=c:\progra~2\java\jdkXXX

>startweblogic.cmd

エージェント名が一意ではない

各エージェント登録を一意に識別する名前が推奨されます。ただし、次のことに注意してください。

アプリケーションURLの要件

URLで使用可能な文字数は、ブラウザのバージョンに基づいています。

Oracle Access Managerおよびブラウザが処理できる長さを超えたURLを、アプリケーションで使用しないようにしてください。

認証の問題

この項では次の情報を提供します。

匿名認証の問題

問題

チャレンジ・リダイレクトURLはNULLでもかまいませんが、チャレンジ・メソッドにNULLは使用できません。

匿名認証スキームを開いて編集し、チャレンジ・メソッドの値を追加せずに「適用」をクリックすると、次のエラーが表示されることがあります。

Messages for this page are listed below. 

* Challenge Method You must make at least one selection. 
 
* Challenge Redirect You must enter a value. 

解決策

匿名認証スキームを編集するときは必ずチャレンジ・メソッドとチャレンジ・リダイレクトの両方を含める必要があります。

X.509保護リソースおよびシングル・サインオフ

問題

シングル・サインオフが、X.509認証でリソースにアクセスした後で機能しないことがあります。ユーザーがログアウトURLでログアウトして、同じブラウザでリソースにアクセスしようとすると、認証が行われないことがあります。かわりに、ユーザーは証明書ポップアップを使用した認証を求められます。

これは、いずれのエージェント・タイプでも起こる可能性があります。

解決策

ログアウトURLを実行した後で、ブラウザで「SSL状態のクリア」を次のようにクリックしてから、X.509保護リソースにアクセスします。

ブラウザ・ウィンドウで、「ツール」メニューを開いて「インターネット オプション」をクリックし、「コンテンツ」、「SSL状態のクリア」の順に選択します。

認可の問題

問題: 制約エラー

IPv4範囲または一時的制約を作成または編集するたびに、エラーがoam-server診断ログ・ファイルに記録されます。

.... refreshPolicy specified but no response collector supplied 

原因

これは誤ってERRORレベルでログに記録されるメッセージです。メッセージの正しいレベルはINFOです。

認証LDAPまたはデータベースにアクセスできない

認証に使用されるLDAPディレクトリ(またはポリシー・ストアとして定義されているデータベース)が停止またはアクセスできない場合、高負荷またはタイムアウトが原因の可能性があります。このLDAPまたはポリシー・ストアを使用する保護されたリソースへアクセスしようとするとメッセージが表示されます。

解決策

  1. 登録されたLDAPまたはデータベースを手動で停止します。

  2. 登録されたLDAPまたはデータベースを再起動します。

構成が見つからない

...の構成が存在しない

OAMサーバーをWebLogicサーバー・ドメインに構成する前にOAMサーバーに構成詳細を作成および適用しようとすると、次のことを伝えるメッセージが表示されます。

Configuration does not exist for path
/DeployedComponent/Server/oamServer/Instance/test

For more information, please see the server's error log for
an entry beginning with: Server Exception during PPR, #6.

この問題を解決するには、OAM 11gで構成を登録する前にWebLogic ServerドメインにOAMサーバーを構成する必要があります。

部分トリガーが見つからない

管理サーバー出力で、部分トリガーが見つからないというエラーが表示されることがあり(「ポリシー構成」タブまたは「ホスト識別子」ノードをクリックしたときに選択したノードそれぞれに対して複数回)、そのためナビゲーション・ツリーの他のノードのいずれかをクリックします。

これは機能を妨げるものではありません。

サービス攻撃の拒否

サービス拒否攻撃(DoS攻撃)または分散型サービス拒否攻撃(DDoS攻撃)は、コンピュータのリソースを対象ユーザーが利用できないようにする試みです。よくある1つの攻撃方法では、標的となるマシンを外部からの通信要求で溢れさせてしまいます。これにより、攻撃を受けたマシンは正規のトラフィックに応答できなくなるか、あるいは応答が遅くなり、事実上利用不可能になってしまいます。

サービス拒否攻撃は認証済リクエストと非認証リクエストに分類され、さらに次のように分類されます。

認証済NAPリクエスト

認証済NAPリクエストの場合、OAMサーバーはセッション内でカウンタを使用して、再試行数を制限します。それでもユーザーはエラー・ページにリダイレクトされた後に、同じことを繰り返すことがあります。これによりサーバー・リソースが不必要に消費されて、OAMサーバーが過負荷状態になる可能性があります。


注意:

OAMサーバーが認証済NAPリクエストで過負荷になるのを防ぐため、関連するWebLogic過負荷構成設定を使用します。これにより、OAMサーバーは負荷でクラッシュしないようになります。しかし、これでは正当なユーザーが悪意のあるユーザーと区別されません。

認証済HTTPリクエスト

大量のHTTP認証済リクエストに対しては、WebLogic過負荷構成をmod_securityモジュール設定と組み合せることによって対処できます。

非認証NAPリクエスト

非認証NAPリクエストは、WebLogic MDBプール制限によって対処します。これにより、OAMサーバーに送られてくるNAPリクエスト数が制限されます。

繰り返しますが、これでは正当なユーザーが悪意のあるユーザーと区別されません。

非認証HTTPリクエスト

OAMサーバーのフロントエンドとなるOHSサーバーにmod_securityモジュールを構成することにより、悪意のあるリクエスト(非認証HTTPリクエスト)を拒否できます。

詳細は、次を参照してください。

OAMサーバーを負荷でクラッシュしないようにする

OAMサーバーに対するリクエスト数が処理可能な量を予想外に上回ると、OAMサーバーはクラッシュすることがあります。

OAMサーバーに対するリクエストの数を制限する手順

  1. WebLogicコンソールで、Message Driven Beanプールを使用してOAMサーバーに対するNAPリクエスト数を制限します。

    MDBeanはNAPリクエストをサーバー・キューから取り出して、サーバーへ処理のために送ります。MDBeanインスタンスの数を制限することにより、任意の時点に処理されるリクエスト数が制限されます。

  2. WebLogicコンソールで、(OAMサーバーに対するリクエスト数を制限するために)使用できるWebLogicワーカー・スレッドの数を構成します。

    MDBeanはNAPリクエストをサーバー・キューから取り出して、サーバーへ処理のために送ります。MDBeanインスタンスの数を制限することにより、任意の時点に処理されるリクエスト数が制限されます。

  3. WebLogicコンソールで、(OAMサーバーに対するリクエスト数を制限するために)使用できるWebLogicワーカー・スレッドの数を構成します。

    『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』のスレッド管理に関するトピックを参照してください。

  4. WebLogicコンソールで、『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』の次のトピックに従って、最大着信リクエスト・サイズ、完了メッセージ・タイムアウトを指定し、ファイル記述子の数を設定して、パフォーマンスを最適化します。

    • メッセージ・サイズのチューニング

    • 完了メッセージ・タイムアウトのチューニング

    • ファイル記述子数のチューニング

ネットワーク遅延に対する補償

WebgateがOAMサーバーに認証リクエストを送信する場合を考えます。資格証明が正常に収集および検証された後で、OAMサーバーはセッションおよび関連Cookie (OAM_ID、ObSSOCookie)を作成します。ところがネットワーク遅延のために、OAMサーバーがそれをWebgateへ送信し、それによりWebgateが認証リクエストをOAMサーバーへ再送信する時間により、レスポンスはタイムアウトしてしまいます。OAMサーバーはセッションを認識し、それからObSSOCookieを再作成して、レスポンスをエージェントへ送信します。ネットワーク遅延がまだ続いていると、このサイクルはサーバーとWebgateの間で無限に繰り返します。ユーザーは再度ログインするように求められことがなく、エラー・メッセージも表示されません。

OAMサーバーを大量のHTTPリクエストから守る

ModSecurityは、既存のApacheベースのWebサーバー・インフラストラクチャの一部分としてデプロイできるWebアプリケーション・ファイアウォール(WAF)です。このモジュールを、OAMサーバーのフロントエンドとなるOHSサーバーにプラグインできます。こうすると、Mod_securityモジュールがOAMサーバーをサービス拒否攻撃から守ります。

柔軟なルール・エンジンがModSecurityの中心になります。HTTPトランザクション・データと連携する特殊なプログラミング言語である、ModSecurityルール言語を実装しています。新しい構成ディレクティブはhttpd-guardianスクリプトを使用して、サービス拒否(DoS)攻撃を監視します。デフォルトでは、httpd-guardianは1分間で120個以上、または5分間で360個以上のリクエストを送信するクライアントから防御します。


関連項目:

http://www.modsecurity.org/documentation/modsecurity-apache/2.5.12/html-multipage/configuration-directives.html#N10689

大量のHTTPリクエストから防御する手順

  1. mod_securityモジュールを、OAMサーバーのフロントエンドとなるOHSサーバーに追加します。

  2. OHSサーバーの構成で、サービス拒否(DoS)攻撃を監視するhttpd-guardianスクリプトを使用するよう構成ディレクティブを設定します。

    構文:

    SecGuardianLog |/path/to/httpd-guardian
    

    次に例を示します。

    SecGuardianLog |/usr/local/apache/bin/httpd-guardian
    

新しくインストールしたOAM 10g Webgateでのデプロイメント

OAMサーバーの診断機能を使用してOAMサーバー側でデバッグします。この項には次のトピックが含まれます。

OAM 10g Webgateでの認証の問題

次の方法を使用して、OAM 11gデプロイメントにOAM 10g Webgateを新たにインストールしたときの認証の問題をトラブルシューティングします。

  • Internet Explorer HTTPヘッダーまたはFirefox Live HTTPヘッダーのようなhttpヘッダー・トレースを使用して、リクエストが保護されていたことを確認します。

  • リクエストが認証のためOAMサーバーに送信されることを確認します。

    • GET /oam/server/obrareq.cgi?…..

    • ホスト: oam-server:port

OAM 10g Webgateでのログアウトの問題

次の方法を使用して、OAM 11gデプロイメントにOAM 10g Webgateを新たにインストールしたときのログアウトの問題をトラブルシューティングします。

  • HTTPヘッダー・トレースを十分に使用します

  • 特定のlogout.htmlが10g Webgateのインストール・ディレクトリの/access/oamssoフォルダにコピーされたことを確認します。存在しない場合、「OAM 11gサーバーでの10g Webgateの集中ログアウトの構成」の説明に従い、logout.htmlを作成する必要があります。

  • OAM 10g Webgateのhttpd.confを変更して次の行を削除します。

    <LocationMatch "/oamsso/*">
    Satisfy any
    </LocationMatch>
    
  • Oracle Access Managerコンソールから、LogoutUrlsパラメータ(/oamsso/logout.html)がこのWebgate用に構成されていることを確認します

OAM 11gの初期化およびパフォーマンスの問題の診断

この項は、次の項目を含みます。

初期化の問題の診断

問題

OAMサーバーが起動しない。

解決策

  1. OAMサーバーをホストしているコンピュータ上のOAMサーバー・ログ・ファイルを探して確認します。

     DOMAIN_HOME/servers/SERVER-NAME/logs/SERVER-NAME-diagnostics.log
    
  2. 第22章「コンポーネント・イベント・メッセージのロギング」の説明に従い、このコンピュータのログを有効にします。

     DOMAIN_HOME/config/fmwconfig/servers/SERVER-NAME/logging.xml
    
  3. OAMサーバーを再起動し、動作を監視し、必要ならばログ・ファイルを再度確認します。

パフォーマンスの問題の診断

問題

OAMサーバーの監視により、認証中の待機時間の著しいスパイクが明らかになります。

解決策

  1. OAMサーバーをホストしているコンピュータ上のOAMサーバー・ログ・ファイルを探して確認します。

     DOMAIN_HOME/servers/SERVER-NAME/logs/SERVER-NAME-diagnostics.log
    
  2. 第22章「コンポーネント・イベント・メッセージのロギング」の説明に従い、このコンピュータのログを有効にします。

     DOMAIN_HOME/config/fmwconfig/servers/SERVER-NAME/logging.xml
    
  3. OAMサーバーを再起動し、動作を監視し、必要ならばログ・ファイルを再度確認します。

メモリー不足の問題のヒープ・ダンプを使用した診断

問題

解析および評価のすべての式のデバッグにより、メモリーの増加が原因で、重大なパフォーマンスの負荷が20時間以内に発生し、メモリー不足で50時間以内実行していました。

構成: 2GBヒープ、3分のセッション・タイムアウト、jdbc接続をmin=32 max=200に調整、jdbc接続アイドル・タイムアウト無効、jboプール・サイズmin = 10 & max=150

解決策

比較用のヒープ・ダンプを生成するには、次のコマンドライン・ツールjmap(Sun jvm用)、またはJAVA_HOME/binの下にあるjrcmd(jrockit jvm用)を使用します。

jrockit jvm用

jrcmd pid <command> 
/jrockit_160_14_R27.6.5-32/bin/jrcmd 16775 heap_diagnostics
/jrockit_160_14_R27.6.5-32/bin/jrcmd 16775 print_threads
/jrockit_160_14_R27.6.5-32/bin/jrcmd 16775 jrarecording ....

Sun jvm用

jmap -histo <pid> 
jmap -dump:live,format=b,file=heap.bin <pid>

IIS WebサーバーでのWindowsのチャレンジ/レスポンス認証の無効化

Windows上のIIS Webサーバーは、IISがインストールされたときのデフォルトであるチャレンジ/レスポンス認証をサポートします。これにより、ユーザーはIISからリソースをリクエストされ、Oracle Access Managerの認証と競合する可能性があるときにドメイン・ログインを使用できます。

たとえば、Internet Explorer(IE)ブラウザから、Oracle Access ManagerによりBasic認証スキームで保護されたIIS上のリソースへの最初のリクエスト時に、IEはドメインとOracle Access Managerにより提供されたユーザー名よびパスワード・ログインを要求するログイン・ダイアログ・ボックスを表示します。

Windowsのチャレンジ/レスポンス認証を無効にする手順

  1. IIS用のMicrosoft Management Consoleを起動します。

  2. 左側のパネルで「Internet Information Server」の下の「Web Server Host」を選択します。

  3. 右クリックして「Properties」を選択します

  4. スクロール・ダウンし、「Edit the Master Properties for WWW Service」を選択します。

  5. 「Directory Security」タブを選択します。

  6. 「Edit Anonymous Access and Authentication Control」を選択します。

  7. 使用しているプラットフォームに応じた手順を完了します。

    Windows 2000: 「Integrate Windows Authentication」チェック・ボックスの選択を解除します。

  8. 「OK」をクリックします。

  9. 「Windows IIS properties」画面で「OK」をクリックします。

  10. Microsoft Management Consoleを閉じます。

UserIdentityStore1タイプを変更すると管理者がロックアウトされる可能性がある

システム・ストアとして指定されているアイデンティティ・ストアを編集し、ストア・タイプを変更したり(たとえば、組込みLDAPからOIDへ)接続URLを変更しないようにする必要があります。

編集でのストア・タイプ変更を禁止するシステム・ストアとして指定されているアイデンティティ・ストアを変更する必要がある場合は、新規アイデンティティ・ストアを作成してから、この登録を編集してシステム・ストアとしてマークすることをお薦めします。

IIS Webサーバーの問題

次の各項目が役に立ちます。

フォーム認証またはパススルーが動作しない

フォーム認証またはパススルー機能が動作しない場合、問題はWebgateプロファイルの"UseWebGateExtForPassthrough"パラメータがtrueに設定されていないか、webgate.dllがIISのWild Card Application Mappingのように構成されていないかのいずれかである可能性があります。このような場合、Webgateはフォームベース認証により保護されたリソースに対するHTTP "POST"リクエストの認証または認可を実行しません。

解決策: WebgateプロファイルのUseWebGateExtForPassthroughパラメータを値trueで構成し、webgate.dllをWild Card Application Mappingのように構成します。

IISおよび一般Webコンポーネントのガイドライン

Oracle Access Manager WebgatesとIIS Webサーバーのインストール時の一般的なガイドラインを次に示します。

アカウント権限: Oracle Access Managerのインストールを実行するアカウントには管理者権限が必要です。OAMサービスを実行するのに使用するユーザー・アカウントには"サービスとしてログオンする"権限が必要で、これは管理ツール、ローカル・ポリシー、ローカル・ポリシー、ユーザー権限の割当て、サービスとしてログオンを選択して設定できます。

IIS 6 Webサーバー: WWWサービスをIIS 5.0分離モードで実行する必要があります。これはISAPIのpostgateフィルタにより必要です。Oracle Access Managerのインストール中に、これは通常自動的に設定されます。されなかった場合、デフォルトのWebサイトに手動で設定する必要があります。

IIS 7 Webサーバー用Webgate: フォームベース認証をパススルー機能を有効にしないで使用するには(たとえば、"access/oblix/apps/webgate/bin/webgate.dll"はフォームベース認証スキームのアクションです)、エントリ"<add segment="bin"/>"がapplicationHost.configファイルに存在しないようにします。エントリが存在する場合、削除する必要があります。このエントリを確認するには、次の手順を使用します。

  • Windows\System32\inetsrv\configに移動してファイルapplicationHost.configを開きます

  • <hiddenSegments>モジュールを検索し、もしあればエントリ<add segment="bin"/>を削除します。

Webgate: IIS Webgateのインストール時に、NTFSをサポートするファイル・システムにインストールする場合にのみ、IIS Webgateでは、/accessディレクトリに対する様々な権限の設定が必要です。たとえば、FAT32ファイル・システムを実行しているWindows 2000コンピュータで、簡易または証明書モードでISAPI Webgateをインストールすると仮定します。最後のインストール・パネルには、FAT32ファイル・システムに設定できない各種の許可を手動設定するための指示が表示されます。この場合、これらの指示を無視できます。

IIS v6 Webサーバーの問題

IIS 6 Webサーバーでのみ、WWWサービスをIIS 5.0分離モードで実行する必要があり、これはISAPI postgateフィルタの要件です。この例は、32ビットWindowsオペレーティング・システムで実行している32ビットのOracle Access Managerバイナリがある場合に動作します。しかし、IISが32ビット・モードで実行している64ビットWindowsマシンで32ビットpostgate.dllを実行しようとすると問題が発生します。

問題

IISがIIS5.0分離モードで実行している場合、次のメッセージが表示されます。

ISAPIフィルタ'C:\webgate\access\oblix\apps\webgate\bin\webgate.dll'は構成の問題が原因でロードできませんでした。

原因

現在の構成はAMD 64ビット・プロセッサ・アーキテクチャ用に作成されたイメージのロードのみをサポートします。データ・フィールドにはエラー番号が含まれます。

解決策

この問題の詳細は、この種類のプロセッサ・アーキテクチャの不一致のエラーのトラブルシューティング方法も含め、次のWebサイトを参照してください。

http://go.microsoft.com/fwlink/?LinkId=29349

詳細は、次のヘルプとサポート・センターを参照してください。

http://go.microsoft.com/fwlink/events.asp

問題

IIS5は64ビットとして存在することはありません。しかし、64ビットWindowsコンピュータ上でのIIS v6のIIS5互換モードだけは64ビットとして実行します。

原因

次のURLで参照できるドキュメントのとおり、64ビットWindowsでIIS5分離モード32ビットを実行することはアーキテクチャ上不可能です。

http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.pu
blic.inetserver.iis&tid=5dd07102-8896-40cc-86cb-809060fa9426&cat=en_US_
02ceb021-bb43-476d-8f8f-6c00a363ccf5&lang=en&cr=US&p=1
http://blogs.msdn.com/david.wang/archive/2005/12/14/HOWTO-Diagnose-one-cause-of-W3
SVC-failing-to-start-with-Win32-Error-193-on-64bit-Windows.aspx

ページが表示されないエラー

パススルー機能用にWebgateを構成した後に表示される、ページが表示できないというエラーは、構成の問題を示しています。

解決策: WebgateプロファイルのUseWebGateExtForPassthroughパラメータを値trueで構成し、webgate.dllをWild Card Application Mappingのように構成します。

IIS DLLの削除および再インストール

Oracle Access ManagerがMicrosoftのIIS Webサーバーで実行している場合、Oracle Access Managerを再インストールするときには次のISAPIフィルタを手動でアンインストールおよび再インストールする必要があります。

  • tranfilter.dll

  • oblixlock.dll(Webgateがインストール済の場合)

  • webgate.dll(Webgateがインストール済の場合)

IIS DLLを削除および再インストールする手順

  1. Oracle Access Managerをアンインストールします。

  2. 前述のDLLを手動でアンインストールします。

  3. Oracle Access Manager.Active Directoryを再インストールします。

  4. DLLを手動で再インストールします。


注意:

これらのフィルタは使用しているIISのバージョンにより異なる可能性があります。これらのフィルタが存在しないまたは別のものが存在する場合、存在するフィルタを削除する必要があるかどうかはOracleにお問い合せください。

jpsロガー・クラスのインスタンス化警告が認証時にログに記録される

jpsロガー・クラスのインスタンス化警告が認証時にバックエンドに表示されることがあります。しかしこれは無害な警告で対処する必要はありません。

言語と翻訳

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

自動生成された説明が翻訳されない

「ポリシー構成」タブの各コンポーネントの自動生成された「説明」は翻訳されません。これは異常ではなく、管理者が「説明」を必要にあわせて変更できるようにします。このような変更に従うため、Oracleによる翻訳が可能になっていません。

ロケール、言語、およびOracle Access Managerコンソール・ログイン・ページ

ブラウザのロケールがサポートされていない場合、Oracle Access Managerコンソールのログイン・ページはサーバー・ロケールで表示されます。つまり、元の英語で表示されます。これは正常な動作です。

  • クライアントのロケールがサポートされていない場合、Oracle Access Managerはサーバー・ロケールに戻ります。

  • サーバー・ロケールがサポートされていない場合、Oracle Access Managerは英語に戻ります。

ユーザーがサポートされない言語を選択して「Oracle Access Manager SSO」ページに進むと、サーバー・ロケールで表示されます(たとえばドイツ語)。しかし、ログイン後は、すべてのページが英語で表示されます。

英語に戻る手順

「Oracle Access Manager SSO」ページを無効にすると、元のOracle Access Managerログイン・ページも英語に戻ります。

コンソールがきれいに表示されない

リモート登録用に入力されたFusion Applications構成ファイルがUTF-8形式でない場合や、OAMサーバーがUTF-8ロケール(たとえばen_US.utf8)で起動していない場合、Oracle Access Managerコンソールでポリシーおよびリソースが正しく表示されません。

認証ポリシーおよび保護リソースを生成するためにリモート登録ツール用のFusion Applications構成ファイルoamregを作成する場合は、UTF-8エンコーディングを必ず使用してください。また、OAMサーバーをUTF-8ロケールのマシンで起動することも必要です。それ以外の場合、インバンド登録が成功した後にOracle Access Managerコンソールでポリシーとリソースがきれいに表示されない可能性があります。

保護されたページへのログインの失敗

問題

物理的なホストおよびポートを使用してOAMのインストールとページの保護後、OHS物理ホストおよびポートを使用してパートナ・アプリケーションを登録します。保護されているページにアクセスするときに、ログインはユーザーへの資格証明の要求に失敗します。ログ・ファイルに、すべての構成と登録が正しく設定されているにもかかわらず、そのURがは仮想ホストにリダイレクトされたことが示されます。

解決策

Oracle HTTP Server(OHS)物理ホストおよびポートを使用してページを保護する場合、httpd.confから仮想ホスト・ディレクティブを削除します。

OAMメトリック永続性タイマーIllegalStateException: SafeCluster

問題

WebLogic構成ウィザードを使用して2つのコンピュータに1つのOAMサーバー・クラスタを作成し、AdminServerを開始した後で、すべてのサーバーが適切に開始します。停止後、3つ目のサーバーをWebLogicサーバー管理コンソールを使用して追加し、新しい管理対象サーバーを作成してクラスタに追加します。3つ目のサーバーは開始すると実行モードになりますが、いくつかの例外が開始ログに記録されます。

... Exception in thread "OAM Metric Persistence Timer"

解決策

WebLogic管理コンソールでの操作に追加して、Oracle Access Managerコンソールを使用してサーバーを登録し、サーバーが自分自身を識別できるようにする必要があります。


注意:

同じコンピュータに対し2番目のサーバー・インスタンスを追加および登録する場合、すべてのポート番号は異なる必要があります。OAMプロキシ・ポート("ポート"はWebLogicサーバー・コンソールのものと一致する必要があります)とコヒーレンス・ポートです。

サーバー登録の詳細は、「個別のOAMサーバー登録の管理」を参照してください。

部分的なクラスタ障害および断続的なログインおよびログアウト障害

問題

Oracle Access Managerの部分的な停止(クラスタのいくつかのインスタンス、ただしすべてではない)が発生したときに、エンド・ユーザーに断続的なログインおよびログアウト障害が発生することがあります。

回避策

  1. デプロイメントからOHSを削除します

  2. 各OHSインスタンスがWebLogicサーバー・インスタンスに固定されるようにOHSクラスタを構成します。

  3. 正常に動作していないOracle Access ManagerアプリケーションのあるWebLogicサーバー・コンテナは、サービスから削除(停止)してリカバリ時に戻される必要があります。

登録の問題

問題: リモート登録ツールの障害

解決策

エージェント名が一意(まだ存在していない)でAdminServerが実行していることを確認します。

問題: ObAccessClient.xmlファイルが生成されない

解決策

保護されたパブリック・リソースは、'/index.html'の形式の相対URLとして記述される必要があります。リソースの最初が'/'でないと、ObAccessClient.xmlファイルは生成されません。保護されたパブリック・リソースURLを確認し、すべてが"/"で始まるようにしてください。詳細は、「リソースURLについて」を参照してください。

問題: パートナ登録の障害

パートナ登録は、一意のエージェント名を指定しないと失敗する場合があり、このエージェント名は、アプリケーション・ドメインを作成するためにも使用されます。エージェント名とアプリケーション・ドメイン名は同一であることと一意であることが必要です。エージェント名がアプリケーション・ドメイン名と一致しないと、oamreg検証コマンドの使用が失敗する場合があります。

解決策

エージェント名およびアプリケーション・ドメイン名は必ず同じにします。

Rowkeyに主キー属性がないエラー

「リソース・タイプ」タブの「リソース」表の参照中に、次のエラー・メッセージがログに記録されます。

@ <Error> 
<oracle.adfinternal.view.faces.model.binding.CurrencyRowKeySet> 
@ <BEA-000000> <ADFv: Rowkey does not have any primary key attributes. Rowkey:
oracle.jbo.Key[], table: model.ResTypeVOImpl@620289.> 

これは無害で機能を妨げるものではありません。

SELinuxの問題

Oracle Enterprise Linuxに同梱されているSELinux変更は、Linuxカーネル内でLinux Security Modules(LSM)の使用を介して様々なポリシーを提供します。

SELinuxには、Oracle Access Manager Webgateのインストール後、関連するWebサーバーの開始前に、追加の手順の実行が必要です。

問題

より厳密なSELinuxポリシーが存在するLinux配布上のWebサーバーを開始するときに(Oracle Access Manager Webgateのインストール後)、次のエラーがログ/コンソールに記録されることがあります。

OAM 11g Webgate

$Webgate_OH/webgate/ohs/lib/webgate.so: cannot restore segment prot after reloc: 
Permission denied. 

OAM 10g Webgate

$Webgate_install_dir/access/oblix/apps/webgate/bin/webgate.so: cannot restore segment prot after reloc: 
Permission denied. 

原因

これらのエラーはファイルのセキュアLinuxセキュリティ・コンテキスト・ポリシーにより報告されます。

解決策

これらのエラーを防ぎ、Webサーバーを開始するには、次のchconコマンドを実行し、各Oracle Access Manager Webコンポーネントのインストール後、関連するWebサーバーの再起動前に、ファイルのセキュリティ・コンテキストを変更します。chconコマンドの詳細は、ご使用のLinuxのドキュメントを参照してください。

  1. chcon -t texrel_shlib_t PATH_TO_LIBWEBPLUGINS.SOを実行します。次に例を示します。

    chcon -t texrel_shlib_t  /Webgate_install_dir/access/oblix/lib/webgate.so 
    ... and libxmlengine.so
    
  2. chcon -t texrel_shlib_t PATH_TO_LIBWEBGATE.SOを実行します。次に例を示します。

    chcon -t texrel_shlib_t  /Webgate_install_dir/access/oblix/apps/webgate/
    bin/webgate.so 
    

セッションの問題

この項の内容は次のとおりです。

セッション偽装がデフォルトでは有効になっていない

セッション偽装はデフォルトでは有効になっていません。oam-config.xmlの値を更新し、oam-config.xmlのバージョンを更新してImpersonationConfigステータスをすべての管理対象サーバーへ、再起動することなく伝播できます。

セッション偽装を有効にする手順

  1. DOMAIN_HOME/config/fmwconfig/oam-config.xmlをバックアップします。

  2. ImpersonationConfigtrueに設定します。

    <Setting Name="ImpersonationConfig" Type="htf:map">
         <Setting Name="EnableImpersonation" Type="xsd:boolean">false</Setting> 
    </Setting>      
    
  3. 構成バージョン: 次に示すように、Version xsd:integerをこの例の最終行の値まで増分します(既存の値(ここでは25) + 1)。

    次に例を示します。

    <Setting Name="Version" Type="xsd:integer">
      <Setting xmlns="http://www.w3.org/2001/XMLSchema"
        Name="NGAMConfiguration" Type="htf:map:> 
      <Setting Name="ProductRelease" Type="xsd:string">11.1.1.3</Setting>
        <Setting Name="Version" Type="xsd:integer">25</Setting>
    </Setting>      
    
  4. oam-config.xmlを保存します。

Oracle Identity Federationと統合されたOracle Access Managerとのセッション

Oracle Access Manager 11gがOracle Identity Federationと統合されている場合にOracle Access Managerセッション管理機能を使用してセッションをクリアすると、Oracle Access Managerセッションのみがクリアされます(Oracle Identity Federationセッションはクリアされません)。

SSLとオープンな通信の比較

管理対象サーバーのSSLおよびオープン・ポートの両方が有効な場合、管理対象サーバーはデフォルトでSSLポートに設定されます。

SSL以外のポートを使用する必要がある場合、認証スキームの資格証明コレクタのURLは、プロトコルとして'http'およびSSL以外のポートを指す絶対URLに設定する必要があります。

起動の問題

問題: AIXプラットフォームでのAdminServer起動(またはリモート登録ツールの障害)

AdminServerの起動が、次のメッセージを表示して失敗します。

"java.net.SocketException: 
No buffer space available".

オペレーティング・システムに設定されたAIXファイル記述子数の構成がかなり高い(ulimit)ためにバッファ・オーバーフローとなり、リモート登録が次のメッセージで失敗します。

ulimit値はアプリケーションに依存しており、アプリケーション・プログラム・データおよびアプリケーション・スタックに排他的に適用されます。オープン・ファイルのデフォルト数設定(2000)は、通常はほとんどのアプリケーションで十分です。この値が低すぎると、ファイルを開く際や接続を確立する際にエラーが発生します。この値はサーバー・プロセスが開けるファイル記述子数を制限するため、値が低すぎると最適なパフォーマンスが損なわれます。AIXオペレーティング・システムでは、デフォルト設定は2000です。

解決策

ulimitファイル記述子限度を大きくすると、パフォーマンスが向上する場合があります。アプリケーションによっては、他の限度を大きくすることが必要になる場合もあります。

  1. rootユーザーでログインします。

  2. オープン・ファイル限度を10,000ファイルに変更するには、次の手順を実行します。

    1. コマンド・ウィンドウを開きます。

    2. /etc/security/limitsファイルを探して、AdminServerプロセスを実行するユーザー・アカウントに次の行を追加して編集します。

      nofiles =  10000   
      nofiles_hard = 10000
      
    3. ファイルを保存してAIXを再起動します。

  3. コマンド・ウィンドウでTCP_TIMEWAIT間隔を、次のコマンドで状態を15秒に設定して減らします(これによりTCPはクローズした接続を速く解放でき、オープン接続が使用できるリソース数が増えます)。

    /usr/sbin/no –o tcp_timewait =1
    
  4. 次のパラメータを、次に示すように256kにチューニングします。

    no -a |grep space   
          tcp_recvspace = 262144   
          tcp_sendspace = 262144   
          udp_recvspace = 262144  
          udp_sendspace = 262144
    
  5. 次のパラメータを、次に示すようにチューニングします。

    no -o rfc1323=1  
    no -o sb_max=4194304
    

問題: OAMサーバーとの接続を確立できませんでした。サーバーとの接続で例外が発生しました。接続が拒否されました。

原因:

IAMSuiteAgentエージェントはOAMサーバーの前に開始しているため、これはOAMサーバーが実行している管理対象サーバーの正常な予想される動作です。

IAMSuiteAgentはすべてのWebLogicコンテナにデプロイされます。WebLogicコンテナが開始されると、エージェントはOAMサーバーに接続しようとします。接続が失敗すると、このメッセージがログに記録され、エージェントは後続のリクエストで接続を確立しようとします。エージェントが接続に成功すると、このメッセージは表示されなくなります。

解決策

OAMサーバーへの接続が正常に行われないと、構成されている場合は、IAMSuiteAgentはフォールバックし、WebLogicコンテナは保護を処理(ログインを含む)します。

OAMサーバー・クロックの同期化

セッションの状態は依存側にとっての真のソースです。様々なサーバーのシステム・クロックは同期が必要です。

依存側のシステム・クロックは、SMEクロックの同期の範囲外であることがあります。依存側のクロックが次の場合:

たとえば、Webサーバー・クロックがサーバー・クロックよりも進んでいる場合、WebgateからOAMサーバーに送信されるリクエストには、OAMサーバーではまだ発生していない時間が含まれます。これによりログイン・イベントが失敗することがあります。簡易または証明書モードで実行している場合、タイムスタンプは同期の範囲外となるか、またはクライアント証明書が無効のように見えることがあります。


注意:

イベント通知の問題を防止するには、すべてのOAMサーバーのクロックをNISTインターネット・タイム・サービスのようなタイム・サービスに同期させるようにします。

正常な処理のために次のことを行います。

Coherenceの使用

Oracle Access Manager 11gはOracle Coherenceを使用して、分散インストール内でセッション状態を複製します。Coherenceを使用して、Oracle Access ManagerコンソールとOAMサーバーの間の状態変更を通信します。

次の2つの分散デプロイメント・トポロジを考えます。クラスタ検出およびハートビートについて、Coherenceはユーザー・データグラム・プロトコル(UDP)に基づきます。OAM 11gの特定のコンポーネント間にファイアウォールが存在する場合、Coherenceによって使用される対応したUDPポートが開いている必要があります。そうでない場合、OAM 11gが正しく機能しない可能性があります。

たとえば、Coherenceが使用するUDPポートは次のようにオープンしている必要があります。

Oracle Access Manager 11gはOracle Coherenceを使用して分散キャッシュのデータ・アクセス待機時間を短縮し、分散キャッシュ間で(およびセッション・ストアへ)データを透過的に移動します。セッション・データは、これらの層の間で冗長性を有しています。たとえば、セッションが作成されると、そのセッションを作成したサーバー上のローカル・キャッシュ内、分散キャッシュ、および(有効になっている場合は)セッション・ストア・データベース上にも同じものが複製されます。詳細は、「Oracle Coherenceとセッション管理」を参照してください。


警告:

Oracleサポートからの要求がない限り、Oracle Coherence設定を変更しないことをお薦めします。


表示しているのが個別のサーバー・インスタンスのOracle Coherence設定、またはすべてのOAMサーバーに共通のOracle Coherence詳細のいずれであっても、Oracleサポートからの要求がない限り、Oracle Coherence設定を変更しないことをお薦めします。

Oracle CoherenceのログはWebLogicサーバー・ログにのみ表示されます。Oracle CoherenceのログからOracle Access Managerのログへの橋渡しはありません。


関連項目:

Oracle Coherenceのドキュメント。

エラーの検証

問題: リソースが認証または認可ポリシーに追加されない

認証または認可ポリシーの作成中に、別の認証または認可ポリシーで使用したことのあるリソースを追加する場合、「適用」をクリックするときに検証エラーが表示されます。これは予想通りです。

エラー・ウィンドウで「OK」をクリックすると、別の認証または認可ポリシーで使用されていない有効なリソースを追加することを求められ、そのリソースは追加されず、認可または認証ポリシーは作成されません。

解決策

  1. 「適用」をクリックして、「認証ポリシー」または「認可ポリシー」ページを閉じます。

  2. ナビゲーション・ツリーでポリシー名を再度クリックし、「編集」をクリックしてページを開き、新しいリソースを追加します。

問題: 検証に失敗 - "description"属性が無効

200文字を超えるオプションの説明を入力すると検証エラーが表示されます。

解決策

オプションの説明の長さは200文字、10行以内にします。

Webサーバーの問題

Webサーバーで次の問題が発生することがあります。

Apache Webサーバー上のサーバー障害

症状: Apache Webサーバーを実行中に、OAMサーバーが次のメッセージを表示して失敗します。

libthread panic: cannot create new lwp
(PID: 9035 LWP 2). stackrace:
ff3424cc
0

この症状は、Apache Webサーバーが多くの自分自身のインスタンスを起動することにより発生することがあります。1つまたは複数のWebgateおよびOAMサーバー間の接続数をサービスするにはもっと多くのインスタンスが必要だとサーバーが判断したときに、これが発生することがあります。

追加のインスタンスはさらに多くの接続を作成し、OAMサーバーによる接続数を超過します。

解決策: MinSpareServersMaxSpareServersStartServersおよびMaxClientsパラメータの数を減らします。

OAMサーバーの構成ディレクトリに移動し、http.d構成ファイルを開きます。

推奨するパラメータ設定は次のとおりです。

  • MinSpareServers 1

  • MaxSpareServers 5

  • StartServers 3

  • MaxClients 5

HP-UX上のApache v2

HP-UX上でApache v2を実行している場合、共有メモリーが動作できないため、「ユーザー」または「グループ」にnobodyは使用できません。その代わりに、「ユーザー名」にログイン名を、HP-UX上の「グループ名」に使用しているグループを使用します(Solarisでは"www"は"nobody"と同等です)。

HPUX 11.11上でApache v2を実行している場合、Apache httpd.confファイルのAcceptMutexディレクティブがfcntlに設定されていることを確認します。ディレクティブが存在しない場合、httpd.confファイルに追加します(AcceptMutex fcntl)。詳細は、次を参照してください。

http://issues.apache.org/bugzilla/show_bug.cgi?id=22484

Red Hat Enterprise Linux 4にバンドルされたApache v2

ベンダー・バンドルApacheにWebgateをインストールした後、Webサーバーの開始時に次のエラーが発生することがあります。

Error: Cannot load libgcc_s.so.1 library - Permission denied. 

解決策: 「Oracle Access Manager Webgate用のApache/IHS v2のチューニング」の説明に従い、Oracle Access Manager Webgate用のSecurity-Enhanced Linux (SELinux)ポリシー・ルールを変更します。

Security-Enhanced LinuxにバンドルされたApache v2

Oracle Access Manager Webコンポーネントのインストール後、より厳密なSELinuxポリシーが存在するLinux配布上のWebサーバーを開始するときに、エラーがWebServerのログ/コンソールに記録されることがあります。Webサーバーを再起動する前に、インストールされたWebコンポーネント用の適切なchconコマンドを実行することにより、これらのエラーを防止できます。


関連項目:

「SELinuxの問題」

Webgateのmpm_worker_moduleを使用したUNIX上のApache v2

次の項目は、UNIX上でWebgate用のApache v2をmpm_worker_moduleを使用してコンパイルする場合にのみ必要です。この場合、UNIX環境用にApacheソースからthread.cファイルを変更する必要があります。この変更を行うことで、Webgateのデフォルトのpthreadスタック・サイズによりマルチスレッド・サーバーの実装中に最適なパフォーマンスが得られるようになります。この変更が行われないと、デフォルトのpthreadスタック・サイズはWebgateに対して十分ではなく、クラッシュしてしまうことがあります。

Apache 2.0はThreadStackSizeオプションをサポートしません。そのため、

  • UNIXベースのApache v2.1およびそれ以降では、クライアント接続を処理し、それらの接続の処理を手助けするモジュールを呼び出すスレッドのスタック・サイズ(autodata用)を、ThreadStackSizeディレクティブを使用して設定する必要があります。

  • UNIXベースのApache 2では、mpm_worker_moduleの追加およびthread.cファイルの変更の間に互換ソースを使用してスタック・オーバーフローを防止することが最適です。

次の手順は、Apache v2.0のthread.cファイルを変更して、マルチスレッド・サーバーの実装中に最適なパフォーマンスを得るためにWebgateに必要なデフォルトのpthreadスタックサイズを指定する方法を示します。Apache v2.1とThreadStackSizeディレクティブの詳細は、http://httpd.apache.org/docs/2.2/mod/mpm_common.html#threadstacksizeを参照してください。


注意:

次の手順はApache 2.0 Webgateでのみ実行されます。それ以外の場合、デフォルトのpthreadスタック・サイズではWebgateに対して十分ではなく、クラッシュしてしまうことがあります。

UNIX環境でWebgate用のApache v2.0 thread.cファイルを変更する手順

  1. thread.cファイルを探します。次に例を示します。

    APACHE 2.0.52 source/srclib/apr/threadproc/unix/thread.c
    
  2. 次のコード・セグメントでapr_threadattr_createという名前の関数(apr_threadattr_t **new、apr_pool_t *pool)を探します。

    **new,apr_pool_t *pool) in the following code segment:
    1-----> apr_status_t stat; 
    2 
    3-----> (*new) = (apr_threadattr_t *)apr_pcalloc(pool, sizeof(apr_threadattr_t)); 
    4-----> (*new)->attr = (pthread_attr_t *)apr_pcalloc(pool, sizeof(pthread_attr_t)); 
    5 
    6-----> if ((*new) == NULL || (*new)->attr == NULL) { 
    7----->              return APR_ENOMEM; 
    8-----> } 
    9 
    10----->(*new)->pool = pool; 
    11----->stat = pthread_attr_init((*new)->attr); 
    12 
    13-----> if (stat == 0) { 
    14----->            return APR_SUCCESS; 
    15-----> } 
    16----->#ifdef PTHREAD_SETS_ERRNO 
    17----->stat = errno; 
    18----->#endif 
    19 
    20----->return stat; 
    21 
    
  3. 次のコードを13行目よりも前に追加します。

    int stacksize = 1 << 20; 
    pthread_attr_setstacksize(&(*new)->attr, stacksize);
    
  4. configure、make、make installを実行して、mpm_worker_moduleを使用するApache Webサーバーを設定します。

Domino Webサーバーの問題

認証イベントの失敗: Domino Webサーバーの場合、Oracle Access Managerを介したURLのりダイレクトは、認証タイプがBasic Over LDAPに設定され、リダイレクトされるURLが次のいずれかで示されていると、動作しないことがあります。

同じWebサーバー上に存在する相対パス
または、ホスト識別子文字列の組合せで定義されたコンピュータ名を含む、同じWebサーバー上のフルパス

認証の失敗イベントを解決するには、ホスト識別子グループの下で定義されていないコンピュータ名を使用してリダイレクトされるURLを設定する必要があります。たとえば、コンピュータのIPアドレスです。

この問題はフォームベースの認証タイプでは発生しません。

ヘッダー変数: クライアント証明書認証スキームを使用しているときに、REMOTE_USER以外のヘッダー変数を、Lotus Notes Domino WebサーバーにインストールされたWebgateに渡すことができない場合があります。

たとえば、ヘッダー変数はクライアント証明書認証を発生させるリクエストには設定できません。しかし、その他のすべてのリクエストにはヘッダー変数を設定できます。

詳細は、第31章「10g Webgate用Lotus Domino Webサーバーの構成」を参照してください。

エラー、アクセスの消失および予期しない動作

症状: Webサーバー・インスタンスの作成に使用したものと違うユーザーIDを使用してUNIXにOracle Access Managerをインストールすると、Oracle Access Managerが不安定になることがあります。次のような動作が発生する可能性があります。

  • ランダムなバグ・レポート・ページ

  • ログ・ファイルへの書込み失敗エラー

  • Webページへのアクセスの消失

解決策: chownコマンドを使用してファイルの権限を変更します。Oracle Access Managerディレクトリを、Webサーバー・インスタンスを作成するのに使用したのと同じユーザーIDに変更します。

ISA Webサーバーの既知の問題

WebgateはISAPIの拡張を使用してユーザー拒否エラー・メッセージおよび診断ページを表示します。しかし、ISA 2006は拡張をサポートしていません。そのため、

  • ユーザーがWebgateによりアクセス拒否された場合、ユーザーはOracle Access Managerのアクセス拒否エラー・メッセージではなく、ページが表示されないエラー・メッセージを受け取ります。

  • 診断URL、http(s)://hostname:port/access/oblix/apps/webgate/bin/webgate.dll?progid=1は、ISAに対しては動作しません。

LinuxThreadsでOracle HTTP Serverが開始しない

Oracle HTTP ServerにWebgateインスタンスをインストールすると、サーバーが起動しません。これは、Oracle Access Managerで古いLinuxスレッド・モデルを使用しているために発生します。


注意:

Oracle Access Managerの実行時は、デフォルトではLinuxThreadsが使用されます。これは環境変数LD_ASSUME_KERNELが2.4.19に設定されていることが必要です。NPTLをOracle Access Managerとともに使用している場合、LD_ASSUME_KERNELは2.4.19.9に設定しません。

解決策: LinuxThreadsモードを使用している場合、次の手順の説明に従い、ttpd.confファイルのPerlモジュールをコメント・アウトし、LD_ASSUME_KERNEL環境変数を更新して起動します。

LinuxThreadsモードでOracle HTTP Serverの開始の失敗を解決する手順

  1. 次の場所にあるhttpd.confファイルのPerlモジュールをコメント・アウトします。

    Oracle HTTP Server 11g: ORACLE_INSTANCE/config/OHS/<ohs_name>/httpd.conf

    Oracle HTTP Server v2: OH$/ohs/conf/httpd.conf

    Oracle HTTP Server v1.3: OH$/Apache/Apache/conf/httpd.conf

  2. LD_ASSUME_KERNELの値を更新するには、テキスト・エディタで次のファイルを開きます。

    OH$/opmn/conf/opm.xml
    
  3. 次の行を探します。

    <process-type id="HTTP_Server" module-id="OHS">
    
  4. 
    

    前の手順で見つけた行の下に次の情報を追加します。

    <environment>
    <variable id="LD_ASSUME_KERNEL" value="2.4.19" />
    </environment>
    
  5. このファイルを保存します。

  6. 次のコマンドを実行して変更を実装します。

    opmnctl stopall
    opmnctl startall
    

Linux Red Hat 4上でOracle HTTP Server Webgateが初期化されない

この状況はOracle Access ManagerをLinuxThreadsまたはNPTLのどちらとともに使用していても発生する可能性があります。

症状: Red Hat Enterprise Serverバージョン4.0が2.6.9-34.ELよりも低いカーネル・バージョンで実行しているOracle HTTP Serverにインストールされた場合に、Webgateは初期化に失敗します。バージョン2.6.9-34.ELはRed Hatバージョン4、アップデート3とともに提供されます。

解決策: この問題を防ぐには、Red Hatバージョン4、アップデート3またはそれ以上にアップグレードする必要があります。

Oracle HTTP Server Web Server構成ファイルの問題

問題

Oracle Application Server 10.1.x、OC4Jでは、Webgateのインストール中にhttpd.confファイルが自動的に修正されるときに、破損する可能性があります。

解決策

Webgateのインストール前に、次のコマンドを実行して、httpd.confファイルが上書きされることを防ぎます。

$ORACLE_HOME/dcm/bin/dcmctl updateConfig -ct ohs 

IIS v6 Webサーバーの問題

IIS 6 Webサーバーでのみ、WWWサービスをIIS 5.0分離モードで実行する必要があり、これはISAPI postgateフィルタの要件です。この例は、32ビットWindowsオペレーティング・システムで実行している32ビットのOracle Access Managerバイナリがある場合に動作します。しかし、IISが32ビット・モードで実行している64ビットWindowsマシンで32ビットpostgate.dllを実行しようとすると問題が発生します。

問題

IISがIIS5.0分離モードで実行している場合、次のメッセージが表示されます。

ISAPIフィルタ'C:\webgate\access\oblix\apps\webgate\bin\webgate.dll'は構成の問題が原因でロードできませんでした。

原因

現在の構成はAMD 64ビット・プロセッサ・アーキテクチャ用に作成されたイメージのロードのみをサポートします。データ・フィールドにはエラー番号が含まれます。

解決策

この問題の詳細は、この種類のプロセッサ・アーキテクチャの不一致のエラーのトラブルシューティング方法も含め、次のWebサイトを参照してください。

http://go.microsoft.com/fwlink/?LinkId=29349

詳細は、次のヘルプとサポート・センターを参照してください。

http://go.microsoft.com/fwlink/events.asp

問題

IIS5は64ビットとして存在することはありません。しかし、64ビットWindowsコンピュータ上でのIIS v6のIIS5互換モードだけは64ビットとして実行します。

原因

次のURLで参照できるドキュメントのとおり、64ビットWindowsでIIS5分離モード32ビットを実行することはアーキテクチャ上不可能です。

http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.pu
blic.inetserver.iis&tid=5dd07102-8896-40cc-86cb-809060fa9426&cat=en_US_
02ceb021-bb43-476d-8f8f-6c00a363ccf5&lang=en&cr=US&p=1
http://blogs.msdn.com/david.wang/archive/2005/12/14/HOWTO-Diagnose-one-cause-of-W3
SVC-failing-to-start-with-Win32-Error-193-on-64bit-Windows.aspx

Sun Webサーバーの開始時のPCLOSEエラー

症状: Sun Webサーバーを開始しようとしたときに、次のようなエラーが発生します。

Unable to start, PCLOSE

解決策: たくさんの問題がこのエラーを引き起こす可能性があります。

  • obj.confファイルの構文エラー

  • obj.confファイルの先頭のスペース

  • Webサーバー・インスタンスの作成に使用したのとは異なるユーザーIDでのOracle Access Managerのインストール

  • obj.confファイルの最後にある改行

IIS DLLの削除および再インストール

Oracle Access ManagerがMicrosoftのIIS Webサーバーで実行している場合、Oracle Access Managerを再インストールするときには次のISAPIフィルタを手動でアンインストールおよび再インストールする必要があります。

  • tranfilter.dll

  • oblixlock.dll(Webgateがインストール済の場合)

  • webgate.dll(Webgateがインストール済の場合)

IIS DLLを削除および再インストールする手順

  1. Oracle Access Managerをアンインストールします。

  2. 前述のDLLを手動でアンインストールします。

  3. Oracle Access Manager.Active Directoryを再インストールします。

  4. DLLを手動で再インストールします。


注意:

これらのフィルタは使用しているIISのバージョンにより異なる可能性があります。これらのフィルタが存在しないまたは別のものが存在する場合、存在するフィルタを削除する必要があるかどうかはOracleにお問い合せください。

Windowsネイティブ認証

問題

Windowsネイティブ認証の設定後、およびWNA保護ページにアクセスすると、ブラウザはユーザー名またはパスワード(およびその両方)が正しくないことを示すエラーを受け取ることがあります。

原因

Oracle Access Managerが使用するアイデンティティ・ストアがWindows Active Directoryを指していない可能性があります。デフォルトでは、アイデンティティ・ストアは組込みLDAPです。

解決策

  1. Oracle Access Managerコンソールで、アイデンティティ・ストアの構成、「システム構成」、「データソース」、「ユーザー・アイデンティティ・ストア」を確認します。

  2. LDAPストア設定がActive Directoryを指していることを確認します。