Background:
Oracle Applications has a complex architecture with
many pieces of technology. For example Apache Web server, Apache Jserv, Forms
Listener servlet (or forms server) etc. each of these has its own set of
configuration files , which need to be set up correctly to function properly.
Moreover Oracle Applications uses many profile options (e.g. Applications Web
Agent, Applications Framework Agent etc) and other bits of information in the
database to make the navigation seamless. These also need to be set correctly
to function properly.Oracle Applications 11i consists of lots of configuration
files and lots of profile options, which need to be all correctly set for the
applications to work. Managing these profile options and configuration files
manually may give errors.So Autoconfig
is a tool provided by the Oracle E-Business Suite to maintain these files and
profile options. We can say AutoConfig is a collection of templated
configuration files that are used in combination with the appropriate database
and applications context files to produce standardized environments.
What Is AutoConfig?
Autoconfig is an 11i configuration tool (set of java
classes run from perl/shell scripts) introduced in 11.5.4, which eliminates the
need to manually maintain these configuration files and profile options.
Autoconfig maintains the environment specific values
for the 11i environment in an xml file (stored in $APPL_TOP/admin). When
autoconfig run it overwrites the
existing configuration files with new ones that it creates by merging the
templates and the context file, it also updates the database by running the
script it instantiates (merging a template with the values in the context file
is termed as instantiating the template in Oracle parlance) from the script
templates. That’s essentially what autoconfig does i.e. Instantiating
configuration files from templates and updating database with values from the
xml file. It does not move directories, check for availability of ports, update
DNS entries and so on. These have to be done manually.
Please Note: Application context file
called the .xml contains the configuration
information for the application tier & is
located in $APPl_TOP/admin for each
node of application tier.
Database context file called the .xml contains
the configuration information for
the database tier & is located in
$ORACLE_HOME/appsutil/
How does it work?
Each configuration file has one corresponding template
file (provided by autoconfig patches, stored in $PROD_TOP/admin/template
directory). Profile options and other instance specific information in the
database is maintained by many sql scripts, called from shell/perl scripts.
These scripts also have corresponding template files (also provided by
autoconfig patches, in $PROD_TOP/admin/templates).
In these template files all the environment specific
values are replaced by placeholders (like %s_webhost%).
Following entry in httpd.conf
Timeout
300 is replaced by following in its
template
$FND_TOP/admin/template/httpd_ux_ias1022.conf
Timeout %s_ohstimeout%
Environment specific values for this placeholder is
stored in an environment specific xml file (called application context file)
stored in $APPL_TOP/admin.
For e.g.
For the above
placeholder the value stored in the xml file is:
<ohstimeout
oa_var="s_ohstimeout">300</ohstimeout>
Each placeholder has a corresponding xml node in the
context file. The placeholder name is the value for the “oa_var” attribute of
the xml node, the placeholder name without the prefix “s_” (generally) is the
node name for the xml node and the value is stored as a child text node. These
xml nodes are termed as context variables by Oracle documentation and each node
primarily is identified by its oa_var attribute value. So effectively we can
say that in the above case we replace “300” by context variable “ohstimeout”
whose oa_var value is “s_ohstimeout”.
Configuration files can be easily created from the
template file by just replacing all the placeholders with the corresponding
values from the context file. This process is termed as “instantiating the
template” in Oracle documentation.
Driver files (stored in $PROD_TOP/admin/driver) store
information about what to do with each template (e.g. instantiate it and
replace the existing configuration file with it, instantiate it and run it).
These files are named as <PROD_TOP>tmpl.drv (e.g. adtmpl.drv, fndtmpl.drv
etc.) They contain one line for each template they manage.
When autoconfig (adconfig.pl or adconfig.sh) runs it
just processes the driver file for each product, line by line doing what the
driver file instructs it to do. The order of execution of each line is not
sequential as we shall see later. The diagram below depicts the autoconfig
functionality.
Updating Context file
Suppose we want to update the active port from to 80 ,
for this we will edit the application context file as follows:
Step 1 :Start all services
$ $COMMON_TOP/admin/scripts/adstrtal.sh APPS/
APPSPASSWORD Step 2 :log on to OAM & click site map.
Step 3:Click AutoConfig from the list of System
Configuration features in the Administration tab.
Step 4 : Click the Edit Parameter button for the
application tier context file to access the Context File Parameters page &
then click the system tab.
Step 5 : Click the Focus icon (blue triangle) for
oa_web_server. This expands oa_web_server and shows the web server related
parameters.
Step 6:Update the Web Port (s_active_webport)
parameter from <> to 80. Step 7 :
Save it & answer the tab.Then logout of OAM
Location of AutoConfig Script
The autoconfig script uses information from the
context file to generate all applications configuration files & updates
database profiles. It is located in
Application tier:
$COMMON_TOP/admin/scripts/CONTEXT_NAME/adautoconfig.sh
Database tier:
$ORACLE_HOME/appsutil/scripts/CONTEXT_NAME/adautoconfig.sh
Configure the oracle application system with the updated Applications
context file.
Step 1 :
Stop all services
$ $COMMON_TOP/admin/scripts/adstpall.sh APPS/
APPSPASSWORD
Step 2:Run
the autoconfig script, $adautocfg.sh & respond to the prompts.
Step 3:Check
log files for any errors.log file for autoconfig is adconfig.log & is
located in /admin//log/MMDDhhmm/
Step 4:
Restart all services :
$ $COMMON_TOP/admin/scripts/adstrtal.sh
APPS/APPSPASSWORD
Rolling back an autoconfig session
Each execution of AutoConfig creates a roll back
script in case we want to revert back to the previous configuration settings.
For this we perform the following steps:
Step 1 :Shut down all services:
$ cd $COMMON_TOP/admin/scripts/
$ adstpall.sh APPS/
Step 2:Restore AutoConfig session.
$ cd $APPL_TOP>/admin//out/MMDDhhmm
$ restore.sh
Step 3 : Restart all services:
$ $COMMON_TOP/admin/scripts//adstrtal.sh APPS/
Restoring the previous configuration
Now we will use OAM AutoConfig to restore the Applications Context.
Step 1 :Log on to the Oracle Application Manager (OAM)
& click site map.You will be able to log on but some services will be
down.
Step 2: Click AutoConfig from the list of System
Configuration features in the Administration tab.
Step 3 : Click the Show History button for the
application tier context file to access the Context File History page.
Step 4 :Click the Show Differences from Current
Configuration button to see the recently updated parameters & Select
Restore Previous Value for the Web Port and Discoverer Port parameters.
Step 5 :Save & respond the tabs. Log out of
OAM.
Step 6 :Shut down all services:
$ cd $COMMON_TOP/admin/scripts/
$ adstpall.sh APPS/
Step 7 :Run the AutoConfig script, adautocfg.sh &
Respond to the prompts.
Step 8 : View the log file and check for any
errors.
Step 9 : Restart all services:
$ $COMMON_TOP/admin/scripts//adstrtal.sh APPS/
Step 10 :Log on to the Oracle Application Manager
(OAM)
If the status of some services appears to be down,
click the Refresh icon to update the
status.
If we want some more information , Then we can check
following Metalink Notes :
218089.1 Autoconfig FAQ
165195.1 Using AutoConfig to Manage System
Configurations with Oracle
Applications 11i
387859.1 Using AutoConfig to Manage System
Configurations in Oracle
Applications Release 12
270519.1 Customizing an AutoConfig Environment
364927.1 How To Run Autoconfig On Database Tier
(DB-Tier)
341322.1 How to change the hostname of an Applications
Tier using AutoConfig
338003.1 How to change the hostname and/or port of the
Database Tier using AutoConfig
315674.1 How To Verify if Autoconfig is Enabled on
11.5.x
391406.1 How to get a clean Autoconfig Environment