Re: set transaction use rollback segment xxx

From: Michael Huneycutt <mah_at_reaper.mitre.org>
Date: 1995/06/08
Message-ID: <3r7uct$7ec_at_linus.mitre.org>#1/1


Glenn,

   Multiple transactions can write to the same rollback segment at the same time, and can also write to the same extent. What they cannot do is write to the same block. Given two transactions A and B. If a starts first and aquires the first extent, then B comes along an also aquires the first extent. Which ever transaction runs out of room first in the extent it will aquire the next extent. Oracle will try to balance the number of transactions across rollbacks segments, ie. if you have 1 transaction using the large rollback segment and the other rollback segments have no transaction, if you to no specify SET TRANSACTION, oracle will grab one of the rollbacks with no active transactions in it.

Mike H.
Oracle/Unix Technical Consultant.

Glenn Travis (gtravis_at_richmond.infi.net) wrote:
: When using this statement; SET TRANSACTION USE ROLLBACK SEGMENT foo,
: does that transaction wait for the segment if it is in use?
 

: We have 4 small rollback segments (2MB each), and 1 large rollback
: segment(for batch at 230MB). I want to set the batch queries to use the
: large rollback segment. BUT, i can't prevent the other users from using
: it either. So what happens if a user grabs the first extent of my large
: rollback segment, then my batch job tries to use it? Does the batch job
: grab the next extent (which is considerably smaller), then run out of
: space? Or does it wait for the initial extent? How are these segments
: and extents shared and used? Should I break up my 230MB segment into
: smaller chunks?
 

: any help would be appreciated.
: thanks,
 

: --
: Glenn Travis
: DBA
: Circuit City Stores, Inc.
: Richmond, VA USA
: gtravis_at_richmond.infi.net
: gtravis_at_aol.com
Received on Thu Jun 08 1995 - 00:00:00 CEST

Original text of this message