Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: seperate external procedure listeners for different SIDs

RE: seperate external procedure listeners for different SIDs

From: John Flack <>
Date: Thu, 08 Jan 2004 07:44:29 -0800
Message-ID: <>

Thanks - I wasn't sure if each session got its own instance of extproc. The SID associated with an EXTPROC is not the same as a SID associated with a database. I have several databases running under the same Oracle Home, and they are sharing the same external procedure listener - which references that Oracle Home. If you are running databases under several versions of Oracle, you may be able to use the listener for the latest version of Oracle you have to listen for all of them, and use its extproc. But it is probably a better idea to run separate listeners for databases and external procedures, each with its own LISTENER.ORA and TNSNAMES.ORA under its own Oracle Home. Just be careful about how the TNS administration directory is set.

-----Original Message-----
Sent: Thursday, January 08, 2004 9:54 AM To: Multiple recipients of list ORACLE-L


        On the contrary. You do need to associate an EXTPROC with a particular SID otherwise running different versions of Oracle on the same box blows the EXTPROC to hell. You'll notice that in listener.ora there needs to be a line "SID_NAME=" and in TNSNAMES.ora there is a "Connect_data = (sid = " as well. Now a particular database instance/version can only have one extproc_connect_data entry, but with multiple versions each has it's own, and sure enough each has to have a particular sid otherwise they mess each other up.

        BTW: Your description of the process is dead on, with one exception. An instance of extproc is connected to one and only one session in the calling database. If two sessions each need to call an external procedure then each gets it's own instance of extproc. Also if you need to update the dll or so file you have to get everyone to let go of extproc, namely by disconnecting from the database. Although it's like a database link, closing the links does not release extproc. Also using TCP to connect to extproc is not an Oracle recommended method, opens a door to hackers.

Dick Goulet
Senior Oracle DBA
Oracle Certified 8i DBA


Please see the official ORACLE-L FAQ:

Author: John Flack

Fat City Network Services    -- 858-538-5051
San Diego, California        -- Mailing list and web hosting services
To REMOVE yourself from this mailing list, send an E-Mail message to: (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Thu Jan 08 2004 - 09:44:29 CST

Original text of this message