Re: External Procedures and Linux

  • From: "Faan DeSwardt" <faan@xxxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 25 Jun 2004 16:27:39 -0700

Dick,

Can you confirm that the extproc demo that came with your release is working
correctly?  It is located in "$ORACLE_HOME/plsql/demo" and the instructions
for setting this up is in the file 'extproc.sql'.  Also have a look at Note#
47484.1 for more detailed demo setup instructions.  I know these
instructions are for Oracle 8 but the general steps of setting up the
extproc demo are still applicable.

If the demo works then there is something wrong in your custom extproc code
and if not then there is probably something wrong with your extproc
infrastructure setup e.g. listener.ora, tnsnames.ora, etc.  Check out the
suggestions in Note# 70638.1 for common issues with the infrastructure if
this is where things are failing.

I also suggest that you compile your custom extproc programs with the
following command 'make -f demo_rdbms.mk {extproc_callback |
extproc_nocallback} SHARED_LIBNAME=myextproc_name.so OBJS=myextproc_name.o'
from where your extproc source file i.e. 'myextproc_name.c' is located
versus your own homegrown syntax as this is more version proof and makes
sure that you get all the directives and libraries correct.

Are you using Oracle Names?  If so then make sure that the extproc does not
get resolved via onames but only by the local tnsnames.ora.

Also important to note that when dealing with extproc connections on the
same host as where the DB is located that there is a big difference between
connecting with 'USERID/PWD' and 'USERID/PWD@SID'.  The difference being
that in the first case the current shell 'TNS_ADMIN' env variable is used to
resolve the extproc connect string where in the latter the 'TNS_ADMIN' value
that was in effect when the DB started up is used.  This can really mess you
around when troubleshooting these little rascals.

Also make sure you don't later run into the 'ORA-28595' with 9i (especially
when migrating extproc programs from 8) where you now have to specify the
'EXTPROC_DLLS' directive to allow access to external programs located
elsewhere than "$ORACLE_HOME/bin".  Check Note# 198523.1 for more details.

Good Luck!
Faan
----- Original Message ----- 
From: "Goulet, Dick" <DGoulet@xxxxxxxx>
To: <oracle-l@xxxxxxxxxxxxx>
Sent: Friday, June 25, 2004 9:47 AM
Subject: RE: External Procedures and Linux


> Steve,
>
> Sorry that did not work.  Actually looks like the database engine is =
> not trying to make contact with the external procedure listener.  If you =
> run "lsnrctl serv" the external sid shows 0 attempts and 0 rejects.  =
> Real strange.
>
> Dick Goulet
> Senior Oracle DBA
> Oracle Certified 8i DBA
>
> -----Original Message-----
> From: Orr, Steve [mailto:sorr@xxxxxxxxxxxx]
> Sent: Friday, June 25, 2004 12:13 PM
> To: oracle-l@xxxxxxxxxxxxx
> Subject: RE: External Procedures and Linux
>
>
> Looks good... The only difference is that in the listener.ora we have
> the full path for the PROGRAM parameter, e. g.=3D20
>
> PROGRAM =3D3D /u01/app/oracle/product/9.2/bin/extproc=3D20
>
> I wouldn't think it would make a difference so barking up the wrong tree
> and probably an HPUX to Linux compile issue. You may need to set some
> obtuse compiler flag or more likely there's a not too obvious library
> dependency. For example, according to our C guru dweeb, we often need to
> include libpthread even if we're not doing threads. Sounds like a C bit
> twiddling exercise is in the making.=3D20
>
>
>
> -----Original Message-----
> From: oracle-l-bounce@xxxxxxxxxxxxx
> [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Goulet, Dick
> Sent: Friday, June 25, 2004 9:19 AM
> To: oracle-l@xxxxxxxxxxxxx
> Subject: RE: External Procedures and Linux
>
>
> Steve,
>
> TNSNAMES:
>
> EXTPROC_CONNECTION_DATA.WORLD =3D3D3D
> (DESCRIPTION =3D3D3D
>    (ADDRESS =3D3D3D(PROTOCOL =3D3D3D IPC)(KEY =3D3D3D extkey))
>    (CONNECT_DATA =3D3D3D (SID =3D3D3D 12))
> )
>
> Listener:
>
> LISTENER =3D3D3D
>   (DESCRIPTION_LIST =3D3D3D
>     (DESCRIPTION =3D3D3D
>       (ADDRESS =3D3D3D (PROTOCOL =3D3D3D IPC)(KEY =3D3D3D 02))
>     )
>     (DESCRIPTION =3D3D3D
>        (ADDRESS=3D3D3D(PROTOCOL =3D3D3D IPC)(KEY =3D3D3D extkey))
>     )
>     (DESCRIPTION =3D3D3D
>       (ADDRESS =3D3D3D (PROTOCOL =3D3D3D TCP)(HOST =3D3D3D pelton)(PORT =
> =3D3D3D =3D
> 1521))
>     )
>   )
>
> SID_LIST_LISTENER =3D3D3D
>   (SID_LIST =3D3D3D
>     (SID_DESC =3D3D3D
>       (SDU =3D3D3D 4096)
>       (TDU =3D3D3D 4096)
>       (GLOBAL_DBNAME =3D3D3D pelton2.world)
>       (SID_NAME =3D3D3D 02)
>       (ORACLE_HOME =3D3D3D /ora1/oracle/ora92)
>       (PRESPAWN_MAX =3D3D3D 10)
>     )
>     (SID_DESC=3D3D3D
>     (SID_NAME =3D3D3D 12)
> (ORACLE_HOME =3D3D3D /ora1/oracle/ora92)
> (PROGRAM =3D3D3D extproc)
>     )
>   )
>
> Dick Goulet
> Senior Oracle DBA
> Oracle Certified 8i DBA
>
> -----Original Message-----
> From: Orr, Steve [mailto:sorr@xxxxxxxxxxxx]
> Sent: Friday, June 25, 2004 10:27 AM
> To: oracle-l@xxxxxxxxxxxxx
> Subject: RE: External Procedures and Linux
>
>
> We had an external C program running on O 8.1.7 / RH 7.2 but now we're
> on O 9.2 / AS 3.0 and we're not using it any more. I recall there were
> problems getting it working. Can you post the salient entries in your
> tnsnames.ora and listener.ora so I can compare them?=3D3D3D20
>
>
>
> -----Original Message-----
> From: oracle-l-bounce@xxxxxxxxxxxxx
> [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Goulet, Dick
> Sent: Friday, June 25, 2004 8:17 AM
> To: Oracle DBA List (E-mail)
> Subject: External Procedures and Linux
>
>
> Is there anyone running Oracle 9.2.0.4 on Red Hat AS 3.0 and using =3D
> =3D3D3D3D
> external procedure calls?  I'm having one heck of a time with it & am =
> =3D
> =3D3D
> =3D3D3D =3D3D3D3D sure I messed something simple up.  I use them a lot =
> on =3D
> HP-UX,
> but I =3D3D =3D3D3D3D just can't get Linux running, always end up with:
>
> select oracheck_functions.ext_proc_up from dual
>        *
> ERROR at line 1:
> ORA-28575: unable to open RPC connection to external procedure agent
> ORA-06512: at "SYSTEM.ORACHECK_FUNCTIONS", line 23
> ORA-06512: at line 1
>
> Looks like a listener or tnsnames config problem, but those are =
> =3D3D3D3D
> identical to what I use on HP.  Any ideas??
>
> Dick Goulet
> Senior Oracle DBA
> Oracle Certified 8i DBA
> ----------------------------------------------------------------
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> ----------------------------------------------------------------
> To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx put
> 'unsubscribe' in the subject line.
> --
> Archives are at //www.freelists.org/archives/oracle-l/
> FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
> -----------------------------------------------------------------
>
> ----------------------------------------------------------------
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> ----------------------------------------------------------------
> To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx put
> 'unsubscribe' in the subject line.
> --
> Archives are at //www.freelists.org/archives/oracle-l/
> FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
> -----------------------------------------------------------------
> ----------------------------------------------------------------
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> ----------------------------------------------------------------
> To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx put
> 'unsubscribe' in the subject line.
> --
> Archives are at //www.freelists.org/archives/oracle-l/
> FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
> -----------------------------------------------------------------
>
> ----------------------------------------------------------------
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> ----------------------------------------------------------------
> To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
> put 'unsubscribe' in the subject line.
> --
> Archives are at //www.freelists.org/archives/oracle-l/
> FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
> -----------------------------------------------------------------
> ----------------------------------------------------------------
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> ----------------------------------------------------------------
> To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
> put 'unsubscribe' in the subject line.
> --
> Archives are at //www.freelists.org/archives/oracle-l/
> FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
> -----------------------------------------------------------------

----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: