Hi,
I am having a high contention for undo header. I used the following queries to find that out.
Do i need to increase the rollback segment size or increase the number of rollback segments to tune this.
Also what is Undo Header??
select class, count
2 from v$waitstat
3 where class in ('system undo header', 'system undo block',
4 'undo header', 'undo block' ) ;
CLASS COUNT
------------------ ----------
system undo header 0
system undo block 0
undo header 62579
undo block 2
select 'Contention for undo header = '||
2 (round(count/(&xxv1+0.00000000001),4)) * 100||'%'
3 from v$waitstat
4 where class = 'undo header' ;
old 2: (round(count/(&xxv1+0.00000000001),4)) * 100||'%'
new 2: (round(count/( 85473+0.00000000001),4)) * 100||'%'
Contention for undo header = 73.21%
Thanks
Anurag
04-04-2001, 01:31 PM
Halo
An undo header is the segment header for an rbs. I believe you may have to increase the # rbs. Plz confirm this with someone. Also, run this script and post the output here:
-
SELECT name, waits, gets, waits/gets "Ratio"
FROM v$rollstat a, v$rollname b
WHERE a.usn = b.usn;
04-04-2001, 01:50 PM
itsravi
Check out your rollback work (v$rollstat/rollanme join using USN & see for extents in dba_rollback_segs) if things are not bright, increase number of rollback segs either small or large but do analysis before you'd create 'em
04-04-2001, 01:52 PM
anuragmin
Hi,
Thanks for the reply.
The output of the script is below.Please note that I added rollback segments RB6 and RB7 just a few minutes ago.
Thanks again.
Anurag
SQL> SELECT name, waits, gets, waits/gets "Ratio"
2 FROM v$rollstat a, v$rollname b
3 WHERE a.usn = b.usn;
Can you please give me a script to analyse the rollback segment work.
Thanks
Anurag
04-04-2001, 02:04 PM
Halo
Well, the good part is that there does not seem to be any contention for the rbs.
04-04-2001, 02:14 PM
anuragmin
I have read on the metalink site for oracle that if a non zero value existed for 'undo header ' under the class column this means that there is a contention for rollback segment header blocks. Please refer Note: 69464.1
And my values for the undo header is very high. see below
select class, count
2 from v$waitstat
3 where class in ('system undo header', 'system undo block',
4 'undo header', 'undo block' ) ;
CLASS COUNT
------------------ ----------
system undo header 0
system undo block 0
undo header 62579
undo block 2
I am a little confused. Please suggest.
Thanks
Anurag
04-04-2001, 04:25 PM
gpsingh
What is ur database block size.
what are the values for consistent gets and db block gets.
what is the current and max value for transactions in v$resource_limit.
how many write,get and waits per rollback segment.
What is the size of ur rollback segments.
Problem seems to be the number of transactions hitting single rollback segment, if transactions are high , then u need to have more rollback segments available .