External Procedure & ORA-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.
oracle uses the default scott /tiger login to test the connection,
try using the userid / pwd you gave when you installed oracle.. (sysman or sysdba who has full rights )
Similar Messages
-
Mounting external tables - ORA-03113 caused when trying to select from
We're having trouble trying to select from a mounted external table on Oracle 9.2.0.1.0. Each time a procedure containing the simple select statment is executed (within sqlplus) it causes the following error:
ORA-03113: end-of-file on communication channel
Initially we thought it was because we were using sqlplus 8.1.7 but when switching to 9.2.0 the error still occurs. We can do a desc and select count(*) on it though.
Is this a know bug? Is there a work around?
JoWe're having trouble trying to select from a mounted external table on Oracle 9.2.0.1.0. Each time a procedure containing the simple select statment is executed (within sqlplus) it causes the following error:
ORA-03113: end-of-file on communication channel
Initially we thought it was because we were using sqlplus 8.1.7 but when switching to 9.2.0 the error still occurs. We can do a desc and select count(*) on it though.
Is this a know bug? Is there a work around?
Jo -
Mounting external tables - ORA-03113 caused when trying to select
We're having trouble trying to select from a mounted external table on Oracle 9.2.0.1.0. Each time a procedure containing a simple select statement is executed (within sqlplus) it causes the following error:
ORA-03113: end-of-file on communication channel
Initially we thought it was because we were using sqlplus 8.1.7 but when switching to 9.2.0 the error still occurs. We can do a desc and select count(*) on it though.
Is this a know bug? Is there a work around?
JoWe're having trouble trying to select from a mounted external table on Oracle 9.2.0.1.0. Each time a procedure containing a simple select statement is executed (within sqlplus) it causes the following error:
ORA-03113: end-of-file on communication channel
Initially we thought it was because we were using sqlplus 8.1.7 but when switching to 9.2.0 the error still occurs. We can do a desc and select count(*) on it though.
Is this a know bug? Is there a work around?
Jo -
Ore.connect - ORA-28578: protocol error during callback from an external procedure
Hi,
I am having an issue while connecting my ORE client (Rgui) to my oracle instance:
>library(ORE)
Loading required package: OREbase
Attaching package: ‘OREbase’
The following object(s) are masked from ‘package:base’:
cbind, data.frame, eval, interaction, order, paste, pmax, pmin, rbind, table
Loading required package: OREstats
Loading required package: MASS
Loading required package: OREgraphics
Loading required package: OREeda
Loading required package: OREdm
Loading required package: lattice
Loading required package: OREpredict
Loading required package: ORExml
> ore.connect(user="RQUSER", sid="HERA", host="SI-ORACLE-11.polocesena.dir.unibo.it", password="rquser", port=1521, all=TRUE)
Loading required package: ROracle
Loading required package: DBI
Error in .oci.GetQuery(conn, statement, data = data, prefetch = prefetch, :
ORA-28578: protocol error during callback from an external procedure
ORA-06512: at "RQSYS.RQEVALIMPL", line 17
ORA-06512: at "RQSYS.RQEVALIMPL", line 14
ORA-06512: at line 4
However if I check:
> ore.is.connected()
[1] TRUE
But:
> ore.ls()
character(0)
and:
> ore.push(TABLE1)
Error in ore.push(TABLE1) :
error in evaluating the argument 'x' in selecting a method for function 'ore.push': Error: object 'TABLE1' not found
I did not receive error messages during installation.
ORE version: 1.3.1
Rgui version: 2.15.3
Oracle version: 11.2.0.3.0
Installation:
-SERVER
Installed Open source R
Installed ORE Server
Installed ORE Client Supporting Packages
Created the RQUSER and provided him with the necessary privileges
Modified the extproc.ora file setting EXTPROC_DLLS=ONLY
-CLIENT
Installed Oracle DB Client
Installed Open source R
Installed ORE Client
Installed ORE Client Supporting Packages
Did not find any other clue in previous discussions, just one was pretty similar but it came to no resolution.
Thanks,
LorenzoHi Sherry,
tnsnames.ora:
HERA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 137.204.78.85)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = hera)
listener.ora:
# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = si-oracle-11.polocesena.dir.unibo.it)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
ADR_BASE_LISTENER = C:\app\Administrator
extproc.ora:
SET EXTPROC_DLLS=ONLY
Thanks,
Lorenzo -
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.
-
ORA-12203 while calling a form from external procedure
Hi
I am using oracle 10g 10.2.0.3.0 database with forms 6i. We have created a database procedure , which makes a call to external procedure(C program). Now this external procedure creates a process and process is creating a call to form.
We have checked through the process explorer in the server, process is getting created successfully, but doesn't executed. We tried to start the process manually, it is throwing ora-12203: TNS unable to connect to destination.
We are able to connect the database from form's runtime. but if this runtime is executed from a process which is created by external procedure, it is throwing ora-12203.
Any idea?check tnsnames and listener files.verify the host and the port
-
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-03113 error occurs when trying to insert record using procedure
I have a Database Block whose DML Data Target Type is Procedure. I have given the Insert Procedure Name, Insert Procedure Arguments and Insert Procedure ResultSet Columns. The procedure which is used to insert record into the table, resides in the database. The procedure for insert takes Table of records as argument. I am getting FRM-40735: INSERT-PROCEDURE trigger raised unhandled exception ORA-03113).
This exception does not occur if the Procedure is place under Program Units. But, I want the procedure to be under Database Block. I am working on Oracle Forms 6i.
Please help me out in resolving this.Hello,
I think you should call the support for this kind of error.
Francois -
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 -
Hi All,
I am getting Ora-03113 (End-of-Communication) while executing Java Stored procedure. Java Stored Procedure executes Sqlldr on server. Server OS is Linux 86x.
Database is -- Oracle with Infrastructure.
Oracle Database 10g Enterprise Edition Release 10.1.0.3.1 - Prod
PL/SQL Release 10.1.0.3.1 - Production
CORE 10.1.0.3.0 Production
TNS for Linux: Version 10.1.0.3.0 - Production
NLSRTL Version 10.1.0.3.0 - Production
Same java procedure was working properly when database was 10.1.0.2.1. Any suggestion
SKMCheck in Ur programs -Application Tool bar, Whether your have two oracle or not.
You can unintall the OLD version from your PC using the Oracle Unistaller -
ORA-06520 when External Procedure run.
I need to run a C application that will run an external procedure and I am getting the following errors reported when I run the function call in PL/SQL.
The test program follows
declare
rn number;
begin
rn:=wpleca('CUSTCODE PASSTEST');
END;
The error that is generated is
ERROR at line 1:
ORA-06520: PL/SQL: Error loading external library
ORA-06522: ld.so.1: extproc: fatal: libgcc_s.so.1: open failed: No such file or directory
ORA-06512: at "CUSTOM.WPLECA", line 0
ORA-06512: at line 4
The C program follows
#include<stdio.h>
#include<stdlib.h>
int sysrun(char *command) {
int num;
char str[80];
strcpy (str, "/xxxx/test/adhoc/syscr/wpleca2unix.sh ");
strcpy (str,command);
num = system(str);
return num;
The C compile commands follow
gcc -fPIC -c wpleca.c
gcc -shared -o libwpleca.so wpleca.o
The create library command follows
CREATE OR REPLACE LIBRARY PLECA_LIB
AS '/xxxx/test/adhoc/syscr/libwpleca.so'
The create function call follows
CREATE OR REPLACE FUNCTION wpleca (params_in in varchar2)
return binary_integer
as language C
name "sysrun"
library pleca_lib
parameters(params_in string);
The shared library and the script both exist with approporate permissions
-rwxr-xr-x 1 root other 5800 Feb 27 14:12 /xxxx/test/adhoc/syscr/libwpleca.so
-rwxrwxr-x 1 xyz test 1139 Feb 27 14:14 /xxxx/test/adhoc/syscr/wpleca2unix.sh
Any help with this error would be most appreciated.We are getting the error, Has anyone faced this issue, appreciate your help in advance.
ERROR at line 1:
ORA-06520: PL/SQL: Error loading external library
ORA-06522: ld.so.1: extproc: fatal: /tmp/utils.so: wrong ELF class: ELFCLASS32
while trying to call the external C program
Steps done for calling external procedure
1. Insert entries in the tnsnames.ora and listner.ora at oracle server location
Tnsnames.ora
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC) (KEY = extproc_key))
(CONNECT_DATA = (SID = extproc))
Listner.ora
CALLOUT_LISTENER =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = IPC)
(KEY = extproc_key)
SID_LIST_CALLOUT_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = extproc)
(ORACLE_HOME = /opt/oradba92/OraHome)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=ANY")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ctsinpunsun10)(PORT = 1523))
2. restart the listener external service
3. create library using create library c_utils as ‘/tmp/c_utils.so’
4. create sample c program on /tmp location as test.c
5. compile c program on unix using cc test.c command
For compile c program
$ cc –c util.c command
Create object file
$cc –G –c util.c
Create .so file
$ld –r –o utils.so util.o
6. create object file of above c program using cc –G –c test.c , this command will create new object file as test.o
7. after creating the object file , create dynamic link using
ld –r –o utils.so test.o
8. Give the permission to utils.so as 775
Add “/tmp” path in LD_LIBRARY_PATH
9. using sqlplus execute the command “SELECT Plscallscdivisor_Func FROM dual” it will gives error as
ERROR at line 1:
ORA-06520: PL/SQL: Error loading external library
ORA-06522: ld.so.1: extproc: fatal: /tmp/utils.so: wrong ELF class: ELFCLASS32
Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
Message was edited by:
user573236 -
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. -
"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.) -
ORA-22337 when select geometry within external procedure
Hi all
I want to make a C external procedure. This external procedure need to select a set of geometries (MDSYS.SDO_GEOMETRY) from a table in database.
How can I do that?
Well, I've tried to use callback functions, but I realized that some important OCI object functions don't work on callbacks (like object pinning).
So, I've tried to make a new connection from the external procedure. I can do that, but, when I make the object pinning (yes, I did map the SDO_GEOMETRY object to a C struct), I get the error ORA-22337 (the type of accessed object has been evolved)
How can I handle this?Hi Ben,
The use of the union operator tells Oracle only to return a unique set of rows, hence a sort is done (in this case attempted, since there is no geometry sorting routine).
If you choose union all, then no sort will be attempted.
Hope this helps,
dan -
ORA-03113 not recorded as error in procedure
Hi all,
we are running several materialized view refreshes from a procedure. When the procedure encounters error ORA-03113 on one view it doesn't go to exception but just stops.
The refresh part of the procedure is as follows:
begin
dbms_snapshot.refresh ('USR.USRH_SNAPSHOT');
exception
when others then
log_error('USRH_SNAPSHOT');
end;
Is there any reason why ORA-03113 doesn't behave as error when run from procedure?
Is there any special way how to capture this error in the procedure?
We found this error code only when we ran the command manually from SQL Developer.
Thanx for help.$ oerr ora 3113
03113, 00000, "end-of-file on communication channel"
// *Cause: The connection between Client and Server process was broken.
// *Action: There was a communication error that requires further investigation.
// First, check for network problems and review the SQL*Net setup.
// Also, look in the alert.log file for any errors. Finally, test to
// see whether the server process is dead and whether a trace file
// was generated at failure time.ORA-03113 likely means that corresponding Oracle session has crashed: in this case no exception handler can be called. You need to check this on database side.
Maybe you are looking for
-
How can I get Captivate to score across multiple question pools?
I have set up a Captivate assessment as follows: A core set of 50 questions will be presented to all learners Depending on where the learner is, he will receive an additional 10 questions from one of 5 location-specific pools Learners will see a tota
-
How much will it cost to repair the headphone jack on my iPod video?
I have no warranty but the part is like $6 on amazon so it cant be much. I love this iPod and I have used it every day since it came out. I would hate for it to go to waste.
-
Hi folks, can someone tell me, which problem is it? Forms created in Livecycle Designer 8.0 with Adobe Prof. 8.0 don't have problem with submitting, but with Adobe Prof. 8.1. Thanks for help or information in adv!
-
How to completely block access to wireless PC's at night
I setup my kid's pc's with static ip addresses and then added firewall access policies... status: Enabled, protocol: ip from 8am to 11pm. Does this policy disable all external access for the specified pc's during the nighttime hours? Thanks
-
What is the recording capacity for music on my ipod shuffle?
what is the recording capacity for music on my ipod shuffle?