cancel
Showing results for 
Search instead for 
Did you mean: 

ldd dboraslib.sl shows old /oracle/client/92x_64/lib/libclntsh.sl.9.0

Former Member
0 Kudos

Dear all,

I've finished Oracle Upgrade to 10.2.0.2 to our QTS and DEV systems.

It was SAP R/3 4.6C with 4.6D_EXT supp. pack 2271, HP-UX 11.23 and Oracle 9.2.0.5.

For DEV (DR2) system after the upgrade I had problems with DB13: <b>"/usr/lib/pa20_64/dld.sl Unable to find library...."</b>

In the .dbenv_host.csh file for dr2adm I set:

....

setenv dbms_type ORA

setenv dbs_ora_tnsname $DBSID

setenv ORACLE_PSRV DR2

setenv ORACLE_SID $DBSID

setenv ORACLE_HOME /oracle/DR2/102_64

setenv ORACLE_BASE /oracle

setenv ORA_NLS33 /oracle/client/9207/ocommon/nls/admin/data

setenv NLS_LANG AMERICAN_AMERICA.WE8DEC

setenv SAPDATA_HOME /oracle/DR2

setenv DIR_LIBRARY /usr/sap/DR2/SYS/exe/run

....

For the user dr2adm .sapenv_host.csh:

...

setenv SHLIB_PATH /usr/sap/DR2/SYS/exe/run:/oracle/client/10x_64/instantclient

......

When I tried :

<b>ldd dboraslib.sl</b>

libclntsh.sl.9.0 => <b>/oracle/client/92x_64/</b>lib/libclntsh.sl.9.0

libwtc9.sl => /oracle/client/92x_64/lib/libwtc9.sl

libc.2 => /lib/pa20_64/libc.2

libwtc9.sl => /oracle/DR2/920_64/lib/libwtc9.sl

librt.2 => /lib/pa20_64/librt.2

libpthread.1 => /lib/pa20_64/libpthread.1

libnss_dns.1 => /lib/pa20_64/libnss_dns.1

libdl.1 => /lib/pa20_64/libdl.1

libm.2 => /lib/pa20_64/libm.2

libc.2 => /lib/pa20_64/libc.2

libcl.2 => /lib/pa20_64/libcl.2

libdl.1 => /usr/lib/pa20_64/libdl.1

libdl.1 => /usr/lib/pa20_64/libdl.1

For oradr2:

......

setenv dbms_type ORA

setenv dbs_ora_tnsname $DBSID

setenv ORACLE_PSRV DR2

setenv ORACLE_SID $DBSID

setenv ORACLE_HOME /oracle/DR2/102_64

setenv ORACLE_BASE /oracle

setenv ORA_NLS10 /oracle/DR2/102_64/nls/data

setenv NLS_LANG AMERICAN_AMERICA.WE8DEC

setenv SAPDATA_HOME /oracle/DR2

setenv SAPARCH /oracle/DR2/sapbackup

setenv DIR_LIBRARY /usr/sap/DR2/SYS/exe/run

.....

For sapenv_host.csh for user oradr2:

....

setenv SHLIB_PATH $ORACLE_HOME/lib:/usr/sap/DR2/SYS/exe/run

.....

What is the problem, why ldd reads the old /oracle/client?

Many regards,

Ruzica

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Why do you call

/oracle/client/92x_64/lib/libclntsh.sl.9.0

old oracle client?

If you are upgraded ONLY the database, the kernel will continue using the <b>same</b> oracle client.

In Unix, the oracle client that the SAP Kernel will use ( dboraslib ) depends on the kernel version <b>not</b> on the RDBMS version.

And the path is hardcoded on the 46D_EXT version.

For a full explanation, take a look at the note <a href="http://service.sap.com/sap/support/notes/521230">521230 - FAQ: Client software 9i or earlier on UNIX</a>

Where this is explained.

Regards

Fidel

Former Member
0 Kudos

Hi,

I thought that after the upgrade, regarding the env parameter SHLIB_PATH=/usr/sap/DR2/SYS/exe/run:/oracle/client/10x_64/instantclient

the ldd should point to <b>...10x_64/instantclient</b>

As part of the upgrade I've set the above mentioned from the <b>Note 819829 Oracle Database 10g Instant Client 10.x on Unix</b>:

<i>Check if the SAP DBSL can load the Oracle client software correctly. Go up to the exe directory as user <sapsid>adm and run the ldd command on the dboraslib.so

%ldd dboraslib.so

and observe if the Oracle client libclntsh.so.10.1 is loaded correctly from /oracle/client/10x_64/instantclient.

In general, you have to make sure that LD_LIBRARY_PATH (<i>SHLIB_PATH for HP-UX</i>) does not contain a directory of another ORACLE_HOME (server or client) or of another instant client of another release in a position before /oracle/client/10x_64/instantclient.</i>

So, there is no problem if the ldd dboraslib.sl point to the "old" oracle client?

OK my kernel is stil 46D_EXT as you said,

Thanks,

Many regards,

Ruzica

Former Member
0 Kudos

Hello Ruzika,

The client in unix is complicated.

Now you have kernel 4.6D_EXT.

After upgrading the DB ( no change on the kernel ) you will have the following situation:

1) kernel 46D_EXT. This is dynamically linked against the oracle client 9.2 and it will search the oracle client library on /oracle/client/92x_64/lib.

The old environment variables remain the same, no change at this point.

2) BR* tools 700, they need the oracle client 10g, not the 9.2 and they look for this library on /oracle/client/10x_64/instantclient.

For the shared library 10g to be able to find the "shared data", it is necessary to set the SHLIB_PATH.

But both are "independent" as they look for two different libraries, libclntsh.sl.9.0 and libclntsh.sl.10.1

Note 819829 point 5 ( the one you are quoting ) indicates:

<i>5. This point is valid only for SAP systems running kernel 7.00 (or above)! </i>

It does not applies to your situation.

In your case, it is OK ( if you have not changed any other environment variable )

You can check with R3trans -x

Former Member
0 Kudos

Hi Fidel,

Now it seams clear enough for me.

Thanks again.

Many regards,

Ruzica

Answers (0)