Kbase 21966: How ORACLE DataServer Looks for Shared Libraries - libclntsh
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  11/1/2002 |
|
SUMMARY:
This Solution applies to Progress Version 9.1x and ORACLE 8.x. It addresses certain environment variables' effect on how the ORACLE DataServer looks for shared libraries on 32-bit and 64-bit platforms.
EXPLANATION:
Starting with Version 9.1B, Progress ships 64-bit version products. ORACLE also has a 64-bit product which has either or both 32-bit and 64-bit libclntsh shipped with it.
SOLUTION:
Here is the scheme for how Progress attempts to load the ORACLE client
library.
ORASOPATHNAME is an environment variable that can be used to
point to a particular libclntsh.so (sl).
For 32-bit platforms, Progress first checks $ORASOPATHNAME, then $ORACLE_HOME/lib/libclntsh.so (or libclntsh.sl for hpux), then /usr/lib/libclntsh.so (or sl).
If it's a 64-bit platform, Progress first checks $ORASOPATHNAME, then
$ORACLE_HOME/lib64/libclntsh.so (or sl) and finally /usr/lib/libclntsh.so (or sl).
In most cases, it's best to leave ORASOPATHNAME unset, and not to put
a soft link in /usr/lib/; thus have ORACLE_HOME dictate where the shared library is.
Important note:
With release of Progress 9.1D02, Oracle 9i client is officially supported.
On Solaris 64 and HP-UX 64 bit plaforms, ORASOPATHNAME must be set to
point to ORACLE 64 bit client library libclntsh.xx. In standard ORACLE
9i 64 installation, it is in $ORACLE_HOME/lib directory. Failure to
set the above environment variable and dependign on ORACLE_HOME will result in memory violation upon connecting to ORACLE.