Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Crashed client application leaves Oracle connection behind

Re: Crashed client application leaves Oracle connection behind

From: DA Morgan <damorgan_at_psoug.org>
Date: Mon, 16 Jul 2007 11:22:25 -0700
Message-ID: <1184610143.977205@bubbleator.drizzle.com>


André Hartmann wrote:
> "DA Morgan" <damorgan_at_psoug.org> schrieb im Newsbeitrag
> news:1184593876.466208_at_bubbleator.drizzle.com...

>> SELECT schemaname, status FROM gv$session;
>>
>> What does Oracle see? Likely the behavior is exactly as documented.

>
> Okay, I performed the statement and I get a list of sessions labelled
> INACTIVE in the STATUS column. Some of those are still "good" in the
> sense that the client who established the session is still alive and
> could possibly perform SQL operations shortly. Other sessions are such
> that the corresponding client counter-part is gone.
>
> As a matter of fact I dont want to interfere with those session that
> still have an alive client, that would be like chopping their head off
> just because they didnt press a button while they were out for lunch...
> I find it hard to come up with criteria other than "the client is still
> alive", because take for example the last_call_et that was suggested. It
> is perfectly legal to be quiet for an hour or half a day even. What
> gives me the right to turn the connection down (and possibly destroy
> users' work) after a certain period of time...
>
> Is there no way to tell a dead client from an alive client? Since I see
> INACTIVE sessions for either case, that doesn't seem to be a good way of
> decisionmaking.
>
> The use case is that if a client crashed and left a runaway session
> (possibly with locks) behind, we want to enable the user quickly to
> continue with a new session, possibly within minutes. On the other hand
> a session not doing anything for quite some time is okay for as long as
> the client is still there. That's all said from the application
> architect's point of view... we are trying to figure out how to meet
> that the best possible way.
>
>>
>> Go to the documentation at http://tahiti.oracle.com and look up "SQLNET"
>> and "TIMEOUT."
>> -- 
>> Daniel A. Morgan
>> University of Washington
>> damorgan_at_x.washington.edu (replace x with u to respond)
>> Puget Sound Oracle Users Group
>> www.psoug.org 

For starters:

conn / as sysdba

ALTER SYSTEM SET resource_limit = TRUE;

Then:

ALTER PROFILE developer LIMIT idle_time 90; -- 90 minutes.

That will solve part of the problem though no doubt causing a bit of angst among the lazy. Chop off their heads. It is good for security and resources.

Then hit the docs and learn about SQLNET too.

-- 
Daniel A. Morgan
University of Washington
damorgan_at_x.washington.edu (replace x with u to respond)
Puget Sound Oracle Users Group
www.psoug.org
Received on Mon Jul 16 2007 - 13:22:25 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US