Home » Infrastructure » Unix » extproc and multiple database instances (Oracle 10g *nix)
extproc and multiple database instances [message #277589] |
Tue, 30 October 2007 13:01  |
kregan77
Messages: 21 Registered: January 2007
|
Junior Member |
|
|
Hello, we have multiple instances (SIDS) installed on one machine - each of which needs to use extproc to make calls to some shared libraries in the file system.
Could someone point me to some documentation or explain to me how libraries are resolved by the extproc process?
For example say I have two database instances SID1 and SID2 installed on one machine. Both instances need to reference an external library - libA.so for example - but in different directories.
SID1 - all libraries:
/pathSID1/libA.so
SID2 - all libraries
/pathSID2/libA.so
Also assume that libA.so links in another library:
ldd libA.so: libB.so (which also resides in the instance specific directories e.g. pathSID1/libB.so, pathSID2/libB.so).
How does extproc resolve the location of the dependent library libB.so - typically the operating system will use LD_LIBRARY_PATH to find libraries - in the case of extrproc this is a problem since we only have one oracle user so he can only have one LD_LIBRARY_PATH.
We need to make sure that SID1->libA.so will link in the proper dependent library /pathSID1/libB.so and not the other one /pathSID2/libB.so.... and vice versa.
On one of our databases I am finding that the oracle environment is not setup for it to work normally - i.e.:
ldd /pathSID1/libA.so:
libB.so => <file not found>
because the LD_LIBRARY_PATH does not contain /pathSID1 - however, when extproc calls libA.so it works fine - how is extproc resolving this??
Hoepfully this makes some sense - if unclear let me know what i can do to clarify. Any information would be greatly appreciated.
THanks a lot,
Kevin
|
|
|
|
|
|
|
|
|
Re: extproc and multiple database instances [message #465813 is a reply to message #424263] |
Thu, 15 July 2010 11:41   |
chalkie
Messages: 3 Registered: July 2010 Location: Lincolnshire
|
Junior Member |
|
|
Great info, thanks. I'm using this same mechanism to run a standard listener including the default EXTPROC_CONNECTION_DATA,
and a separate listener running a second EXTPROC_CONNECTION_DATA_CHALKIE,
where the 2nd listener is running under a different user profile to the main listener.
Actually I'm doing this in windows not Unix, but I'll bet its just the same from that point-of-view.
Best regards,
Chalkie
p.s. It doesn't NEED to be EXTPROC_CONNECTION_DATA_<sid>. My 2 listeners are being called from the same DB sid, so I just made a name up.
[Updated on: Thu, 15 July 2010 11:43] Report message to a moderator
|
|
|
|
Re: extproc and multiple database instances [message #465972 is a reply to message #465873] |
Fri, 16 July 2010 03:19   |
chalkie
Messages: 3 Registered: July 2010 Location: Lincolnshire
|
Junior Member |
|
|
Sorry-I wasn't clear enough..
I mean that the second listener is started with different credentials to the first. The first listener has the logon credentials of "OraListener" (an account I have created) which is quite restricted, and the second listener runs as my account (for debugging something I'm working on) but obvisously I then don't grant execute on the library to anyone except myself (and only sys has create library priv). The environment in which the extproc process runs is inherited from its parent (the listener), and any subsequent processes under extproc also inherit the environment in turn. For example if I have the extproc create a shell, and then execute "set" (without the quotes), then through the first listener connection I get one set of environment variables, and through the second listener connection I would get a different set of environment variables, both appropriate to the user profile under which the listener was started.
p.s. My apologies for contravening a posting rule. Please could you clarify where I went wrong. I followed you link and I found myself no wiser, except for having put line-feeds after sentences. I've fixed that here.
[Updated on: Fri, 16 July 2010 03:25] Report message to a moderator
|
|
|
|
|
|
Goto Forum:
Current Time: Mon Apr 28 06:17:43 CDT 2025
|