AQ Connection Pool throwing ORA-03113
I am using the AQ Servlet that ships with the rdbms. The connection is established and defined with java code such as:
AQxmlDataSource db_drv = null;
String sid = "vndbtest";
String port = "1521";
String host = "dfin04";
db_drv = new AQxmlDataSource("scott", "tiger", sid, host, port);
return db_drv;
I have noticed that when the database gets rebooted, I start getting ORA-03113 from the pooled connections. The only way to get things working again is to restart the AQ Servlet.
Is there a way to set the pool so that if a connection has been closed by the database, the next servlet request will simply attempt to open a new one instead of throwing ORA-03113.
Thanks,
Yves
hi,
yes ur right. there r some problems with Aq servlet in oracle 9.2.0.x . i had same problems then i stop working with AQ servlet . use directly pl/sql interface. try to use that as procedure & then call from ur java code
Similar Messages
-
Here's a bizarre sql issue that throws ORA-03113: end-of-file on communicat
This query is generated by an application. I know the sql is poorly written, but what's bizarre is what happens when I run it.
Here's the SQL:
select * from etk_group og where exists ( select g.group_id as id from etk_group g
left outer join etk_subject_role sr on sr.subject_id = g.group_id
left outer join etk_role r on r.role_id = sr.role_id
left outer join etk_role_permission rp on rp.role_id = r.role_id
where (rp.permission_key = 'permission' or rp.permission_key like 'permission.tracking%') and g.group_id = og.group_id);
I've already given the developers a changed version that works, but here's the part I don't understand. When it's run as is I get the Ora-03113, but if I change the alias in the subquery select to og (the outer query alias), this sql runs. What is it about selecting the subquery column that is used in the where portion of the exists that makes oracle 9.2.0.1 on windows 2003 enterprise server lose the connection.
Any ideas would be greatly appreciated.
thanks in advance.jreynolds wrote:
I've already given the developers a changed version that works, but here's the part I don't understand. When it's run as is I get the Ora-03113, but if I change the alias in the subquery select to og (the outer query alias), this sql runs. What is it about selecting the subquery column that is used in the where portion of the exists that makes oracle 9.2.0.1 on windows 2003 enterprise server lose the connection.
Any ideas would be greatly appreciated.
thanks in advance.You're using an unpatched base release and simply hitting a bug that causes the server foreground process that serves your request to fail with an exception that causes the operating system to kill the corresponding process (e.g. segment access violation, general protection fault, you name it).
As a workaround use the rewritten query you've already found out but you should consider to install at least the 9.2.0.8 patch set to prevent most of such nasty bugs in the future.
Regards,
Randolf
Oracle related stuff blog:
http://oracle-randolf.blogspot.com/
SQLTools++ for Oracle (Open source Oracle GUI for Windows):
http://www.sqltools-plusplus.org:7676/
http://sourceforge.net/projects/sqlt-pp/ -
OS : Windows 2003 server
DB: 10 r2
Oracle Service ORCL -Configured with autostart
After shutting down the database
the instance is also automatically shuts down
followed by
ORA-03113: end-of-file on communication channel
hence i need to restart the ORACLE INSTANCE MANUALLY by issuing the following command
ORADIM -STARTUP -SID ORCL -STARTTYPE SRVC -SPFILE
Now I have to re-connect to oracle instance [Idle Instance ] then start the database as normal
Any suggestions and solutions are welcomed !What do you mean with 'instance' here,the Windows service? A shutdown command in sqlplus always shuts down the Oracle instance,i.e. background processes and SGA allocation, existing sessions throw ORA-03113. . If you shutdown the service (in services panel or by 'net stop OracleServiceORCL), all goes down.
Werner -
ORA-03113 end-of-file on communication channel with shared server config
Hello,
I've got a very strange problem.
We have a new installed 10.2.0.3 RAC database with 2 instances on Win 2003 R2. IIS is running some very simple and small web-sites with OO4O Connection Pooling. When I set the pool to use shared server connection sometimes the connection fails with ORA-03113. This error is reproducible sometimes when I connect through SQL*PLUS or with Quest Toad.
When I connect through dedicated server this error never occurs and everything works as expected.
I set up ASMM (sga_target=1500M), so this shouldn't be a large_pool issue.
Other parameters are shared_servers=2, max_shared_servers=8 and dispatchers=2.
alert.log doesn't show any error, no instance is dying.
Anny issue on how to resolve this? I did not want to switch back to dedicated config.
Svenyou need to narrow your problem domain
Does it happen with single node?
Is it a RAC issue or is it a DB / hardware architecture issue? -
Dirty connections from pool? via ORA-03113
hi,
i've a fairly standard 3 tier setup with CMP beans and an Oracle server.
Its WL6.1 SP4 talking to Oracle 9.0.1 using jdriver. As part of a
failover test scenario I do the following;
startup DB & weblogic
run test to create some data via CMP - the test also uses some non bean
code to do direct SQL based on a connection retrieved form the WL pool
(new InitialContext, JNDI lookup etc)
test passes and all is good
shutdown and restart db leaving WL in place
run the test again and code that only uses EJB and CMP sucessfully
writes to the DB, but the app level SQL code that retrieves the
connection form the pool manages to create a conn and a statement but
the executeQuery throws the following;
java.sql.SQLException: ORA-03113: end-of-file on communication channel
at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:240)
at weblogic.jdbc.oci.Statement.private_parse(Statement.java:826)
at
weblogic.jdbc.oci.Connection.prepareStatement(Connection.java:733)
at
weblogic.jdbc.pool.Connection.prepareStatement(Connection.java:305)
at
weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at
weblogic.jdbc.rmi.internal.ConnectionImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:306)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:275)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
I'm guessing that the socket in the pooled connection is bad due to the
DB restart. The only reason I can see the EJB code working is if the CMP
code traps the error and retries somehow. This feels really bad as that
means the responsibility to manage the connections state is above the
pool level rendering it useless to me.
To recap I dont understand why the EJB/CMP code works and the raw SQL
over a connection retrieved from the pool fails.
Any help much appreicated.
-sManish Vazirani wrote:
Joe,
Thats what i have observed too. However, i had written a test standalone
java client which created global DS & Conn objects in its
init/constructor... and then in an infinite while loop, i was using a
PreparedStatement to execute a "select * from dual" dummy query every 60
seconds using the "cached" global connection object. In between i : a)
Recycled/Bounced the DBMS and b) Invoked the weblogic.Admin CLI command
to explicitly reset the conn pool. And this DID work ! even though the
conn was held by app all along and NOT released back to the pool during the
recycling. I had the test table, test on reserve, and prepared statement
cache settings enabled on the pool. Does this mean that the PS cache was
sorta .. fooling me and it wasnt a fresh DB lookup each time after we
recycled ?I believe the refresh doesn't change the reserved-unreserved status of the
pooled connections, but it should reset the statement cache of the connection.
This is interesting. If the prepared statement you're using was not cached, it
would have been closed, but I'm wondering if your long-running (holds
connections across client-WLS calls) may cause a reference to a defunct
statement to be retained...
Joe
>
>
thanks,
manish
"Joseph Weinstein" <[email protected]> wrote in message
news:[email protected]...
Stephen Mc Namara wrote:
hi,
i've a fairly standard 3 tier setup with CMP beans and an Oracle server.
Its WL6.1 SP4 talking to Oracle 9.0.1 using jdriver. As part of a
failover test scenario I do the following;Hi. Is your pool set up to test connections at reserve time? Are theconnections/
statements that failed held by the application during the cycling of theDBMS?
The pool should replace bad connections and their cached preparedstatements
when the connection is tested at reserve time, but the pool will neverintercede
in the condition of a connection while it is in application hands.
Joe
startup DB & weblogic
run test to create some data via CMP - the test also uses some non bean
code to do direct SQL based on a connection retrieved form the WL pool
(new InitialContext, JNDI lookup etc)
test passes and all is good
shutdown and restart db leaving WL in place
run the test again and code that only uses EJB and CMP sucessfully
writes to the DB, but the app level SQL code that retrieves the
connection form the pool manages to create a conn and a statement but
the executeQuery throws the following;
java.sql.SQLException: ORA-03113: end-of-file on communication channel
at
weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:240)
atweblogic.jdbc.oci.Statement.private_parse(Statement.java:826)
at
weblogic.jdbc.oci.Connection.prepareStatement(Connection.java:733)
at
weblogic.jdbc.pool.Connection.prepareStatement(Connection.java:305)
at
weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.ja
va:135)
at
weblogic.jdbc.rmi.internal.ConnectionImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:306)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:275)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
atweblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
I'm guessing that the socket in the pooled connection is bad due to the
DB restart. The only reason I can see the EJB code working is if the CMP
code traps the error and retries somehow. This feels really bad as that
means the responsibility to manage the connections state is above the
pool level rendering it useless to me.
To recap I dont understand why the EJB/CMP code works and the raw SQL
over a connection retrieved from the pool fails.
Any help much appreicated.
-s -
Hi all, I am maintaining a web site that has lots of requests ( about 10 requests a second ) to an Oracle table that has a BLOB field. Those requests create new blobs, updates them and reads them... My program worked fine until I started using connection pooling ( Before that, I used a single connection that was initialized at startup ). Although I had to synchronized the methods that interact with blob field, everything worked great. So now, to optimize my site, I want to use connection pooling so that even if my methods are synchonized on the connection object, there will be more than one connection available so it will not affect performance.
So once I introduced my connection pooling system with the oracle.jdbc.pool.OracleConnectionCacheImpl class, I started getting ORA-22990 ( Cannot span lob objects... ). I get the error on the flush() method when I try to write the blob to the database. Here is my function that writes a row in the databse.
private synchronized void writeSession(CapSession pSession) throws Exception
javax.sql.PooledConnection pc = pool.getPooledConnection();
Connection conn = pc.getConnection();
CallableStatement stmt=conn.prepareCall(writeObjSQL);
stmt.setString(1,pSession.getSessionId()+pSession.getPassword());
stmt.setLong(2,pSession.getLastAccess());
stmt.setLong(3,pSession.getTimeout());
stmt.registerOutParameter(4,java.sql.Types.BLOB);
stmt.executeUpdate();
oracle.sql.BLOB blob=(BLOB)stmt.getBlob(4);
OutputStream os=blob.getBinaryOutputStream();
ObjectOutputStream oop=new ObjectOutputStream(os);
oop.writeObject(pSession);
oop.flush();
oop.close();
os.close();
stmt.close();
conn.commit();
conn.close();
pc.close();
} If anyone could help me, I would deeply appreciate it!
Thank you for your time.kalle
Thank you very much for your advice!!!
Like you said, I started to check whether the connections are fine before giving them from the pool.I am executing a simple "select 'anil' from dual" and if its fine only then I return the connection. So far it seems to be fine. Also I am reopening the connections(closing the old ones and opening new connections) after every 12 hours.
As far as the JDBC driver is concerned, I already tried with Oracle 8i driver, it gave the same problems. I read that 9i driver might solve this problem, so I changed to the latest 9i driver (classes12_g.zip).
Sometimes before(before I started checking whether the connection is good )the application used to hang up at the point where I am issuing setAutoCommit(false).It never comes out from that statement.Is this something to do with theconnections being closed?
What I am afraid is, will the appilation get hung up even after I check the connection with select query and then issue autocommit(false)??
Or will it hang up while I check with a select query??
As long as it doesn't hung up, I am fine. Because i am cathching the exceptions.
Thanks In ADVANCE
Anil -
ORA-03113 with pool and stored proc
We are experiencing a strange error when calling a stored procedure using a
connection pool (WLS 5.1 SP10, Oracle 8). Everything works fine until the
stored procedure raises a user-defined exception. When the connection is
used again, we get the 03113 error. It appears that the connection is OK
due to the testConnsOnReserve not returning an error, but on the next stored
procedure call, the error happens. The database guys have no answers. Does
anyone have a clue?
Here is an ouput log showing what happens (this was done with a pool with
only one connection):
Got the exception for no BPI Record
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4, :5, :6,
:7, :8); end;
SQLException: SQLState() vendor code(20003)
java.sql.SQLException: ORA-20003: Error at step- Select..,procedure
p_getBPITrckIdForDataTblPk No BPI Record Found...
ORA-01403: no data found
ORA-06512: at "CIFPROC.PKG_UTIL", line 381
ORA-06512: at "CIFPROC.PKG_BPI", line 901
ORA-06512: at line 1
at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
at weblogic.jdbcbase.oci.Statement.executeUpdate(Statement.java,
Compiled Code)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java, Compiled
Code)
at
weblogic.jdbc.pool.PreparedStatement.execute(PreparedStatement.java,
Compiled Code)
at com.juniper.core.comm.JDBCProcHelper.execute(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProcess
.java, Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
Release test worked!
Parsing: select count(*) from dual
Executing: select count(*) from dual
Obtain the connection again
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Reserve test worked!
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Calling stored proc and get comm error
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4, :5, :6,
:7, :8); end;
SQLException: SQLState() vendor code(3113)
java.sql.SQLException: ORA-03113: end-of-file on communication channel
at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
at weblogic.jdbcbase.oci.Statement.executeUpdate(Statement.java,
Compiled Code)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java, Compiled
Code)
at
weblogic.jdbc.pool.PreparedStatement.execute(PreparedStatement.java,
Compiled Code)
at com.juniper.core.comm.JDBCProcHelper.execute(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProcess
.java, Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
Release test fails!
Parsing: select count(*) from dual
SQLException: SQLState() vendor code(3114)
java.sql.SQLException: ORA-03114: not connected to ORACLE
at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java, Compiled
Code)
at
weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java,
Compiled Code)
at
weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
at
weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.java,
Compiled Code)
at weblogic.jdbcbase.pool.Connection.close(Connection.java, Compiled
Code)
at
com.juniper.core.comm.JDBCProcHelper.closeConnection(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.closeConnection(BusinessProcess.ja
va, Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProcess
.java, Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
Regenerating connection
DriverManager.getDriver("jdbc20:weblogic:oracle:DCIF")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
trying
driver[className=weblogic.jdbc20.oci.Driver,weblogic.jdbc20.oci.Driver@d63d1
fcf]
getDriver returning
driver[className=weblogic.jdbc20.oci.Driver,weblogic.jdbc20.oci.Driver@d63d1
fcf]
weblogic.jdbcbase.oci.Driver checking: jdbc20:weblogic:oracle:DCIF
Connecting to database using: bmgr/********@DCIF at 0
SQLException: SQLState() vendor code(1012)
java.sql.SQLException: ORA-01012: not logged on - (bmgr/********@DCIF)
at
weblogic.db.oci.OciConnection.getLDAException(OciConnection.java:143)
at weblogic.jdbcbase.oci.Driver.connect(Driver.java:157)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connection
EnvFactory.java:153)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.refreshResource(Connectio
nEnvFactory.java:207)
at
weblogic.jdbc.common.internal.ConnectionEnv.refresh(ConnectionEnv.java:677)
at
weblogic.common.internal.ResourceAllocator.resetThisOne(ResourceAllocator.ja
va, Compiled Code)
at
weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
at
weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.java,
Compiled Code)
at weblogic.jdbcbase.pool.Connection.close(Connection.java, Compiled
Code)
at
com.juniper.core.comm.JDBCProcHelper.closeConnection(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.closeConnection(BusinessProcess.ja
va, Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProcess
.java, Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
weblogic.jdbcbase.oci.Driver checking: jdbc20:weblogic:oracle:DCIF
Connecting to database using: bmgr/********@DCIF at 0
Connected to database at: 160
Parsing: select length(SYSDATE) from dual
Executing: select length(SYSDATE) from dual
Parsing: select VALUE from V$NLS_PARAMETERS where
PARAMETER='NLS_NUMERIC_CHARACTERS'
Executing: select VALUE from V$NLS_PARAMETERS where
PARAMETER='NLS_NUMERIC_CHARACTERS'
Done logging in at: 170
Connection: using OCI API: OCI8
Done with connection regen
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Parsing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4, :5, :6,
:7, :8); end;
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4, :5, :6,
:7, :8); end;
Parsing: select count(*) from dual
Executing: select count(*) from dual
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Parsing: begin pkg_BPI.p_getBPIStates(:1, :2); end;
Executing: begin pkg_BPI.p_getBPIStates(:1, :2); end;
Parsing: select count(*) from dual
Executing: select count(*) from dual
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11fc
7]
Parsing: select count(*) from dualWell, this seems to do the trick. We'll keep testing, but the errors have
now disappeared for all instances of this problem.
Thanks for the help!
JDB
"John Bauer" <[email protected]> wrote in message
news:[email protected]...
We'll try this, but it seems to be connection-oriented. If we have a pool
of 5 connections, and an exception happens, only that connection seems tobe
affected. The other connections in the pool work fine, and the proc works
for those connections.
"Joseph Weinstein" <[email protected]> wrote in message
news:[email protected]...
Hi.
The issue is likely related to our caching of PreparedStatements
for performance. If some DBMS failure occurs which could invalidate
a PreparedStatement/cursor such that it could never be re-used,
even after clearParameters) are called etc, then this case might
occur. Please take the attached jar file, and add it to the
weblogic.classpath ahead of the standard weblogic stuff, by
editing your startWebLogic script. This will turn off caching, and
should make the problem go away. Let me know...
Joe
John Bauer wrote:
Here is our configuration.
weblogic.jdbc.connectionPool.CifPool=\
url=jdbc20:weblogic:oracle:QCIF,\
driver=weblogic.jdbc20.oci.Driver,\
loginDelaySecs=1,\
initialCapacity=5,\
maxCapacity=20,\
capacityIncrement=2,\
allowShrinking=true,\
shrinkPeriodMins=30,\
testTable=dual,\
testConnsOnRelease=true,\
props=user=BMGR;password=djr0t$
We are using OCI 8.1.6
"Maria Salzberger" <[email protected]> wrote in message
news:[email protected]...
Hi John,
I have researched about this - but could not find a known issue
which
may
be
related to this.
Which JDBC driver are you using?
Kind Regards
Maria Salzberger
Developer Relations Engineer
BEA Customer Support
John Bauer schrieb in Nachricht <[email protected]>...
We are experiencing a strange error when calling a stored procedure
using
a
connection pool (WLS 5.1 SP10, Oracle 8). Everything works fine
until
the
stored procedure raises a user-defined exception. When the
connection is
used again, we get the 03113 error. It appears that the connectionis OK
due to the testConnsOnReserve not returning an error, but on the
next
stored
procedure call, the error happens. The database guys have no
answers.
Does
anyone have a clue?
Here is an ouput log showing what happens (this was done with a
pool
with
only one connection):
Got the exception for no BPI Record
getConnection returningdriver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4,
:5,
:6,
:7, :8); end;
SQLException: SQLState() vendor code(20003)
java.sql.SQLException: ORA-20003: Error at step- Select..,procedure
p_getBPITrckIdForDataTblPk No BPI Record Found...
ORA-01403: no data found
ORA-06512: at "CIFPROC.PKG_UTIL", line 381
ORA-06512: at "CIFPROC.PKG_BPI", line 901
ORA-06512: at line 1
at
weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
atweblogic.jdbcbase.oci.Statement.executeUpdate(Statement.java,
Compiled Code)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java,Compiled
Code)
at
weblogic.jdbc.pool.PreparedStatement.execute(PreparedStatement.java,
Compiled Code)
atcom.juniper.core.comm.JDBCProcHelper.execute(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.
j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProces
s
.java, Compiled Code)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.jav
a
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContex
t
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,Compiled
Code)
Release test worked!
Parsing: select count(*) from dual
Executing: select count(*) from dual
Obtain the connection again
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
tryingdriver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Reserve test worked!
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Calling stored proc and get comm error
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4,
:5,
:6,
:7, :8); end;
SQLException: SQLState() vendor code(3113)
java.sql.SQLException: ORA-03113: end-of-file on communication
channel
atweblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
atweblogic.jdbcbase.oci.Statement.executeUpdate(Statement.java,
Compiled Code)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java,Compiled
Code)
at
weblogic.jdbc.pool.PreparedStatement.execute(PreparedStatement.java,
Compiled Code)
atcom.juniper.core.comm.JDBCProcHelper.execute(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.
j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProces
s
.java, Compiled Code)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.jav
a
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContex
t
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,Compiled
Code)
Release test fails!
Parsing: select count(*) from dual
SQLException: SQLState() vendor code(3114)
java.sql.SQLException: ORA-03114: not connected to ORACLE
atweblogic.db.oci.OciCursor.getCDAException(OciCursor.java:230)
at weblogic.jdbcbase.oci.Statement.execute(Statement.java,Compiled
Code)
at
weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java,
Compiled Code)
atweblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
atweblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
atweblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.java,
Compiled Code)
at weblogic.jdbcbase.pool.Connection.close(Connection.java,Compiled
Code)
at
com.juniper.core.comm.JDBCProcHelper.closeConnection(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.closeConnection(BusinessProcess.j
a
va, Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.
j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProces
s
.java, Compiled Code)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.jav
a
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContex
t
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,Compiled
Code)
Regenerating connection
DriverManager.getDriver("jdbc20:weblogic:oracle:DCIF")
tryingdriver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
trying
driver[className=weblogic.jdbc20.oci.Driver,weblogic.jdbc20.oci.Driver@d63d
1
fcf]
getDriver returning
driver[className=weblogic.jdbc20.oci.Driver,weblogic.jdbc20.oci.Driver@d63d
1
fcf]
weblogic.jdbcbase.oci.Driver checking: jdbc20:weblogic:oracle:DCIF
Connecting to database using: bmgr/********@DCIF at 0
SQLException: SQLState() vendor code(1012)
java.sql.SQLException: ORA-01012: not logged on -
(bmgr/********@DCIF)
atweblogic.db.oci.OciConnection.getLDAException(OciConnection.java:143)
at weblogic.jdbcbase.oci.Driver.connect(Driver.java:157)
atweblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connectio
n
EnvFactory.java:153)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.refreshResource(Connecti
o
nEnvFactory.java:207)
at
weblogic.jdbc.common.internal.ConnectionEnv.refresh(ConnectionEnv.java:677)
atweblogic.common.internal.ResourceAllocator.resetThisOne(ResourceAllocator.j
a
va, Compiled Code)
at
weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
atweblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java,
Compiled Code)
atweblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.java,
Compiled Code)
at weblogic.jdbcbase.pool.Connection.close(Connection.java,Compiled
Code)
at
com.juniper.core.comm.JDBCProcHelper.closeConnection(JDBCProcHelper.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.closeConnection(BusinessProcess.j
a
va, Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.loadByKey(BusinessProcess.java,
Compiled Code)
at
com.juniper.core.tracking.BusinessProcess.findProcessByKey(BusinessProcess.
j
ava, Compiled Code)
at
com.juniper.core.tracking.test.TestBusinessProcess.doGet(TestBusinessProces
s
.java, Compiled Code)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.jav
a
:120)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:922)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextIm
p
l.java:886)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContex
t
Manager.java:269)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:380)
atweblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:268)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,Compiled
Code)
weblogic.jdbcbase.oci.Driver checking: jdbc20:weblogic:oracle:DCIF
Connecting to database using: bmgr/********@DCIF at 0
Connected to database at: 160
Parsing: select length(SYSDATE) from dual
Executing: select length(SYSDATE) from dual
Parsing: select VALUE from V$NLS_PARAMETERS where
PARAMETER='NLS_NUMERIC_CHARACTERS'
Executing: select VALUE from V$NLS_PARAMETERS where
PARAMETER='NLS_NUMERIC_CHARACTERS'
Done logging in at: 170
Connection: using OCI API: OCI8
Done with connection regen
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
tryingdriver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Parsing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4,
:5,
:6,
:7, :8); end;
Executing: begin pkg_BPI.p_getBPITrckIdForDataTblPk(:1, :2, :3, :4,:5,
:6,
:7, :8); end;
Parsing: select count(*) from dual
Executing: select count(*) from dual
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Parsing: select count(*) from dual
Executing: select count(*) from dual
getConnection returning
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Parsing: begin pkg_BPI.p_getBPIStates(:1, :2); end;
Executing: begin pkg_BPI.p_getBPIStates(:1, :2); end;
Parsing: select count(*) from dual
Executing: select count(*) from dual
DriverManager.getConnection("jdbc:weblogic:pool:CifPool")
trying
driver[className=weblogic.jdbc.pool.Driver,weblogic.jdbc.pool.Driver@d6b11f
c
7]
Parsing: select count(*) from dual
B.E.A. is now hiring! (12/14/01) If interested send a resume to
[email protected]
DIRECTOR OF PRODUCT PLANS AND STRATEGY San Francisco,
CA
E-SALES BUSINESS DEVELOPMENT REPRESENTATIVE Dallas, TX
SOFTWARE ENGINEER (DBA) Liberty Corner,NJ
SENIOR WEB DEVELOPER San Jose, CA
SOFTWARE ENGINEER (ALL LEVELS), CARY, NORTHCAROLINA San Jose, CA
SR. PRODUCT MANAGER Bellevue, WA
SR. WEB DESIGNER San Jose, CA
Channel Marketing Manager - EMEA Region London, GBR
DIRECTOR OF MARKETING STRATEGY, APPLICATION SERVERS San Jose, CA
SENIOR SOFTWARE ENGINEER (PLATFORM) San Jose, CA
E-COMMERCE INTEGRATION ARCHITECT San Jose, CA
QUALITY ASSURANCE ENGINEER Redmond, WA
Services Development Manager (Business Development Manager - Services)Paris, FRA; Munich, DEU
SENIOR SOFTWARE ENGINEER (PLATFORM) Redmond, WA
E-Marketing Programs Specialist EMEA London, GBR
BUSINESS DEVELOPMENT DIRECTOR - E COMMERCE INTEGRATION San Jose, CA
MANAGER, E-SALES Plano, TX -
Remote Connection Timeouts - ORA-03113 Errors
I have two Sun Solaris servers running Oracle 10.1.0.4. One is our production server, the other is our test server. Both servers are using the same parameters in the SQLNET.ORA file located on each server. All Oracle Net files are located under /var/opt/oracle. The TNS_ADMIN environmental variable is set to /var/opt/oracle on both servers.
When I connect to the production server via TOAD, OEM, or SQL*Plus from my desktop, I can remain connected as long as I like. If after two hours, I want to run another SQL, I type it in and it runs.
When I connect to the test server via TOAD, OAM, or SQL*Plus from my desktop, I can remain connected for only 30 mins of inactivity. After which, if I issue a new SQL statement, I receive an ORA-03113 end-of-file communication channel error.
I believe I've checked everything on both servers and they appear identical. Both of these server sit behind a firewall. So my feeling is that only the firewall could be causing the idle timeout connections to be dropped on the test server.
Anyone have any ideas on this??
P.S. - I realize that killing idle connections is actually a good thing, but I'm trying to verify the reason for the difference and not whether this is or is not a good networking practice.user583592 wrote:
I have two Sun Solaris servers running Oracle 10.1.0.4. One is our production server, the other is our test server. Both servers are using the same parameters in the SQLNET.ORA file located on each server. All Oracle Net files are located under /var/opt/oracle. The TNS_ADMIN environmental variable is set to /var/opt/oracle on both servers.
When I connect to the production server via TOAD, OEM, or SQL*Plus from my desktop, I can remain connected as long as I like. If after two hours, I want to run another SQL, I type it in and it runs.
When I connect to the test server via TOAD, OAM, or SQL*Plus from my desktop, I can remain connected for only 30 mins of inactivity. After which, if I issue a new SQL statement, I receive an ORA-03113 end-of-file communication channel error.
I believe I've checked everything on both servers and they appear identical. Both of these server sit behind a firewall. So my feeling is that only the firewall could be causing the idle timeout connections to be dropped on the test server.
Anyone have any ideas on this??
P.S. - I realize that killing idle connections is actually a good thing, but I'm trying to verify the reason for the difference and not whether this is or is not a good networking practice.The firewall could very well be the culprit. I had that problem at a previous employer. Why not check with your network guys and find out? -
ORA-03113 while connect from 8i client to 7 Server
Hi,
I have a Oracle 7.3.3 Server running on a SCO OpenSever 5.0.5 and a Oracle 8i Client 8.1.6.0.0 on a RedHat Linux 6.2.
When I try to connect from the client to the server by issue command "sqlplus user@test", it responses me "Error while trying to retrieve text for error ORA-03113". But when I run "netasst" to test the connection, it says the connection was sucessful.
Can anyone help? Here are my configuration files:
Listener.ora on Server side:
LISTENER=
(ADDRESS LIST=
(ADDRESS =
(COMMUNITY=TCP.world)
(PROTOCOL=TCP)
(Host=10.128.64.52)
(Port=1526)
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
TRACE_LEVEL_LISTENER = OFF
SID_LIST_LISTENER =
(SID_LIST=
(SID_DESC =
(SID_NAME = test)
(ORACLE_HOME = /usr/app/oracle/product/7.3.3
(PRESPAWN_MAX=10)
tnsnames.ora on client side:
TEST.888.COM
(DESCRIPTION =
(ADDRESS_LISTS =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 10.128.64.52)
(PORT = 1526)
(CONNECT_DATA =
(SID = test)
)Hi,
I don't have a 64 bit instance, but maybe another test will be usefull, try to get a connection with sqlplus on the server but via sqlnet like "user/passwd@tnsentry" I think if that also is not possible it is not the 64 bit issue but more that the listener itself coundn't etsablish a db connection, be aware tnsping is only testing if the listener is running and do not check if the listener is able to connect to the db.
Hope this helps a little to find your real proble ;-), Olaf -
Ora-02068 following severe error & ora-03113 while connecting thru DB LINK
Hi All,
I am trying to connect to remote Database by using DB Link facing the below error.
ora-02068 following severe error & ora-03113 end of communication channel.
Version of Database - 8.0.6 ( source Database)
Target Database version - 11g ( Target Database)
Oracle Client s/w used - 9i
TNSPING from 8 version database to 11g is successful
C:\Documents and Settings\user>tnsping prdd
TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-MAY-20
13 10:40:02
Copyright (c) 1997 Oracle Corporation. All rights reserved.
Used parameter files:
D:\oracle9i\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(host =xx.xxx.xxx.xx) (Port = 1631))) (CONNECT_DATA =(SID = PRDD)))
OK (30 msec)
Connection successful from 8 to 11 Database remotely
C:\Documents and Settings\user>sqlplus
SQL*Plus: Release 9.2.0.1.0 - Production on Thu May 30 10:43:00 2013
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Enter user-name:username/pwd@prdd
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management, Oracle Label Security, OLAP
Data Mining, Oracle Database Vault and Real Application Testing options
SQL>
Connected to:
Oracle8 Enterprise Edition Release 8.0.6.0.0 - Production
With the Partitioning and Objects options
PL/SQL Release 8.0.6.0.0 - Production
SQL> select * from dual@xxx_dblink.world;
select * from dual@xxx_dblink.world
ERROR at line 1:
ORA-02068: following severe error from xxx_dblink
ORA-03113: end-of-file on communication channel
DBLink got created successfully but when ever trying to test the DBlink as above facing the below issue,please help.
Thanks in advance.8.0.6 was desupported a LOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNGGGGGGGGGGGGG time ago
(you were probably still in your dipers)
Sqlnet is not compatible for that many releases
(there has been
8.1.5
8.1.6
8.1.7
9.0.1
9.2.0
10.1.0
10.2.0
11.1.0
11.2.0
So nine releases.
This is software, not gasoline.
Sybrand Bakker
Senior Oracle DBA -
Oracle raise ORA-03113 when connect to a remote oracle server using toad
Hi there,
when i use the tool toad connect to a remote oracle server which located in a different city,
when i submit a query in toad,
if the query returns many rows of data, it will raise the error ORA-03113:end-of-file on communication channel,
however if the query returns only a few rows, i won't raise such error,
however, when i use sqlplus connect to that remote server, it won't raise such error,
what's the reason is, can any one tell me how to tackle this problem if using the tool toad. thanks/hi my oracle vsersion is:
SQL> select * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
my oracle server is 2 nodes rac server,
and i've tried two different kind version of toad v9.6 and v10.5, and both have the same problem
once i query a table, if the result returned more than 30 rows, then it will raise that error, if query returns less than 30 rows, it's ok.
i assume it is a problem concern with network, but i don't know why no such error raise when using sqlplus ? -
ORA-03113 when using connect by in a report query ?
Hi,
Oracle 10g r2, ApEx 4.0.2.
I have a classic report on page zero, I need the following query to display my data :
select
distinct '<input class="radio_report_search_photos" name="radio_selected_photo" type="radio" />' as "Sel",
phot_id,
phot_description,
'<img alt="" id="thumb_'||phot_id||'" class="clickable_thumb" src="#OWNER#.show_photo?v_id_photo='||phot_id||'" />' as "Thumb",
substr(SYS_CONNECT_BY_PATH(kw_text, ', '),3) keyword_list
from
select
phot_id,
phot_description,
kw_id,
kw_text,
pkw_kw_id,
pkw_phot_id,
count(*) OVER(partition by phot_id ) cnt,
ROW_NUMBER() OVER(partition by phot_id order by kw_text) seq
from
photos,
photos_keywords,
keywords
where
phot_id = pkw_phot_id
and pkw_kw_id = kw_id
and contains(kw_text,nvl(:P0_SEARCH_PHOTO_KW,'%')) > 0
where
seq = cnt
start with
seq = 1
connect by prior
seq+1 = seq
and prior
phot_id = phot_idIt works great when executing from any software. I get the expected results.
But yhen I try to put it in the report region source, I get an ORA-03113 when I apply changes...
It works if I remove CONNECT BY PRIOR and SYS_CONNECT_BY_PATH from the query.
Why ?
Thanks.
Details :
url : https://my_host.ch/pls/htmldb_dev/wwv_flow.accept
Error :
Fri, 22 Jul 2011 09:25:38 GMT
ORA-03113: end-of-file on communication channelOK I now use xmlagg & xmlelement instead of connect by.
Sorry for not providing any solution.
Yann. -
ORA-22881: dangling REF during getConnection() on stateless connection pool
Hello,
I have some trouble with "ORA-22881: dangling REF" error against getConnection() on a stateless connection pool.
Following the relevant part of the code:
return = gstatelessConnectionPool->getConnection( "scott[austin]",
"tiger",
"tag1");
Is anybody get rid of such problems.
I'm running Oracle 10.2.0.4.0 on Solaris.
Thanks,
YaakovThere is nothing much available on Metalink either for this error during an upgrade. I would advise you to get your accounting in order and raise the SR with Oracle support.
-
IO Exception Broken Pipe ORA-17002 while using connection pooling
Hi
We are experiencing "broken pipe ORA-17002 error" when using connection pooling. This seems to be a common error when implementing connection pooling, but I didn't find any solution anywhere.
we are using Oracle 9i 9.2.0.1 JDBC thin driver
Our database is Oracle 8.1.7 running on HP Unix
The middle tier(Tomcat) runs on RedHat linux server
We are using JDK1.3
It seems the connections automatically get stale or bad after certain period of time.Iam checking to see if the connection is closed, before giving the connection from the pool to the appilcation.It seems its still open.But when I start using the connection to open a callable statement or setAutocommit to false, it says Broken pipe or No more data to read from the socket.
We are implementing our own connection pooling class(we experimented with OracleConnectionCacheImpl but it too gave the same errors).
Does anybody have a solution for this problem??
Is there a workaround for this?I would like to know how connection pooling is implemented in most of the applications that use oracle database?Or do we need to explicitly test the connection before using it, and reopen a connection if that is bad??
Thanks
Anilkalle
Thank you very much for your advice!!!
Like you said, I started to check whether the connections are fine before giving them from the pool.I am executing a simple "select 'anil' from dual" and if its fine only then I return the connection. So far it seems to be fine. Also I am reopening the connections(closing the old ones and opening new connections) after every 12 hours.
As far as the JDBC driver is concerned, I already tried with Oracle 8i driver, it gave the same problems. I read that 9i driver might solve this problem, so I changed to the latest 9i driver (classes12_g.zip).
Sometimes before(before I started checking whether the connection is good )the application used to hang up at the point where I am issuing setAutoCommit(false).It never comes out from that statement.Is this something to do with theconnections being closed?
What I am afraid is, will the appilation get hung up even after I check the connection with select query and then issue autocommit(false)??
Or will it hang up while I check with a select query??
As long as it doesn't hung up, I am fine. Because i am cathching the exceptions.
Thanks In ADVANCE
Anil -
ORA-03113 when trying to connect to database
RDBMS Version:: 9.2.0.6
Operating System and Version:: Win2003 Small Business Server
Error Number (if applicable):: ORA-03113
Server Net Version:: 9.2.0.6
Client Operating System and Version:: Solaris10
Client Net Version:: 2.1.3
ORA-03113 when trying to connect to database
I've currently a 7.1.3 client on SUN Solaris (5.10 Generic_118844-26 i86pc i386 i86pc) where I want to connect to the 9.2.0.6 database on a Win2003 Server hardware.
When i try to connect via SQL*Plus (Release 3.1.3.4.1), I get ORA-03113. Looking into the listener resp. alertfile on the server, I can see that the connectiorequest is recognized, but immediately answered by an ORA-0600, producing also trc-files.
listener: 25-MAI-2007 09:37:23 * (CONNECT_DATA=(SID=HTASQL)(CID=(PROGRAM=)(HOST=eklvpa)(USER=sat250))) * (ADDRESS=(PROTOCOL=tcp)(HOST=172.17.233.3)(PORT=32790)) * establish * HTASQL * 0
alert: ORA-00600: internal error code, arguments: [12333], [26], [0], [115], [], [], [], []
Activating traces on the client-side showed the following errors:
-<ERROR>- ntus2err: sd=8, op=1, resnt[0]=511, resnt[1]=2, resnt[2]=0
-<ERROR>- nserror: nsres: id=0, op=65, ns=12541, ns2=12560; nt[0]=511, nt[1]=2, nt[2]=0
-<ERROR>- nsopen: unable to open transport
-<ERROR>- nsprecv: transport read error
-<ERROR>- nserror: nsres: id=0, op=68, ns=12537, ns2=12560; nt[0]=507, nt[1]=0, nt[2]=0
-<ERROR>- osnqrc: wanted 1 got 0, type 0
-<ERROR>- osnqper: error from osnqrc
-<ERROR>- osnqper: nr err code: 0
-<ERROR>- osnqper: ns main err code: 12537
-<ERROR>- osnqper: ns (2) err code: 12560
-<ERROR>- osnqper: nt main err code: 507
-<ERROR>- osnqper: nt (2) err code: 0
-<ERROR>- osnqper: nt OS err code: 0
-<ERROR>- osnqsm: send-break: failed to send OOB break...
-<ERROR>- osnqper: error from send-marker
-<ERROR>- osnqper: nr err code: 0
-<ERROR>- osnqper: ns main err code: 12583
-<ERROR>- osnqper: ns (2) err code: 0
-<ERROR>- osnqper: nt main err code: 0
-<ERROR>- osnqper: nt (2) err code: 0
-<ERROR>- osnqper: nt OS err code: 0
-<ERROR>- osnqbr: returning 3113
Can anybody help me in determining the problem ? Is there a systemtic incompatibility in connecting a 7.1.3 client to a 9.2 (or even higher) database ?Thanks for your reply.
But the funny thing on this compatibility issues is, that this configuration worked before. The only thing we did, was to setup the client-PC on a new hardware with also a new operating system (upgrading from Solaris 5.8 to 5.10). And from that time we encountered this problem.
Are there any OS-related problems known or better to say: is (was) ORACLE 7.1.3 supported on Solaris 5.10 ? Should we look for any patches which might help us ?
Maybe you are looking for
-
No matter what i do i can't recieve any email from my accounts on iphone 4s
i've seem to have lost all my email settings on my iphone 4s all it says is my username or password is incorrect on my aol account and my gmail account
-
Weird call forwarding issue when phone off PBX is on call forward.
Hello - have (2) 3600 series routers connected to pbx's doing toll bypass, T1 on one side E1 on the other. All calls work ok and voice quaility is good however when a user on the PBX behind the E1 puts his phone on forward the call fails with a fast
-
Solution Directory--Business process --Check in /Out option
Dear Friends, I am working in Solution directory (t.code: DSWP). I have created one maintenance project. In this maintenance project i have maintained the following business process. 1. Sale Order Processing 2. Production Order Processing. These t
-
Macbook pro Retina 15" a/c power connector melting
hello everyone! not sure if anyone can assist here and have knowledge of past experience or even apple support calls resolution about my issue with my Macbook pro retina 2012 model --- the magnetic power connector from the magsafe 2 is overheating an
-
Solve Performance Issue... with multiplethread
I made an application with a huge row indatabase table... every siingle process could process thousand rows Is it make sense to divide one process in single http request for example ( divide process by create ten application module ) into multiple th