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

Home -> Community -> Usenet -> c.d.o.server -> Re: I've now, officially, seen it all...

Re: I've now, officially, seen it all...

From: Charles Hooper <hooperc2000_at_yahoo.com>
Date: 11 Jan 2007 16:35:49 -0800
Message-ID: <1168562149.380273.162890@51g2000cwl.googlegroups.com>


Andreas Sheriff wrote:
> Of course, the subject of this post is completely fictitious, so don't flame
> me. :-D
>
> Does anyone have any idea why someone in their right mind would need a SQL
> statement such as the following:
>
> SELECT NULL FROM DUAL FOR UPDATE NOWAIT
>
> Does this make sense? Did I actually loose it?
>
> Andreas

A little test:

Session 1:
SQL> SELECT NULL FROM DUAL FOR UPDATE NOWAIT; N
-

Session 2:
SQL> SELECT
  2 *
  3 FROM
  4 V$LOCKED_OBJECT; XIDUSN XIDSLOT XIDSQN OBJECT_ID SESSION_ID ORACLE_USERNAME OS_USER_NAME PROCESS LOCKED_MODE

     6      18   14870        258        193 SYS             hooper
   804:212           3

SQL> UPDATE DUAL SET DUMMY='A'; Session 2 hangs waiting for session 1 to commit or rollback.

Session 1:
SQL> ROLLBACK;
Rollback complete.

Session 2:
1 row updated.

SQL> ROLLBACK;
Rollback complete.

This is obviously an attempt to allow only one session at a time to update the DUAL table. :-)

Charles Hooper
PC Support Specialist
K&M Machine-Fabricating, Inc. Received on Thu Jan 11 2007 - 18:35:49 CST

Original text of this message

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