dbTalk Databases Forums  

How many rollback segments can a transaction use?

comp.databases.oracle.server comp.databases.oracle.server


Discuss How many rollback segments can a transaction use? in the comp.databases.oracle.server forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
michael ngong
 
Posts: n/a

Default How many rollback segments can a transaction use? - 07-09-2003 , 08:20 AM






Oracle8(TM) Server Concepts "

When a transaction runs out of space in the current extent and needs
to continue writing, Oracle finds an available extent of the same
rollback segment
"
This I intepret to mean if two transactions are running two rollback
segments are to be used (What my question is about)If there is another
explanation different from the fact that transaction could start and
stop within this interval that should help ....

My version/OS Oracle 8i Hp Unix 9000.
When I run a query for the number of transactions I get 2
select current_utilizations from v$resource_limit where
name='transactions'

RESOURCE_NAME CURRENT_UTILIZATION
------------------------------ -------------------
transactions 2

When I find the change in writes after a period of say 10 minutes I
expect may be two rollback segments to change since two transactions
are active.From my understanding of the DOCS these two transactions
should use two rollback segments.
but five of my rollback segments indicate an increase in the amount of
writes
time:3:50a

select n.name,writes from v$rollstat r,v$rollname n where n.usn=r.usn;
SYSTEM 2580
RBS1 101758434
RBS2 241709876
RBS3 31058582
RBS4 37506164
RBSBIG 62053292
Time 4:10a
select n.name,writes from v$rollstat r,v$rollname n where n.usn=r.usn;
SYSTEM 2580
RBS1 112648128
RBS2 241712898
RBS3 111247476
RBS4 37512038
RBSBIG 62058182

I should be missing something and will greatly appreciate your insight

Michael Tubuo Ngong

Reply With Quote
  #2  
Old   
Stephan Bressler
 
Posts: n/a

Default Re: How many rollback segments can a transaction use? - 07-09-2003 , 09:04 AM






Comments inline.

"michael ngong" <mngong (AT) yahoo (DOT) com> wrote

Quote:
Oracle8(TM) Server Concepts "

When a transaction runs out of space in the current extent and needs
to continue writing, Oracle finds an available extent of the same
rollback segment
"
This I intepret to mean if two transactions are running two rollback
segments are to be used
No, they are using at most 2 rbs segments, maybe they share one.

Quote:
My version/OS Oracle 8i Hp Unix 9000.
When I run a query for the number of transactions I get 2
select current_utilizations from v$resource_limit where
name='transactions'

RESOURCE_NAME CURRENT_UTILIZATION
------------------------------ -------------------
transactions 2
Ok, 2 running transactions at this very moment.

Quote:
When I find the change in writes after a period of say 10 minutes I
expect may be two rollback segments to change since two transactions
are active.From my understanding of the DOCS these two transactions
should use two rollback segments.
but five of my rollback segments indicate an increase in the amount of
writes
time:3:50a

select n.name,writes from v$rollstat r,v$rollname n where n.usn=r.usn;
SYSTEM 2580
RBS1 101758434
RBS2 241709876
RBS3 31058582
RBS4 37506164
RBSBIG 62053292
Time 4:10a
select n.name,writes from v$rollstat r,v$rollname n where n.usn=r.usn;
SYSTEM 2580
RBS1 112648128
RBS2 241712898
RBS3 111247476
RBS4 37512038
RBSBIG 62058182

I should be missing something and will greatly appreciate your insight
You are missing that in the meantime many other transactions were done
(maybe by the same 2 sessions).

Regards Stephan




Reply With Quote
  #3  
Old   
Daniel Morgan
 
Posts: n/a

Default Re: How many rollback segments can a transaction use? - 07-09-2003 , 11:25 AM



michael ngong wrote:

Quote:
Oracle8(TM) Server Concepts "

When a transaction runs out of space in the current extent and needs
to continue writing, Oracle finds an available extent of the same
rollback segment
"
This I intepret to mean if two transactions are running two rollback
segments are to be used (What my question is about)If there is another
explanation different from the fact that transaction could start and
stop within this interval that should help ....

My version/OS Oracle 8i Hp Unix 9000.
When I run a query for the number of transactions I get 2
select current_utilizations from v$resource_limit where
name='transactions'

RESOURCE_NAME CURRENT_UTILIZATION
------------------------------ -------------------
transactions 2

When I find the change in writes after a period of say 10 minutes I
expect may be two rollback segments to change since two transactions
are active.From my understanding of the DOCS these two transactions
should use two rollback segments.
but five of my rollback segments indicate an increase in the amount of
writes
time:3:50a

select n.name,writes from v$rollstat r,v$rollname n where n.usn=r.usn;
SYSTEM 2580
RBS1 101758434
RBS2 241709876
RBS3 31058582
RBS4 37506164
RBSBIG 62053292
Time 4:10a
select n.name,writes from v$rollstat r,v$rollname n where n.usn=r.usn;
SYSTEM 2580
RBS1 112648128
RBS2 241712898
RBS3 111247476
RBS4 37512038
RBSBIG 62058182

I should be missing something and will greatly appreciate your insight

Michael Tubuo Ngong
There is an init.ora parameter that controls the number of transactions
per rollback segment. The deault is usually 4 or 5.

A transaction can use one, and only one, rollback segment.

If you have 9i drop rollback and go to undo.
--
Daniel Morgan
http://www.outreach.washington.edu/e...ad/oad_crs.asp
damorgan@x.washington.edu
(replace 'x' with a 'u' to reply)




Reply With Quote
  #4  
Old   
Nuno Souto
 
Posts: n/a

Default Re: How many rollback segments can a transaction use? - 07-09-2003 , 06:48 PM



mngong (AT) yahoo (DOT) com (michael ngong) wrote in message news:<ecf365d5.0307090520.ff449ae (AT) posting (DOT) google.com>...
Quote:
I should be missing something and will greatly appreciate your insight
You are getting two rlbsegs with major activity, which
are used by your two main active transactions. These may generate
some dictionary management transactions (also called recursive SQL)
and a number of other activities which are catered for by the
other small usage of rlbseg that you see. All of these need
to be able to be rolled back, hence the additional usage.
You may also have other jobs going you don't know about?

Cheers
Nuno Souto
wizofoz2k (AT) yahoo (DOT) com.au.nospam


Reply With Quote
  #5  
Old   
Quarkman
 
Posts: n/a

Default Re: How many rollback segments can a transaction use? - 07-10-2003 , 02:01 AM



On 9 Jul 2003 16:48:48 -0700, Nuno Souto <wizofoz2k (AT) yahoo (DOT) com.au> wrote:

Quote:
mngong (AT) yahoo (DOT) com (michael ngong) wrote in message
news:<ecf365d5.0307090520.ff449ae (AT) posting (DOT) google.com>...

I should be missing something and will greatly appreciate your insight

You are getting two rlbsegs with major activity, which are used by your
two main active transactions. These may generate
some dictionary management transactions (also called recursive SQL)
and a number of other activities which are catered for by the other small
usage of rlbseg that you see. All of these need
to be able to be rolled back, hence the additional usage.
You may also have other jobs going you don't know about?

Cheers
Nuno Souto
wizofoz2k (AT) yahoo (DOT) com.au.nospam


Nuno's got it in one.

Put it another way: v$transaction only reports *user* transactions, not the
many, many others that might be taking place recursively on the data
dictionary. V$rollstat, however, reports all rollback activity without
distinction.

~QM


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.