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

  • ORA-28575: unable to open RPC connection to external procedure agent when trying to connect ORE.connect

    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
    Sandy

    Hi 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 problem

    Does 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,
    Abhishek

    Abhishek,
    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 1

    Any Reply Please...
    would appreciate your help...

  • Another ORA-28575 struggle

    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
    null

    Hi,
    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 problem

    If 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...

  • ORA-28575

    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

  • ORA-06521: PL/SQL: Error mapping function with 10.1.0 external procedure

    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,
    Dave

    Here 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 Tsankov

    This 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