RE: Grabbing sequence values blocks in consecutive order: Need a guaranteed method.

  • From: "Bobak, Mark" <Mark.Bobak@xxxxxxxxxxxx>
  • To: "fmhabash@xxxxxxxxx" <fmhabash@xxxxxxxxx>, "amar.padhi@xxxxxxxxx" <amar.padhi@xxxxxxxxx>, "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 25 Mar 2009 11:07:30 -0400

Um, unless I'm missing something, the approach outlined at the URL below is 
subject to a classic race condition.  This is a really *BAD* idea!  Don't do it!

Oracle provides DBMS_LOCK for a reason.  Implement DBMS_LOCK in your code, as 
Riyaj suggested previously, and there will not be an issue.  Doing the way it's 
outlined in that article, (ab)using DBMS_APPLICATION_INFO, is a really bad idea.

-Mark

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of FmHabash
Sent: Wednesday, March 25, 2009 11:01 AM
To: amar.padhi@xxxxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: RE: Grabbing sequence values blocks in consecutive order: Need a 
guaranteed method.

I like this a lot. Will this work with connection pooling where physical 
connections are being reused.


-----Original Message-----
From: Amar Kumar Padhi <amar.padhi@xxxxxxxxx>
Sent: Wednesday, March 25, 2009 12:01 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: Re: Grabbing sequence values blocks in consecutive order: Need a       
guaranteed method.

Another method would be to make use of application locks to actually create 
serial access to sequences. This can be achieved by using dbms_application_info 
to update v$session and then referring this value for releasing resources to 
one session at a time. I have used this logic in different scenarios to avoid 
two sessions from using the same resource. has worked perfectly. 

http://www.databasejournal.com/features/oracle/article.php/3321961/Use-Oracles-DBMSAPPLICATIONINFO-to-Prevent-Routines-from-Running-Simultaneously.htm

Thanks! 
Amar 
Www.amar-Padhi.com 

-original message-
Subject: Re: Grabbing sequence values blocks in consecutive order: Need a       
guaranteed method.

--
//www.freelists.org/webpage/oracle-l



--
//www.freelists.org/webpage/oracle-l



��i��0���zX���+��n��{�+i�^

Other related posts: