External Procedure Error: Ora-28575
We are trying to set up external procedures in an HP/UX environment. However, we can not seem to get past the following error:
ORA-28575: unable to open RPC connection to external procedure agent
The following is our TNSNAMES.ORA set up:
EXTPROC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = extproc_key))
(CONNECT_DATA =
(SID = extproc_agent)
The following is the listener.ora setup:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ssi2)(PORT = 1521))
(PROTOCOL_STACK =
(PRESENTATION = TTC)
(SESSION = NS)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = extproc_key))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = SDST.world)
(ORACLE_HOME = /u001/app/oracle/product/SDST)
(SID_NAME = SDST)
(SID_DESC =
(SID_NAME = extproc_agent)
(ORACLE_HOME = /u001/app/oracle/product/SDST)
(PROGRAM = extproc)
The following is the SQLNET.ORA setup:
SQLNET.EXPIRE_TIME = 0
NAMES.DIRECTORY_PATH= (TNSNAMES)
Does anyone have any ideas/help??? We're stuck. Thanks!
Hi,
I guess, it is happening in connection point only. Other wise It will give another error "RPC lost connection".
I will give some tips.
1.".so" path should match with oracle library path. For this one, u can query ur system tables and verify.
2. When u create external procedure, be careful. Especially, when u give name of procedure and library. Pls. check this particular part.
Pls. let me know the progress. U can directly contact me through the mails.
With regards,
Boby Jose Thekkanath,
Dharma computers(P) Ltd.,
Bangalore-India.
www.dharma.com
null
Similar Messages
-
External Procedure, Error Oracle-03113
I have configured the database for external procedure: w/ the following:
# TNSNAMES.ORA
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(Key = epsid))
(CONNECT_DATA =
(SID = extproc0)
# LISTENER.ORA
EXTERNAL_PROCEDURE_LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = epsid))
SID_LIST_EXTERNAL_PROCEDURE_LISTENER =
(SID_LIST =
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = extproc0)
(ORACLE_HOME = c:\oracle\ora90)
using the net manager, now when i try to test the extproc_connection_data(service naming) i am getting :
Attempting to connect using userid: xxxxxxx
The test did not succeed.
ORA-03113: end-of-file on communication channel
There may be an error in the fields entered,
or the server may not be ready for a connection.
any help would greatly be appreciated.
rmp.Is your database up? I can get an ORA-3113 when I try to connect to an idle instance.
-
Remote external procedure call ORA-28576
Hi,
I have to call an external procedure (c program) which is in another(remote) host system.
I have created a simple c program and when i call it from the same database host (Oracle 11.2.0.3 in linux 2.6.39) every thing work fine, but when i call it from another database found in a remote host (Oracle 11.2.0.3 HP-UX 11iv3) i receive these error "ORA-28576". The "extproc" program was started by the listener (i can see that in the listener logfile) but then the connection was aborted.
So my question is can i call remote external proc program from a remote host ? if yes how can i do that ? thanks for help
Configuration :
listener.ora
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MYHOST)(PORT = 1521))
SID_LIST_LISTENER =
(SID_LIST=
(SID_DESC= (SID_NAME=callout)
(ORACLE_HOME=/app/oracle/11.2.0.3)
(ENVS = 'EXTPROC_DLLS=/tmp/test.so')
(PROGRAM=extproc)
tnsnames.ora
extproc_connection_data =
(DESCRIPTION =
(ADDRESS = (PROTOCOL=tcp)(host=MYHOST)(port=1521))
(CONNECT_DATA=(SID=callout))
test.c
#include <stdio.h>
int square(int x)
return((x*x) + 1); //adds 1 to the return value
PL/SQL code
CREATE DATABASE LINK agent_link USING 'extproc_connection_data';
CREATE OR REPLACE LIBRARY test_lib IS '/tmp/test.so' AGENT 'agent_link';
CREATE OR REPLACE FUNCTION test_proc (X BINARY_INTEGER) RETURN BINARY_INTEGER
AS
EXTERNAL LIBRARY test_lib
NAME "square"
LANGUAGE C;
CREATE OR REPLACE PROCEDURE EXTPROCTEST (X BINARY_INTEGER)
AS
RetValue BINARY_INTEGER;
BEGIN
RetValue := test_proc (X);
DBMS_OUTPUT.PUT_LINE (RetValue);
END;
SET SERVEROUTPUT ON
EXECUTE EXTPROCTEST(10);Hi,
I found the answare, it seem that for security reason the listener,extproc agent and the instance must be on the same host.
Reference : (http://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_07pls.htm#sthref1051)
>
The database server, the agent process, and the listener process that spawns the agent process must all reside on the same host.
>
>
For security reasons, extproc, by default, loads only DLLs that are in directory $ORACLE_HOME/bin or $ORACLE_HOME/lib. Also, only local sessions—that is, Oracle Database client processes that run on the same system—are allowed to connect to extproc. -
Procedure Erroring: ORA-01858
Hello: Here is the call stack from SQL Plus (9i):
ORA-06512: at "SYS.CALLHIST_CSV", line 147
ORA-01858: a non-numeric character was found where a numeric was expected
ORA-06512: at line 1
I have another procedure similar that runs well. I tried isolating the issue by running the sql solo and the query returns fine but when run in this procedure it errors. Originally I didn't have all the NVL and CAST. I did that to try to compensate for the error plus I need the output file to be in unicode.Thanks!
These are the field types that I thought to look out for (the others are varchars):
NUMBER DATE
CUSTOMER_ID SHIP_DATE
SEQNO STAUS_DATE_TIME
INSTALLER_ID CREATION_DATE
ESCALATION_ID COMPLETION_DATE
PROBLEM_ID
SUBJECT_ID
STATUS_ID
REASON_ID
RESOLUTION_ID
CLASS_ID
CREATE OR REPLACE PROCEDURE CALLHIST_CSV
IS
CURSOR c_data IS
SELECT /*+ USE_HASH ( a b) */
CAST(to_char(NVL(b.start_date_time,'08-MAR-68'),'DD-MON-YY') AS nvarchar2(20)) As actualstart,
CAST(NVL(a.model_desc,' ') As nvarchar2(150)) As ModelDesc, CAST(c.customer_id As nvarchar2(25)) As CustomerID,
CAST(NVL(b.call_id,' ')As nvarchar2(25)) As CallID, CAST(NVL(c.model_number,' ') AS nvarchar2(100)) As ModelNumber,
CAST(NVL(c.date_code,' ')As nvarchar2(20)) As DateCode,
CAST(NVL(c.date_of_purchase,' ') As nvarchar2(20)) As DatePurchased,
CAST(to_char(NVL(o.completion_date,'08-MAR-68'),'DD-MON-YY')As nvarchar2(20)) As actualend,
CAST(NVL(o.order_status,' ') As nvarchar2(1)) As OrderStatus,
CAST(NVL(f.subject_desc,' ') As nvarchar2(150)) As subject, CAST(NVL(g.problem_desc,' ') As nvarchar2(150)) As kategory,
CAST(NVL(h.resolution_desc,' ') As nvarchar2(150)) As Resolution,
CAST(NVL(i.reason_desc,' ') As nvarchar2(150)) As Reason,
decode(e.notes, null, '', 'AGENT NOTES: ' || e.notes) || ' ' || decode(q.notes, null, '', 'QP NOTES: ' || q.notes) As Notes,
CAST(NVL(j.escalation_id, 0) As nvarchar2(2)) as EscalationID,
CAST(NVL(j.escalation_desc, ' ') As nvarchar2(150))as EscalationDesc,
CAST(NVL(k.agent_id,' ') As nvarchar2(25)) As ownerid, CAST(NVL(k.first_name,' ') As nvarchar2(30)) As AgentFirstName,
CAST(NVL(k.last_name,' ') As nvarchar2(50)) As AgentLastName
FROM GENIECS.model a, GENIECS.contact_record b,
GENIECS.product_record c, GENIECS.warranty d,
GENIECS.call_detail e, GENIECS.subject f,
GENIECS.problem g, GENIECS.resolution h, GENIECS.reason i,
GENIECS.escalation j, GENIECS.agent k,
GENIECS.order_record o, GENIECS.qa q
WHERE b.customer_id < 1000
AND b.customer_id = c.customer_id
AND b.model_id = c.model_number
AND b.seqno = c.seqno
AND c.model_number = a.model_number
AND d.model_number = a.model_number
AND e.call_id = b.call_id
AND e.subject_id = f.subject_id
AND e.problem_id = g.problem_id
AND e.resolution_id = h.resolution_id
AND i.reason_id(+) = e.reason_id
AND j.escalation_id(+) = b.escalation_id
AND b.agent_id = k.agent_id
AND b.call_id=o.call_id(+)
AND o.order_id=q.order_id(+)
ORDER BY c.customer_id;
v_file UTL_FILE.FILE_TYPE;
BEGIN
-- | WRITE CONTENTS OF THE LOB TO A FILE |
-- The maximum line length that can be written is 32K in 9i.
v_file := UTL_FILE.FOPEN(location => 'EXTRACT_DIR',
filename => 'callhist_csv.csv',
open_mode => 'w',
max_linesize => 32767);
FOR cur_rec IN c_data LOOP
UTL_FILE.PUT_LINE(v_file,
cur_rec.actualstart || '|' ||
cur_rec.ModelDesc || '|' ||
cur_rec.CustomerID || '|' ||
cur_rec.CallID || '|' ||
cur_rec.ModelNumber || '|' ||
cur_rec.DateCode || '|' ||
cur_rec.DatePurchased || '|' ||
cur_rec.actualend || '|' ||
cur_rec.OrderStatus || '|' ||
cur_rec.subject || '|' ||
cur_rec.kategory || '|' ||
cur_rec.Resolution || '|' ||
cur_rec.Reason || '|' ||
cur_rec.Notes || '|' ||
cur_rec.EscalationID || '|' ||
cur_rec.EscalationDesc || '|' ||
cur_rec.ownerid || '|' ||
cur_rec.AgentFirstName || '|' ||
cur_rec.AgentLastName);
END LOOP;
UTL_FILE.FCLOSE(v_file);
EXCEPTION
WHEN UTL_FILE.INVALID_PATH THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20000, 'File location is invalid.',True);
WHEN UTL_FILE.INVALID_MODE THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20001, 'The open_mode parameter in FOPEN is invalid.',True);
WHEN UTL_FILE.INVALID_FILEHANDLE THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20002, 'File handle is invalid.',True);
WHEN UTL_FILE.INVALID_OPERATION THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20003, 'File could not be opened or operated on as requested.',True);
WHEN UTL_FILE.READ_ERROR THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20004, 'Operating system error occurred during the read operation.',True);
WHEN UTL_FILE.WRITE_ERROR THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20005, 'Operating system error occurred during the write operation.',True);
WHEN UTL_FILE.INTERNAL_ERROR THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20006, 'Unspecified PL/SQL error.',True);
WHEN UTL_FILE.CHARSETMISMATCH THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20007, 'A file is opened using FOPEN_NCHAR, but later I/O ' ||
'operations use nonchar functions such as PUTF or GET_LINE.',True);
WHEN UTL_FILE.FILE_OPEN THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20008, 'The requested operation failed because the file is open.',True);
WHEN UTL_FILE.INVALID_MAXLINESIZE THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20009, 'The MAX_LINESIZE value for FOPEN() is invalid; it should ' ||
'be within the range 1 to 32767.',True);
WHEN UTL_FILE.INVALID_FILENAME THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20010, 'The filename parameter is invalid.',True);
WHEN UTL_FILE.ACCESS_DENIED THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20011, 'Permission to access to the file location is denied.',True);
WHEN UTL_FILE.INVALID_OFFSET THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20012, 'The ABSOLUTE_OFFSET parameter for FSEEK() is invalid; ' ||
'it should be greater than 0 and less than the total ' ||
'number of bytes in the file.',True);
WHEN UTL_FILE.DELETE_FAILED THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20013, 'The requested file delete operation failed.',True);
WHEN UTL_FILE.RENAME_FAILED THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20014, 'The requested file rename operation failed.',True);
WHEN OTHERS THEN
UTL_FILE.FCLOSE(v_file);
RAISE_APPLICATION_ERROR(-20015, 'Error.',True);
-- reraise the current exception
--RAISE;
END;sorry wrong forum
-
Hello,
I had installed ore 1.3.1 windows server 2008 on top of Oracle DB 11.2.0.3 ,but when I connect the database,it didn't work.
That is my code and error code.
ore.connect(user = "rquser", sid = "db11g", host = "....", password = "....", all = TRUE)
Got error as below:
error.oci.GetQuery(conn, statement, data = data, prefetch = prefetch, :
ORA-28575: unable to open RPC connection to external procedure agent
ORA-06512: at "RQSYS.RQEVALIMPL", line 17
ORA-06512: at "RQSYS.RQEVALIMPL", line 14
ORA-06512: at line 4
Also i have follwed the below link:
///ORE1.3-ore-server-win-x86_64-1.3,error ORA-28575: unable to open RPC connec
But failed to resolve the problem.
Below are the TNS and Listener file entry:
# listener.ora Network Configuration File: F:\OracleDB\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = EXTPROC)
(ORACLE_HOME = H:\ORA11G\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:H:\ORA11G\product\11.2.0\dbhome_1\bin\oraclr11.dll")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.168.11.69)(PORT = 1521))
ADR_BASE_LISTENER = H:\ORA11G
-============================
# tnsnames.ora Network Configuration File: F:\OracleDB\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(CONNECT_DATA =
(SID = EXTPROC)
(PRESENTATION = RO)
DB11G =
(DESCRIPTION =
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.168.11.69)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = DB11G)
====================================================
Thanks
SandyHi Sandy,
If you set EXTPROCS_DLLS=ANY in the listener and then restart the listener, does it fix the problem?
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = EXTPROC)
(ORACLE_HOME = H:\ORA11G\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ANY")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.168.11.69)(PORT = 1521))
Sherry -
ORA-28575: unable to open RPC connection to external procedure agent
Hi everybody,
Could you please help me with this problem? I'm trying to configure Oracle XE 11g for external procedures, this because I have to access some procedures in a DLL made in Delphi 6.0, but even with the simplest of the dll I make, like a sum made in C, I can't get pass this error ORA-28575: unable to open RPC connection to external procedure agent.
This is my listener.ora:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(ADDRESS = (PROTOCOL = TCP)(HOST = myPC)(PORT = 1521))
DEFAULT_SERVICE_LISTENER = (XE)
and this is my tnsnames.ora:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myPC)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
Do you know what could be wrong? I'm out of ideas and google search...
Also, is there any difference in a calling for a DLL made on VB and one made in Delphi??
Thanks and Regards,Hello,
This error could appear due to issues with configuration of your listener, database or with extproc. First check that the permissions on extproc in your Oracle_home specified in your listener.ora file are valid:
Run the following ./extproc and it should display the banner.
If above is ok, then check for the domain name. One probable reason could be that if default_domain is set and that domain is not appended to the service name in tnsnames.ora, the connection fails.
regards
fahdmirza.blogspot.com -
Help me, please ORA-28576: lost RPC connection to external procedure agent
when i call external program
SQL>exec shell_all ('/bin/ls /oracle/product/10.2.0/',:result, 3) ;
BEGIN shell_all ('/bin/ls /oracle/product/10.2.0/',:result, 3) ; END;
ERROR at line 1:
ORA-28576: lost RPC connection to external procedure agent
ORA-06512: at "SYS.SHELL_ALL", line 1
ORA-06512: at line 1
and my configure
#listener.ora
SID_LIST_LISTENER_AADB02 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/product/10.2.0/db)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ANY")
LISTENER_AADB02 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = aadb02-vip)(PORT = 1521)(IP = FIRST))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 203.144.222.82)(PORT = 1521)(IP = FIRST))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = extproc))
#tnsname.ora
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = extproc))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
Please tell me to resolve this problemDoes not execl() and friends replace the current program with the one supplied as a parameter?
The upshot of this would be as you suggest, viz:
- Oracle call's your procedure (but doens't wait for a result due to the void return type?)
- your program executes its code (cd /tmp)
- it then replaces itself with *program
- *program terminates
Presumably, Oracle isn't expecting it to terminate but to continue waiting for subsequent requests.
I'd check out fork() and see if that offers more appropriate semantics.
d. -
Getting "ORA-28576: lost RPC connection to external procedure agent" for R scripts.
Hello,
I am trying R integration with OBIEE. As part of this, I have created a simple R script for a scatter plot. Below is the R script
begin
sys.rqScriptCreate('randomRedDots',
'function()
res <- 1:10
plot(1:100, rnorm(100), pch=21, bg="red", cex=2)
res
end;
I am testing this script in SQL Developer by executing the below sql:
select image
from table(rqEval(NULL,
'PNG',
'randomRedDots')
During these tests, very often, I get ORA-28576 error when I run the SQL. The complete error is:
ORA-28576: lost RPC connection to external procedure agent
ORA-06512: at "RQSYS.RQEVALIMPL", line 77
ORA-06512: at "RQSYS.RQEVALIMPL", line 74
28576. 00000 - "lost RPC connection to external procedure agent"
*Cause: A fatal error occurred in either an RPC network connection,
the extproc agent, or the invoked 3GL after communication had
been established successfully.
*Action: First check the 3GL code you are invoking; the most likely
cause of this error is abnormal termination of the
invoked "C" routine. If this is not the case, check for
network problems. Correct the problem if you find it. If all
components appear to be normal but the problem persists, the
problem could be an internal logic error in the RPC transfer
code. Contact your customer support representative.
However, if I re-run the SQL, I do not get this message. This happens at random.
Any pointers to why this error occurs?
Thanks,
AbhishekAbhishek,
Please look for a core file in $ORACLE_HOME/hs/log and look for errors in the call stack associated with the core file.
Examining the errors will help identify the cause of the intermittent ORA-29576 error.
Thank you,
Sherry -
Cannot get external procedural call in Oracle RAC Environment
Cannot get external procedure call to work in our test RAC env.
We are able to get it to work in our DEV env which is a single instance
LISTENER.ORA:
NODE1:
# listener.ora Network Configuration File: /opt/oracle/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER_SBLBGT01 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = sblbgt01-vip1)(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.41.1.21)(PORT = 1521)(IP = FIRST))
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=ANY")
NODE2:
# listener.ora.sblbgt02 Network Configuration File: /opt/oracle/app/oracle/product/10.2.0/db_1/network/admin/listener.ora.sblbgt02
# Generated by Oracle configuration tools.
LISTENER_SBLBGT02 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = sblbgt02-vip2)(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.41.1.22)(PORT = 1521)(IP = FIRST))
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=ANY")
2) ### If you are receiving errors, please list exact error messages and text: ###
(cont 1.)
tnsnames.ora (on both nodes):
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = extproc))
(CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO)))
[opt/oracle/app/oracle/product/10.2.0/db_1/network/admin]> tnsping EXTPROC_CONNECTION_DATA
TNS Ping Utility for Solaris: Version 10.2.0.3.0 - Production on 11-APR-2011 10:52:49
Copyright (c) 1997, 2006, Oracle. All rights reserved.
Used parameter files:
/opt/oracle/app/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = extproc)) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO)))
OK (0 msec)
Calling External Procedure:
SQL> execute ttran.shell('ls');
BEGIN ttran.shell('ls'); END;
ERROR at line 1:
ORA-28575: unable to open RPC connection to external procedure agent
ORA-06512: at "TTRAN.SHELL", line 1
ORA-06512: at line 1Any Reply Please...
would appreciate your help... -
I keep getting ORA-28757 errors when trying to make a call to an interMedia ORDSYS.ORDImage.process routine. Searched all of this forum and whatever I could find on Metalink. Followed all the directions, I believe. I also set my env param for TNS_ADMIN. My OS is NT4.0, DB is 8.1.6.
When I keyin
tnsping extproc_connection_data
at a command prompt, I get an OK. So I believe my listener.ora and tnsnames.ora and sqlnet.ora files are synchronized. I have checked my init.ora file and all mts entries are commented. Still get ORA-28575.
Can anyone help? I have included my tnsnames.ora and listner.ora entries below.
TIA
John Caputo
[email protected]
tnsnames entry is:
EXTPROC_CONNECTION_DATA.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
listener.ora entries are:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = jjc-nt)(PORT = 1521))
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(SESSION = RAW)
(ADDRESS = (PROTOCOL = TCP)(HOST = jjc-nt)(PORT = 2481))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\ora816)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = orcl2.jjcnt)
(ORACLE_HOME = F:\ora816)
(SID_NAME = orcl2)
(SID_DESC =
(GLOBAL_DBNAME = "d704.WORLD")
(ORACLE_HOME = F:\ora816)
(SID_NAME = D704)
(SID_DESC =
(GLOBAL_DBNAME = orcl8i.jjcnt.com)
(ORACLE_HOME = F:\ora816)
(SID_NAME = orcl8i)
Here's sqlnet.ora also:
NAME.DEFAULT_ZONE = world
NAMES.DEFAULT_DOMAIN = world
TRACE_LEVEL_CLIENT = OFF
NAMES.DIRECTORY_PATH= (TNSNAMES)
AUTOMATIC_IPC = OFF
nullHi,
Looks like you've done just about everything. Here are a couple more suggestions to try to track this down.
First, double-check the init.ora file(s) to make sure that the LOCAL_LISTENER parameter associated with MTS isn't specified.
In the PL/SQL demo directory, there's an ExtProc debugging example. We can try that to see if its ExtProc calls in general that are failing, or just interMedia ExtProc calls.
First, cd to <oracle_home>\plsql\demo, run SQL*Plus, then:
SQL> connect system/<manager-password>
SQL> grant create any library to scott;
SQL> connect scott/tiger
SQL> @dbgextp
SQL> execute DEBUG_EXTPROC.STARTUP_EXTPROC_AGENT;
SQL> connect system/<manager-password>
SQL> revoke create any library from scott;If its a general ExtProc problem, then the execute should fail. As a matter of elimination, it might be worth trying this from each database, just to see if its limited to one instance. I've included some sample output below.
Let us know what you find.
Regards,
Simon
SQL> connect system/manager
SQL> grant create any library to scott;
Grant succeeded.
SQL> connect scott/tiger
Connected.
SQL> @dbgextp
Package created.
Library created.
Package body created.
SQL> -- tnsnames.ora bug introduced here...
SQL>
SQL> execute DEBUG_EXTPROC.STARTUP_EXTPROC_AGENT;
BEGIN DEBUG_EXTPROC.STARTUP_EXTPROC_AGENT; END;
ERROR at line 1:
ORA-28575: unable to open RPC connection to external procedure agent
ORA-06512: at "SCOTT.DEBUG_EXTPROC", line 16
ORA-06512: at "SCOTT.DEBUG_EXTPROC", line 16
ORA-06512: at line 1
SQL> -- tnsnames.ora bug fixed here...
SQL>
SQL> execute DEBUG_EXTPROC.STARTUP_EXTPROC_AGENT;
PL/SQL procedure successfully completed.
SQL> connect system/manager
Connected.
SQL> revoke create any library from scott;
Revoke succeeded.
SQL>null -
ORA-28575 and ORA-06512 and ORA-04088:
ERROR inserting new SUBSCRIBER information to database for 49: There was a problem executing the database query: ORA-28575: unable to open RPC connection to external procedure agent ORA-06512: at "ACP.ACP_PASS_PACK", line 10 ORA-06512: at "ACP.ACP_PASS_PACK", line 40 ORA-06512: at "ACP.T1_SUBSCRIBER", line 7 ORA-04088: error during execution of trigger 'ACP.T1_SUBSCRIBER' -- while processing OCI function OEXEC/OEXN
I cheked .ora files and they are as they are explained in various formums. Please help where could be the problemIf you run status command in listener control utility, you will see something similar to...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... -
Hi all.
We migrated from 9i 32bit to 11g 64bit almost successfully. Except one thing
We have a package that uses external (native linux) library libcrypt.so for passwords encryption.
Now while executing
select pwd_utils.crypt('123') from dual
i get
SQL Error: ORA-28575: unable to open RPC connection to external procedure agent
i've already googled and searched this forum for solution, but failed.
All recommendations are about listener config, but i think our config is correct:
listener.ora:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(SDU = 32767)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XXX.XXX)(PORT = 1521))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SDU = 32767)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=ANY")
CONNECT_TIMEOUT = 60
and
tnsnames.ora:
ORCL =
(DESCRIPTION =
(SDU = 32767)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XXX.XXX)(PORT = 1521))
(CONNECT_DATA =
(SID = ORCL)
(SERVER = DEDICATED)
INST1_HTTP =
(DESCRIPTION =
(SDU = 32767)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XXX.XXX)(PORT = 1521))
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(SDU = 32767)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
also, tnsping extproc_connection_data works fine:
$ tnsping extproc_connection_data
TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 11-JUL-2010 16:55:54
Copyright (c) 1997, 2009, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (SDU = 32767) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO)))
OK (0 msec)
OS Info: ubuntu 10.04 LTS, kernel version 2.6.32-22-generic-pae
Thank you in advance.11-JUL-2010 21:00:49 * (CONNECT_DATA=(SID=PLSExtProc)(PRESENTATION=RO)(CID=(PROGRAM=)(HOST=radius)(USER=root))) * (ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)) * establish * PLSExtProc * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 32: Broken pipe
Just reproduced error and copied the log.
Is that what you needed? -
RPC - again (ORA-28575)
Hi,
I read a lot articles about my problem, but I can't resolve it.
After many changes, I still have:
ORA-28575: unable to open RPC connection to external procedure
agent
ORA-06512: at "QGUARADM.DLL$GETUSR", line 0
ORA-06512: at line 5
My TNSNAMES and LISTENER are:
# LISTENER.ORA Network Configuration File: E:\ORACLE\DEL\816
\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = pccdev)(PORT = 1521))
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = pccdev)(PORT = 1527))
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = pccdev)(PORT = 1521))
(PROTOCOL_STACK =
(PRESENTATION = TTC)
(SESSION = NS)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\ORACLE\DEL\816)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = "DEL.WORLD")
(ORACLE_HOME = E:\ORACLE\DEL\816)
(SID_NAME = DEL)
(SID_DESC =
(GLOBAL_DBNAME = QGUAR)
(ORACLE_HOME = E:\ORACLE\DEL\816)
(SID_NAME = QGUAR)
# TNSNAMES.ORA Network Configuration File: E:\oracle\DEL\816
\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
QGUAR =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = pccdev)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = QGUAR)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(Key = extproc1))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
DEL.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = pccdev)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = pccdev)(PORT = 1527))
(CONNECT_DATA =
(SERVICE_NAME = DEL.WORLD)
Database 8.1.6 - upgraded from 8.1.5
Can you help me?
Jakub>
TNSPing works OK:
Attempting to contact (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))
OK (540 msec)
Sorry - I was wrong:
TNS Ping Utility for 32-bit Windows: Version 8.1.6.0.0 -
Production on 11-DEC-2001 11:10:35
(c) Copyright 1997 Oracle Corporation. All rights reserved.
TNS-03505: Failed to resolve name
But:
LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 11-
DEC-2001 11:10:26
(c) Copyright 1998, 1999, Oracle Corporation. All rights
reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)
(KEY=EXTPROC1)))
STATUS of the LISTENER
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version
8.1.6.0.0 - Production
Start Date 10-DEC-2001 13:20:00
Uptime 0 days 21 hr. 50 min. 25 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File E:\ORACLE\DEL\816
\network\admin\listener.ora
Listener Log File E:\ORACLE\DEL\816
\network\log\listener.log
Services Summary...
DEL has 2 service handler(s)
PLSExtProc has 1 service handler(s)
QGUAR has 1 service handler(s)
QGUAR has 1 service handler(s)
The command completed successfully -
We have an external procedure running fine on 8.1.7 on VMS. After compiling and linking succesfully under 10.1.0, I get ORA-06521 PL/SQL: Error mapping function and ORA-06522: ERROR - vms_dlsym for file x, where x in the filename of the linked executable. Another external procedure that does not connect to the 10.1.0 database runs fine. What could be causing this error in Server 10.1.0 on VMS?
Thanks,
DaveHere is the code to create the function:
CREATE OR REPLACE FUNCTION f1
(h_file_name IN VARCHAR2)
RETURN BINARY_INTEGER
IS EXTERNAL
LIBRARY l1
NAME "f1"
LANGUAGE C
WITH CONTEXT
PARAMETERS
(CONTEST,
h_file_name string);
Here is the beginning of the Pro*C:
int f1(epctx, h_file_name)
OCIExtProcContext *epctx;
char h_file_name[70];
char h_line_txt [251];
int lineno;
FILE *fptr;
/* register the connection context ... */
EXEC SQL REGISTER CONNECT USING :epctx;
The function loads a flat file into the database. It is probably not related but are unable to SQLPLUS/ or SQLLDR/ into the database from an OS autheniticated account (get ORA-12547: TNS:lost contact.) Thanks for taking the time to look at this. There aren't many people trying this on VMS, I'd bet. -
"ORA-28578: protocol error..." before calling an external procedure
Hello,
Oracle reports this error
Error report:
SQL Error: ORA-29856: error occurred in the execution of ODCIINDEXCREATE routine
ORA-28578: protocol error during callback from an external procedure
29856. 00000 - "error occurred in the execution of ODCIINDEXCREATE routine"
*Cause: Failed to successfully execute the ODCIIndexCreate routine.
*Action: Check to see if the routine has been coded correctly.
when it tries to call an external procedure in order to create a domain index. If I implement ODCIIndexCreate in PL/SQL, it is executed successfully. If I specify that ODCIIndexCreate is implement it an external library, then I get the above error even if the library does not exist on the file system. Does anyone have an idea what might be wrong?
Regards,
Angel TsankovThis forum is about using the Studio C/C++/Fortran compilers, and programming in those languages. You seem to have a question about using SQL for access to an Oracle database, which is none of the above.
I suggest you try an Oracle database forum. Start here:
https://forums.oracle.com/forums/category.jspa?categoryID=18
Look for a forum that applies to your problem area.
Edited by: Steve_Clamage on Jun 13, 2012 8:42 AM
(Correcting the URL I posted earlier.)
Maybe you are looking for
-
ImageLoader,no Content-Length not loading in ie, chrome
Im currently working with the PosterFrameElement, the url to the jpeg is like this http://mydomain.dk/image/1234/ serialElement.addChild(new PosterFrameElement(new URLResource(url))); to get pass the ImageLoader canHandleResource I tryed inserting .j
-
Can anyone help?
-
Hi all, I want to do screen enhancement in BADI.I found some badis which are providing the screen enhancements but dont know how to go further. Also i dont know in which transaction this screen will appear. And how to search for the BADI in standar
-
Where to report a bug in voice navigation?
I dont know how about toher languages, but polish version doesnt work correctly on highways. It says only when I should change one highway to another. But sometimes higway separates: left lanes are the "old" highway, the right ones are the new one. B
-
Missing buttons at bottom of Audio window in Captivate v6. Can't save or close files .
Missing buttons at bottom of Audio window in Captivate v6. Can't save or close files .Buttons also missing in Edit mode. Any thoughts as to might of happened? I'm using Captivate 6.0.0.199. Until a week ago this functionality was working fine.