Oracle Apps R12 New Features
I: Advantage & Disadvantages of Forms Servlet Mode1: Simple SSL Configuration (as no separate SSL configuration is required for Forms as connections are via web/http server)
2: No port need to open to access forms in firewall.
3: More secure method of deployment over Internet
4: Result in more network traffic because of HTTP is more chatty than socket (dedicated)
so not preferred in WAN implementation.
5: Unified APPL_TOP in Oracle Applications R12
6: Unified APPL_TOP in Oracle Applications R12 which is different from Separate APPL_TOP in Oracle Applications 11i.
7: Unified APPL_TOP make more sense if you are using multi node Oracle Applications R12.
8: In Oracle Applications 11i , in multi node installation each APPL_TOP have its different
name and files in each APPL_TOP will depend on type of Node (i.e. Forms Node will
have fmx or forms related files where as APPL_TOP belonging to CM only node will
have .rdf or files required to run CM node)
9: Starting from R12, it will use Unified APPL_TOP which means all files required for all middle tier services are included in all nodes of Multi Node installation (irrespective of services running on that node)
II: Advantages of Unified APPL_TOP
1: Cloningof multi node Oracle Application install, only one copy (any one APPL_TOP) of Application Node files need to copied to target instance.
2: Cloning of Multi Node to Single Node you don’t have to merge APPL_TOP in R12 as required in 11i .
3: Services start/stop If you are using adstrtall.sh to start services on a node then it will start services which were configured to start during install on that node (You can still start a specific service even though it was not suppose to configure/start by calling startup script of that specific services).
To explain this better, let’s assume you installed multi node R12 instance with Node 1 as
Forms & Web Server where as Node 2 was installed with Concurrent Manager. Now on
Node1 when you use adstrtall.sh script to start services as expected it will start Forms and
Web services but unlike 11i, You can still start Concurrent Manager on Node1 by
4: FND_NODESFrom R12 all nodes will have Y against all services (For multi Node) inFND_NODES table.
III: Additional New Feature in R12
1: Rapid install
2: Store Base Configuration in Database
3: No need to copy config.txt
4: Multiple Domain Support for Database and Middle Tier
5: Rapid Install supports deploying the database node and the middle tier node into different domains.
6: Shared File System Support
7: Rapid install allows you to select if app servers are using shared APPL_TOP
8: No hardcode apps password on Unix file system
9: FNDCPASS Utility New Feature: Enhance Security With Non-Reversible Hash Password (enhance FND_USER password security)
10: Improved Forgot password feature
–Retrieve user_name and password
–no workflow inbound process needed
11: New environment variables e.g. FORMS_TRACE_DIR
FORMS_ environment variables replace FORMS60_
Delivers native runtime executables for Forms (frmweb) (11i: frmwebx)
Forms Trace in addition to Forms Runtime Diagnostics (FRD) record both built-in Formsdata and performance data in a single output (profile: Forms Runtime Parameters)
Reports Only available through Concurrent Manager
Reports Server is not used
Reports executable rwrun is used directly
12: APPS Password change made easy, no need to change the password in any files as in 11i.
13: How to change Oracle Applications Products/Schema Password including APPS ?
As most of you might already be aware that you use FNDCPASS utility on Concurrent Manager Node to change the password.
FNDCPASS logon 0 Y system/password mode username new_password
WhereMODE is SYSTEM/USER/ORACLE/
ALLORACLE (Introduced with patch 4745998)
Changing APPS Password using FNDCPASS
example FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS WELCOME
In 11i we need to change the passwords in the below files as it was used and hard coded,
in R12i there is no files where the password is stored, so we need not worry about
changing the passwords in any file, this is due to the security reason,
Only recommended is to run the autoconfig on the Middle Tier after changing the APPS Password.
14: In 11i files to change after changing Apps Password ?
Once you change apps password you need to change apps password stored in file wdbsvr.app at $IAS_ORACLE_HOME/Apache/modplsql/cfg
Following Metalink Notes are useful & related to Oracle Applications or Apps Password
15: How to Change and Which Apps Database Users Passwords Can Be Changed
in a Multi – Node Apps Installation?
–159244.1 How To Use FNDCPASS to Change The Oracle Users, APPS, APPLSYS
and Application Module Passwords (INV, AR, AP, etc.) For Applications 11.5 in UNIX.
– 437260.1 – How to Change Oracle Applications Release 12 Passwords using Oracle
Applications Schema Password Change Utility (FNDCPASS)
The important change in the technological stack is that the 8.0.6 ORACLE_HOME and the IAS_ORACLE_HOME have been replaced by Oracle Application Server 10g 10.1.2 and Oracle Application Server 10g 10.1.3, respectively.
The technology stack of the application tier consists of the following components.
Oracle Developer 10i, which includes
– Oracle Forms
– Oracle Reports
Oracle Application Server 10g 10.1.2 (formerly known as 8.0.6 ORACLE_HOME)
Oracle Application Server 10g 10.1.3 (includes Oracle HTTP Server, formerly known as iAS_ORACLE_HOME)
2: What are the changes in the desktop tier in R12?
In the desktop tier, the new Sun J2SE plug-in replaces the traditional Oracle JInitiator which was used till the 11i release. The J2SE plug-in is automatically downloaded and installed when the Forms-based applications are called. For example, if you select the System Administrator responsibility and click the responsibility Security > User > Define, you will get a message like this for the installation of the J2SE.
In order to access this application, you must install the J2SE plug-in version 1.5.0_07. To install this plug-in, click here to download the oaj2se.exe executable. Once the download is complete, double-click the oaj2se.exe file to install the plug-in. You will be prompted to restart your browser when the installation is complete.
Once you download and install the plug-in, you will be able to run Forms-based applications.
The Forms client applet and commonly used JAR files are downloaded from the Web server at the beginning of the client’s first session. Less commonly used JAR files are downloaded as needed. All downloaded JAR files are cahced locally on the client, ready for future sessions.
In R12, the cache directory path is of the form:
<HOMEDRIVE>\Documents and Settings\<Windows User Name>\Application Data\Sun\Java\Deployment\cache
C:\Documents and Settings\jobanerj\ApplicationData\Sun\Java\Deployment\cache
3: What are the components of the Application Server 10.1.3 (formerly known as IAS_ORACLE_HOME)?
– Oracle Containers for Java (OC4J)
– Oracle Process Manager and Notification Server (OPMN)
– Oracle HTTP Server (OHS) 10.1.3.0.0 (Apache 1.3.34)
4: What is OC4J?
The Jserv is replaced by OC4J. This is included in the 10.1.3 ORACLE_HOME. OC4J runs on the Java vitual machine and is based on Java 2 Enterprise Edition (J2EE) standards. You can have multiple OC4J processes running, each of which is referred to as an OC4J instance. The OC4J configuration is controlled via XML configuration files and OC4J properties file. An OC4J instance is referred to as a container as it provides a Web container to support services like Java Server Pages (JSP), Servlets, Enterprise Java Beans (EJB) and Web Services.
5: How many instances of OC4J are created in R12?
The R12 creates 3 OC4J instances:
– Oacore (runs OA Framework-based applications),
– Forms (runs Forms-base applications),
– OAFM (runs the Web services, mapviewer, application server control)
6: What is OPMN and what are its components?
Oracle Process Manager is the centralized process management mechanism in Oracle Application Server and is used to manage Oracle Application Server processes. The Process Manager is responsible for starting, restarting, stopping and monitoring every process it manages. The Process Manager handles all requests sent to OPMN associated with controlling a process or obtaining status about a process. The Process Manager handles all requests sent to OPMN associated with controlling a process or obtaining status about a process. The Process Manager is also responsible for performing death-detection and automatic restart of the processes it manages. OPMN manages AS components and consists of:
– Oracle Notification Server (ONS). It is the transport mechanism for failure, recovery, startup and other related notifications between components in Oracle Application Server. It operates according to a publish-subscribe model. An Oracle Application Server component receives a notification of a certain type for each subscription to ONS. When such a notification is published, ONS sends it to the appropriate subscribers.
– Delivers notifications between components OHS <->OPMN<->OC4J
7: Explain briefly the major changes in the file system in R12.
There are lots of changes in the file system in the new R12.
The new structure splits the Oracle Application files in three parts.
Separating these three helps in easy maintenance as configuration file changes more frequently than the code and the data.
db (database server):
Oracle 10g database files used by Oracle Applications
Oracle Home files for the Oracle 10g RDBMS
apps (application tier services):
Oracle Applications product files (APPL TOP)
Common files such as log, output, and HTML files (COMN_TOP)
Oracle Homes for the Oracle Applications technology stack
INSTANCE Configuration and Log files
– The db/apps_st/data (DATA_TOP) directory contains all the data files, redo log file and is located on the database node.
– The db/tech_st/10.2.0 contains the ORACLE_HOME for the Oracle 10g database and is located in the database node.
– The apps/apps_st/appl (APPL_TOP) directory contains the product directories and files for Oracle Applications.
– The apps/apps_st/comn or (COMMON_TOP or COMN_TOP) directory contains the common directories and files used across products.
– The apps/tech_st/10.1.2 directory contains the ORACLE_HOME used for the Applications technology stack tools components.
– The apps/tech_st/10.1.3 directory contains the ORACLE_HOME used for the Applications technology stack Java components.
– The INST_TOP contains all the configuration files and log files.
8: What is Instance Top? What are the advantages of Instance Top?
R12 introduces a new concept of a top-level directory for an Applications Instance which is known as Instance Home and is denoted the environment variable $INST_TOP. Instance Home contains all the config files, log files, ssl certificates, etc. The addition Instance Home makes the middle tier easier to manage and organize since the data is kept separated from the config files. It also has the ability to share the Applications and Technology stack code across multiple instances. To create a new instance that shares an existing middle-tier, create a new instance_top with proper config files and nfs mount the middle tier in the server.
Another advantage of the Instance Home is that the Autoconfig no longer writes any thing to the APPL_TOP and ORACLE_HOME directories. Everything is now written in the INST_TOP and as a result APPL_TOP and ORACLE_HOME can also be made read only file system if required. Earlier the adpatch used to write the log file in APPL_TOP/admin directory but with the new model the APPL_CONFIG_HOME/admin is used.
The basic structure of the Instance Home is:
<APPS_BASE>/inst/apps/<context>/<INST_TOP>, where APPS_BASE (which does not have or need a corresponding environment variable) is the top level of the Applications installation, and <context> is the highest level at which the Application context exists.
9: What is the directory structure of an Instance Top?
Given below is the directory structure for the Instance Top.
ADMIN_SCRIPTS_HOME: Find all AD scripts here
APPL_CONFIG_HOME. For standalone envs, this is set to $APPL_TOP
FND_SECURE: dbc files here
All Env Config files here
SSL Certificates go here
LOG_HOME: Central log file location. All log files are placed here (except adconfig)
‘C’ Oracle home config, Contains tnsnames and forms listener servlet config files
Apache and OC4J config home, Apache, OC4J and opmn. This is the ‘Java’ Oracle home configuration for OPMN, Apache and OC4J
Apache/Forms server PID files here
Apache’s Document Root folder
10: Explain the difference in the mount points between 11i and R12.
For Applmgr User:
Mount Point: APPL_TOP
Mount Point: COMMON_TOP
Mount Point: ORACLE_HOME
Mount Point: IAS_ORACLE_HOME
For Oracle User:
Mount Point: ORACLE_HOME
Mount Point: ORADATA
Mount Point: INST_TOP
11: What is the default mode of the forms service in R12?
In R12, by default the forms service are provided by forms servlet mode.
12: What are the advantages of forms servlet mode?
Following are the advantages of running forms in servlet mode.
– The dropped network connection can be re-established.
– Firewall/proxy server is easy to configure.
– Only a few machines and ports needs to be exposed at firewall.
– It’s a very secured protocol in the Internet.
13: What happened to the Reports server in R12?
The Reports server is obsolete in R12. All reports are now run through the Concurrent Processing server manager via the rwrun executable, which spawns an in-process server.
14: How is the directory structure of COMMON_TOP in R12?
The directory structure of the COMMON_TOP in R12:
classes ($JAVA_TOP), Expanded classes
lib ($AF_JLIB) Jar and zip files
html – WEB-inf – web.xml
15: What are the important xml configuration files that are introduced in R12?
The XML configuration files are:
16: What is OPMN.XML used for? What is the location of this file?
OPMN.xml is used by OPMN. It contains details of all the OC4J instances deployed on the server. This file is located at $ORA_CONFIG_HOME/10.1.3/opmn/conf/.
17: What is SERVER.XML used for? What is the location of this file?
This file is used by OC4J. It contains details of all the applications deployed under that OC4J instance like name of the application, where it is deployed, shared libraries if any. This is located at $ORA_CONFIG_HOME/10.1.3/j2ee/oacore/config/.
18: What is ORION-APPLICATION.XML used for? What is the location of this file?
This file is used by application instance. It contains details of all the Web modules deployed under that application. It also includes library path where it should look for the Java code. This is located at $ORA_CONFIG_HOME/10.1.3/j2ee/oacore/applications-deployment/oacore.
19: What is ORION-WEB.XML used for? What is the location of this file?
This file is used by Web module. It contains details of all servlet aliases and the mapping to servlet classes. This is located at $ORA_CONFIG_HOME/10.1.3/j2ee/oacore/applications-deployment/oacore/html/.
20: What are the important forms configuration files in R12 and where are they located?
The forms configuration files are located at $ORA_CONFIG_HOME/10.1.2/forms/server. The forms configuration files are:
– appsweb.cfg ($FORMS_WEB_CONFIG_FILE). This file has moved to this location. It contains info on serverName, serverPort etc.
– default.env. It contains most of the env variables (classpath, product tops, oracle home etc).
21: What are the various log file locations in R12?
The various log file locations are given below. In R12, all the log files are located at Instance Top.
– AD Script log files: $INST_TOP/logs/appl/admin/log
– CM log files: $INST_TOP/logs/appl/conc/log
– AD tools log files: $APPL_CONFIG_HOME/admin/$TWO_TASK/log
– OPMN log files: $INST_TOP/logs/10.1.3/opmn
– Apache log files: $INST_TOP/logs/10.1.3/Apache/
– OC4J log files (TEXT) : $INST_TOP/logs/10.1.3/j2ee/oacore/
– OC4J log files: $INST_TOP/logs/10.1.3/j2ee/oacore/log/oacore_default_group_1/oc4j
22: What is the location of the DBC file in R12?
The DBC file is located at $INST_TOP/appl/fnd/12.0.0/secure/<SID>.dbc
24: R12 introduces the concept of “Service Groups”. What exactly are service groups?
A server is the traditional term for a process that provides a particular functionality. This term, in the sense of a denoting a single process, is less appropriate for the R12 architecture, so the replacement term of service is used where applicable. Related services make up service groups.
25: What are the various service groups in R12 and what are the services they support?
Service Groups: Root Service Group
Supports: Oracle Process Manager (OPMN)
Service Groups: Web Entry Point Services
Supports: HTTP Server
Service Groups: Web Application Services
Supports: OACORE OC4J
Service Groups: Batch Processing Services
Supports: Applications TNS Listener
Service Groups: Other Service Group
Supports: Oracle Forms Services
Oracle MWA Service
26: How are service groups related with Web, Forms and Concurrent Processing tier? How do I know which service group should be enabled in which tier?
Applications nodes should have services enabled as follows:
Web node: Root Service Group, Web Entry Point Services, Web Applications Services
Forms node: Root Service Group, Web Application Services, Other Service Group
Concurrent Processing node: Root Service Group, Batch Processing Services
27: Can you give an example to illustrate which service group should be enabled in which tier? Also what happens to the various ORACLE_HOMEs?
Let’s assume that we want to do a two-node installation in two linux boxes say, LinuxServer1 and LinuxServer2 and want to install the database and the concurrent processing in LinuxServer1 and the Web and Forms Services in the LinuxServer2 then
– On LinuxServer1, you would select Root Service Group and Batch Processing Services.
– On LinuxServer2, you would select Root Service Group, Web Entry Point Services, Web Application Services, and Other Service Group.
In terms of ORACLE_HOME creation, the result will be that:
– LinuxServer1 will have an ORACLE_HOME for the 10g R2 Applications database, plus an ORACLE_HOME for Application Server 10.1.2, and an ORACLE_HOME for Application Server 10.1.3.
– LinuxServer2 will have an ORACLE_HOME for Application Server 10.1.2, and an ORACLE_HOME for Application Server 10.1.3.
28: What are the various scripts available in R12? What are their locations?
The scripts are located at $INST_TOP/admin/scripts.
– adautocfg.sh: run autoconfig
– adstpall.sh: stop all services
– adstrtal.sh: start all services
– adapcctl.sh: start/stop/status Apache only
– adformsctl.sh: start/stop/status OC4J Forms
– adoacorectl.sh: start/stop/status OC4J oacore
– adopmnctl.sh: start/stop/status opmn
– adalnctl.sh: start/stop RPC listeners (FNDFS/FNDSM)
– adcmctl.sh: start/stop Concurrent Manager
– gsmstart.sh: start/stop FNDSM
– jtffmctl.sh: start/stop Fulfillment Server
– adpreclone.pl: cloning preparation script
– adoafmctl.sh: start/stop/status OC4J oafm (webservice, mapviewer)
– adexecsql.pl: Execute sql scripts that update the profiles in an AutoConfig run
– java.sh: It calls java executable with additional args, (used by opmn, Conc. Mgr)
29: Explain briefly the various environment variable changes in 11i and R12.
The environment variable changes between 11i and R12 is given below:
ENVIRONMENT FILES/VARIABLE CHANGES
Env Source File:
This file executes the following env files
Context File (MT):
30: What is the concept of unified APPL_TOP in R12?
R12 introduces the concept of unified APPL_TOP which means everything is laid down on all servers. From the APPL_TOP perspective, all the servers on a multi-node environment will have the same files and can now potentially start any service if needed. In some cases, additional configuration will be required before this can be done since there can be profiles, etc. associated with each server.
For R12, the only difference between the servers, are the services that have been activated on each node.
The services are identified by the variables on the service_group/ section in the Apps Context File:
* Root Service Group: s_root_status
* Web Entry Point Services: s_web_entry_status
* Web Application Services: s_web_applications_status
* Batch Processing Services: s_batch_status
* Other Service Groups: s_other_service_group_status
Depending on the value of these variables (enabled or disabled), adstrtal.sh/adstpall.sh will only start/stop the services associated with them, ignoring the rest.
31: How is Oracle Application Server 10g integrated with Oracle E-Business Suite R12?
The Oracle E-Business Suite R12 uses several individual components delivered as part of the Oracle Application Server suite. These individual components include the Oracle HTTP Server (powered by Apache), PL/SQL, Forms Server, Reports Server, Workflow and many others.
In particular, E-Business Suite R12 uses OracleAS 10g 10.1.2 for Forms and Reports Services, replacing the 8.0.6-based ORACLE_HOME provided by the Oracle9i Application Server 184.108.40.206.2 in E-Business Suite Release 11i. In addition, E-Business Suite R12 uses OracleAS 10g 10.1.3 for Oracle containers for J2EE (OC4J), replacing the 8.1.7-based ORACLE_HOME provided by Oracle9i Application Server 220.127.116.11.2 in E-Business Suite Release 11i.
32: How can you edit the CONTEXT_FILE?
You can edit the CONTEXT_FILE from Oracle Applications Manager by clicking the site map and then by clicking the edit parameter button. Directly changing the xml file is not recommended as there are many dependencies among the parameters which the OAM takes care.
33: You have accidentally deleted the CONTEXT_FILE. How will you recreate the same?
You can recreate the context file using the script “adclonectx.pl retrieve” located at <COMMON_TOP>/clone/bin. In R12 the adbldxml.pl can no longer be used.
34: How can I determine whether an autoconfig template is customizable or non-customizable?
If a keyword “LOCK” is present at the end of the file entry in the respective driver, it is a non-customizable template. If the “LOCK” keyword is not seen, that template can be customized.
35: In R12, the default mode for the forms is servlet mode. How can you change from servlet to socket mode?
You need to run the script “txkrun.pl” located at $FND_TOP to toggle between the socket and servlet mode. You are also required to run autoconfig.
36: What are the patching enhancements in R12?
The following are the enhancements in patching in R12.
– The patching in R12 introduces Manual Steps Infrastructure(MSI) functionality, reducing the number and complexity of manual steps.
– The patch wizard is now more enhanced for identifying, downloading and analyzing recommended patches.
– The risk of patch breaking other functionality is reduced in R12 as now it supports for checking codelevels and baselines.
– You can have patch filters in R12 to search patches specific to your environment.
37: What is Support Identifier (CSI) number?
It is the unique Customer Support Identifier number provided by Oracle. It is used to open Service Request against Oracle for any issues coming in the Application system.
38: What is the fastest way to create an application system in R12?
Express Configuration is the fastest way to create an application system in R12. It can configure a single node/single user system with either a fresh database or Vision Demo database.
39: What can I do if I am unable to find solution to a question?