Enable AutoConfig On Applications Database Tier ORACLE EBS
Enable AutoConfig On Applications Database Tier ORACLE EBS
Kishore
http:/www.appsdba.info
Enable AutoConfig on Applications Database Tier
Steps to Perform On All Oracle RAC Nodes
1> Execute $AD_TOP/bin/admkappsutil.pl on the applications tier to generate an
appsutil.zip file for the database tier.
2> Copy (e.g. via ftp) the appsutil.zip file to the database tier in the 11gR2_ORACLE_HOME
On linux1
On linux2
3> Unzip the appsutil.zip file to create the appsutil directory in the 11gR2_ORACLE_HOME
unzip appsutil (on linux1 and linux2)
Author A.Kishore
http:/www.appsdba.info
4> Copy the jre directory from SOURCE_ORACLE_HOME>/appsutil to
11gR2_ORACLE_HOME>/appsutil.
On linux1
On linux2
export ORACLE_HOME =
/d01/oracle/app/oracle/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH = $ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
ORACLE_SID = RACDB1
export PATH= $PATH:$ORACLE_HOME/bin;
export TNS_ADMIN = $ORACLE_HOME/network/admin/racdb1_linux1
Author A.Kishore
http:/www.appsdba.info
8> Copy the tnsnames.ora file from $ORACLE_HOME/network/admin to the $TNS_ADMIN
directory, and edit the aliases for SID=<new RAC instance name>.
9. As the APPS user, run the following command on the primary node to de-register the
current configuration:
SQL>exec fnd_conc_clone.setup_clean;
cd /d01/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/RACDB_linux1
Author A.Kishore
http:/www.appsdba.info
Author A.Kishore
http:/www.appsdba.info
Author A.Kishore
http:/www.appsdba.info
11. Set the value of s_virtual host_name to point to the virtual hostname for the database
grep "s_virtual"
/d01/oracle/app/oracle/product/11.2.0/dbhome_1/appsutil/RACDB1_linux1.xml
<host oa_var="s_virtual_hostname">linux1-vip</host>
From the 11gR2 ORACLE_HOME/appsutil/bin directory, execute AutoConfig on the database tier
by running the adconfig.pl script
On linux1
cd /d01/oracle/app/oracle/product/11.2.0/dbhome_1/appsutil/bin
perl adconfig.pl
/d01/oracle/app/oracle/product/11.2.0/dbhome_1/appsutil/RACDB1_linux1.xml
Problem 1
Executable : /d01/oracle/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly
ERRORCODE = 1 ERRORCODE_END
Solution:
cd $ORACLE_HOME/oracore/zoneinfo
ln -s timezone_11.dat timezone.dat
ln -s timezlrg_11.dat timezlrg.dat
Problem -2
Enter value for 1: Enter value for 2: Enter value for 3: ERROR:
Author A.Kishore
http:/www.appsdba.info
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
Solution
SQL> show parameter control_files
NAME
TYPE
VALUE
------------------------------------ ----------- -----------------------------control_files
string
+DATA/racdb/controlfile/current.303.735182119
vi $ORACLE_HOME/dbs/RACDB1_APPS_BASE.ora
control_files=+DATA/racdb/controlfile/current.303.735182119
Solution :
1. The afdbprf.sh script fails with the following error while enabling autoconfig on database tier :
Author A.Kishore
http:/www.appsdba.info
(Solution b) :
(I) Register local_listener dynamically for each of the database tier nodes :
$ sqlplus /nolog
SQL> conn sys / as sysdba
SQL> alter system set
local_listener="(ADDRESS=(PROTOCOL=TCP)(HOST=linux1.oracle.com)(PORT=1531))"
scope=both sid='RACDB1';
SQL> alter system register;
SQL> exit;
(II) Next, reload the current listener which is LISTENER_<hostname> on each of the database
nodes :
$ lsnrctl reload RACDB1
(I) Finally, clean the existing Oracle Network Topology Model from the database by running
FND_CONC_CLONE.SETUP_CLEAN procedure as apps user :
SQL> conn apps/<apps_password>
SQL> exec fnd_conc_clone.setup_clean;
SQL> commit;
SQL> exit;
(IV) Run Autoconfig on both RAC nodes.
Author A.Kishore
http:/www.appsdba.info
On linux2
perl adconfig.pl
/d01/oracle/app/oracle/product/11.2.0/dbhome_1/appsutil/RACDB2_linux2.xml
RACDB=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=linux1.oracle.com)(PORT=1531))
(CONNECT_DATA=
(SERVICE_NAME=RACDB)
(INSTANCE_NAME=RACDB1)
)
)
3. Confirm you are able to connect to one of the instances in the Oracle RAC environment.
Author A.Kishore
http:/www.appsdba.info
4. Edit the context variable jdbc_url, adding the instance name to the connect_data
parameter.
<jdbc_url
oa_var="s_apps_jdbc_connect_descriptor">jdbc:oracle:thin:@(DESCRIPTION=(ADDRES
S_LIST=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS=(PROTOCOL=tcp)(HOST=ra
cerp1-vip.oracle.com)(PORT=1531))(ADDRESS=(PROTOCOL=tcp)(HOST=racerp2vip.oracle.com)(PORT=1531)))(CONNECT_DATA=(SERVICE_NAME=RACDB)))</jdbc_url
>
5. Run AutoConfig using the command:
$ $AD_TOP/bin/adconfig.sh
contextfile=$INST_TOP/appl/admin/<context_file>.
For more information on AutoConfig, see My Oracle Support Knowledge Document
387859.1, Using AutoConfig to Manage System Configurations with Oracle E-Business
Suite Release 12.
cd $ADMIN_SCRIPTS_HOME
Author A.Kishore
http:/www.appsdba.info
8. Verify the tnsnames.ora and listener.ora files. Copies of both are located in the
$INST_TOP/ora/10.1.2/network/admin directory and
$INST_TOP/ora/10.1.3/network/admin directory. In these files, ensure that the correct
TNS aliases have been generated for load balance and failover, and that all the aliases
are defined using the virtual hostnames.
9. Verify the dbc file located at $FND_SECURE. Ensure that the parameter APPS_JDBC_URL
is configured with all instances in the environment, and that load_balance is set to YES.
Author A.Kishore
http:/www.appsdba.info
Author A.Kishore
http:/www.appsdba.info
$ $AD_TOP/bin/adconfig.sh
contextfile=$INST_TOP/appl/admin/<context_file>
Author A.Kishore
http:/www.appsdba.info
5. Restart the Applications processes, using the new scripts generated by AutoConfig.
6. Ensure that value of the profile option "Application Database ID" is set to dbc file name
generated in $FND_SECURE.
Note: If you are adding a new node to the application tier, repeat the above steps 1-6
for setting up load balancing on the new application tier node.
Shutdown process
Shutdown applications
cd $ADMIN_SCRIPTS_HOME
sh adstpall.sh apps/apps
cd /d01/oracle/app/11.2.0/grid/bin/
[oracle@linux1 bin]$ crsctl check crs
By default, the Global Services Daemon (GSD) is not started on the cluster. To start GSD, change
directory to the <CRS_HOME> and issue the following commands:
Author A.Kishore
http:/www.appsdba.info
Author A.Kishore
http:/www.appsdba.info
Using Oracle 11g Release 2 Real Application Clusters with Oracle E-Business Suite Release 12 (Doc
ID 823587.1)
Author A.Kishore
http:/www.appsdba.info
Executable : /d01/oracle/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly
ERRORCODE = 1 ERRORCODE_END
soluton
cd $ORACLE_HOME/oracore/zoneinfo
ln -s timezone_11.dat timezone.dat
ln -s timezlrg_11.dat timezlrg.dat
Hi,
Check This...on Metalink.
Setup SCAN listener and Clients to use SCAN listener to connect to 11gR2 RAC using SCAN.
How to Setup SCAN Listener and Client for TAF and Load Balancing [Video] [ID 1188736.1]
This video is fantastic.
Below Video - Setup SCAN and Configure SCAN Listener. Client Configuration for TAF and Load Balancing (29:00)
https://support.oracle.com/CSP/main/article?cmd=show&type=ATT&id=1188736.1:scan_listener&inline=1
To full support the SCAN, all clients must be 11g R2.
http://gjilevski.wordpress.com/2009/12/13/rac-enabling-ebs-12-1-1/
Author A.Kishore
http:/www.appsdba.info
Document TitleTroubleshooting Autoconfig issues with Oracle Applications RAC
Databases (Doc ID 756050.1)
Modified Date LabelModified Modified Date26-DEC-2008 Document Type LabelType Document
TypeTROUBLESHOOTING Status PUBLISHED(EXTERNAL) Priority 3
To Bottom
In this Document
Purpose
Last Review Date
Troubleshooting Details
Section 1 : Known Issues
Section : 2 Information required by Support
References
Applies to:
Oracle Applications Technology Stack - Version: 11.5.10.2 to 12.0.6
Information in this document applies to any platform.
Purpose
This troubleshooting note is intended as a guide to determine the cause of autoconfig problems
encountered during enabling autoconfig on database and application tiers after converting
single instance EBS database to RAC.
This Note is NOT a replacement for Note 388577.1 for R12 and from Note 362135.1 for 11i..
Rather this document tries to provide detailed explanation about some of the configuration
steps which in turn helps determine the actual cause of the Autoconfig errors encountered after
RAC conversion.
Troubleshooting Details
Author A.Kishore
http:/www.appsdba.info
initPROD1.ora (from RAC node 1, say icmtest8 having virtual host name icmtest8-vip, having
SID PROD1)
local_listener = PROD1_LOCAL
remote_listener = PROD_REMOTE
initPROD2.ora (from RAC node 2, say icmtest4 having virtual host name icmtest4-vip, having
SID PROD2)
local_listener = PROD2_LOCAL
remote_listener = PROD_REMOTE
The tnsnames.ora on database tier must have following three entries for local and remote
listeners on all RAC nodes. The following example assumes, a two node RAC having virtual host
names icmtest8-vip, icmtest4-vip and SIDs PROD1, PROD2 :
PROD1_LOCAL=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=icmtest8-vip.idc.oracle.com)(PORT=1521))
)
PROD2_LOCAL=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=icmtest4-vip.idc.oracle.com)(PORT=1521))
)
PROD_REMOTE=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=icmtest8-vip.idc.oracle.com)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=icmtest4-vip.idc.oracle.com)(PORT=1521))
Author A.Kishore
http:/www.appsdba.info
)
)
(Solution b) :
(I) Register local_listener dynamically for each of the database tier nodes :
$ sqlplus /nolog
SQL> conn sys / as sysdba
SQL> alter system set local_listener="(ADDRESS=(PROTOCOL=TC
P)(HOST=<host>)(PORT=<port))" scope=both sid='<sid>';
SQL> alter system register;
SQL> exit;
(II) Next, reload the current listener which is LISTENER_<hostname> on each of the database
nodes :
SQL>
SQL>
SQL>
SQL>
conn apps/<apps_password>
exec fnd_conc_clone.setup_clean;
commit;
exit;
Author A.Kishore
http:/www.appsdba.info
(II) Start the listener.
(III) Edit the database tier context file (<SID_Hostname>.xml) located under
$RDBMS_ORACLE_HOME/appsutil via Oracle Application Manager. Modify the following context
variable to set the virtual host name for the database tier nodes :
Context Variable
s_virtual_host_name
Author A.Kishore
http:/www.appsdba.info
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = icmtest8-vip.idc.oracle.com)(PORT = 1521)(IP =
FIRST)))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = icmtest8)(PORT = 1521)(IP = FIRST)))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROCPROD1)))
)
)
Correct listener entry (assuming virtual host name of database tier as icmtest8-vip and SID as
PROD1)
LISTENER_icmtest8 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = icmtest8-vip.idc.oracle.com)(PORT = 1521)(IP =
FIRST)))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = icmtest8)(PORT = 1521)(IP = FIRST)))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROCPROD1)))
)
)
Solution 4:
The cause of this issue is identified as autoconfig uses template ad8ilsnr.ora and not template
adlsnr10RAC.ora. It is because the following two context variables are not correctly set :
s_dbCluster
s_database_type
These context variables must be set as follows :
<cluster_database oa_var="s_dbCluster">TRUE</cluster_database>
<config_option type="database" oa_var="s_database_type">RAC</config_option>
Author A.Kishore
http:/www.appsdba.info
Database Tier Configuration Files
<RDBMS
<RDBMS
<RDBMS
<RDBMS
$ORACLE_HOME>/network/admin/$CONTEXT_NAME/listener.ora
$ORACLE_HOME>/network/admin/$CONTEXT_NAME/tnsnames.ora
$ORACLE_HOME>/appsutil/<$CONTEXT_NAME>.xml
$ORACLE_HOME>/dbs/init<sid>.ora
<$INST_TOP>/ora/10.1.2/network/admin/listener.ora
<$INST_TOP>/ora/10.1.2/network/admin/tnsnames.ora
<$INST_TOP>/appl/admin/<$CONTEXT_NAME>.xml
<$FND_SECURE>/<sid>.dbc
<RDBMS $ORACLE_HOME>/appsutil/log/<$CONTEXT_NAME>/<timestamp>/autoconfig.log
<RDBMS
$ORACLE_HOME>/appsutil/log/<$CONTEXT_NAME>/<timestamp>/NetServiceHandler.log
<$INST_TOP>/admin/log/<timestamp>/autoconfig.log
<$INST_TOP>/admin/log/<timestamp>/NetServiceHandler.log
R12 generates autoconfig.log and NetServiceHandler.log under same <timestamp> folder
under <$INST_TOP>/admin/log .
Release 11i
$ORACLE_HOME>/network/admin/$CONTEXT_NAME/listener.ora
$ORACLE_HOME>/network/admin/$CONTEXT_NAME/tnsnames.ora
$ORACLE_HOME>/appsutil/<$CONTEXT_NAME>.xml
$ORACLE_HOME>/dbs/init<sid>.ora
<$TNS_ADMIN>/listener.ora
<$TNS_ADMIN>/tnsnames.ora
<$APPL_TOP>/admin/<$CONTEXT_NAME>.xml
<$FND_SECURE>/<sid>.dbc
<RDBMS $ORACLE_HOME>/appsutil/log/<$CONTEXT_NAME>/<timestamp>/autoconfig.log
<RDBMS
$ORACLE_HOME>/appsutil/log/<$CONTEXT_NAME>/<timestamp>/NetServiceHandler.log
<$APPL_TOP>/admin/log/<timestamp>/autoconfig.log
<$APPL_TOP>/admin/log/<timestamp>/NetServiceHandler.log
11i generates autoconfig.log and NetServiceHandler.log in two different <timestamp> folders
under <$APPL_TOP>/admin/log.