Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 E-mail Us
 Oracle Articles
New Oracle Articles

 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog

 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Oracle Support

 SQL Tuning

 Oracle UNIX
 Oracle Linux
 Remote s
 Remote plans
 Application Server

 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S


 Consulting Staff
 Consulting Prices
 Help Wanted!


 Oracle Posters
 Oracle Books

 Oracle Scripts

Don Burleson Blog 









Overview of the Oracle HTTP Server (OHS)

Oracle Application Server Tips by Burleson Consulting

The Oracle HTTP Server (OHS) is built on Apache version 1.3 and is a very reliable, secure, and capable web server.  OHS (and Apache) is an extremely versatile web server, capable of handling multiple simultaneous requests in multiple languages and formats.  The Apache base that OHS is built upon has earned a solid reputation throughout the world for it?s capabilities and performance.  

For the most part, this chapter refers to the Oracle HTTP Server as OHS, however, many of the actual files refer to the server as Apache.   Because OHS is designed to be the front end to the application server, there are a number of additions to the base Apache server and a few features that are not implemented.  An example of this is starting and stopping OHS. While the Apache server can be started from the command prompt and can be passed parameters at startup, OHS is normally started and monitored by the opmnclt script as part of the 9i Application Server, and the opmn must pass startup parameters to OHS.   

Additional Information

This chapter is focused on how to administer and maintain the Oracle HTTP Server.  The best place for additional information is Oracle HTTP Server Administration Guide.  And since OHS is built on the Apache 1.3 server you can also find information in the online documentation at

Managing the Oracle HTTP Server

In early versions of Oracle9iAS, OHS  (with a standard Apache server) was started and stopped using the httpd command located in the $ORACLE_HOME/Apache/Apache/bin directory.  Oracle9iAS 9.0.4 uses the apachectl script (located in the same directory). However, when used, it returns a warning not to use apachectl, but to instead use the $ORACLE_HOME/dcm/dcmctl script.  The best way to insure that the application server starts up all parts, including OHS, is to use the $ORACLE_HOME/opmn/bin/opmnctl script, passing it the startall or stopall parameters.  This is because OHS is an integral part of the application server - stopping just OHS will cause problems in the instance.  Also, opmn monitors the processes and may restart OHS if it detects it is down.  Thus, it is recommended that the instance be brought down using opmn if you need to bring down or restart OHS from the command line.  Once running, OHS is easily configured, started or stopped using the Enterprise Manager web site.  Using Enterprise Manager is discussed later in this chapter. 

When OHS starts, it begins as a single parent process that writes its operating system pid in the file  The parent process spawns a number of child processes that are used to handle client requests.  As the server runs, the parent process checks the number of idle child processes and either adds processes (if there are too few) or destroys processes (if there are too many) to insure that the server is ready to respond instantly to a request and is not wasting server resources with too many idle processes. 

When OHS starts, the configuration information is obtained from a file called httpd.conf, which is located in the $ORACLE_HOME/Apache/Apache/conf directory.  On an Apache server, this file can be moved and the new location passed into the server as a startup parameter.  Since OHS is started and monitored by the opmn program, the configuration file should remain where it was installed. 

The httpd.conf file is discussed in detail later in this chapter.  The Apache server that OHS is built on provides a basic framework and then expands its capabilities by utilizing modules.  This modular structure allows the administrator to add or remove capabilities to the base server as needed. 

Note: The Distributed Configuration Management utility maintains a repository of configuration data.  If you manually update the configuration files, you must update the repository.  To execute this update use the command: dcmctl ?updateConfig ?ct ohs.  If you update the configuration using Enterprise Manager the repository is automatically updated for you.

Oracle HTTP Server Modules

The OHS uses modules to add capabilities to the base server.  Some modules are self-contained, while others rely on separate modules, and some call external programs.  Each module adds features to implement a specific function.  There are nearly 50 core modules in a basic Apache server, while OHS adds additional modules to support specific 9iAS features. 

Each module may add new directives that need to be defined in the httpd.conf file.  The httpd.conf file contains a number of directives, enclosed within IfModules, that load parameters only if that module is loaded.  Modules are not actually loaded at startup.  OHS scans the module?s file and loads headers that will call the module if its functionality is required. 

Below is a brief list of some of the main modules and the functions they add to the basic server.  Many will be discussed in greater detail in the configuration file section. Because the function of an application server is to support Enterprise Applications using J2EE, mod_jserv and mod_oc4j are discussed in detail in Chapters 6 and 7.


Module Type

Module Name

Module Function



Access Control based on client host name or IP



Authentication using text files



Anonymous user authentication



SSL Certificates



Provides integration with Single Sign On



Execution of CGI scripts



Maps directories into the document tree and URL redirecting



Sets environmental variables based on the request



Supports trailing slash redirects and directory index files



Supports customization of HTTP response headers



Supports logging of request.



Presents current server performance statistics



Determination of file types from file name



Supports selecting the best from multiple documents that support user?s capabilities



Rule base rewriting engine to rewrite request on the fly



Support user_specific directories



Forwards perl scripts to the PERL interpreter



Forwards servlet request  and handles response



Routes request to OC4J instances, also supports load balancing.



Forward plsql request to the Oracle database engine for execution of stored procedures



Server-parsed HTML



Execution of CGI scripts



Supports unique identifiers for certain request



Supports user tracking using cookies



Supports caching proxy server

In this chapter and throughout the book some modules will be discussed in detail.  For detailed information on each module refer to the Oracle HTTP Server Administration Guide.


This is an excerpt from "Oracle 10g Application Server Administration Handbook" by Don Burleson and John Garmany.

If you like Oracle tuning, you may enjoy the new book "Oracle Tuning: The Definitive Reference", over 900 pages of BC's favorite tuning tips & scripts. 

You can buy it direct from the publisher for 30%-off and get instant access to the code depot of Oracle tuning scripts.


Oracle Training at Sea
oracle dba poster

Follow us on Twitter 
Oracle performance tuning software 
Oracle Linux poster


Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  

and include the URL for the page.


Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


Copyright © 1996 -  2017

All rights reserved by Burleson

Oracle ® is the registered trademark of Oracle Corporation.

Remote Emergency Support provided by Conversational