Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: unable to open RPC connection to external procedure agent

Re: unable to open RPC connection to external procedure agent

From: Rauf Sarwar <rsarwar_at_ifsna.com>
Date: 26 Jun 2002 19:52:30 -0700
Message-ID: <c2d690f2.0206261852.6a0c3ee4@posting.google.com>


"Khalid Eidoo" <rogers_at_rogers.com> wrote in message news:<YxnS8.3462$ZM3.1207894_at_news20.bellglobal.com>...
> Hi Sybrand,
>
> Thanks for the suggestion. I made the change to the
> extproc_connection_data, however, when I restarted the listener, I was still
> unable to perform callouts. My external procedure failed with exactly the
> same error when called.
>
> Essentially I am trying to enable the execution of a particular OS command.
> The example I am following can be found here:
> http://home.clara.net/dwotton/dba/oracle_extn_rtn3.htm.
>
> When I do a ./lsnrctl status, the following information is returned:
>
> STATUS of the LISTENER
> ------------------------
> Alias FORSYS
> Version TNSLSNR for Linux: Version 9.0.1.0.0 - Production
> Start Date 26-JUN-2002 14:00:47
> Uptime 0 days 0 hr. 14 min. 19 sec
> Trace Level off
> Security OFF
> SNMP OFF
> Listener Parameter File /home/oracle/config/9.0.1/listener.ora
> Listener Log File /opt/oracle/product/9.0.1/network/log/forsys.log
> Listening Endpoints Summary...
> (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=forsys.terida.com)(PORT=1521)))
> (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))
> Services Summary...
> Service "MODOSE" has 1 instance(s).
> Instance "forsys", status READY, has 1 handler(s) for this service...
> Service "extproc" has 1 instance(s).
> Instance "extproc", status UNKNOWN, has 1 handler(s) for this service...
> Service "forsys.terida.com" has 2 instance(s).
> Instance "forsys", status UNKNOWN, has 1 handler(s) for this service...
> Instance "forsys", status READY, has 3 handler(s) for this service...
> The command completed successfully
> ----------------------------------------------------------------------------
> --
>
> "Sybrand Bakker" <postbus_at_sybrandb.demon.nl> wrote in message
> news:uhjv44n62c9e87_at_corp.supernews.com...
> >
> > "Khalid Eidoo" <rogers_at_rogers.com> wrote in message
> > news:3nmS8.3420$ZM3.1186037_at_news20.bellglobal.com...
> > > I've written a little C application that i'm calling as an external
> > > procedure. I've successfully compiled and loaded this procedure, however
> I
> > > am having a heck of a time trying to execute this procedure. I keep
> getting
> > > the error ORA-28575: unable to open RPC connection to external procedure
> > > agent, which I from what I understand is a listener configuration
> problem.
> > > Can someone please help me configure my listener.ora and tnsnames.ora
> files
> > > so that I can perform trusted callouts?
> > >
> > > My ora files are below.
> > >
> > > Thanks,
> > >
> > > khalid.
> > >
> > > # LISTENER.ORA Network Configuration File:
> > > /home/oracle/config/9.0.1/listener.ora
> > > # Generated by Oracle configuration tools.
> > >
> > > FORSYS =
> > > (DESCRIPTION_LIST =
> > > (DESCRIPTION =
> > > (ADDRESS = (PROTOCOL = TCP)(HOST = forsys.terida.com)(PORT =
> 1521))
> > > )
> > > (DESCRIPTION =
> > > (ADDRESS = (PROTOCOL = IPC)(KEY = blah))
> > > )
> > > )
> > >
> > > SAVE_CONFIG_ON_STOP_FORSYS = TRUE
> > >
> > > SID_LIST_FORSYS =
> > > (SID_LIST =
> > > (SID_DESC =
> > > (GLOBAL_DBNAME = forsys.terida.com)
> > > (ORACLE_HOME = /opt/oracle/product/9.0.1)
> > > (SID_NAME = forsys))
> > > (SID_DESC =
> > > (SID_NAME=extproc)(ORACLE_HOME=/opt/oracle/product/9.0.1)
> > > (PROGRAM=extproc))
> > > )
> > >
> > >
> > > # TNSNAMES.ORA Network Configuration File:
> > > /home/oracle/config/9.0.1/tnsnames.ora
> > > # Generated by Oracle configuration tools.
> > >
> > > FORSYS =
> > > (DESCRIPTION =
> > > (ADDRESS_LIST =
> > > (ADDRESS = (PROTOCOL = TCP)(HOST = terida.forsys.com)(PORT =
> 1521))
> > > (ADDRESS = (PROTOCOL = IPC)(Key = EXTPROC))
> > > )
> > > (CONNECT_DATA =
> > > (SERVICE_NAME = forsys)
> > > )
> > > )
> > > extproc_connection_data =
> > > (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=blah))
> > > (CONNECT_DATA=(SID=extproc)))
> > >
> > >
> > >
> > >
> > >
> >
> > KEY = blah needs to be key=extproc in extproc_connection_data
> >
> > Hth
> >
> >
> > --
> > Sybrand Bakker
> > Senior Oracle DBA
> >
> > to reply remove '-verwijderdit' from my e-mail address
> >
> >
> >
> >
> >

KEY=EXTPROC should be same in both listener.ora and tnsnames.ora files.
So change,
> > > (DESCRIPTION =
> > > (ADDRESS = (PROTOCOL = IPC)(KEY = blah))
to
> > > (DESCRIPTION =
> > > (ADDRESS = (PROTOCOL = IPC)(KEY = extproc)) in listener file
and change
> > > extproc_connection_data =
> > > (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=blah))
> > > (CONNECT_DATA=(SID=extproc)))

to
> > > extproc_connection_data =
> > > (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc))
> > > (CONNECT_DATA=(SID=extproc))) in tnsnames.ora file

also try it by taking this line out from FORSYS tnsnames.ora entry,
> > > FORSYS =
> > > (DESCRIPTION =
> > > (ADDRESS_LIST =
> > > (ADDRESS = (PROTOCOL = TCP)(HOST = terida.forsys.com)(PORT =
> 1521))
> > > ***** TAKE OUT (ADDRESS = (PROTOCOL = IPC)(Key = EXTPROC)) TAKE OUT ****
> > > )
> > > (CONNECT_DATA =
> > > (SERVICE_NAME = forsys)
> > > )
> > > )

OR Option 2 is instead of using existing listener, create a new listener process while keeping the tnsnames.ora entry same as extproc_connection_data,

MY_EXTPROC_LISTENER =

	(ADDRESS_LIST = 
		(ADDRESS= (PROTOCOL=ipc)
			  (KEY = extproc)
		)
	)


SID_LIST_MY_EXTPROC_LISTENER = 
	(SID_LIST = 
		(SID_DESC = 
		(SID_NAME = extproc)
		(ORACLE_HOME = /opt/oracle/product/9.0.1)
		(PROGRAM=extproc)
		)
	)

reload listener.

HTH
//Rauf Sarwar Received on Wed Jun 26 2002 - 21:52:30 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US