R12 New Techstack
There has been a specific directory structure and file structure that is followed in Oracle application. In the previous release till 11iCU2, there was some standard naming convention that is following. Each directory whether it’s a product top or form directory was having an organized path.
In the new oracle application release, E-Business suite R12, the file directory structure is changed. This doesn’t mean that there is no specific organization of files and directory. Off course the pattern for directories and file system is organized well, but it is different then the directory structure for the previous releases.
In this post we will check the changes in the directory structure organization and also the techstack level changes.
Why new structure
Lets us first answer to the question, as to why the new directory structure and file system was introduced, if at all, old file system and directory structure was flaw less and been working fine. And the answer to this is the need to separate E-business suite into three parts
In many cases, configuration changes more frequently than code and data. So keeping it separately would result in easy maintenance.
Also, in a shared file system, MUTEX files, related to Apache, cause access related problems as IAS_ORACLE_HOME is mounted on NFS. With the new file structure, this issue is also resolved as all the configuration files can be stored on the local server instead of NFS.
Directory Structure Changes
In R12 the directory structure is as given below. Just after HOME, we have APPS directory and INST directory. APPS directory contains the APPL_TOP and also the installation of forms OH and application server 10g. The version for forms that is used in E-Business suits is 10g and also the application server used is 10g. The directory 10.1.2 belongs to form oracle home and directory 10.1.3 belongs to application server oracle home. Since these are the underlying technology they are grouped under TECH_ST. APPS_ST contains the APPL_TOP and COMMON_TOP. In apps11i the APPL_TOP directory used to have format <SID>appl, where as in R12 this has been changed as simply appl directory
Instance top contains all the config files, log files, ssl certificates, document root etc. This is a new directory introduced in R12TS. Addition of this directory makes the middle-tier more organized, since data is kept separate from config/log files. Another advantage is that, multiple instances can easily share the same middle tier / DB. To create a new instance that shares an existing middle-tier, just create a new instance_top with proper config files and nfs mount the middle tier in the server
The directory structure for apps11i is also shown. Here we have 3 top directory under HOME directory. These are <SID>appl (APPL_TOP as discussed previously), <SID>comn (COMMON_TOP) and <SID>ora (IAS_ORACLE_HOME for 9i Application server and forms ORACLE_HOME). Inside <SID>ora directory we have 8.0.6 directory, which is the ORACLE_HOME for forms, and iAS directory which is ORACLE_HOME for 9i Application server.
For the new E-Business suite, the structure on the database side is as shown in the fig
The database side consists of the base oracle directory, similar to appmgr directory. Inside oracle directory again we have the distinction of technology directory with data directory. We have APPS_ST and TECH_ST directories. APPS_ST contains data files for the database and TECH_ST is the ORACLE_HOME for oracle database 10g.
File System Changes
Here we will be comparing the major directory structure changes that happened between the old and new release.
- $JAVA_TOP = $COMMON_TOP/java
- $JAVA_TOP = $COMMON_TOP/java/classes
- $AF_JLIB = $COMMON_TOP/java/lib
In case of 11i release the JAVA_TOP was pointing to COMMON_TOP / java directory, which consist of class and archive directories. The class directory consist of all the .class files where as archive directory consist of all jar files.
In R12 this has been changed and new JAVA_TOP directly points to COMMON_TOP / java / classes directory, which contains all .class files. For jar files we have another directory called lib. This contains JAR files. For pointing to this directory, there is another environment variable that is defined called AF_JLIB.
Techstack Level Changes
For Oracle Apps 11i we have following components version.
In R12 the components and versions are as given below.
Component Level Comparison
In case of new techstack some of the components got changed. Following is the brief comparison.
In case of 11i, Jserv engine was part of HTTP server and was used for JSP and Java requests. This has been replaced by OACORE (for handling JSP). Instead of Application server 9i used in 11i, in R12 we have Application server 10g.
Instance top contains all the config files, log files, ssl certificates, document root etc. This is a new directory introduced in R12TS. Addition of this directory makes the middle-tier more organized, since data is kept separate from config/log files. Another advantage is that, multiple instances can easily share the same middle tier / DB. To create a new instance that shares an existing middle-tier, just create a new instance_top with proper config files and nfs mount the middle tier in the server.
In 11i release all the config/log files was in COMMON_TOP. This has been shifted to INST_TOP. This is just to organize the application middle tire and to make a distinction between the core files and config/log files. Before checking the contents of INST_TOP, lets have a brief comparison of what was the content of COMMON_TOP in 11i release and R12. COMMON_TOP contains following directories.
So if we see the above comparison for the COMMON_TOP for 11i and R12, we see that there is only one directory, which is missing. This directory is admin directory. This directory is been shifted to INST_TOP. Also the log directory, which is still shown in COMMON_TOP, is no more used. There is another log directory in INST_TOP. This represents the logs for all the components of middle tier. Lets now see the structure of INST_TOP.
Here we see that we have some of the directories, which are same as directories in COMMON_TOP. So lets clear the confusion here as to which directory in which TOP is used for what purpose.
Actually the LOG, PORTAL and RGF directory in COMMON_TOP is not used. Instead these directories in INST_TOP are actually used. They are just the copies stored in COMMON_TOP. Also the admin directory is clearly moved to INST_TOP.
LOG directory contains the log files for all the components of mid tier like apache, oacore, opmn, and concurrent manager and also the logs for the AD-scripts used to manager various services.
CERTS directory is used for SSL certificates. In case of secured environment where secure certificates are used, the certificates should be downloaded in this directory.
PID directory contains the PID (process ID) for middle tier processes like apache.
APPL directory contains the 2 directories admin and fnd. ADMIN directory contains ojspCompile.conf and ojspCompile.properties. These files are important for JSP compilation and settings. FND directory contains the DBC file, which is required by the middle tier to connect to database. Actually the DBC file which used to be in $FND_TOP/secure directory location in the 11i release has been shifted to this location. This location is directly referred by an environment variable FND_SECURE. This was pointing to $FND_TOP/secure directory in 11i release. In R12 its pointing to $INST_TOP/appl/fnd/secure directory.
ORA directory indicated the techstack components. But an ORA directory in INST_TOP contains the configuration information of the techstack components. Lets look into the details of this directory.
ADMIN directory contains all the AD-scripts used to manage the middle tier components. ADMIN directory contains the SCRIPT directory, which has all the script. Actually these are the wrapper scripts over the main binary. We will see the details of these scripts when we explain each component. Following are the different AD-scripts and there function.
New Environment Variables in R12
Changes to existing environment Variables in R12
Hope this information will be helpful !! Thanks.