RE: rman failure ORA-04030 indicates memory issue

  • From: "Mercadante, Thomas F" <thomas.mercadante@xxxxxxxxxxxxxxxxx>
  • To: "'ED.STEVENS@xxxxxxxxxxxxxxxxxx'" <ED.STEVENS@xxxxxxxxxxxxxxxxxx>, oracle-l@xxxxxxxxxxxxx, "'deen.dayal@xxxxxxxxxxxxxxx'" <deen.dayal@xxxxxxxxxxxxxxx>
  • Date: Tue, 5 Oct 2004 09:54:59 -0400


I think your not quite correct on this one.  Web applications are typically
"stateless".  They do not have a direct connection to the database.

The way the question was asked, the app-server is connection-pooling several
web users to the database.  In this case, the app-server will detect
(probably via a time-out setting) that the user has not responded and will
issue a rollback.

As for session variables, again, the app-server is managing these.  I'm not
exactly sure how, but I'm guessing that each web client gets a unique client
id that it shares with the app-server for each transaction.  Session
variables are probably managed via this client id.

Please please please someone correct me.  Lots of assumptions in this

Tom Mercadante
Oracle Certified Professional

-----Original Message-----
From: Stevens, Ed [mailto:ED.STEVENS@xxxxxxxxxxxxxxxxxx] 
Sent: Tuesday, October 05, 2004 9:44 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: rman failure ORA-04030 indicates memory issue

I'm not sure how this relates to the subject line . . . however . . . .

When the databse detects that the connection has been terminated, all
pending transactions on that session are rolled back.  Neither the app
server, nor the app itself, nor JDBC driver need worry about this.  The
database processes themselves take care of it.  Any database that would
depend on some client process to take care of this would be so unstable as
to be worthless.  There is no danger of one session picking up the leftovers
of another.  Oracle databases are very smart and very powerful. 

Ed Stevens 

-----Original Message-----
From: Deen Dayal [mailto:deen.dayal@xxxxxxxxxxxxxxx]
Sent: Tuesday, October 05, 2004 8:26 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: rman failure ORA-04030 indicates memory issue

I am new to web applications. I have a basic question related connection
How does connection pool handle the session variables?
Say there are 2 connections in the pool
Say an application grabbed a connection from the pool say SID of the session
is 100

It updated Table emp and prompted user A for save/cancel to commit/rollback.

At this point in time user A either closed his browser or switched the PC

After few moments another user B launched another browser and launched the
application grabbed the same session SID 100 ( Assuming that earlier
connection was returned to the pool ) made some changes and committed it.
Now whether the changes made by A are also committed?? 
If user A's application had set certain packaged variables then what happens
to them? Whether they are all retained or reset? 
If they are all cleaned up, who does it? app server or JDBC driver?



Other related posts: