This chapter reviews unresolved issues known to exist in Oracle HTTP Server 12c (12.1.2). These issues are described in the following sections:
Section 1.1, "Using shutdown() Without Parameters Shuts Down WebLogic Server"
Section 1.3, "No Command to List All OHS Instances, States, and Ports"
Section 1.4, "Configuration Wizard Does Not Present a Summary Screen"
Section 1.6, "nmServerStatus() Returns UNKNOWN for Non-existent Instances"
Section 1.7, "No Automatic Port Allocation for Standalone Instances"
Section 1.8, "nmStart(), nmServerStatus(), and nmKill() Require ServerType Parameter"
Section 1.9, "Instances Can Be Deleted in the RUNNING State"
Section 1.11, "Missing Libraries Might Cause HTTPD to Exit Without Notice"
Section 1.13, "Installer Sporadically Hangs on Specify Security Updates Screen"
Section 1.14, "Warning Appears if No OSH Instance is Created"
Section 1.16, ""XL TXE-J compiling stylesheet: null" Message During OHS Instance Configuration"
Section 1.17, "Backslashes in Paths in ohs.plugins.nodemanager.properties must be Escaped"
Section 1.18, "Creating Instance Named "adminserver" Throws Exception"
Section 1.19, "DMS Displays Incorrect Message if OHS is Down"
Section 1.20, "Node Manager 12c (12.1.2) OHS Throws Java Exception on AIX"
Section 1.21, "Set PATH Environment Variable Manually if OHS on Windows Fails to Start"
Section 1.22, "Recovering Instance on Managed Node Requires tar/untar Commands"
Section 1.23, "OHS Instance Creation with Config Wizard Does Not Require Machine Assignment"
Section 1.25, "SSLWallet Directive in ssl.conf Might be Saved Incorrectly."
Section 1.26, "CONFIG_FILE_PATH Setting for apxs in a Standalone Domain"
Section 1.27, "Create Log directory Manually When Diagnosing Startup Failures"
Section 1.28, "createOHSTestDomain() Should be Used Only in Offline Mode"
Section 1.29, "Delay in Processing Websocket Events on Windows"
Section 1.32, "FIPS is Not Available on the Windows Platform"
The WebLogic Scripting Tool (WLST) command shutdown(<instancename>) is used to stop an Oracle HTTP Server instance in a WebLogic domain. Be aware that using shutdown() with no parameters will shut down the administration server and exit WLST.
Multiple WLST scripts are provided within an Oracle home. Use the WLST script in ORACLE_HOME/ohs/common/bin, which provides access to Oracle HTTP Server commands as well as other Fusion Middleware commands.
This version of Oracle HTTP Server has no command to list all Oracle HTTP Server instances, states and ports. This is different than Oracle HTTP Server 11g, where such information was available by using the command opmnctl status
.
When using the Configuration Wizard to create or update a standalone domain, the Configuration Wizard does not present a Configuration Summary Screen. The user does not have the option to go back and make changes.
All standalone Oracle HTTP Server instances created by using the Configuration Wizard start in state UNKNOWN
.
In the standalone mode, using the WLST command nmServerStatus()
returns UNKNOWN
for non-existent instances (for example, if you have a typo in the serverName=
argument). Effectively it cannot distinguish between non-existent instances and instances that really are in UNKNOWN
; that is, just after creation, as (see Section 1.5, "Standalone Instances Start in UNKNOWN State").
In the standalone mode, there is no automatic port allocation for Oracle HTTP Server instances.
The offline WLST commands nmStart(), nmServerStatus(), and nmKill(), required for management of standalone Oracle HTTP Server instances, all require the serverType='OHS'
parameter when managing Oracle HTTP Server. If the serverType parameter is omitted, the command defaults to 'AdminServer" and error messages might be misleading when managing Oracle HTTP Server instances.
Currently standalone domain update allows you to delete instances in a RUNNING
state. This should not be done as it is harmful to Oracle HTTP Server. All OHS instances should be SHUTDOWN
(or UNKNOWN
) before deletion.
The keystores.xml file contains private keys that should not be on a demilitarized zone (DMZ; that is, the zone between the internal and external firewalls) machine. If you unpack a domain on a machine in the DMZ, you must remove keystores.xml from it. To do so, go to $domain/config/fmwconfig/ and, from the command line, use this command:
rm $domain/config/fmwconfig/keystores.xml
On the Windows platform, Oracle HTTP Server requires Microsoft Visual C++ run-time libraries to be installed on the system in order to function. If they are not installed, Oracle HTTP Server might exit with no output or generate an error dialog box, depending on registry settings.
If Oracle HTTP Server fails to start and no error messages are logged by Oracle HTTP Server in the server error log or in Node Manager logs, follow this procedure to diagnose the problem:
Verify that the following run-time library is installed:
Microsoft Visual C++ 2008 Feature Pack Redistributable Package (x64), at
http://www.microsoft.com/en-us/download/details.aspx?id=16771
Important:
After installing this package, install any service packs or other fixes to this package which are recommended by Microsoft.If this package was not installed previously, try to start Oracle HTTP Server again after installing it.
Attempt to start Oracle HTTP Server from a command prompt.
Create the DOMAIN_HOME/servers/<ohs-instancename>/logs directory if it has not yet been created by Oracle HTTP Server.
Try to start Oracle HTTP Server using Fusion Middleware Control or WLST.
Copy the file DOMAIN_HOME/servers/<ohs-instancename>/logs/lastinvocation.log to a new file startohs.cmd.
Open a new command prompt and run startohs.cmd in that new command prompt.
If it generates error messages after the script runs, use those messages to diagnose the startup failure.
If it does not generate error messages after the script runs, proceed to the next step.
Note:
Oracle HTTP Server does not function properly when started from a command prompt in this manner. This mechanism for starting Oracle HTTP Server is for diagnostic purposes only.Collect Windows error information when attempting to start Oracle HTTP Server
Error reporting for Oracle HTTP Server library errors might be inhibited on your system. Refer to the following Microsoft article for information on verifying or correcting error reporting:
"HOWTO: How To Change Hard Error Popup Handling in Windows NT", at
http://support.microsoft.com/kb/128642
If ErrorMode is set to 1, library errors might not be reported for Oracle HTTP Server. Change the mode to 0 to enable hard error pop-ups or change the mode to 2 to enable reporting to the Windows event log.
Important:
If this is changed to 0, set it back to the previous value immediately after collecting diagnostic information as it can result in operational problems if errors occur when the server is unattended.The recommended setting is 2.
Change ErrorMode to the desired value.
Try to start Oracle HTTP Server using Fusion Middleware Control or WLST or the startohs.cmd script which was created in the previous step.
Check for diagnostic information in a hard error popup or in the Windows event log, depending on the setting of ErrorMode.
To check the Windows event log, open Windows Event Viewer and view the logs for Event Viewer (Local) / Windows Logs / Application
Find the event log entries written at the time of the attempt to start Oracle HTTP Server.
Errors locating run-time libraries might be reported as SideBySide errors with event ids 33 or 35, which text describing the Oracle library attempting to load the library and the specific library being loaded. Example:
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.
The indicated library needs to be installed. This example shows VC90, which is the Microsoft Visual C++ 2008 library described in step 1 above.
Restore ErrorMode to the previous setting.
If an Oracle HTTP Server instance does not start and has not been started before, manually create the directory DOMAIN_HOME/servers/<instancename>/logs if it does not exist, then attempt to start the instance again so that all diagnostic information can be written. The log file lastinvocation.log, used for diagnosing some types of startup failures, will not be written if this log directory does not exist.
Occasionally, the Oracle WebLogic Server or Oracle HTTP Server installation process hangs on the Specify Security Updates screen (5 of 9) in the NextGen Oracle Universal Installer (OUI). When this occurs, all of the buttons at the bottom of the OUI screen are disabled and inaccessible and the links to go back in the left-hand pane are similarly inactive.
When this situation occurs, you must forcibly exit the installer by pressing CTRL-C in the xterm where you initially launched the installer. You can then restart and walk through the installation normally.
In a WebLogic Server domain, while you are not required to create any Oracle HTTP Server instances, if you do not, you will receive a warning is displayed. You can ignore this warning.
You can install Oracle HTTP Server 11.1.17 with the Oracle WebLogic Server 12c JRF/ADF combination if you do the following:
Install the two components into two separate Oracle Homes, from scratch, and choose the correct versions (Oracle HTTP Server 11.1.17 with Oracle WebLogic Server 12c JRF/ADF)
During the Oracle HTTP Server 11g installation, deselect the components associated with a WebLogic Domain.
After installing Oracle HTTP Server, while configuring Oracle Web Tier 12c (12.1.2) on vanilla AIX 6.1 and 7.1 machines, the following message is seen in the console:
================================= XL TXE-J compiling stylesheet: null XL TXE-J compiling stylesheet: null =================================
You can ignore this benign message as it does not impact functionality.
Any paths placed in Windows implementations of ohs.plugins.nodemanager.properties that include backslashes must have those backslashes escaped.
You must do this manually after upgrading from Oracle HTTP Server 11g where paths with backslashes were migrated from opmn.xml to ohs.plugins.nodemanager.properties.
For example:
environment.TMP = C:\Users\user\AppData\Local\Temp\1
Must be modified manually to:
environment.TMP = C:\\Users\\user\\AppData\\Local\\Temp\\1
If you try to create an instance with the name "adminserver", Oracle HTTP Server throws an exception post after which you will not be able to create instances, even if they have valid names. Therefore, do not attempt to create instances that use the same name as a given administration server.
If you attempt to obtain metrics when Oracle HTTP Server is not running, DMS will display an incorrect message on 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
When running Oracle HTTP Server on AIX, if ULIMIT values of file handlers are small, Node Manager console/log throws"java.io.IOException: error=24, Too many open files" error on AIX.
To resolve the issue, increase the ULIMIT values of file handlers as described here:
Log in as the root user.
Open /etc/security/limits file.
Edit the file and set the following values:
nofiles=8192
nofiles_hard=65536
Reboot the machine to enable the changes.
If Oracle HTTP Server fails to start on Windows and no log files are generated, the PATH environment variable must be manually specified. To do so, edit the Oracle HTTP Server nodemanager.properties file for this component (found in the domain directory) by doing the following:
Edit config\fmwconfig\components\OHS\ohs1\ohs.plugins.nodemanager.properties.
Add the following two lines:
environment.ORACLE_HOME = MW_HOME environment.PATH =%ORACLE_HOME%\\ohs\\bin;%ORACLE_HOME%\\bin;C:\\Windows;C:\\Windows\\system32
Where MW_HOME is the path to the middle ware install, for example:
environment.ORACLE_HOME = C:\\Oracle\\Middleware\\Oracle_Home
Note that all backslash file separators must be escaped with a backslash.
Save the file.
For Web Logic Server domains, replicate the changes in the run-time area.
For more information on the nodemanager.properties file, see "ohs.plugins.nodemanager.properties" in Administering Oracle HTTP Server.
Start Oracle HTTP Server as described in "Starting Oracle HTTP Server Instances" in Administering Oracle HTTP Server.
Use tar
/untar
commands for recovering an instance on an managed node rather than pack
/unpack
. Pack
/unpack
are used for recovery on an administration node. pack/unpack are applicable to just the administration node; managed nodes must use tar/untar.
When creating an Oracle HTTP Server instance by using the Configuration Wizard, you do not need to assign it to a machine. This is different behavior than you would experience when creating an instance by using the FMW Control's Create OHS command (described in "Creating an Instance by Using Fusion Middleware Control" in Administering Oracle HTTP Server), where you are prompted for a machine name.
On some occasions, httpd.exe will fail to start, displaying the following error:
Error: The Side-by-Side configuration information for "ORACLE_HOME\bin\ORAIAU.DLL" contains errors.
This happens if you are missing the SP1 version of the 64-bit redistributable. You can obtain this file at:
http://www.microsoft.com/en-us/download/details.aspx?id=2092
When updating the SSL wallet in Fusion Middleware Control, the SSLWallet directive in ssl.conf might be saved incorrectly.
Oracle HTTP Server expects something similar to this form:
SSLWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${ COMPONENT_NAME}/keystores/wallet2"
The incorrect directive might look like this:
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"
This incorrect directive will prevent Oracle HTTP Server from starting successfully and a message similar to the following might appear in the OHS error log if OHS startup fails:
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
To resolve the issue, use the Advanced Configuration feature in FMW Control to select the file ssl.conf and edit it to correct the SSLWallet directive.
The apxs program provided with Oracle HTTP Server supports the -a and -A options for editing the configuration in a standalone domain to include the new module. This feature requires that the CONFIG_FILE_PATH environment variable point to the instance configuration directory.
If CONFIG_FILE_PATH is not set prior to invoking apxs, the error message might provide incorrect information for setting CONFIG_PATH. For the proper setting of CONFIG_FILE_PATH, see Section 4.5.6 "Configuring the Oracle HTTP Server Environment to Use the apxs Script" in Administering Oracle HTTP Server.
If an Oracle HTTP Server instance does not start and has not been started before, manually create the directory DOMAIN_HOME/servers/<instancename>/logs if it does not exist, then attempt to start the instance again so that all diagnostic information can be written. The log file lastinvocation.log, used for diagnosing some types of startup failures, will not be written if this log directory does not exist.
createOHSTestDomain()
is intended only for WLST offline mode. If WLST is currently connected to an administration server, use the WLST command disconnect()
to disconnect before using createOHSTestDomain()
. If createOHSTestDomain()
is used in online mode, the resulting error messages will not describe the usage problem.
The WLS Plug-in can now effectively proxy a websocket upgrade request to the backend WebLogic Server/Cluster. However, Windows users might observe a delay in proxying the read/write to/from the WebLogic Server. This delay is due to the underlying socket layer on Windows platforms.
The startComponent.sh and stopComponent.sh scripts will fail if you attempt to execute them from a directory for which you do not have write permission. To successfully execute these scripts, ensure you are in $DOMAIN_HOME/bin or any other directory for which you have write permission.
In several places, the Administering Oracle HTTP Server12c documentation discusses the SSL version 3 (SSLv3) security protocol. Because of security concerns, Oracle strongly recommends that you disable the SSLv3 security protocol from Oracle HTTP Server. For more information, see "Disable SSLv2 and SSLv3 Security Protocols" in Administering Oracle HTTP Server12c.
FIPS is available only on the UNIX/Linux platform. It is not available on the Windows platform. See "OHS 12.1.2 Supports FIPS 140" and "SSLFIPS" in Administering Oracle HTTP Server.