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

Home -> Community -> Mailing Lists -> Oracle-L -> Re:Rollback Segments

Re:Rollback Segments

From: <dgoulet_at_vicr.com>
Date: Wed, 09 May 2001 09:15:27 -0700
Message-ID: <F001.002FDDCE.20010509074601@fatcity.com>

Rollback segments are one of those PUBLIC assets that can be somewhat of a nightmare. While your running a simple select you may have interest in every rollback segment in the database because of the nature of these beasts. When a transaction modifies data the original copy of the row is held in a rollback segment so that the transaction can rollback (hence the name). The problem that occurs is when one transaction modifies a row in a table and your select statement is interested in that table. Then the data in the rollback segment MUST be held until whichever of you finishes LAST. This is how Oracle creates it's "read consistent view" of the data. Using the SET TRANSACTION command is really a holdback from Oracle6 where rollback segments just grew to whatever size was allowed. Most of us had one really large segment that we used for long running transactions that would modify a ton of data. Since Oracle7 and the 'optimal' setting on rollback segments I have not found a reason to use that particular set transaction command. The basics are pretty simple, run utlbstat/utlestat periodically on your DB looking at the shrinks and wraps for each rollback segment. Then resize the segments as needed to minimize, but not eliminate these.

Dick Goulet

____________________Reply Separator____________________
Author: Nixon_Villanueva_at_manulife.com
Date:       5/9/2001 12:40 AM


Hi All,

Here is my environment;

NT v4
Db Oracle Workgroup v8.1.6

Rollback Segments

SEGMENT_NAME                   OWNER  TABLESPACE_NAME
------------------------------     ------ ------------------------------
SYSTEM                         SYS    SYSTEM
RBS0                            PUBLIC RBS
RBS_P1                          SYS    RBS
RBS_P2                          SYS    RBS
RBS_P3                          SYS    RBS
RBS_P4                          SYS    RBS
RBS_P5                          SYS    RBS


Is it possible to assign one public rollback segment explicitly to one particular transaction?
I tried using SET TRANSACTION USE ROLLBACK SEGMENT but other users I found out can still use it. So, I guess
the best alternative is to set that RB segment to OFFLINE after using and set ONLINE before executing the SET TRANSACTION ... Do you know how it can be done inside Forms?

Thanks in advance!

--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author:
  INET: Nixon_Villanueva_at_manulife.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author:
  INET: dgoulet_at_vicr.com
Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Wed May 09 2001 - 11:15:27 CDT

Original text of this message

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