External Procedure RPC Error
In Oracle 8 for Solaris,
I can RUN "External procedure Call" ...
but When I Run "External procedure Call" in Oracle 8 for Linux
the message is ....
"unable to open RPC connection to external procedure agent"
The listener.ora and tnsnames.ora files, I have checked,
no problem!!
Where is the problem ? is OS problem ?
How to start RPC daemon in Linux ??.....
I use Redhat 5.2 .......
Thanks !
null
Dear Mark :
I have followed your method, but not work for Linux ....
I have succeeded for starting the external-procedure call by
"oracle for Solaris" , no problem ....
I think that "Linux RPC Daemon" is NOT running ...
how to Start it ?
I use Redhat 5.2 ....
Thanks !
-Franco-
Mark Kirkwood (guest) wrote:
: The listener config seems a little touchy under linux, and the
: defualt files seem to not be sufficient.
: I used the following setup...
: listener.ora :
: listener =
: ( address_list =
: ( address = (protocol=ipc)(key=extproc0)
: sid_list_listener =
: ( sid_list =
: ( sid_desc =
: ( sid_name = plsextproc )
: ( oracle_home = /oracle/8.0.5 )
: ( program = extproc )
: tnsnames.ora :
: extproc_connection_data =
: ( description =
: ( address = ( protocol = ipc ) ( key = extproc0 )
: ( connect_data = ( sid = plsextproc ))
: You can check that its going by trying
: sqlplus /@extproc_connection_data
: the result should be a "hanging" connection for sqlplus and a
: create process plsextproc, visible from another window
null
Similar Messages
-
External procedure call error in RAC
I met a strange problem today with Oracle RAC 10.2.0.4:
Situation I:
In the sequence of tnsnames.ora or TAF, put NodeA before NodeB, everything works well. Even if NodeA is down and only NodeB works.
Situation II:
If put NodeB before NodeA, strange things happened.
1) I can connect to via type2(tnsnames) or type4(url) via sqlplus, and I can also call my extproc in sqlplus.
2) If I call external procedure via API, whatever type2 or type4, it will report "ORA-06576: not a valid function or procedure name"
RAC should share anything on both nodes, why Situation I and Situation II have different behaviour? Can anyone help me? Thanks!Thanks.
In fact, using the supplied makefile in $ORACLE_HOME/plsql/demo and MAKING SURE THAT THE .SO IS EXECUTABLE(!) works. -
Rpc error calling an external procedure
I'm having a problem calling an external procedure running on Linux. The setup works using NT and a DLL, but when the function has been converted to a .so library, I get get
ORA-28575: unable to open RPC connection to external procedure agent
Now this is probaly due to my listener config since when starting the listener I get an IPC error:
Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=elvis))
TNS-12224: TNS:no listener
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=elvis)(Port=1521))
STATUS of the LISTENER
Alias LISTENER
Version TNSLSNR for Linux: Version 8.0.5.0.0 - Production
Start Date 20-NOV-00 18:06:42
Uptime 0 days 0 hr. 0 min. 6 sec
Trace Level admin
Security OFF
SNMP OFF
Listener Parameter File /home/oracle/ora01/app/oracle/8.0.5/network/admin/listener.ora
Listener Log File /home/oracle/ora01/app/oracle/8.0.5/network/log/listener.log
Listener Trace File /home/oracle/ora01/app/oracle/8.0.5/network/trace/listener.trc
Services Summary...
elvis has 1 service handler(s)
extproc has 1 service handler(s)
The command completed successfully
I'm using Oracle 8.0.5 and RedHat 6.0. The name of machine is elvis and the sid name is elvis as well. Any bright ideas are more than welcome
Benyour listener.ora file has problem!
it should look similiar to:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = elvis)(PORT = 1521))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = <substitute with your oracle home>)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = elvis)
(ORACLE_HOME = <substitute_with_your_oralce_home>)
(SID_NAME = elvis)
please verify with net8 admin guide. you also need to set up tnsnames.ora correctly at client side.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Benjamin Sigursteinsson ([email protected]):
I'm having a problem calling an external procedure running on Linux. The setup works using NT and a DLL, but when the function has been converted to a .so library, I get get
ORA-28575: unable to open RPC connection to external procedure agent
Now this is probaly due to my listener config since when starting the listener I get an IPC error:
Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=elvis))
TNS-12224: TNS:no listener
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=elvis)(Port=1521))
STATUS of the LISTENER<HR></BLOCKQUOTE>
null -
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 -
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. -
Error Calling an external procedure
I'm calling an external procedure (provided by a third party).
When i invoke it from a client code, it functions.
When I invoke it from PL/SQL code, it gives the following error:
ORA-28576: lost RPC connection to external procedure agent.
The solution in the help file states it could be a timeout problem.
If so, what is the solution to the problem. (I cannot access the source of the DLL subroutine).your listener.ora file has problem!
it should look similiar to:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = elvis)(PORT = 1521))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = <substitute with your oracle home>)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = elvis)
(ORACLE_HOME = <substitute_with_your_oralce_home>)
(SID_NAME = elvis)
please verify with net8 admin guide. you also need to set up tnsnames.ora correctly at client side.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Benjamin Sigursteinsson ([email protected]):
I'm having a problem calling an external procedure running on Linux. The setup works using NT and a DLL, but when the function has been converted to a .so library, I get get
ORA-28575: unable to open RPC connection to external procedure agent
Now this is probaly due to my listener config since when starting the listener I get an IPC error:
Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=elvis))
TNS-12224: TNS:no listener
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=elvis)(Port=1521))
STATUS of the LISTENER<HR></BLOCKQUOTE>
null -
Error calling external procedure on remote server
Hello
I have written an external procedure that runs correctly when it is on the same machine as the database from which I call it. (Windows XP Professional/Oracle 9.2)
When I try to call the procedure from a database on another machine (also Windows XP Professiona l/ Oracle 9.2) I get ORA - 28756 "lost RPC connection to external procedure agent" or ORA - 28758 "protocol error during callback from an external procedure". Using filemon I can see that the DLL is never searched for or called. The problem seems to lie in the communication between the two machines. When I observe network traffic the machines communicate on port 1521 (the listener) and then switch to the port that the listener returns. Shortly after that the connection is terminated with the above error reported in the PL/SQL routine.
The Oracle Administrator's Guide (9.2) states that "the agent must reside on the same computer as the application making the external procedure call." However there are several entries on the internet that show how to do what I am want to accomplish - I suspect I am making some small mistake.
Any help would be greatly appreciated!
Here is the listener on the machine with the DLL.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = jacxp01)(PORT = 1521))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\ora90)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=C:\easydist\easydist\Debug\easydist.dll;C:\easydist\easydist\Release\easydist.dll")
Here is the TNSnames.ora on the remote database machine: (I have also tried the commented lines with no more success)
# TNSNAMES.ORA Network Configuration File: C:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(Key = EXTPROC1))
#(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.121)(PORT = 1521))
(CONNECT_DATA =
#(SERVICE_NAME = PLSExtProc)
(SID = PLSExtProc)
)Hi Long Le Hoang,
I am running a shell script fromSM69 which call psexec.
shell script runs fine but SM69 execution goes on hold.
Can you please help me how to terminate SM69 execution.
Alpa -
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 -
Lost RPC Connection to external procedure agent....
Hi,
I have a sample.dll fil & i have created a library by the following command...
create or replace library trend_lib as 'C:\oracle\product\10.2.0\db_1\BIN\sample.dll';
'C:\oracle\product\10.2.0\db_1\BIN\sample.dll';------------this is the location where i keep the sample.dll file .
Then i have created a package
create or replace PACKAGE p1
as
FUNCTION trend( inp IN BINARY_INTEGER) return BINARY_INTEGER as
LANGUAGE C
LIBRARY trend_lib
name "polynomial"
PARAMETERS (inp INT);
end;
But when i am trying to execute the following query it shows the errror:::
SQL> select p1.trend(6) from dual;
select p1.trend(6) from dual
ERROR at line 1:
ORA-28576: lost RPC connection to external procedure agent......
mine tnsnames.ora file configuration is :
FIN11G_172.30.0.12 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.30.0.12)(PORT = 1522))
(CONNECT_DATA =
(SID = fin11g)
(SERVER = DEDICATED)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
ALMDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.30.3.11)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = almdb)
RSBI =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.30.0.12)(PORT = 1521))
(CONNECT_DATA =
(SID = rsbi)
(SERVER = DEDICATED)
And listener.ora file is....
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ANY")
(SID_DESC =
(GLOBAL_DBNAME = ALMDB)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = ALMDB)
(ENVS = "EXTPROC_DLLS=ANY")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 01hw177387.fns.com.au)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)Hi;
please see below:
ORA-28576 When Executing External Procedure [ID 295721.1]
ORA-28576 Using External Procedures [ID 113179.1]
External Procedure Fails With ORA-28576 [ID 468404.1]
Also see:
Problem calling dll using extproc
Regard
Helios -
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 -
ORA-28576 lost RPC connection to external procedure agent
Hello!
NT 4.0, O9i 9.0 and 9.2
Calling external DLL procedure produces the following error:
"ORA-28576 lost RPC connection to external procedure agent"
The external DLL is in the ORACLE_HOME/bin directory.
The same application works fine on 8.1.7 !
I didn't find any useful info in 9i docs (App. dev. fundamentals; Net guide...).
Is there any significant difference in EXTPROC feature between 8.1.7 and 9.x ?
Thanks for any useful info
Laszlo
# LISTENER.ORA Network Configuration File: D:\ORANT\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = dljk1)(PORT = 1521))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\ORANT)
(PROGRAM = extproc)
# TNSNAMES.ORA Network Configuration File: D:\ORANT\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = dljk1)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl.dljk)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(address = (protocol = ipc)(KEY = EXTPROC0))
(CONNECT_DATA =
(SID = PLSExtProc)I have the same problem using Windows kernel32.dll. It works fine with Oracle8 and Oracle8i on both Windows NT and Windows2000, but it does not work with Oracle9i on Windows2000. After long discussions, Oracle has admitted that it is a bug. If you have access to metalink then see TAR 2189019.995.
Bo Pedersen -
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 -
RPC error while executing procedure
Hi,
whenever I execute a procedure which extracts data from COBOL through relativity, it gives me RPC error and exits, the procedure code and error description is provided below,
Procedure Code:
===========
CREATE OR REPLACE Procedure CDB.pop_UtilityBill AS
txt_Truncate Varchar2(200);
txt_Rename Varchar2(500);
BEGIN
txt_Truncate := 'truncate table UtilityBill_Tmp';
execute immediate (txt_Truncate);
--Loading of Date from UTLMERGE File to Temporary Table
Insert into UtilityBill_TMP
(UtlBillDate,Branch ,Booth ,Batch,Card,Bill ,DocNo,Account ,ElcAcc ,ElcFil, GasAcc, GasFil, RegCode , ExchCode, PtclAcc , PtclFil ,
WasaAcc, WasaFil , Amount , TranType , ChequeNo , Bank , Flag , UtlBillTime , PostId , FlatbedFlag , FlatbedMicrread , FlatbedEndorse , BillingMonth )
Select DECODE("MrgDate",0,TO_DATE(NULL),TO_DATE("MrgDate"+1721423,'J')) UtlBillDate,
"Branch",
"Booth",
"Batch",
"Card",
"Bill",
"DocNo",
"Account",
"ElcAcc",
"ElcFil",
"GasAcc",
"GasFil",
"RegCode",
"ExchCode",
"PtclAcc",
"PtclFil" ,
"WasaAcc",
"WasaFil" ,
"Amount",
"TranType",
"ChequeNo",
"Bank" ,
"Flag" ,
"MrgTime" UtlBillTime ,
"PostId",
"FlatbedFlag",
"FlatbedMicrread" ,
"FlatbedEndorse",
"BillingMonth"
From UTLMRG2M_CURR@BIDB
INNER JOIN Branches_Control_UtlBill BU on BU.Branch = "Branch"
where "MrgDate" > UtilityBill_Date
and "Card" <> 9;
COMMIT;
--Loading of Date from Temporary Table to Interface Table
INSERT INTO UtilityBill_I
(UtlBillDate,Branch ,Booth ,Batch,Card,Bill ,DocNo,Account ,ElcAcc ,ElcFil, GasAcc, GasFil, RegCode , ExchCode, PtclAcc , PtclFil ,WasaAcc,
WasaFil , Amount , TranType , ChequeNo , Bank , Flag ,UtlBillTime , PostId , FlatbedFlag , FlatbedMicrread , FlatbedEndorse , BillingMonth )
Select UtlBillDate,
Branch,
Booth,
Batch,
Card,
Bill,
DocNo,
Account,
ElcAcc,
ElcFil,
GasAcc,
GasFil,
RegCode,
ExchCode,
PtclAcc,
PtclFil ,
WasaAcc,
WasaFil ,
Amount,
TranType,
ChequeNo,
Bank ,
Flag ,
UtlBillTime ,
PostId,
FlatbedFlag,
FlatbedMicrread ,
FlatbedEndorse,
BillingMonth
From UtilityBill_TMP;
COMMIT;
--Swapping of Data from Interface Table to Actual Table
EXECUTE IMMEDIATE('RENAME UtilityBill TO UtilityBill_Bkp');
EXECUTE IMMEDIATE('RENAME UtilityBill_I TO UtilityBill');
EXECUTE IMMEDIATE('RENAME UtilityBill_Bkp TO UtilityBill_I');
-- Insertion in Interface Table for Next Day Preparation
INSERT INTO UtilityBill_I
(UtlBillDate,Branch ,Booth ,Batch,Card,Bill ,DocNo,Account ,ElcAcc ,ElcFil, GasAcc, GasFil, RegCode , ExchCode, PtclAcc , PtclFil ,WasaAcc,
WasaFil , Amount , TranType , ChequeNo , Bank , Flag ,UtlBillTime , PostId , FlatbedFlag , FlatbedMicrread , FlatbedEndorse , BillingMonth )
Select UtlBillDate,
Branch,
Booth,
Batch,
Card,
Bill,
DocNo,
Account,
ElcAcc,
ElcFil,
GasAcc,
GasFil,
RegCode,
ExchCode,
PtclAcc,
PtclFil ,
WasaAcc,
WasaFil ,
Amount,
TranType,
ChequeNo,
Bank ,
Flag ,
UtlBillTime ,
PostId,
FlatbedFlag,
FlatbedMicrread ,
FlatbedEndorse,
BillingMonth
From UtilityBill_TMP;
COMMIT;
txt_Truncate := 'TRUNCATE TABLE UtilityBill_Tmp';
execute immediate(txt_Truncate);
Commit;
END;
Error Description:
===========
BEGIN pop_UtilityBill; END;
ERROR at line 1:
ORA-02068: following severe error from BIDB
ORA-28511: lost RPC connection to heterogeneous remote agent using
SID=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=cdbprd)(PORT=1521)
))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=HSODBC1)))
ORA-06512: at "CDB.POP_UTILITYBILL", line 10
ORA-06512: at line 1
HS trace file:
========
Oracle Corporation --- TUESDAY MAY 08 2012 18:03:53.979
Heterogeneous Agent Release
9.2.0.8.0
HS Agent received unexpected RPC disconnect
Network error 1003: NCR-01003: NCRS: Read error.
Oracle database Version:
===============
Oracle9i Release 9.2.0.8.0 - Production
Operating System:
===========
Microsoft Windows Server 2003 SP2
can anybody help me out on this?remove the line break then if youre loading that in. Apologies, I didnt read the next line. The error is with the insert, if youre loading that up as a sql command file it wont run like that with the line break as it reads it as separate commands quick example.
SQL> host more ins.sql
insert into t1
(select * from dba_objects
where rownum = 1);
commit;
SQL>
SQL> create table t1 as select * from dba_objects where 1=0;
Table created.
SQL> @ins
OWNER
OBJECT_NAME
SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
CREATED LAST_DDL_ TIMESTAMP STATUS T G S NAMESPACE
EDITION_NAME
SYS
ICOL$
20 2 TABLE
OWNER
OBJECT_NAME
SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
CREATED LAST_DDL_ TIMESTAMP STATUS T G S NAMESPACE
EDITION_NAME
09-DEC-10 09-DEC-10 2010-12-09:03:39:59 VALID N N N 1
Commit complete.
SQL> select * from t1;
no rows selected
SQL>
-- ok, try it without the linebreak
SQL> host more ins1.sql
insert into t1
(select * from dba_objects
where rownum = 1);
commit;
SQL> @ins1
1 row created.
Commit complete.
SQL> -
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. -
Error using EXTERNAL PROCEDURES on UNIX
I'm having troubles to run external procedures on UNIX. I'm following the extern.c example that comes by default. It works very well on my NT enviornment, but not on Unix.
I compiled the share library on my solaris OS, and then I create the library, procedures,etc.
But when I try to run the procedure I received the following error:
ERROR at line 1:
ORA-06520: PL/SQL: Error loading external library
ORA-06522: ld.so.1: extprocextproc: fatal: libucb.so.1: open failed: No such
file or directory
ORA-06512: at "SAMPLE.PLS_MAX", line 0
ORA-06512: at "SAMPLE.USEIT", line 8
ORA-06512: at line 1I'm having troubles to run external procedures on UNIX. I'm following the libtest1.c example that comes by default. It works very well on my NT enviornment, but not on Unix.
I compiled the share library on my solaris OS, and then I create the library, procedures,etc.
But when I try to run the procedure I received the following error:
ERROR at line 1:
ORA-06520: PL/SQL: Error loading external library
ORA-06522: Unresolved external
ORA-06512: at "YDBROW.ORA_TEST", line 0
ORA-06512: at line 8
Maybe you are looking for
-
Iphoto splitting photos into separate events
IPhoto used to have a selection to turn off autosplitting photos into events when importing. That option is gone. The best I can find not is to autosplit items into one event per week. Is there a way to do this (i.e. through the terminal) or is th
-
How can I prevent any use to update Purchase order if status was "Approval"
I have some users can update any purchasing order update after "Approval" Please I would any Purchasing oracle module expert to Assist me to get way to solve problem. How can I prevent any use to update Purchase order if status was "Approval"? Furthe
-
Master list of all content on available for purchase on iTunes?
I'd like to hand out an extensive website/list/etc to my team convincing them to use iTunes. I'd specifically like a master list of all content currently available to purchase on iTunes...music/artists, movies, tv shows, etc. I realize this is a wack
-
I have a system the propagates messages to a consolidated database where the messages are transformed by the Message Gateway subscriber and placed on the foreign queue. With the exception of the move from the AQ queue --> MQ queue using the gateway,
-
Find frequency from input signal
Hi How can i find frequencies from input signal (*.txt file) that consist of 7000 samples. I know the sampling rate.