AnsweredAssumed Answered

unable to open RPC connection to external procedure agent

Question asked by nbesli on Mar 30, 2015
Latest reply on Mar 31, 2015 by nbesli

Hi I know that there is a lot of discussion about this error. But when i tried to apply the sollution presented, i still get the same error.

 

Here is my problem definition.

 

I have

-2.6.18-371.6.1.el5 GNU/Linux 64 bit

-Oracle 11.2.0

-Arcgis 10.2

installed.

 

I create a geodatabase using arccatolog software, and after that i import some tables to this geodatabase. However when i try to use some functions of this geodatabase such as st_astext i get "unable to open RPC connection to external procedure agent" error. The complete error list is given below.

 

ORA-28575: unable to open RPC connection to external procedure agent

ORA-06512: at "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 67

ORA-06512: at "SDE.ST_GEOMETRY_OPERATORS", line 118

28575. 00000 -  "unable to open RPC connection to external procedure agent"

 

I checked for this error and found out that oracle requires some configurations for calling functions from extarnal libraries.In this case the library is libst_shapelib.so. I tried to make some configrurations in accordance to oracle documantation. The content of listener.ora, tnsnames.ora and extrproc.ora is given below.

 

listener.ora

ID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /u01/app/oracle11/product/11.2.0/dbhome_1)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (GLOBAL_DBNAME = PGEO01)

      (ORACLE_HOME = /u01/app/oracle11/product/11.2.0/dbhome_1)

      (SID_NAME = PGEO01)

    )

    (SID_DESC =

      (SID_NAME = PLSExtProcSDE)

      (ORACLE_HOME = /u01/app/oracle11/product/11.2.0/dbhome_1)

      (PROGRAM = extproc)

        (ENVS="EXTPROC_DLLS=/geocode/arcgis/server/lib/libst_shapelib.so")

    )

    (SID_DESC =

      (SID_NAME = xxxxxx)

      (ORACLE_HOME = /u01/app/oracle11/product/11.2.0/dbhome_1)

      (PROGRAM = dg4odbc)

      (ENVS="LD_LIBRARY_PATH=/u01/app/oracle11/product/11.2.0/dbhome_1/bin")

    )

 

 

  )

LISTENER =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xxx.xx)(PORT = 1525))

    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROCSDE1528))

  )

 

 

#----ADDED BY TNSLSNR 19-FEB-2014 16:45:13---

PASSWORDS_LISTENER = xxxxxxxxxxx

#--------------------------------------------

 

tnsnames.ora

PGEO01=

   (DESCRIPTION=

      (ADDRESS=

         (PROTOCOL=TCP)

         (HOST=xxx.xx.xxx.xxx)

         (PORT=1525)

      )

      (CONNECT_DATA=

         (SERVER = DEDICATED)

         (SERVICE_NAME=PGEO01)

      )

   )

 

 

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(Key = EXTPROCSDE1528))

    )

    (CONNECT_DATA =

      (SID =PLSExtProcSDE)

      (PRESENTATION = RO)

    )

  )

 

 

 

 

PGSQL  =

  (DESCRIPTION=

    (ADDRESS=(PROTOCOL=tcp)(HOST=xxx.xx.xxx.xxx)(PORT=1525))

    (CONNECT_DATA = (SID = xxxxx))

    (HS = OK)

  )

 

extproc.ora

-I tried all options below:

SET EXTPROC_DLLS=

SET EXTPROC_DLLS=ANY

SET EXTPROC_DLLS=ONLY:/dddd/arcgis/server/DatabaseSupport/Oracle/Linux64/lib

 

 

After changing this files. I got the same error. As error indicates that there are 3 possibilities for this error.

- Something wrong in tnsnames or listener. ora files

-Incorrect keys or not matching

-Network issues

-Or the library is corrupted.

 

I still think that i dis some mistake in the tnsnames and listener . ora file configuration. But i do not know where is the mistake can you help me .

 

one final note:

 

my lsnrctl status output is:

 

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xxx.xx.xx.xxx)(PORT=1525)))

Services Summary...

Service "+ASM" has 1 instance(s).

  Instance "+ASM", status READY, has 1 handler(s) for this service...

Service "PGEO01" has 1 instance(s).

  Instance "PGEO01", status READY, has 1 handler(s) for this service...

Service "PGEO01XDB" has 1 instance(s).

  Instance "PGEO01", status READY, has 1 handler(s) for this service...

The command completed successfully

 

Thank You for your Time

Outcomes