Multiple Oracle Clients
The installs are MSI captures and someone elses work entirely..leading to even more [:'(][:'(].
Problem1:
From previous posts I see that if you require multiple Oracle clients simultaneously, then NO package should create the ORACLE_HOME environment variable.
If it is set it will force the installed Oracle apps to use the directory specified in this variable as the definitive oracle home.
But our 10g MSI does set this variable to point to its own installation dir.
Should I remove this ORACLE HOME env. var?
Problem2:
Also - 9i creates an ORACLE_HOMES registry key under HKLM\SOFTWARE\ORACLE.. this location is common to all other Oracle client installs.
So is this pretty much the same as the env. variable? i.e. doesn't this key also try and force other installs to use this specific Oracle home too?
Or is this a necessary registry setting i.e. do you need one oracle as the default home always?
If the registry key remains as it is (pointing to the 9i install directory) - how do other Oracle applications find their desired Oracle client? By using the PATH env. variable? or by using the oracle.key file contents?
I've packaged multiple Oracles before myself..kept no notes of course so am scratching my head once more.. aagh
Any help is much appreciated.
Thanks.
0 Comments
[ + ] Show comments
Answers (7)
Please log in to answer
Posted by:
aogilmor
16 years ago
I've had success doing multiple vendor installs using Oracle's installer - not a repackage.
More experience packagers have gotten around the multple Oracle_Home problem using scripting. Look in the archive in this forum for some clues. I haven't had the chance to try it out yet.
What problem are you having? I've found the best way to check if Oracle works AT ALL is to do a tnsping directly from the command prompt of the version you want to test, and ping a known good Oracle instance.
More experience packagers have gotten around the multple Oracle_Home problem using scripting. Look in the archive in this forum for some clues. I haven't had the chance to try it out yet.
What problem are you having? I've found the best way to check if Oracle works AT ALL is to do a tnsping directly from the command prompt of the version you want to test, and ping a known good Oracle instance.
Posted by:
jmcfadyen
16 years ago
if you go down repackaging path you need to do this.
change all registry entries from
HOME0 to HOME[ORACLEID]
ID0 to HOME[ORACLEID]
You need to lookup the LastHomes and HomeCounter values during install, increment by one and set that value to ORACLEID and ORACLE_HOMECOUNTER
the oracle.key file is independant to each installation and needs to contain the matching Oracle_Home counter for that specific installation. I did this with a CA like this from memory
SetOracke.Key, 1058, SystemFolder, echo > HKLM\Software\Oracle_Homes\Oracle[ORACLEID]
If you do a search for OracleMSIFix.vbs and OracleRegfix.vbs you should be able to find to vbs scripts I wrote to automate the whole process with Windows Installer automation object.
change all registry entries from
HOME0 to HOME[ORACLEID]
ID0 to HOME[ORACLEID]
You need to lookup the LastHomes and HomeCounter values during install, increment by one and set that value to ORACLEID and ORACLE_HOMECOUNTER
the oracle.key file is independant to each installation and needs to contain the matching Oracle_Home counter for that specific installation. I did this with a CA like this from memory
SetOracke.Key, 1058, SystemFolder, echo > HKLM\Software\Oracle_Homes\Oracle[ORACLEID]
If you do a search for OracleMSIFix.vbs and OracleRegfix.vbs you should be able to find to vbs scripts I wrote to automate the whole process with Windows Installer automation object.
Posted by:
sh79
16 years ago
Posted by:
jmcfadyen
16 years ago
Posted by:
sh79
16 years ago
I've dug up a document that described the process used on one of my previous contracts.
It does look like the ORACLE_HOME environment variable forces existing Oracle installations to use its value as the definitive HOME.
Example, lets say an Oracle 9i application is launched. It sees
The ORACLE_HOME env var could be considered a reserved word in Oracle - if it says look in this location, then thats what all the Oracle applications will do - it would seem that it has precedence over the registry.
One last thing - most of the registry keys created in
I've asked an Oracle DBA to confirm this but unfortunately he couldn't.. all I know is that in the past when I did package Oracle applications for coexistence this is what I did and never had any problems.. and guess what.. that doc I found describing the Oracle packaging process - well I wrote it.. if only I had found it sooner [8|]
Thanks guys for you help.
Posted by:
shweta_kar
16 years ago
Hi,
The registries under HKLM\software\oracle should not be deleted.
Rather you should make the app work such a way that it detect the Home and increment it
with the help of system search and Custom action and also replacing for e.g
OracleHome0 with OracleHome[Homeindex] as mentioned above wherever necessary also the Homepath location need to be set using SET Property CustomAction say HOMEPATH=C:\oracle\ora92 and replace it with the property defined.
Regards,
Shweta
The registries under HKLM\software\oracle should not be deleted.
Rather you should make the app work such a way that it detect the Home and increment it
with the help of system search and Custom action and also replacing for e.g
OracleHome0 with OracleHome[Homeindex] as mentioned above wherever necessary also the Homepath location need to be set using SET Property CustomAction say HOMEPATH=C:\oracle\ora92 and replace it with the property defined.
Regards,
Shweta
Posted by:
sh79
16 years ago
You are focusing on the assignment of an OracleHome.. but this is not being queried.
I understand the necessity of having separate oracle homes and can appreciate the many different methods of designating a home for new oracle applications.
Neither am I talking about deleting all the registry information under HKLM\software\oracle but rather just deleting the registry 'names' and 'data' under this key.
i.e. leave all the sub-keys as they are, but delete the registry names and data on the RHS of the key HKLM\software\oracle
Since they are common to different Oracles it is obvious there will be a clash. The last Oracle application that gets installed will overwrite these keys with its own values - this has nothing to do with the correct assignment of the Oracle homes. That is a separate matter entirely.
Anyway, as I've pointed out, I've deleted these keys numerous times and have not had a functional issue with Oracle to date.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.