This content has been marked as final. Show 8 replies
Thanks Srini for the right direction.
According to MOS, these are the general steps
0) ODBC driver
1) listener (in the ORACLE_HOME where the gateway software is installed)
2) tnsnames (in the ORACLE_HOME where the Oracle database software is installed)
3) init<SID>.ora of the hs subsystem (in the ORACLE_HOME where the gateway software is installed)
4) Oracle database
So, If I doesn't install gateway software, just using GI_HOME and RDBMS_HOME, Can I do this
0) ODBC driver
1) listener (in the GI_HOME)
2) tnsnames (in the RDBMS_HOME where the Oracle database software is installed)
3) init<SID>.ora of the hs subsystem (in the RDBMS_HOME, because GI_HOME doesn't have hs/admin directory)
4) Oracle database (dblinks)
Thanks in advance for your time.
There have always been a couple of issues when you use the GI_Home listener. I commonly prefer to install the gateway into its own home as I can then patch the database and the gateway software independently. Sometimes you for example can't apply a database patch when a certain gateway patch is applied as both change the same file. There are also some parameters (inbound connect timeout) that have an impact on the gateway session.
Keep everything related to the gateway (gateway listener and gateway init file) in the gateway Oracle_home - so create a new listener that just spawns the gateway process in the gateway home. You shouldn't mix Gateway and Database homes (like for example using the database listener to spawn the gateway residing in its own home) - it will work in general, but it will be difficult to maintain this environment.
This gateway listener wont be on a cluster stack even has nothing todo with the scan, vip and high avaliability, right?
btw, Do I need to create a new oracle user in order to install and config dg4odbc?
On more thing
My RDBMS_HOME has hs/admin directory and files, are those 64 bit complain?. My platform is RHEL 6.2 64bit with Oracle Clusterware and Rac 64 bit too.
It's not needed to put the gateway listener into the cluster - there's no advantage of doing so:
You connect to a foreign database, so there is for example no select failover capability hence no need to put the gateway into the cluster. If you want to have a high availability solution just set up on each cluster node in its own, dedicated directory the gateway software and specify in the tnsnames.ora within the address section the keyword (failover=yes) similar to:
(ADDRESS = (PROTOCOL = TCP) (HOST = racnode1-vip)(PORT=1521))
(ADDRESS = (PROTOCOL = TCP) (HOST = racnode2-vip)(PORT=1521))
(FAILOVER = yes)
SQL*Net will then check if the node is available and use the other one just in case it is down.
2. Do I need to create a new oracle user in order to install and config dg4odbc? => no need to do so, but you can... you only need to make sure that you always source the env correctly. You can do that using "oraenv" or writing your own shell script or define a dedicated user for the gateway software.
On 64bit platforms you have to install the 64bit Gateway software - when you installed the 64bit Oracle database then you automatically got the 64boit gateway DG4ODBC software installed.
When installing the 64bit Gateway software, please make sure you also have a 64bit ODBC driver and ODBC Driver Manager software installed.