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 -> AIX and extproc

AIX and extproc

From: <markus_at_laurin.mz.rhein-main.de>
Date: Tue, 17 Aug 1999 08:56:54 GMT
Message-ID: <7pb84j$jp8$1@nnrp1.deja.com>


Hello,

I try to use the feature of calling extern programs out of the oracle database on a AIX machine. This doesn't function.

My first question: is the extproc feature supported on the following platform:

OS: AIX 4.2.1.0
Database: Oracle8 Enterprise Edition Release 8.0.4.1.0

If this combination is ok, then my next question: I have built a shared library and changed the tnsnames.ora and listener.ora accordingly (as far as I know). The lsnrctl tells me the following at the command "status"

Services Summary...

  EKAPE         has 1 service handler(s)
  FAISR         has 1 service handler(s)
  IRISR         has 1 service handler(s)
  MAISR         has 1 service handler(s)
  PLAKE         has 1 service handler(s)
  PLAKR         has 1 service handler(s)
  REPOS         has 1 service handler(s)
  extproc_agent         has 1 service handler(s)

You see here that there is one service handler for the extproc_agent up and running.

Now I call a function from my shared library and I get the error message ORA-28575.

SQL> begin
  2 outputstr('/tmp/test.txt','a test');   3 end;
  4 /
begin
*
FEHLER in Zeile 1:
ORA-28575: RPC-Verbindung mit externer Prozudurverarbeitung kann nicht geöffnet werden
ORA-06512: in "PLAKE.OUTPUTSTR", Zeile 0 ORA-06512: in Zeile 2

This is my registration of the plsql-procdure:

Procedure outputstr (

   path varchar2,
   message varchar2)
AS EXTERNAL LIBRARY c_utils
NAME "OutputString" -- quotes preserve lower case LANGUAGE C
PARAMETERS (path STRING, message STRING);

I also created a library c_utils:

select * from user_libraries;

has the following result:

LIBRARY_NAME  FILE_SPEC                  D STATUS
------------- -------------------------- - -------
C_UTILS       /home/psaltis/c/libbla.so  Y VALID

with

-rwxr-xr-x 1 psaltis staff 5789 Aug 10 15:28 libbla.so

in the correct directory.

And here comes the essential parts from the listener.ora

LISTENER =
   (ADDRESS_LIST =

      (ADDRESS=

(COMMUNITY=DEUBA_TCP)
(PROTOCOL=TCP)
(HOST=sppcs1.rcms.eur.deuba.com)
(PORT=1521)
) (ADDRESS = (PROTOCOL=ipc) (KEY=extproc_key) )

   )

STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
LOG_DIRECTORY_LISTENER = /home/oracle
LOG_FILE_LISTENER = listener.log

SID_LIST_LISTENER =
   (SID_LIST =

     (SID_DESC =

(SID_NAME = PLAKE)
(ORACLE_HOME=/home/oracle/product/8.0.4)
(PRESPAWN_MAX = 10)
) (SID_DESC = (SID_NAME=extproc_agent) (ORACLE_HOME=/home/oracle/product/8.0.4) (PROGRAM=extproc) )

...

And the tnsnames.ora

...
extproc_connection_data = (DESCRIPTION =

                              (ADDRESS = (PROTOCOL=IPC)
                                         (KEY=extproc_key)
                              )
                              (CONNECT_DATA = (SID = extproc_agent)
                          )

...

So what am I missing? Why is the rpc not funtioning?

Thank you

Markus Rehm-Hunke

Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't. Received on Tue Aug 17 1999 - 03:56:54 CDT

Original text of this message

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