Skip Headers

Oracle® HTTP Server Administering a Standalone Deployment Based on Apache 2.0 10g Release 3 (10.1.3) B25777-01 |
| Home | Solution Area | Contents | Index

Previous | Next |

# D Troubleshooting Oracle HTTP Server

This appendix describes common problems that you might encounter when using Oracle HTTP Server, and explains how to solve them.

It contains the following topics:

- Problems and Solutions

- Need More Help?

## D.1 Problems and Solutions

This section describes common problems and solutions. It contains the following topics:

- Intermittent HTTP-500 errors

- Firewall Between Oracle HTTP Server and OC4J Blocks Connections

- Oracle HTTP Server Unable to Start Due to Port Conflict

- Machine Overloaded by Number of HTTPD Processes

- Permission Denied When Starting Oracle HTTP Server on Port Below 1024

- Oracle HTTP Server May Fail To Start If PM Files Are Not Located Correctly

### D.1.1 Intermittent HTTP-500 errors

Certain Microsoft Internet Explorer security patches have resulted in intermittent HTTP-500 errors, such as `MOD_OC4J_0145`, `MOD_OC4J_0119`, `MOD_OC4J_0013` errors, when the `KeepAlive` directive is set on "On" in Oracle HTTP Server.

Problem

Intermittent HTTP-500 errors caused by bug in Microsoft Internet Explorer.

Solution

There are two possible solutions for this problem:

- Patch all the client Internet Explorer browsers.

- If the previous option is not practical, set `KeepAlive` to "Off" in Oracle HTTP Server.

Consult Metalink Note 269980.1 on `http://metalink.oracle.com` for details regarding this issue. The easiest way to access the note is to click the Advanced Search button at the top of the OracleMetalink site, and search for Doc ID "269980.1".

See Also: "KeepAlive"

### D.1.2 Firewall Between Oracle HTTP Server and OC4J Blocks Connections

Oracle HTTP Server is unable to forward requests to OC4J when certain firewalls are used between them.

Problem

Oracle HTTP Server processes maintain persistent connections with OC4J processes. If the firewall times out a connection before Oracle HTTP Server does, then requests to the OC4J processes can result in errors, or can take a very long time, depending on how the firewall and the operating system are configured.

Solution

Set the Oracle HTTP Server directive `OC4JConnTimeout` to a value less than that of the firewall timeout (this is firewall specific).

See Also: "Oc4jConnTimeout"

### D.1.3 Oracle HTTP Server Unable to Start Due to Port Conflict

You can get the following error if Oracle HTTP Server is unable to start due to port conflict:

`[crit] (98) Address already in use: make_sock: could not bind to port 7778`

Problem

Oracle HTTP Server is unable to start as its port number is being used by another process.

Solution

Determine what process is already using the port by pointing a browser at the address assigned to Oracle HTTP Server and viewing the results. Depending on the results, either change the IP:port address of Oracle HTTP Server, or that of the conflicting process.

### D.1.4 Machine Overloaded by Number of HTTPD Processes

When there are too many httpd processes running on a machine, the response time plummets.

Problem

When too many httpd processes are started, there are insufficient resources for normal processing.

Solution

Lower value of `MaxClients` to a value the hardware box can accommodate.

See Also: "MaxClients"

### D.1.5 Permission Denied When Starting Oracle HTTP Server on Port Below 1024

You will get the following errors if you try to start Oracle HTTP Server on port below 1024:

Bind errors on ports below 1024: `PERMISSION DENIED: MAKE_SOCK: COULD NOT BIND TO PORT 443`.

Problem

Oracle HTTP Server will not start on ports below 1024 because `root` privileges are needed to bind these ports. Also, steps to configure `.apachectl` have not been followed.

Solution

Perform the following steps to enable Oracle HTTP Server to run as root on ports below 1024:

1. Log in as `root`.

2. Run the following commands in the middle-tier Oracle home:

       cd ORACLE_HOME/Apache/Apache/bin
       chown root .apachectl
       chmod 6750 .apachectl

### D.1.6 Oracle HTTP Server May Fail To Start If PM Files Are Not Located Correctly

Oracle HTTP Server may encounter the following error, and fail to start:

    "[error] Can't locate mod_perl.pm in @INC (@INC contains:$ORACLE_HOME/perl/...)

or,

    [error] Can't locate Apache::Registry.pm in @INC (@INC contains: $ORACLE_HOME/per/...)

Problem

`mod_perl` needs to locate PM files kept under the `ORACLE_HOME``/ohs/mod_perl` directory. Without these PM files, `mod_perl` will not start.

Solution

For UNIX, check that `apachectl` has correctly defined the variable `PERL5LIB`. It should point to the following:

    ORACLE_HOME/perl/lib/5.8.3:ORACLE_HOME/perl/lib/site_perl/5.8.3:ORACLE_HOME/ohs/mod_perl/lib/site_perl/5.8.3/sun4-solaris-thread-multi

For Windows, check that the environment sub-section in the HTTP Server section in `opmn.xml` has a correct entry for `PERL5LIB`. It should point to the following:

    $ORACLE_HOME\ohs\mod_perl€ib\MSWin32-x86-multi-thread;$ORACLE_HOMEerl\5.8.3€ib;$PERL5LIB

## D.2 Need More Help?

You can find more solutions on OracleMetaLink, `http://metalink.oracle.com`. If you do not find a solution for your problem, log a service request.

See Also: Oracle Application Server Release Notes, available on the Oracle Technology Network: `http://www.oracle.com/technology/documentation/index.html`