Frequently Asked Questions
1) What is AutoConfig?
Answer:
AutoConfig is a configuration tool that automates the configuration of an Oracle E-Business Suite instance. The information required for configuring an Applications system is collected into an XML repository, called the Applications context. There is one Applications context for each application tier, and one for each database tier. When AutoConfig runs, it uses information from the Applications context file to generate all configuration files, and update database profiles.
2) What is the difference between the application tier and the database tier?
Answer:
Before we can answer that, let's define a few terms in the context of the Release 12 architecture:
Now let's answer the question.
The primary location of the files used by the application tier servers is the APPL_TOP, whereas the primary location of the files used by the database tier server is the Oracle10g ORACLE_HOME.
3) How can I identify the application tier and the database tier in a multi-node system?
Answer:
A node can support one or more servers (or services), and can therefore belong to one or more tiers.
In a single-node system, that node belongs to both the application tier and the database tier, since all servers are contained on that single node.
In a multi-node system, each node supports one or more servers (or services), and belongs to one or both tiers. If the node provides any of the application tier services, including Forms services, Web services, or Batch Processing services (Concurrent Processing server), then there is an APPL_TOP on the node, it belongs to the application tier, and is considered an application tier server node. If the node contains the database server, which means that there is an Oracle10g ORACLE_HOME and the Applications database instance on the node, then the node belongs to the database tier, and is considered a database server node.
Let's analyze a common configuration where the database server and the Concurrent Processing server exist on one node (Node 1), and the other servers exist on a second node (Node 2). Since Node 1 contains both an application tier server (Concurrent Processing server) and the database server, Node 1 belongs to both the database tier and the application tier. Since Node 2 contains only application tier servers, Node 2 belongs only to the application tier.
4) How do I configure AutoConfig for a multi-node system?
Answer:
AutoConfig is enabled by default on every application tier node in Oracle E-Business Suite Release 12.
5) What user do I log in as to use AutoConfig in a typical multi-node system?
Answer:
For nodes running Windows, there is only one user that owns both the application tier servers and the database server, so you would log in as that user.
For nodes running UNIX (including Linux), if you want to configure the application tier servers, log in as the user that owns the application tier servers (often referred to as the applmgr user). If you want to configure the database server, log in as the user that owns the database server (often referred to as the oracle user). Note that the applmgr user and the oracle user can be the same user, or different users.
6) What does the term "<Context_Name>" mean?
Answer:
The "<Context_Name>" is the logical name for your context repository. The default value for <Context_Name> is <SID>_<hostname>.
7) What is the environment variable $INST_TOP?
Answer:
New in Release 12, the Instance Top ($INST_TOP) is the central location for all the instance-specific information. The location is pointed to by the context variable s_config_home.
8) What are the basic components of AutoConfig?
Answer:
9) What are the different AutoConfig scripts and what do they do?
Answer:
The scripts are listed in the following table.
Note: .sh scripts are for UNIX users and .cmd scripts are for Windows users.
1) What is the naming convention for the application tier context file?
Answer:
The default name for the context file is <CONTEXT_NAME>.xml.
2) How can I make changes to a context file?
Answer:
In Oracle Applications Manager (OAM), navigate to Site Map. Click on AutoConfig. Click on Edit Parameters to edit the relevant context file.
Attention: Manually editing a context file is not supported. Many context variables have dependencies between each other. The OAM AutoConfig resolves all these dependencies when changing the value of a variable. Manually editing the context file could bring the data into an inconsistent state.
3) Can I use adbldxml.pl to generate context files in Release 12?
Answer:
The adbldxml.pl utility can be used to generate the context file on the database tier only. It is commonly used when migrating AutoConfig to a database tier not created using Rapid Install or when upgrading a database tier from Applications 11i to EBusiness Suite Release 12. This utility is not supported on the applications tier.
4) How do I recover the Applications context file if it is lost or deleted accidentally?
Answer:
The Applications context file can be retrieved by running the adclonectx.pl script.
To retrieve the applications tier context file,
The above command can be used only when the <INST_TOP> is still intact. In case the <INST_TOP> has also been lost accidentally, the applications tier context file may be retrieved as follows:
To retrieve the database tier context file,
1) When should I run AutoConfig?
Answer:
You should run AutoConfig in the following cases:
2) Which files and profile options are changed when I run AutoConfig?
Answer:
Run the adchkcfg utility to get an HTML report that lists all the files and profile options that get changed when you run AutoConfig.
For instructions on how to run the adchkcfg utility and a discussion about the report that the utility generates, refer to Section 5.3.
3) Where is the log file located that AutoConfig creates?
Answer:
The log file that AutoConfig creates is located at:
On the application tier:
<INST_TOP>/admin/log/<MMDDhhmm>/adconfig.log
On the database tier:
<RDBMS ORACLE_HOME>/appsutil/log/<CONTEXT_NAME>/<MMDDhhmm>/adconfig.log
where: <MMDDhhmm> = (month, day, hour, and minute of the AutoConfig run)
4) Which directories based on the <Context_Name> will AutoConfig create?
Answer:
AutoConfig creates the following directories based on the <CONTEXT_NAME>:
perl <COMMON_TOP>/clone/bin/adclonectx.pl retrieve
perl <ORACLE_HOME>/appsutil/clone/bin/adclonectx.pl retrieve
perl <ORACLE_HOME>/appsutil/clone/bin/adclonectx.pl retrieve
Instance Top
: <INSTALL_BASE>/inst/apps/<CONTEXT_NAME>
5) What is the location of control scripts that are used to start the services?
Answer:
The control scripts for starting/stopping the services are located at <INST_TOP>/admin/scripts. This location is also pointed by an environment variable $ADMIN_SCRIPTS_HOME.
6) How can I roll back an AutoConfig session?
Answer:
All backup configuration files from each AutoConfig session are stored in:
On the application tier:
<INST_TOP>/admin/out/<MMDDhhmm>
On the database tier:
<RDBMS ORACLE_HOME>/appsutil/out/<CONTEXT_NAME>/<MMDDhhmm>
where: <MMDDhhmm> = (month, day, hour, and minute of the AutoConfig run)
You can run restore.sh (UNIX) or restore.cmd (Windows) to roll back an AutoConfig session.
1) How do I preserve customizations to an AutoConfig-maintained environment?
Answer:
Refer to Section 4 for details on how to implement customizations.
2) What are customizable templates?
Answer:
These are templates to which customizations can be added and recognized by AutoConfig.
3) What are non-customizable templates?
Answer:
These are templates that do not support customizations. Any customizations done on these templates are not recognized by AutoConfig.
4) How can I determine whether a template is customizable or non-customizable?
Answer:
If a keyword "LOCK" is present at the end of the file entry in the respective driver, then it is a non-customizable template. If the "LOCK" keyword is not seen, then that template can be customized.
For example:
fnd admin/template apps_conf_1013.tmp INSTE8 <s_ora_config_home>/10.1.3/Apache/Apache/conf apps.conf 600 LOCK
Therefore, apps_conf_1013.tmp is a non-customizable template.
5) What is the mechanism for sending the Applications user name and password to a new custom template?
Answer:
In Release 11i, the APPS user name and password were passed as command line arguments to the calling script. In Release 12, the APPS user name and password are passed via standard input instead, to increase security.
6) What do I do when a patch or Oracle documentation instructs me to manually modify an AutoConfig-maintained file?
Answer:
Log a Service Request with Oracle Support to request incorporation of the modification in the relevant AutoConfig template.
1) How do I obtain the latest updates to AutoConfig?
Answer:
Updates to AutoConfig are delivered in TXK product patches, which deliver the patches for ADX and TXK templates as well as for AutoConfig. Patch 9386653 delivers the latest TXK product patches for 12.0.X. Patch 8919489 contains the latest TXK product patches for 12.1.X customers).
2) How do I apply the latest AutoConfig patch?
Answer:
In order to apply the latest AutoConfig Template patch (Patch 9386653 for 12.0.X customers and Patch 8919489 for 12.1.X customers), perform the steps in the order listed in Section 3. This patch is required only for 12.0.X.
1) What is the Net Services Topology Data Model?
Answer:
The Net Services Topology Data Model stores the entire topological information about a single Oracle E-Business Suite instance. The data model stores information about each node in the Oracle E-Business Suite instance, which is then used to generate Net Service configuration files such as tnsnames.ora.
The Net Services Topology Data Model stores the following information:
AutoConfig seeds the data model with relevant data.
2) When is the Net Services Topology Data Model seeded?
Answer:
The Net Services Topology Data Model is seeded (updated) every time you run AutoConfig on the respective tier. Every time you run AutoConfig on the database tier, the relevant data is seeded for the database tier. Every time you run AutoConfig on the application tier, the relevant data is seeded for the application tier.
3) What mechanism is used to generate the tnsnames.ora file?
Answer:
AutoConfig runs the adgentns.pl script that dynamically generates the tnsnames.ora file. This script was introduced to support enhanced configuration scenarios such as Oracle RAC.
4) How do I seed the Net Services Topology Data Model?
Answer:
The Net Services Topology Data Model can be seeded by running AutoConfig on the database tier, then the application tier. Also see Question 2.
5) When do I need to deregister a database tier or an application tier?
Answer:
You have to deregister a tier from the Net Services Topology Data Model in one of the following cases:
You should deregister the tier before the tier is decommissioned.
6) How do I deregister an application tier from the Net Services Topology Data Model?
Answer:
To deregister the current application tier from the Net Services Topology Data Model, invoke the following command:
perl <AD_TOP>/bin/adgentns.pl contextfile=<CONTEXT_FILE> -removeserver
7) How do I deregister a database tier from the Net Services Topology Data Model?
Answer:
To deregister the current database tier from the Net Services Topology Data Model, invoke the following command:
perl <RDBMS ORACLE_HOME>/appsutil/bin/adgentns.pl contextfile=<CONTEXT_FILE> -removeserver
8) When do I need to purge the complete Net Services Topology Data Model?
Answer:
You need to purge the complete Net Services Topology Data Model when the database name is changed as a result of a database upgrade or migration.
9) How do I purge the complete Net Services Topology Data Model?
Answer:
To purge the complete Net Services Topology Data Model, run the following command:
perl <AD_TOP>/bin/adgentns.pl contextfile=<CONTEXT_FILE> -removesystem
10) How do I seed the Net Services Topology Data Model after purging it?
Answer:
See Question 4 above, "How do I seed the Net Services Topology Data Model?".
11) I want to deregister an application tier or a database tier from the Net Services Topology Data Model. I can't use the adgentns.pl script because I already decommissioned the tier or removed the context file. How can I deregister the tier?
Answer:
In this case you can use the PL/SQL API. Perform the following steps in the order listed:
select DB_NAME from FND_DATABASES;
12) I want to purge the complete Net Services Topology Data Model. I can't use the adgentns.pl script because I removed the relevant context file. How can I purge the Data Model?
Answer:
In this case, you can use the PL/SQL API. Perform the following steps in the order listed:
select DB_NAME from FND_DATABASES;
Run the following PL/SQL block:
begin
FND_NET_SERVICES.remove_system(SYSTEM_NAME);
end;
/
commit;
/
13) How do I configure AutoConfig to generate failover aliases?
Answer:
To generate the failover aliases, update the database tier context variable s_alt_service_instances.
You can specify a comma-separated description list of "servicename:instance" to manage connect time failover. For example:
'SERVICE_NAME:INSTANCE_NAME1,SERVICE_NAME:INSTANCE_NAME2'
This will generate a TNS alias in the tnsnames.ora file that fails over to INSTANCE_NAME1 when the current instance is not available. If INSTANCE_NAME1 is not available, failover is to INSTANCE_NAME2 instead.
To set up the failover listing, perform the following steps in the order listed:
These steps will generate the failover TNS alias <INSTANCE_NAME>_FO with a description list as configured in s_alt_service_instances. Before you can use these aliases, you will have to set the two task variable s_tool_twotask.
Check the question "For which database versions can I define failover aliases" for information about the availability of failover aliases on different database versions.
Note: The generated alias <INSTANCE_NAME>_FO can only be used for failover.
14) For which database versions can I define failover aliases?
Answer:
You can generate failover aliases for all database versions that are 8.1.7.4 or higher. Oracle E-Business Suite Release 12 uses the Oracle 10g Release 2 database.
1) Does the database server need to be available during the AutoConfig run?
Answer:
Yes. The database server and database listener must remain available when AutoConfig is run on either the database tier or application tier.
2) What is the purpose of the context variable s_apps_jdbc_connect_descriptor?
Answer:
s_apps_jdbc_connect_descriptor stores the connect string used for all JDBC connections. The value for this context variable is generated by AutoConfig.
When the value is reset (empty), AutoConfig tries to connect to the database using the s_dbSid, s_dbhost and s_dbport context variables. See next question.
3) When do I need to reset (empty) the context variable s_apps_jdbc_connect_descriptor?
Answer:
You should reset the value for s_apps_jdbc_connect_descriptor to an empty value (" "), when one of the following values changes:
4) Does AutoConfig support spfiles?
Answer:
AutoConfig currently does not support spfiles. It only supports the init.ora file.
5) What steps do I need to follow to maintain my database connectivity when I migrate my database from one host/platform to another?
Answer:
Perform the steps in the order listed:
6) I migrated my database tier to a new host/platform, but the application tier still tries to connect to the old database. How can I fix this situation, so that the application tier connects to the new database?
Answer:
Your old database tier is still registered in the Net Services Topology Data Model. Perform the following steps:
1) My Release 12 instance is configured with Oracle RAC. Now I want to migrate to AutoConfig. How do I achieve that?
Answer:
AutoConfig is already enabled by default in your Release 12 instance.
2) My Release 12 instance does not currently utilize Oracle RAC. I want to migrate to Oracle RAC using AutoConfig. What steps should I follow?
Answer:
To migrate an Oracle E-Business Suite Release 12 instance to Oracle RAC, follow the instructions described in Metalink Note 388577.1.
3) I applied all the required Oracle RAC patches, but my TWO_TASK variables still point to the instance aliases. How can I point them to the load-balanced aliases?
Answer:
Update your application tier context file and set the values of the following context variables to the desired load balanced alias names:
4)My RAC environment uses an spfile. How do I ensure that my spfile is in sync with the init.ora files?
Answer:
On a RAC environment, AutoConfig creates the following init.ora files containing values for database parameters:
Perform the following steps to sync up the spfile with the init.ora files.
1) What is the correct setting for MSDEVDIR?
Answer:
Use the path to the VC directory from your Visual Studio 2005 installation. The vcvars32.bat file exists under the VC\bin directory.
For example: MSDEVDIR = C:\VS2005\VC where vcvars32.bat exists under C:\VS2005\VC\bin
2) Can I use the perl shipped by MKS to run adconfig.cmd on Windows?
Answer:
No. The perl shipped by MKS is not certified. Use the perl available in your Applications environment (AS for the application tier, 10g for the database tier) or download ActivePerl from perl.com. Perl has to be in the PATH in order for AutoConfig to run.
1) What should I do if my AutoConfig script exits with non-zero status?
Answer:
If AutoConfig exits with non-zero status, open the adconfig.log and check for the reported errors:
Note: Refer to the question "Where are the log files that AutoConfig creates?" for the location of the log file.
The content for AutoConfig driver files is well defined. Every file you want AutoConfig to instantiate needs an entry in the AutoConfig driver file. Entries consist of <TAB> or <SPACE> separated fields. The following table lists the fields and their contents.
For example, in the case of the driver file entry:
AutoConfig would instantiate the template file <MY_TOP>/admin/template/myTemplate.txt and generate the configuration file myConfiguration.txt into the Portal directory (the Portal directory is instantiated from <s_pt>) with 660 (read and write for user and group) permission. No supplementary information is available at present.
By default, the PERL5LIB environment variable is set to the following on the Database tier:
But for an instance with 11gR2 Database, the perl version on the database tier is '5.10.0'. So the variable 'PERL5LIB' on the 11gR2 database tier needs to be set as follows:
my admin/template myTemplate.txt INSTE8 <s_pt> myConfiguration.txt 660
<ORACLE_HOME>/perl/lib/5.8.3:<ORACLE_HOME>/perl/site_perl/5.8.3:<ORACLE_HOME>/appsutil/perl
export PERL5LIB=<ORACLE_HOME>/perl/lib/5.10.0:<ORACLE_HOME>/perl/site_perl/5.10.0:<ORACLE_HOME>/appsutil/perl