I have more information, I did a chatr to check differences between working server oracle binary and the non working.
I see two differences, in the server which LD_PRELOAD doesnt cause problem oracle binary has these two attributes:
explicit unloading disabled linkage table protection disabled
Does anyone know how can I change these attributes with chatr?
LD_PRELOAD allows you to hijack dynamicly loaded library functions. If sqlplus calls function X, then if this function X is exported from your /sbl/xxx.sl then this function X is called from /sbl/xxx.sl even if it exists in some other dll against which the executable is linked (like libclntsh* libraries).
Run: nm /sbl/xxx.sl to see which functions may be hijacked there, this could give some more indication what's going on.
And of course, the library's word-size has to match word-size of the executable. If the word sizes are different, you have to recompile the library.
------------------------------ *From:* oracle-l-bounce@xxxxxxxxxxxxx [mailto: oracle-l-bounce@xxxxxxxxxxxxx] *On Behalf Of *LS Cheng *Sent:* Thursday, August 31, 2006 04:45
*To:* Jesse, Rich *Cc:* oracle-l *Subject:* Re: LD_PRELOAD problem
However when I unset LD_PRELOAD sqlplus works but of course the application specific program fails.