So one half of the equation comes from the XML file that we generated. The other half is the templates for each of the configuration file the AutoConfig process ultimately generates.
For each of the configuration file that gets generated as a result of running AutoConfig, Oracle uses a template file that come with the initial install process.
For example, if you review the adalnctl.sh file in the $AD_TOP/admin/template directory, you will see the template in action. Following is the extract from the template file adalnctl.sh located in $AD_TOP/admin/template directory
# FILENAME
# adalnctl.sh
# # DESCRIPTION
# Start / Stop Applications RPC Listener process for %s_dbSid%
# Make sure the logfile directory exists
#
if [ ! -d "%s_com%/admin/log/%s_dbSid%" ];
then mkdir -p %s_com%/admin/log/%s_dbSid%
fi;
# # Set up the logfile for this instance #
if [ -n "$SRVLOG" ];
then LOGFILE=$SRVLOG
else
LOGFILE=”%s_com%/admin/log/%s_dbSid%/adalnctl.txt”
fi;
touch $LOGFILE
Notice the s_dbSid variable being used in this script. The value for this variable will be read from the XML file generated when we ran the perl script adbldxml.pl.
Following the excerpt from the actual (CONTEXT_NAME).xml file located under $APPL_TOP/admin directory. Note that I have removed <> tags to enhance readability.
oa_system
oa_system_name oa_var=”s_systemname”SND1/oa_system_name global_db_name oa_var=”s_dbSid”snd1/global_db_name
global_db_name oa_var=”s_dbGlnam”>SND1/global_db_name
db_name_lower oa_var=”s_dbSidLower”snd1/db_name_lower
PRINTER oa_var=”s_printer”noprint/PRINTER
!oa_system_config
Now see the extract from actual adalnctl.sh in the $COMMON_TOP/admin/scripts/ directory.
As you can see, the actual file is created as copy from the template with values replaced from XML file.
# FILENAME
# adalnctl.sh
# # DESCRIPTION
# Start / Stop Applications RPC Listener process for snd1
# # Make sure the logfile directory exists #
if [ ! -d `dirname /u10/apps/snd1/comn/admin/log/snd1_ebdev03/adalnctl.txt` ];
then mkdir -p `dirname /u10/apps/snd1/comn/admin/log/snd1_ebdev03/adalnctl.txt`
fi;
# # Set up the logfile for this instance #
if [ -n "$SRVLOG" ]; then LOGFILE=$SRVLOG
else LOGFILE=”/u10/apps/snd1/comn/admin/log/snd1_ebdev03/adalnctl.txt” fi;
touch $LOGFILE
Conclusion
We have seen how AutoConfig creates the configuration files from template files.
This post is introduction to AutoConfig. My other posts discuss internals of AutoConfig and Customizing AutoConfig.
Key Terms and their meaning
CONTEXT_NAME
Logical name for your Context. Default: _In earlier versions the default was set to
AutoConfig template file
An AutoConfig template file contains named tags, which are replaced with instance-specific information when AutoConfig runs. AutoConfig template files should not be edited.For example:$FND_TOP/admin/template/appsweb.cfg
Creating an AutoConfig enabled environment on the Application Tier involve as following steps
Lets look at the detailed stepsAutoConfig on Application Tier
AutoConfig on Database Tier
Creating an AutoConfig enabled environment on the Database Tier is a similar process
Now lets see those steps in detail
On the Application Tier (as the APPLMGR user):
AutoConfig logfiles are stored under the following directories:Application Tier
(APPL_TOP)/admin/(CONTEXT_NAME)/log/(MMDDhhmm)
Database (
RDBMS ORACLE_HOME)/appsutil/log/(CONTEXT_NAME)/(MMDDhhmm)
There will be one log file per AutoConfig session, and it will contain exact information for every action that AutoConfig performed.
Rolling back an AutoConfig session
Each execution of AutoConfig creates a rollback script in case you need to revert to the previous configuration settings. The script and all backup configuration files from each AutoConfig session are stored in:
Application
(APPL_TOP)/admin/(CONTEXT_NAME)/out/(MMDDhhmm)
Database
(RDBMS ORACLE_HOME)/appsutil/out/(CONTEXT_NAME)/(MMDDhhmm)
where::(MMDDhhmm) = (month, day, hour, minute of AutoConfig run)
To roll back an AutoConfig session:
restore.shReferences
Refer to Metalink Notes 165195.1 and 270519.1 for requisite patch levels
]]>