This is a short one. Yesterday I was asked to marry an EBS autoconfig feature to an Oracle 11G Cluster infrastructure. In particular the client’s intention was to use srvctl to manage Instances and at the same time keeping DB side Network related configuration managed by autoconfig.
The biggest challenge I faced during that work was how to change default TNS_ADMIN location for DB Network configuration files. The default location is $ORACLE_HOME/network/admin/${CONTEXT_NAME}. This makes the location unique on each of the DB hosts. There is no way you can point Oracle 11G Cluster to Network configuration files located in the unique locations per instance.
There are several possible solutions. However, I used the following:
Edit $ORACLE_HOME/appsutil/template/adcvmdb.xml file and change line
%s_db_oh%%/%network%/%admin%/%%s_contextname%
to
%s_db_oh%%/%network%/%admin
The is the only way I found (in the given time-frame) to change TNS_ADMIN location to the default location used by Oracle Cluster to manage Listeners and sourcing tns configuration.
I would be glad to hear about any other solutions you guys are using out there.
OTHER:
— This is 11i EBS integrating with 11GR2 Oracle Cluster
— The client wants use a custom listener running under OS user running EBS DB Instances
— The following command could be used to point Oracle Cluster to network configuration files location (common for whole cluster)
srvctl setenv database -d SANDERP -t TNS_ADMIN=
srvctl setenv listener -l LISTENER_SANDERP -t TNS_ADMIN=
— I have considered using official customization approach rutting that file in “custom” directory. However in that particular case it didn’t work. It may be due the fact that it is DB side configuration or 11i issue.
— I tried to change many related CONTEXT_FILE values and didn’t get expected results. Therefore ended up with that customization.
Have a great week :)
Yury
7 Comments. Leave new
I used more simple (but better) approach to create symbolic links for files tnsnames/listener in $ORACLE_HOME/network/admin to $ORACLE_HOME/network/admin/{$CONTEXT_NAME}.
Hey Raivis!
Thank you for following the blog.
>> I used more simple (but better) approach
Well. :)
I would suggest you to see Tom Kyte’s presentation “The Best Way”
There may be different circumstances and one method could be better then others in different environments.
Thank you for sharing your solution
Yury
Hi Yury
If its 11G R2 cluster . Listener runs from grid home along with scan listeners .
As that listeners run listenes to both scan and VIP’s . We configured 11i application server hosts tnsnames.ora to connect via VIP’s and other clients via scan host names.
We configured srvctl TNS_ADMIN to point to grid home so crsctl is able to start/stop cluster database. we dont use listener configuration generated by autoconfig in db oracle home at all.
Thank you KG for sharing your experience.
I think that requirement are different in different environments. I am sure some readers find your solution more appropriate than other solutions.
I may decide to go with it during my next project if it will be more appropriate to an environment.
Yury
Yuri –
I had the same challenge.
I just pointed the {$CONTEXT_NAME}/listener to the $ORACLE_HOME/network/admin
and then registered the listener using srvctl
I preferred to delete the grid LISTENER.
More of the same info in – Metalink Id ID 823586.1
Hope this helps.
Regds,
Dipti
Thank you Dipti for sharing your solution.
It looks like Oracle Apps officially supports SCAN configuration.
[…] A: Thank you Anand for the great question. Since certain ATG autoconfig templates version Oracle officially supports SCAN. Please see the following note: Using Oracle 11g Release 2 Real Application Clusters with Oracle E-Business Suite Release 12 [ID 823587.1] If you for one reason or another are not on the right ATG level you may be interested to have a look on the following my blog post. EBS DBA: Integrating EBS with Oracle 11G Cluster Infrastructure (TNS_ADMIN). […]