この章では、Oracle HTTP Server 12c (12.1.2)に存在する未解決の既知の問題について説明します。これらの問題について、次の項で説明します。
第1.8項「nmStart()、nmServerStatus()およびnmKill()にはサーバー・タイプ・パラメータが必要」
第1.12項「起動障害の診断時に手動でDOMAIN_HOME/servers/<instancename>/logsを作成する」
第1.16項「OHSインスタンスの構成時に"XL TXE-J compiling stylesheet: null"メッセージが表示される」
第1.17項「ohs.plugins.nodemanager.properties内のパスのバックスラッシュをエスケープする必要がある」
第1.30項「startComponent.shおよびstopComponent.shは、書込み権限のあるディレクトリで実行する必要がある」
WebLogicドメインのOracle HTTP Serverインスタンスを停止するには、WebLogic Scripting Tool (WLST)コマンドのshutdown(<instancename>)を使用します。パラメータを指定せずにshutdown()を使用すると、管理サーバーが停止し、WLSTが終了することに注意してください。
複数のWLSTスクリプトが、Oracleホーム内で提供されています。ORACLE_HOME/ohs/common/binのWLSTスクリプトを使用してください(Oracle HTTP Serverコマンドおよび他のFusion Middlewareコマンドにアクセスできます)。
このバージョンのOracle HTTP Serverには、すべてのOracle HTTP Serverインスタンス、状態およびポートをリストするコマンドはありません。Oracle HTTP Server 11gではopmnctl status
コマンドでこのような情報を取得できましたが、これとは異なります。
16267336
構成ウィザードを使用してスタンドアロン・ドメインを作成または更新した場合、構成ウィザードでは構成のサマリー画面が表示されません。ユーザーは、手順を戻って構成を変更することはできません。
構成ウィザードで作成したスタンドアロンのOracle HTTP Serverインスタンスはすべて、UNKNOWN
状態で起動します。
スタンドアロン・モードでは、WLSTコマンドnmServerStatus()
を使用すると、存在しないインスタンスに対してUNKNOWN
を戻します(たとえば、serverName=
引数の指定にタイプ・ミスがあった場合)。存在しないインスタンスと、実際にUNKNOWN
である、つまり作成直後であるインスタンス(第1.5項「スタンドアロンのインスタンスがUNKNOWN状態で起動する」を参照)を効果的に区別することはできません。
スタンドアロン・モードでは、Oracle HTTP Serverインスタンスの自動ポート割当てはありません。
スタンドアロンOracle HTTP Serverインスタンスの管理に必要なオフラインのWLSTコマンドnmStart()、nmServerStatus()およびnmKill()はすべて、Oracle HTTP Serverを管理する際にserverType='OHS'
パラメータを必要とします。serverTypeパラメータを省略した場合、このコマンドのデフォルトはAdminServerであり、Oracle HTTP Serverインスタンスを管理する際にエラー・メッセージで誤解が生じる可能性があります。
現在、スタンドアロン・ドメインの更新では、RUNNING
状態のインスタンスを削除できます。Oracle HTTP Serverに悪影響を与えるため、これは実行しないでください。削除前にすべてのOHSインスタンスがSHUTDOWN
(またはUNKNOWN
)である必要があります。
keystores.xmlファイルには秘密鍵が含まれますが、秘密鍵は非武装地帯(DMZ、つまり内側および外側のファイアウォール間のゾーン)のマシンに配置しないでください。ドメインをDMZ内のマシン上に展開する場合は、それからkeystores.xmlを削除する必要があります。これを行うには、$domain/config/fmwconfig/にアクセスし、コマンドラインからこのコマンドを使用します。
rm $domain/config/fmwconfig/keystores.xml
WindowsプラットフォームでOracle HTTP Serverが機能するには、そのシステムにMicrosoft Visual C++ランタイム・ライブラリがインストールされている必要があります。インストールされていない場合、Oracle HTTP Serverは何も出力せずに、またはエラー・ダイアログ・ボックスを表示せずに(レジストリの設定に応じて)、終了することがあります。
回避策
Oracle HTTP Serverの起動に失敗し、Oracle HTTP Serverによってエラー・メッセージがサーバー・エラー・ログまたはノード・マネージャ・ログに記録されない場合は、次の手順に従って問題を診断します。
次のランタイム・ライブラリがインストールされていることを確認します。
Microsoft Visual C++ 2008 機能拡張パック再頒布可能パッケージ(x64)。
http://www.microsoft.com/en-us/download/details.aspx?id=16771
重要: このパッケージをインストールした後、このパッケージに対してMicrosoft社推奨のサービス・パックまたはその他の修正をインストールします。 |
このパッケージが事前にインストールされていない場合、それをインストールした後にOracle HTTP Serverの起動を再度試みてください。
コマンド・プロンプトからOracle HTTP Serverの起動を試みます。
DOMAIN_HOME/servers/<ohs-instancename>/logsディレクトリがOracle HTTP Serverによって作成されていない場合は、これを作成します。
Fusion Middleware ControlまたはWLSTを使用してOracle HTTP Serverを起動してみます。
ファイルDOMAIN_HOME/servers/<ohs-instancename>/logs/lastinvocation.logを、新しいファイルstartohs.cmdにコピーします。
新しいコマンド・プロンプトを開き、startohs.cmdを実行します。
このスクリプトの実行後にエラー・メッセージが生成された場合、これらのメッセージから起動の失敗を診断します。
このスクリプトの実行後にエラー・メッセージが生成されない場合は、次の手順に進みます。
注意: Oracle HTTP Serverは、このようにコマンド・プロンプトから起動した場合は適切に機能しません。Oracle HTTP Serverのこの起動方法は、診断のみを目的としています。 |
Oracle HTTP Serverの起動を試みる場合は、Windowsエラー情報を収集します。
Oracle HTTP Serverのライブラリ・エラーのエラー・レポートは、ご使用のシステムで禁止されていることがあります。エラー・レポートの検証または修正に関する情報は、Microsoft社の次の記事を参照してください。
「HOWTO: How To Change Hard Error Popup Handling in Windows NT」
http://support.microsoft.com/kb/128642
ErrorModeに1を設定すると、Oracle HTTP Serverに関するライブラリ・エラーがレポートされない場合があります。モードを0に変更してハード・エラー・ポップアップを有効にするか、モードを2に変更してWindowsイベント・ログへのレポートを有効にします。
重要: 0に変更した場合、診断情報を収集後にただちに前の値に戻してください。サーバーが無人状態のときエラーが発生すると運用上の問題となる可能性があります。 |
推奨される設定は2分です。
ErrorModeを目的の値に変更します。
Fusion Middleware ControlまたはWLSTまたは前の手順で作成したstartohs.cmd.スクリプトを使用して、Oracle HTTP Serverの起動を試みます。
ErrorModeの設定に応じて、ハード・エラー・ポップアップまたはWindowsイベント・ログ内の診断情報を確認します。
Windowsイベント・ログを確認するには、Windows Event Viewerを開いて、Event Viewer (ローカル) / Windowsログ/ Applicationのログを表示します。
Oracle HTTP Serverの起動の試行中に書き込まれたイベント・ログ・エントリを見つけます。
ランタイム・ライブラリの検索に関するエラーは、イベントID33または35のSideBySideエラーとしてレポートされる場合があり、そのテキストではライブラリのロードを試みるOracleライブラリ、およびロードされる特定のライブラリが示されます。次に例を示します。
level=Error Source=SideBySide Event Id = 33 Activation context generation failed for "C:\work\Oracle\MD1212\ORACLE~1\bin\oraiau.dll". Dependent Assembly Microsoft.VC90.CRT,processorArchitecture="amd64", publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" could not be found. Please use sxstrace.exe for detailed diagnosis.
示されたライブラリをインストールする必要があります。この例ではVC90と示されていますが、これは前述の手順1で説明したMicrosoft Visual C++ 2008ライブラリです。
ErrorModeの設定を前の状態に戻します。
Oracle HTTP Serverインスタンスが起動せず、以前に起動したことがない場合は、ディレクトリDOMAIN_HOME/servers/<instancename>/logsを手動で作成し(存在しない場合)、その後そのインスタンスの起動を再度試みて、すべての診断情報が書き込まれるようにします。このログ・ディレクトリが存在しない場合、lastinvocation.logログ・ファイル(なんらかの起動障害の診断に使用される)には書き込まれません。
Oracle WebLogic ServerまたはOracle HTTP Serverインストール・プロセスは、NextGen Oracle Universal Installer (OUI)のセキュリティ更新の指定画面(5/9)で、ハングすることがあります。これが発生すると、OUI画面の下部のすべてのボタンが無効になってアクセスできなくなり、左側のペインの戻るためのリンクも同様に無効になります。
回避策:
この状況が発生した場合は、インストーラを最初に起動したxtermで[Ctrl]+[C]を押して、インストーラを強制的に終了する必要があります。その後、再起動して、通常どおりにインストールを実行することができます。
WebLogic Serverドメインでは、Oracle HTTP Serverインスタンスを作成する必要はありませんが、作成していないと警告が表示されます。この警告は無視してかまいません。
次を実行すると、Oracle HTTP Server 11.1.17と、Oracle WebLogic Server 12c JRF/ADFの組合せをインストールできます。
この2つのコンポーネントを2つの別々のOracleホームに、最初からインストールし、適切なバージョンを選択します(Oracle HTTP Server 11.1.17と、Oracle WebLogic Server 12c JRF/ADF)。
Oracle HTTP Server 11gのインストール時に、WebLogicドメインに関連するコンポーネントの選択を解除します。
Oracle HTTP Serverのインストール後に、標準のAIX 6.1および7.1マシンにOracle Web Tier 12c (12.1.2)を構成しているときに、コンソールに次のメッセージが表示されます。
================================= XL TXE-J compiling stylesheet: null XL TXE-J compiling stylesheet: null =================================
機能に影響はないため、このメッセージは無視してかまいません。
ohs.plugins.nodemanager.propertiesのWindows実装に配置されるパスで、バックスラッシュを含むものについては、そのバックスラッシュをエスケープする必要があります。
これは、Oracle HTTP Server 11gからアップグレードした後に、バックスラッシュを含むパスがopmn.xmlからohs.plugins.nodemanager.propertiesに移行された状態で、手動で行う必要があります。
次に例を示します。
environment.TMP = C:\Users\user\AppData\Local\Temp\1
手動で、次のように修正する必要があります。
environment.TMP = C:\\Users\\user\\AppData\\Local\\Temp\\1
adminserverという名前のインスタンスを作成しようとすると、Oracle HTTP Serverが例外をスローし、その後は有効な名前であってもインスタンスを作成できなくなります。このため、管理サーバーと同じ名前を使用するインスタンスは作成しようとしないでください。
Oracle HTTP Serverが実行されていない場合にメトリックを取得しようとすると、DMSはdisplayMetricTables.displayに関して誤ったメッセージを表示します。
MetricTables(servers='ohs1',servertype='OHS') Traceback (innermost last): File "<console>", line 1, in ? File "/scratch/oracle/Middleware/oracle_common/common/wlst/OracleDMS.py", line 67, in displayMetricTables File "/scratch/oracle/Middleware/oracle_common/common/script_handlers/oracle dms_handler.py", line 1105, in oracledmsDisplayMetricTables File "/scratch/oracle/Middleware/oracle_common/common/script_handlers/oracle dms_handler.py", line 648, in oracledmsHandleException NameError: ora_mbs
AIXでOracle HTTP Serverを実行している場合、ファイル・ハンドラのULIMIT値が小さいと、AIXでノード・マネージャのコンソール/ログから「java.io.IOException: error=24, Too many open files」エラーがスローされます。
回避策
この問題を解決するには、次の手順に従ってファイル・ハンドラのULIMIT値を大きくします。
rootユーザーとしてログインします。
/etc/security/limitsファイルを開きます。
このファイルを編集して、次の値を設定します。
nofiles=8192
nofiles_hard=65536
マシンを再起動して、この変更を有効にします。
WindowsでOracle HTTP Serverの起動に失敗し、ログ・ファイルが生成されない場合は、PATH環境変数を手動で指定する必要があります。これを行うには、ドメイン・ディレクトリにある、Oracle HTTP Serverのこのコンポーネントのnodemanager.propertiesを、次の手順に従って編集します。
config\fmwconfig\components\OHS\ohs1\ohs.plugins.nodemanager.propertiesを編集します。
次の2行を追加します。
environment.ORACLE_HOME = MW_HOME environment.PATH =%ORACLE_HOME%\\ohs\\bin;%ORACLE_HOME%\\bin;C:\\Windows;C:\\Windows\\system32
MW_HOMEはミドル・ウェア・インストールへのパスであり、次に例を示します。
environment.ORACLE_HOME = C:\\Oracle\\Middleware\\Oracle_Home
すべてのバックスラッシュ・ファイル区切り文字は、バックスラッシュでエスケープする必要があることに注意してください。
ファイルを保存します。
Web Logic Serverドメインの場合は、ランタイム領域でこの変更をレプリケートします。
nodemanager.propertiesファイルの詳細は、『Oracle HTTP Serverの管理』のohs.plugins.nodemanager.propertiesに関する項を参照してください。
『Oracle HTTP Serverの管理』のOracle HTTP Serverインスタンスの起動に関する項で説明されているとおりに、Oracle HTTP Serverを起動します。
管理対象ノード上のインスタンスのリカバリには、pack
/unpack
ではなく、tar
/untar
コマンドを使用します。Pack
/unpack
は管理ノードでのリカバリの場合に使用します。pack/unpackは管理ノードのみに使用し、管理対象ノードにはtar/untarを使用する必要があります。
構成ウィザードを使用してOracle HTTP Serverインスタンスを作成する場合、それをマシンに割り当てる必要はありません。構成ウィザードでのこの動作とは異なり、FMWコントロールでのOHSの作成コマンド(『Oracle HTTP Serverの管理』のFusion Middleware Controlを使用したインスタンスの作成に関する項に説明があります)の場合は、マシン名の入力を求められます。
httpd.exeが起動に失敗し、次のエラーが表示されることがあります。
Error: The Side-by-Side configuration information for "ORACLE_HOME\bin\ORAIAU.DLL" contains errors.
これは、SP1バージョンの64ビット再配布可能ファイルが見つからない場合に発生します。このファイルは次の場所で入手できます。
http://www.microsoft.com/en-us/download/details.aspx?id=2092
Fusion Middleware ControlでSSLウォレットを更新する場合、SSLWalletディレクティブがssl.confに適切に保存されない可能性があります。
Oracle HTTP Serverは次のような内容を前提としています。
SSLWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${ COMPONENT_NAME}/keystores/wallet2"
適切でないディレクティブは、次のようになっている可能性があります。
SSLWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores//OHS/user_projects/domains/base_domain/config/fmwconfig/components/OHS/ohs1/keystores/wallet2"
この不適切なディレクティブによってOracle HTTP Serverが正常に起動しなくなり、OHSの起動に失敗すると、次のようなメッセージがOHSエラー・ログに表示される場合があります。
server www.example.com:443 has an invalid wallet: file:/OHS/user_projects/domains/base_domain/config/fmwconfig/components/OHS/instances/ohs1/keystores//OHS/user_projects/domains/base_domain/config/fmwconfig/components/OHS/ohs1/keystores/wallet2 :: 28759
この問題を解決するには、FMWコントロールで拡張構成機能を使用して、ファイルssl.confを選択し、編集してSSLWalletディレクティブを修正します。
Oracle HTTP Serverで提供されるapxsプログラムでは、-aおよび-Aオプションを使用して、スタンドアロン・ドメインで構成を編集して新しいモジュールを含めることができます。この機能では、CONFIG_FILE_PATH環境変数がインスタンスの構成ディレクトリを指している必要があります。
apxsを起動する前にCONFIG_FILE_PATHが設定されていない場合、CONFIG_PATH設定のための適切な情報がエラー・メッセージから提供されないことがあります。CONFIG_FILE_PATHを適切に設定するには、『Oracle HTTP Serverの管理』の第4.5.6項のapxsスクリプトを使用するためのOracle HTTP Server環境の構成に関する説明を参照してください。
Oracle HTTP Serverインスタンスが起動せず、以前に起動したことがない場合は、ディレクトリDOMAIN_HOME/servers/<instancename>/logsを手動で作成し(存在しない場合)、その後そのインスタンスの起動を再度試みて、すべての診断情報が書き込まれるようにします。このログ・ディレクトリが存在しない場合、lastinvocation.logログ・ファイル(なんらかの起動障害の診断に使用される)には書き込まれません。
createOHSTestDomain()
はWLSTオフライン・モードのみを対象としています。WLSTが現在管理サーバーに接続されている場合は、createOHSTestDomain()
を使用する前に、WLSTコマンドdisconnect()
を使用して切断してください。createOHSTestDomain()
をオンライン・モードで使用した場合、結果のエラー・メッセージでは使用上の問題は記述されません。
WLSプラグインでは、WebSocketアップグレード・リクエストをバックエンドのWebLogic Server/クラスタに効果的にプロキシできるようになりました。ただし、WindowsユーザーがWebLogic Serverの読取り/書込みをプロキシする際に、遅延が発生する可能性があります。この遅延の原因は、Windowsプラットフォームの基礎となるソケット・レイヤーにあります。
書込み権限のないディレクトリから実行しようとした場合、startComponent.shおよびstopComponent.shスクリプトは失敗します。これらのスクリプトを正常に実行するには、$DOMAIN_HOME/binか、書込み権限のあるその他のディレクトリに移動してください。