File System Structure

Introduction

An Oracle E-Business Suite Release 12.2 system utilizes components from many Oracle products. These product files are stored below a number of key top-level directories on the database and application server machines.

Note: No Oracle E-Business Suite components are installed on desktop client machines, although JAR files and their supporting utilities are downloaded as required.

Depending on how you chose to install Oracle E-Business Suite, these product directories may be located on a single machine (the simplest case) or on multiple machines (the most common type of deployment). Operating system environment settings indicate the location of the various files in the file systems of the database and application tier machines. This chapter discusses the association between these environment settings and the corresponding files and directories.

Oracle E-Business Suite Environment

Oracle E-Business Suite makes extensive use of environment settings to locate executable programs and other files essential to Oracle E-Business Suite operation. These environment settings are defined when you install Oracle E-Business Suite. Many of the settings are defined by information you provide when running Rapid Install, while others have the same values in all installations.

The environment settings and their associated values are stored in environment files, which have a .env suffix on UNIX (.cmd on Windows). Environment files and settings are discussed in more detail later in this chapter.

Instance Home

Like other 12.x releases, Oracle E-Business Suite Release 12.2 uses the concept of a top-level directory for an Oracle E-Business Suite instance. This directory is referred to as the Instance Home, and denoted by the environment variable $INST_TOP.

Using an Instance Home provides the ability to share application and technology stack code among multiple instances, for example a development instance and a test instance. Most configuration files created by AutoConfig are stored under the Instance Home.

Other benefits of the Instance Home include support for read-only file systems. Prior to Release 12.2, all the configuration files modified by AutoConfig were located under $INST_TOP. The following parts of the file system could be made read-only: APPL_TOP, OracleAS 10.1.2 ORACLE_HOME, and OracleAS 10.1.3 ORACLE_HOME. In Release 12.2, the APPL_TOP and FMW_Home contain some configuration files modified by AutoConfig. Only the OracleAS 10.1.2 ORACLE_HOME configuration files are located under $INST_TOP, and so can be made read-only.

In a single-node application tier environment, the basic structure of the Instance Home is: <s_base>/inst/apps/<context_name>, where s_base (which does not have a corresponding environment variable) is the top level of the Oracle E-Business Suite installation, and <context_name> is the highest level at which the applications context exists. For example, $INST_TOP might be /u01/R122_EBS/fs1/inst/apps/vision_testsys, where vision_testsys is the context name.

In a multi-node application tier environment, the Instance Home is typically located on a local filesystem. For example, $INST_TOP might be /inst/R122_EBS/fs1/inst/apps/vision_testsys, where vision_testsys is the context name.

Instance Top ($INST_TOP) Directory Structure

the picture is described in the document text

The HTTP and Oracle WebLogic Server configuration files are not stored under the $INST_TOP. For further details, refer to the Techical Configuration chapter of Oracle E-Business Suite Setup Guide.

Note: The Oracle Fusion Middleware top-level directory and its subdirectories (described later) are completely new in Oracle E-Business Suite Release 12.2, as this technology was not used in previous releases.

The EBSapps Directory

The EBSapps directory is another key high-level directory that was introduced in Oracle E-Business Suite Release 12.2. It will be located under a path with a name such as /u01/R122_EBS/fs1, at the same level as the inst directory.

EBSapps Directory Structure

the picture is described in the document text

Fusion Middleware Home

The Oracle Fusion Middleware (FMW) directory is another key high-level directory. It is completely new in Oracle E-Business Suite Release 12.2, as this technology was not used in previous releases.

Typically, the FMW directory will be located in a path such as /u01/R122_EBS/fs1, at the same level as the inst and EBSapps directories. It includes subdirectories such as:

Some of these, as well as some other subdirectories, are shown in the following diagram.

Fusion Middleware ($FMW_HOME) Directory Structure

the picture is described in the document text

The comn Directory

The EBSapps/comn (COMMON_TOP) directory contains files used by many different Oracle E-Business Suite products, and which may also be used with third-party products.

COMMON_TOP Directory Structure

the picture is described in the document text

Note: Only selected files and directories are shown in the diagram and discussed below.

The admin directory

The admin directory, under the COMMON_TOP directory, is the default location for the concurrent manager log and output directories. When the concurrent managers run Oracle E-Business Suite reports, they write the log files and temporary files to the log subdirectory of the admin directory, and the output files to the out subdirectory of the admin directory.

You can change the location the concurrent managers write these files to, so that, for example, the log and output files are written to directories in each <PROD>_TOP directory. This may be more desirable in terms of disk space management, or the need to avoid a possible performance bottleneck on a system that has a high concurrent processing throughput.

Additional Information: For further details, see Concurrent Processing Server in Chapter 1 of this book, and the concurrent processing chapters of Oracle E-Business Suite Setup Guide.

The java directory

Rapid Install places all Oracle E-Business Suite class files in the COMMON_TOP/java/classes directory, pointed to by the $JAVA_TOP environment variable. Zip and jar files are installed in the $COMMON_TOP/java/lib directory, pointed to by the $AF_JLIB environment variable. The top-level Java directory, $COMMON_TOP/java, is pointed to by the $JAVA_BASE environment variable.

The util directory

The util directory contains additional utilities that ship with Oracle E-Business Suite. These include the Java Runtime Environment (JRE) and Java Development Kit (JDK).

The appl Directory

Many Oracle E-Business Suite files are stored in the EBSapps/appl directory, which is generally known as the APPL_TOP.

APPL_TOP Directory Structure

the picture is described in the document text

The APPL_TOP directory contains:

Note: CONTEXT_NAME is the Oracle Applications context, described further in Chapter 5. Its default value is <SID>_<hostname>.

Rapid Install creates a directory tree for every Oracle E-Business Suite product in this APPL_TOP directory, whether licensed or not. Regardless of registration status, all Oracle E-Business Suite products are installed in the database and the file system.

Warning: Do not attempt to delete any files belonging to unregistered or unused products.

Each APPL_TOP directory is associated with a single Oracle E-Business Suite database.

Product Directories

Each product has its own directory under APPL_TOP. The directories are named in accordance with the product's standard abbreviation, such as gl for Oracle General Ledger. Within each product's directory is a subdirectory that is named after the base Oracle E-Business Suite release number, 12.0.0. Within this subdirectory, various additional subdirectories are used to store the product-specific files.

<PROD>_TOP Directory

The <APPL_TOP>/<prod>/<version> path is known as the product top directory (<PROD>_TOP), and its value is stored in the <PROD>_TOP environment variable.

For example, if APPL_TOP=/d01/R122_EBS/EBSapps/appl, then the value contained in the AD_TOP environment variable is /d01/R122_EBS/EBSapps/appl/ad/12.0.0, and the AD_TOP environment variable points to the <APPL_TOP>/ad/12.0.0 directory.

For the same APPL_TOP, the value of AU_TOP is /d01/R122_EBS/EBSapps/appl/au/12.0.0, and the AU_TOP environment variable points to the <APPL_TOP>/au/12.0.0 directory. The same principle applies to all directories, apart for the admin directory.

Product Files

Each <PROD>_TOP directory, such as <APPL_TOP>/gl/12.0.0, contains subdirectories for product files. Product files include forms files, reports files, and files used to upgrade the database. To display data entry forms for Oracle General Ledger, for example, Oracle E-Business Suite accesses files in the forms subdirectory under the 12.0.0 directory.

APPL_TOP Directory Structure

the picture is described in the document text

Within each <PROD>_TOP directory, the product's files are grouped into subdirectories according to file type and function. The next figure expands the inset to show the full directory structure for gl.

Detail of gl Directory Structure

the picture is described in the document text

The following table summarizes product subdirectories and the types of files each one may contain.

Important: Not all products use all the subdirectories listed in this table.

Applications Product Subdirectories and File Types
Subdirectory Name Description
admin The <PROD>_TOP/admin directory contains product-specific files used to upgrade each product. This is in distinction to the <APPL_TOP>/admin directory, which contains upgrade-related files for all products.
driver Contains driver files (.drv files) used in upgrading.
import Contains DataMerge files used to upgrade seed data.
odf Contains object description files (.odf files) used to create tables and other database objects.
sql Contains SQL*Plus scripts used to upgrade data, and .pkh, .pkb, and .pls scripts to create PL/SQL stored procedures.
bin Contains concurrent programs, other C language programs and shell scripts for each product.
forms Contains Oracle Forms generated runtime (.fmx) files (Oracle Forms form files).
help Contains the online help source files. Within this directory are subdirectories for each language installed.
html Contains HTML, JavaScript, and JavaServer Page (JSP) files, primarily for HTML-based Applications products.
include Contains C language header (.h) files that my be linked with files in the lib directory. Not all products require this directory.
java Contains JAR files (Java Archive files) and Java dependency files. Copies of JAR files are also located in the $AF_JLIB directory.
lib Contains files used to relink concurrent programs with the Oracle server libraries. These files include:
  • object files (.o on UNIX, .OBJ on Windows), with compiled code specific to one of the product's programs.

  • library files (.a on UNIX, various including .DLL on Windows), with compiled code common to the product's programs.

  • make files (.mk) that specify how to create executables from object files and library files.

log and out Contains output files for concurrent programs:
  • .mgr (master log file for concurrent manager)

  • .req (log file for a concurrent process)


Note that log and out subdirectories under a product directory are not used if you choose to set up a common directory for log and output files (FND_TOP is the only exception to this).
media Contains .gif files used in the display of text and graphics on the desktop client.
mesg Concurrent programs also print messages in the log and output files. This directory contains the .msb files (binary message files used at runtime), and language-specific message files (such as a US.msb file for American English and a D.msb file for German). The files contain the forms messages that are displayed at the bottom of the screen or in popup windows.
patch Updates to the data or data model utilize this directory to store the patch files.
reports Contains Oracle Reports platform-specific rdf binary report files for each product. Reports for each language are stored in subdirectories of the reports directory.
resource Contains .pll files (PL/SQL library files for Oracle Forms), which, like the plsql directory files, are later copied to AU_TOP.
sql Contains .sql files (SQL*Plus scripts) for concurrent processing.

Dual and Non-Editioned File Systems

The description of the file system given so far in this chapter applies, in general terms at least, to earlier 12.x releases as well as 12.2. A key difference in Release 12.2 is the support needed for the new online patching mechanism.

Described in more detail in the Patching and Management tools chapter, the online patching mechanism introduced with Oracle E-Business Suite Release 12.2 uses a dual file system. At a given time, one file system (designated 'run') is part of the running system, while the other (designated 'patch') is either having patches applied or standing by in readiness for patch application. The two file systems are often referred to as fs1 and fs2.

Note: It is important to distinguish between the file system (fs1 or fs2) ) itself and its current role, which alternates between 'patch' and 'run' with every patching cycle.

As well as fs1 and fs2, there needs to be a non-editioned file system (fs_ne), which is used to store files containing data that is needed across all file systems.

The Dual File System and the Non-Editioned FIle System

the picture is described in the document text

The non-editioned file system is designed to store files which will never be changed by run and patch file system life cycles.The most notable examples of this are transactional data and certain log files.

Log Files

Oracle E-Business Suite Release 12.2 has seen significant changes to the locations under which log files are stored. In large part, this is because of the introduction of online patching and the additional file systems it employs. The adoption of Oracle WebLogic Server for some configuration management tasks has brought its own log file requirements, over and above those of the traditional AutoConfig tool.

$LOG_HOME

This environment variable and its associated location are used in Release 12.2 as they were in previous releases. Most of the Oracle E-Business Suite log files are stored here, under $LOG_HOME/appl/admin/log. Examples include service control logs, AutoConfig logs, and runtime-generated logs.

A change in Release 12.2 is that HTTP, Oracle WebLogic Server, and concurrent processing log files are not stored under $LOG_HOME as they were in previous releases:

Patching Log Files

The adop log files for online patching are located on the non-editioned file system (fs_ne), under:

s_ne_base/EBSapps/log/adop/<adop_session_id>/<phase_timestamp>/<context_name>

For example, if s_ne_base was /u01/R122_EBS/fs_ne, the adop log files would be located under:

/u01/R122_EBS/fs_ne/EBSapps/log/adop/<adop_session_id>/<phase_timestamp>/<context_name>

For more information, see 'The adop Utility' in the Patching Utilities chapter of Oracle E-Business Suite Maintenance Guide.

Configuration Log Files

The AutoConfig log files are stored under <INST_TOP>/admin/log/<MMDDhhmm> on the application tier, and <RDBMS_ORACLE_HOME>/appsutil/log/<CONTEXT_NAME>/<MMDDhhmm> on the database tier.

For more information, see the Technical Configuration chapter of Oracle E-Business Suite Setup Guide.

Language Files

When you install Oracle E-Business Suite in a language other than American English, each product tree includes directories that use the relevant NLS language code. These directories hold translated data, forms, and message files. For example, the language directory named D designates German. The data loader files in the D subdirectory of the admin directory contain the German translation of the product seed data.

The US subdirectory in the forms directory contains Oracle Forms forms in American English. The D directory in the forms directory contains the same forms, translated into German. However, the mesg directory contains message files in both American English and German.

Additional Information: For further details, see the Oracle Globalization Support Guide.

Core Technology Directories

The admin, ad, au, and fnd directories are the core technology directories. They, along with product directories such as ar and gl, are located under the $APPL_TOP directory. For example, /u01/R122_EBS/fs1/EBSapps/appl/admin.

The admin directory

This directory and its subdirectories contain files and scripts used by the AD utilities during upgrade and maintenance processes.

These files and scripts include:

The ad (Applications DBA) directory

This directory and its subdirectories contain installation and maintenance utilities, including:

The au (Applications Utilities) directory

This directory and its subdirectories contain product files that are consolidated in a single location for optimal processing. These files include:

The fnd (Application Object Library) directory

This directory and its subdirectories contain the scripts and programs that are used as the foundation for all Oracle E-Business Suite products to build data dictionaries, forms and C object libraries.

Environment Settings

Rapid Install creates several environment files that set up the Oracle database, Oracle technology stack, Oracle HTTP server, and Oracle E-Business Suite environments.

The location of these environment files is shown in the following table:

Oracle E-Business Suite Environment Files
Filename Location Path Environment
<CONTEXT_NAME>.env or CONTEXT_NAME>.cmd 11.2.0 ORACLE_HOME <s_base>/11.2.0 Oracle Server Enterprise Edition
<CONTEXT_NAME>.env or <CONTEXT_NAME>.cmd
OracleAS 10.1.2 ORACLE_HOME <s_base>/inst/apps/<CONTEXT_NAME>/ora/10.1.2 Oracle tools technology stack
<CONTEXT_NAME>.env or <CONTEXT_NAME>.cmd APPL_TOP <s_base>/EBSapps/appl Applications
APPS<CONTEXT_NAME>.env or APPS<CONTEXT_NAME>.cmd APPL_TOP <s_base>/EBSapps/appl Consolidated setup file

Note: <s_base> is the directory where the EBSApps, 11.2.0 (database), inst, and FMW_Home directories exist.

On UNIX, Oracle E-Business Suite includes a consolidated environment file called APPS<CONTEXT_NAME>.env, which sets up both the Oracle E-Business Suite and Oracle technology stack environments. When you install Oracle E-Business Suite , Rapid Install creates this script in the APPL_TOP directory. Many of the parameters are specified during the install process.

On Windows, the equivalent consolidated environment file is called %APPL_TOP%\envshell<CONTEXT_NAME>.cmd. Running it creates a command window with the required environment settings for Oracle E-Business Suite. All subsequent operations on the APPL_TOP (for example, running adadmin or adpatch) must be carried out from this window.

The following table lists the key environment settings in APPS<CONTEXT_NAME>.env.

Key Oracle E-Business Suite Environment Variables
Parameter Description
APPLFENV The name of the environment file, <CONTEXT_NAME>.env. If you rename the environment file, this parameter setting must be updated.
PLATFORM The operating system in use. The value (for example, LINUX) should match the value in the $APPL_TOP/admin/adpltfrm.txt file.
APPL_TOP The top-level directory for this Oracle E-Business Suite installation.
NE_BASE The top-level directory under which non-editioned code is installed (see The Non-Editioned File System in the Online Patching section of the High Availability chapter).
ADMIN_SCRIPTS_HOME Directory under $INST_TOP that Identifies the location of scripts such as adautocfg.sh, adpreclone.sh, adstrtal.sh, and adstpall.sh.
FNDNAM The name of the ORACLE schema to which the System Administration responsibility connects. The default is APPS.
GWYUID The public ORACLE username and password that grants access to the Oracle E-Business Suite initial sign-on form. The default is APPLSYSPUB/PUB.
FND_TOP The path to the Application Object Library directory. For example, /u01/R122_EBS/EBSapps/appl/fnd/12.0.0.
AU_TOP The path to the Applications Utilities directory. For example, /u01/R122_EBS/EBSapps/appl/au/12.0.0.
<PROD>_TOP The path to a product's top directory. There is one entry for each Oracle E-Business Suite product.
PATH Sets the directory search path, for example for $FND_TOP and $AD_TOP.
APPLDCP Specifies whether distributed concurrent processing is being used. Distributed concurrent processing distributes processing load across multiple concurrent processing nodes.
APPCPNAM Indicates whether the format of the concurrent manager log and output files follow 8.3 file name conventions (maximum of 8 characters to the left of the dot and 3 to the right; for example, alogfile.log). If this parameter is set to "REQID" (required), the concurrent manager uses file names that meet 8.3 naming requirements.
APPLCSF Identifies the top level directory for concurrent manager log and output files if they are consolidated into a single directory across all products. For example, /u01/R122_EBS/inst/apps/<context_name>/logs/appl/conc.
APPLLOG The subdirectory for concurrent manager log files. The default is log.
APPLOUT The subdirectory for concurrent manager output files. The default is out.
APPLTMP Identifies the directory for Oracle E-Business Suite temporary files. The default is $INST_TOP/appltmp on UNIX.
APPLPTMP Identifies the directory for temporary PL/SQL output files.
INST_TOP Identifies the top-level directory for this instance. For example, /u01/R122_EBS/inst/apps/<context_name>. Introduced with Release 12.0.
NLS_LANG The language, territory, and character set installed in the database. The default for a fresh install is "AMERICAN_AMERICA.US7ASCII".
NLS_DATE_FORMAT The National Language Support date format. The default is "DD-MON-RR", for example 29-JUL-11.
NLS_NUMERIC_CHARACTERS The National Language Support numeric separators. The default is ".," (period and comma).

Most temporary files are written to the location specified by the APPLTMP environment setting, which is set by Rapid Install.

Oracle E-Business Suite products also create temporary PL/SQL output files used in concurrent processing. These files are written to a location on the database server node specified by the APPLPTMP environment setting. The APPLPTMP directory must be set to a database directory defined for PL/SQL file I/O. Refer to My Oracle Support Knowledge Document 2525754.1, Using UTL_FILE_DIR or Database Directories for PL/SQL File I/O in Oracle E-Business Suite Releases 12.1 and 12.2.

Rapid Install sets the value of the database directory defined for PL/SQL file I/O and assigns it to the APPLPTMP environment variable.

Some Oracle E-Business Suite utilities use your operating system's default temporary directory even if you define the environment settings listed in the previous paragraph. You should therefore ensure there is adequate free disk space in this directory, as well as in those denoted by APPLTMP and APPLPTMP. On a multi-node system, the directory defined by APPLPTMP does not need to exist on the application tier servers.

Note: The temporary files placed in the database directory location for PL/SQL file I/O can be secured against unauthorized access by ensuring that this directory has read and write access for the Oracle database account only.

Other Environment Files

Several other environment files play a key role in an Oracle E-Business Suite system.

The adovars.env file

The adovars.env file, located in $APPL_TOP/admin, specifies the location of various files such as Java files, HTML files, and JRE (Java Runtime Environment) files. It is called from the main applications environment file, <CONTEXT_NAME>.env. The adovars.env file includes comments on the purpose and recommended setting of each variable. In a Release 12.2 environment, adovars.env is maintained by AutoConfig, and should not be edited manually.

The adovars.env file includes the following variables:

Variable Description
AF_JLIB Indicates the directory to which all Java archive files are copied. For example, /u01/R122_EBS/EBSapps/comn/java/lib.
JAVA_BASE Indicates the top-level Java directory. For example, /u01/R122_EBS/EBSapps/comn/java.
JAVA_TOP Indicates the directory to which all Java class files are copied. For example, /u01/R122_EBS/EBSapps/comn/java/classes.
OA_JAVA Indicates the directory to which all Java archive files are copied. For example, /u01/R122_EBS/EBSapps/comn/java/classes.
OA_JRE_TOP Indicates the location where the JRE is installed. For example, $FMW_HOME/jdk/jre.
OAH_TOP Defines the location to which HTML files are copied. For example, $FMW_HOME/Oracle_EBS-app1/applications/oacore.
OAD_TOP Defines the locations to which context-sensitive documentation files are copied. For example, /u01/R122_EBS/EBSapps/comn.
LD_LIBRARY_PATH Path used on many UNIX platforms to list the directories that are to be scanned for dynamic library files needed at runtime.
CLASSPATH Lists the directories and zip files scanned for Java class files needed at runtime.

The adconfig.txt file

AD utility programs perform a variety of database and file management tasks. These utilities need to know certain configuration information to run successfully. This configuration information is specified when Oracle E-Business Suite is installed, and subsequently stored in the adconfig.txt file in the $APPL_TOP/admin directory. Once it has been created, this file is used by other Oracle E-Business Suite utilities.

Note: adconfig.txt is created with the APPL_TOP file system, and it shows the tiers that have been configured on a particular node. It is distinct from the config.txt file employed by Rapid Install.

The fndenv.env file

This file sets additional environment variables used by the Oracle Application Object Library. For example, it sets APPLBIN as the name of the subdirectory where product executable programs and shell scripts are stored (bin). This file should not be modified: the default values are applicable for all customers. The file is located in the FND_TOP directory.

The devenv.env file

This file sets variables that let you link third-party software and your own custom-developed applications with Oracle E-Business Suite. This script is located in FND_TOP/usrxit, and is automatically called by fndenv.env. This allows you to compile and link custom Oracle Forms user exits and concurrent programs with Oracle E-Business Suite.