9.5 Oracle Portal のトラブルシューティング のトラブルシューティング のトラブルシューティング のトラブルシューティング
9.5.3 Oracle Portal の実行時に発生する問題 の実行時に発生する問題 の実行時に発生する問題 の実行時に発生する問題
Oracle Portalのトラブルシューティング
Oracle Portalのトラブルシューティング
問題 問題 問題
問題 : Oracle Portal の実行時に、エラー「The listener returned the following message: 503 Service Temporarily Unavailable」が断続的に表示されます。
原因 原因原因
原因 この問題は、データベース・セッションが最大数に到達したため に、mod_plsqlがデータベースに接続できない場合に発生します。
mod_plsqlのデータベース接続プールは、Apacheプロセス間で共
有されていないため、各プロセスで専用のプールを保持していま す。Apache mod_plsqlにプールされたデータベース接続の総数 は、発生するApacheプロセスの数と、様々なPL/SQLアプリ ケーションへのアクセスに使用されるDADの数に直接関連して います。PL/SQLゲートウェイ(mod_plsql)では、各Apacheプ ロセスのDADごとにデータベース・セッションを1つプールし ます。簡単に説明すると、mod_plsqlによってプールされるデー タベース・セッションの最大数は次のように計算されます。
NumberOfApacheProcesses*NumberOfDADs
現在、Windows NT/2000では、Apacheはマルチスレッドで動作 するため、同じデータベース接続プールをすべてのスレッドで共 有しています。Windows NT/2000のmod_plsqlによってプール されるデータベース・セッションの最大数は、次のように計算さ れます。
MaximumNumberOfApacheThreadsEverActiveForEachDAD 原則的には、どのスレッドも別のスレッドによって作成された データベース・セッションを利用できます。このため、Apacheが マルチスレッドで動作していないプラットフォームでは、慎重に 調整することが重要です。
Oracle Portalのトラブルシューティング
解決方法 解決方法解決方法
解決方法 Apacheプロセスの設定は、プロセスの起動やシャットダウンが重
くならないように調整する必要があります(各プロセスがその接 続プールを解放し、新しいプロセスがそのプールを補充する必要 があります)。この調整は、Webサーバーの負荷によって管理さ れます。
データベース・セッションの最大数は、予想されるApacheプロ セスの最大数に従って設定する必要があります。http.conf ファイルの次のパラメータを編集します。
■ Set MaxRequests = MaxSpareServers
■ MaxRequestsPerchild=HighNumber
■ MinSpareServers=0
■ KeepAlive off
■ KeepAliveTimeOut
この設定によって、Apacheプロセスがシャットダウンすることは 非常にまれになり、Apacheプロセス/新しいデータベース接続 の作成にかかるオーバーヘッドが大幅に減少します。
解決方法 解決方法解決方法
解決方法 データベース構成ファイルのprocessesパラメータをチェック します(init$SID.ora => processes=NNN)。この数値は、
httpd.confファイルに設定されているApacheプロセスの最大 数と同じかそれ以上である必要があります。
StartServers+MaxSpareServers
この問題が発生しているかどうかを確認するには、SQL*Plusを介 してSYSとして接続し、問合せ「select username from
v$session」を発行することも1つの方法です。行数のカウント
がprocessesパラメータの値とほぼ同じである場合は、プロセス
の最大数を上回っている可能性が高くなります。
解決方法解決方法解決方法
解決方法 PL/SQLリクエストのみを処理するように個別のApacheリス
ナーを設定します。メインのApacheリスナーを使用して、
PL/SQLリクエストをすべてその新しいリスナーにリダイレクト
することができます。新しいOracle9i Application Serverリス ナーに対しては、PL/SQLリクエストしか処理しないため、
Apacheのprocessesパラメータに低い値を指定します。したがっ て、データベース・セッション数は最小限に抑えられます。
5-17ページの「Apacheリスナーによって処理できるリクエスト 数の設定」を参照してください。
Oracle Portalのトラブルシューティング
問題 問題 問題
問題 : Oracle Portal のページにアクセスしようとするときに、一貫してエ
ラー「Internal Server Error」が表示されます。
問題 問題 問題
問題 : Oracle Portal のページにアクセスしようとするときに、断続的にエ
ラー「Internal Server Error」が表示されます。
原因 原因原因
原因 この問題が発生しているのは、パラレル・ページ・エンジンまた
はApache JServエンジンが停止しているか、その設定が誤ってい
ると推測されます。
解決方法 解決方法解決方法
解決方法 Apache JServプロセスが起動され、正しく設定されていることを
確認します。ブラウザから次のURLにアクセスしてみてくださ い。
http://host.domain:port/servlet/IsItWorking このURLが機能しない場合は、Apache JServに問題が発生して います。詳細は、Apache JServのログ・ファイルを調べてくださ い。これらのログ・ファイルは、
<ORACLE_HOME>/Apache/Jserv/logsにあります。
原因原因原因
原因 この問題が発生するのは、Apache JServが周期的にクラッシュ し、Apacheによって再起動されているためであると推測されま す。
解決方法 解決方法解決方法
解決方法 JServとApacheの各ログ・ファイルを調べて、JServプロセスが
クラッシュする原因を突き止めます。これらのログ・ファイルは、
<ORACLE_HOME>/Apache/Jserv/logsにあります。
Oracle Portalのトラブルシューティング
問題 問題 問題
問題 : Oracle Portal にアクセスしようとするときに、エラー「400 bad
request」が表示されるか、Web ブラウザが停止します。
エラー:
エラー: エラー:
エラー: コンテンツへの要求がタイムアウトしました。または、エラーが発
生しました。
原因 原因原因
原因 SSL(Secure Sockets Layer)が設定されている場合、このエラー
が発生するのは、パラレル・ページ・エンジンがHTTPSポート を介してHTTPと通信しようとしているためであると推測されま す。
解決方法 解決方法解決方法
解決方法 次の設定行をzone.propertiesファイルに追加して、このポー トにアクセスするときは必ずhttpsを使用するようパラレル・
ページ・エンジンに指示します。
servlet.page.initArgs=httpsports=<HTTPS port>
関連項目関連項目関連項目
関連項目: 2-18ページの「zone.propertiesへのJServファイル・
エントリの追加」
原因原因原因
原因 これは、要求に対して返されるコンテンツのタイムアウトではあ りません。このメッセージは、次のいずれかが原因で接続上の問 題が発生しているか、その可能性があるときに表示されます。
サーバーが停止またはオーバーロードしているか、マシンが見つ からないなどの理由で接続が拒否されています。
マシン、ネットワークまたはリスナーに関するある種の不安定さ が原因で、通信時に接続が閉じてしまいます。
DNS検索、低速ネットワーク、低速リスナーなどが原因で、接続 に時間がかかりすぎて確立できません。
通常は、後者がこのエラーの原因です。ただし、Webプロバイダ が自分のリスナーを起動しておかない場合に、最初の原因が生じ ることがあります。
Oracle Portalのトラブルシューティング