I have oracle 11.2.0 installed on linux. And I have arcgis server 10.2 on the same machine. I created an geodatabase. But when i try the sde functions like sde.st_asText i got:
-ORA-28575: unable to open RPC connection to external procedure agent
-ORA-06512: at SDE.ST_GEOMETRY_SHAPELIB_PKG
-ORA-06512: at SDE.ST_GEOMETRY_OPERATORS
I googled it and figured it out that there is some changes to be made in the listener.ora and tnsnames.ora files. So i did.
here is the changes that i made in the listener.ora file:
LISTENER=(DESCRIPTION = (ADDRESS=(PROTOCOL= TCP) (HOST= xxx.xxx.xxx.xxx)(PORT=1525)(ADDRESS=(PROTOCOL=IPC)(KEY=extproc)))
(SID_DESC=
(SID_NAME =PLSExtProc)
(ORACLE_HOME= /mypath/dbhome_1)(PROGRAM =extproc)(ENV=”EXTPROC_DLLS=/mypath/libst_shapelib.so”))
After restarting the listener. I tried the same query above. But the error remained same. So i checked the listeners status with lsnrctl – status:
Service “PLSExtProc” has 1 instance(s)
Instance “PLSExtProc”, status UNKNOWN, has 1 handler(s) for this service..
I searched for reason for UNKNOWN status part. And i figured out that the listener should not be added by manual intervention on listener.ora file. It should be added dynamically with srvctl addlistener command.
Here is the command that i am going to run:
srvctl add listener -o /mypath/dbhome_1 -1 “TCP:1522/IPC:extproc”
Before trying this, i have couple of questions:
Shall i remove both the changes that i made. or just first one. Because as i understand, the command shall create the first part. Do i have to write another command or just left it as it is.
LISTENER=(DESCRIPTION = (ADDRESS=(PROTOCOL= TCP) (HOST= xxx.xxx.xxx.xxx)(PORT=1525)(ADDRESS=(PROTOCOL=IPC)(KEY=extproc)))
(SID_DESC=
(SID_NAME =PLSExtProc)
(ORACLE_HOME= /mypath/dbhome_1)(PROGRAM =extproc)(ENV=”EXTPROC_DLLS=/mypath/libst_shapelib.so”))
In oracle documantation for 11.2.0 it says; for the external libraries configuration in the extproc.ora file is enough. But i tried it it does not work and give the same error why is that.
Thank you.