Re: Rollbacks - ORA-1555

2001-12-05 Thread Stephen Andert



Christine, 

Howdy neighbor. I've almost eliminated 1555's. It 
took some trial and error, but what we ended up with in one of our bigger db's 
is:

30 rollback segments
OPTIMAL (NULL)
minextents 20
initial = next = 4MB
6GB total space

We have between 400 and 500 interactive users, several high 
volume batch jobs and some DSS jobs. 

By getting rid of OPTIMAL, you avoid one of the more common 
causes of the 1555 where a rollback segment is shrunk while the data block is 
being used. We schedule a shrink script to run and manually shrink all the 
rollback segments weekly. At times some tasks can eat up more rbs, but 
since they are dba activities, we just shrink a single rollback segment at a 
time if it gets too big. 

HTH

Stephen Andert

 [EMAIL PROTECTED] 12/04/01 03:50PM 

Greetings All

I am 
some what new to the list, so forgive me if I don't have the proper etiquette in 
addressing my issue. I have a database, 8.1.6, running on Windows NT, that 
currently has 5 rollback segments. The specs are as follows for each 
segment:

OPTIMAL 350M 
minextents 7 
maxextents unlimited 
initial 50M 
next 
50M

These 
segments are currently in one tablespace, for rollbacks only, which is sized at 
2.5 gig, and currently the segments are taking 1.7 gig, obviously aprox 750 meg 
free.

I have 
an application,written by our developers here, which is doing a 
functionality called "pricing". Within this process is alot of DML (updates and 
deletes) with some DDL inter-mixed. There is an auto-commit feature, which is 
currently commiting every 1000 records. There is also a locking feature, before 
the actual "fetches" the application is performing for it's cursors, and the 
developers are currently using "select * from table for update nowait" to lock 
the whole table for this process. The locking is in place because this 
particular process can use up to 5 different sessions.

Currently the stats of the rollbacks look like 
this:

data 
requests- 
3817488

CLASS 
COUNT-- --system undo 
header 0system undo 
block 0undo 
header 
3undo 
block 
1

USN 
NAME AVEACTIVE 
OPTSIZE WAITS WRAPS EXTENDS SHRINKS AVESHRINK 
-- -- -- - - --- -- 
-- 0 
SYSTEM 
0 
0 0 
0 
0 0 2 
SV_ROLL0 
0 367001600 2 
0 
0 
0 0 3 
SV_ROLL1 
0 367001600 0 
0 
0 
0 0 4 
SV_ROLL2 
0 367001600 1 
0 
0 
0 0 5 
SV_ROLL3 
0 367001600 0 
0 
0 
0 0 6 
SV_ROLL4 
0 367001600 0 
0 
0 
0 0

6 rows 
selected.

TSPACE 
TOTAL 
USED FREE--- -- 
-- 
--SV_ROLL_TSP 
2500 
1751 750

At 
times I have seen the "aveactive" column have some numeric value in it, but when 
the database and services are shutdown and brought back up, this number clears 
out.

My 
question is this: how much larger are these rollbacks supposed to be before I 
can eliminate the waits and wraps? More importantly, eliminate the undo headers 
and block. I have done alot of testing, with different sizing, and I feel like 
I'm chasing my tail. This is a major feature of our software, so it's not like 
it can be "ran at night" to differ to a timing issue. I have also noticed, that 
PMON doesn't really "shrink" appropriately, not back to a state like they are 
when they are first created. At this point, I guess I'm looking for some 
insight, advice as to what to specifically do to tune these segments a little 
more.

Thanks 
So Much, in advance

Christine 


RE: Rollbacks - ORA-1555

2001-12-05 Thread Christine Turner

Hello All,

I changed the rollback segments, and here are the results. I'm now at 20
segments, 1 meg each, minextents 20, optimal 20. Here are the results after
running the process within the application with auto-commits turned off...

data requests
-
  2969079


CLASS  COUNT
-- -
system undo header 0
system undo block  0
undo header1
undo block 0


 USN NAME   AVEACTIVE   OPTSIZE WAITS WRAPS EXTENDS   SHRINKS AVESHRINK
 -- - - - - --- - -
   0 SYSTEM 0   0 0   0 0 0
   2 SV_ROLL0  106086  20971520 0 1   0 0 0
   3 SV_ROLL1  106086  20971520 0 1   0 0 0
   4 SV_ROLL2  106086  20971520 0 1   0 0 0
   5 SV_ROLL3  106086  20971520 0 1   0 0 0
   6 SV_ROLL4   0  20971520 0 0   0 0 0
   7 SV_ROLL5  106086  20971520 0 1   0 0 0
   8 SV_ROLL6  106086  20971520 0 1   0 0 0
   9 SV_ROLL7  106086  20971520 0 1   0 0 0
  10 SV_ROLL8  106086  20971520 0 1   0 0 0
  11 SV_ROLL9  106086  20971520 0 1   0 0 0
  12 SV_ROLL10 201973  20971520 1 2   0 0 0
  13 SV_ROLL11  0  20971520 0 0   0 0 0
  14 SV_ROLL12 106086  20971520 0 1   0 0 0
  15 SV_ROLL13 106086  20971520 0 1   0 0 0
  16 SV_ROLL14 106086  20971520 0 1   0 0 0
  17 SV_ROLL15 106086  20971520 0 1   0 0 0
  18 SV_ROLL16 201973  20971520 0 2   0 0 0
  19 SV_ROLL17 106086  20971520 0 1   0 0 0
  20 SV_ROLL18 106086  20971520 0 1   0 0 0
  21 SV_ROLL19 106086  20971520 0 1   0 0 0

21 rows selected.


TSPACE  TOTAL  USED  FREE
--- - - -
SV_ROLL_TSP   800   407   394


This doesn't look real good to meam I correct??? I will try processing
without the optimal being set to see what happens, while I await other
response.

thanks!
Christine



-Original Message-
Thapliyal
Sent: Tuesday, December 04, 2001 5:12 PM
To: Multiple recipients of list ORACLE-L


Hi Christine,

Your rollback segments look large to me based on the
description you have given for your application. One
way of eliminating header waits is to increase the
number of rbs .. try this and post if this helps your
stats..

1. Create total of 20 rollback segments

2. Specification for each rbs is :
 initial 1M
 next 1M
 minextents 20
 maxextents unlimited
 optimal 20M

meaning that each rbs will have 20 extents initially
and size of each rbs will be 20M initially. since you
have 20 such rbs, total rbs used is 20 * 20M = 400M

if you observe, the above structure uses smaller sized
large number of rollback segments as from your
description below, it looks like you have a oltp
system with large number of transactions

tell me if this helps ..

Deepak

---  Christine Turner
[EMAIL PROTECTED] wrote:
 RE: BMC Patrol DBXray / CA UnicenterGreetings
 All

 I am some what new to the list, so forgive me if I
 don't have the proper
 etiquette in addressing my issue. I have a database,
 8.1.6, running on
 Windows NT, that currently has 5 rollback segments.
 The specs are as follows
 for each segment:

 OPTIMAL 350M
 minextents 7
 maxextents unlimited
 initial 50M
 next 50M

 These segments are currently in one tablespace, for
 rollbacks only, which is
 sized at 2.5 gig, and currently the segments are
 taking 1.7 gig, obviously
 aprox 750 meg free.

 I have an application, written by our developers
 here, which is doing a
 functionality called pricing. Within this process
 is alot of DML (updates
 and deletes) with some DDL inter-mixed. There is an
 auto-commit feature,
 which is currently commiting every 1000 records.
 There is also a locking
 feature, before the actual fetches the application
 is performing for it's
 cursors, and the developers are currently using
 select * from table for
 update nowait to lock the whole table for this
 process. The locking is in
 place because this particular process can use up to
 5 different sessions.

 Currently the stats of the rollbacks look like this:

 data requests
 -
   3817488


 CLASS   COUNT
 -- --
 system undo header  0
 system undo block   0
 undo header 3
 undo block  1


  USN NAMEAVEACTIVEOPTSIZE WAITS 

RE: Rollbacks - ORA-1555

2001-12-05 Thread Steve McClure
Title: RE: BMC Patrol DBXray / CA Unicenter









Christine,



Here is a white
paper I recently found while chasing down another link on this site. I wish I had read something like this 4
years ago, when I was a developer first trying to figure out what to do about
snapshot too old problems. I too
once tried to tame the tiger with ever increasingly large rollback segments. It doesnt really touch on how to
specifically prevent the error, but it certainly explains the problem much
better than I can. After reading Stephens
response, I think I need to brush up on rollback management, because I always
just tell the developers to figure out a way to accomplish their task, and
avoid the error on their own.



Oh the
link is Cats Dogs and ORA-01555 



Steve
McClure





-Original
Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Christine
Turner
Sent: Tuesday, December 04, 2001
2:50 PM
To: Multiple recipients of list
ORACLE-L
Subject: Rollbacks - ORA-1555



Greetings All



I am some what new to the
list, so forgive me if I don't have the proper etiquette in addressing my
issue. I have a database, 8.1.6, running on Windows NT, that currently has 5
rollback segments. The specs are as follows for each segment:



OPTIMAL 350M 

minextents 7 

maxextents unlimited 

initial 50M 

next 50M



These segments are
currently in one tablespace, for rollbacks only, which is sized at 2.5 gig, and
currently the segments are taking 1.7 gig, obviously aprox 750 meg free.



I have an
application,written by our developers here, which is doing a
functionality called pricing. Within this process is alot of DML
(updates and deletes) with some DDL inter-mixed. There is an auto-commit
feature, which is currently commiting every 1000 records. There is also a
locking feature, before the actual fetches the application is
performing for it's cursors, and the developers are currently using
select * from table for update nowait to lock the whole table for
this process. The locking is in place because this particular process can use
up to 5 different sessions.



Currently the stats of
the rollbacks look like this:



data requests
-
 3817488




CLASS
COUNT
-- --
system undo header 0
system undo block 0
undo
header
3
undo
block
1




USN NAME
AVEACTIVE OPTSIZE WAITS WRAPS EXTENDS
SHRINKS AVESHRINK
 -- -- -- - - --- -- --
 0
SYSTEM
0
0 0
0
0 0
 2
SV_ROLL0
0 367001600 2
0
0 0
0
 3
SV_ROLL1
0 367001600 0
0
0 0
0
 4
SV_ROLL2
0 367001600 1
0
0 0
0
 5
SV_ROLL3
0 367001600 0
0
0 0
0
 6
SV_ROLL4
0 367001600 0
0
0 0
0



6 rows selected.




TSPACE
TOTAL
USED FREE
--- -- -- --
SV_ROLL_TSP
2500
1751 750



At times I have seen the
aveactive column have some numeric value in it, but when the
database and services are shutdown and brought back up, this number clears out.



My question is this: how
much larger are these rollbacks supposed to be before I can eliminate the waits
and wraps? More importantly, eliminate the undo headers and block. I have done
alot of testing, with different sizing, and I feel like I'm chasing my tail.
This is a major feature of our software, so it's not like it can be ran
at night to differ to a timing issue. I have also noticed, that PMON
doesn't really shrink appropriately, not back to a state like they
are when they are first created. At this point, I guess I'm looking for some
insight, advice as to what to specifically do to tune these segments a little
more.



Thanks So Much, in
advance



Christine 








RE: Rollbacks - ORA-1555

2001-12-05 Thread Deepak Thapliyal

Hi Christine,

these results are slightly differnt from the earlier
ones you .. as the latest ones had 8,48409 fewer data
requests. 

I believe you are worried about the wraps.. if yes ..
dont be , cuz at some point or the other the rbs will
wrap. the definition of wrapping is controversial and
lots of confusion still exists. That said, wraps are
probably not the best metrics to help you identify rbs
issues.. here are the metrics i use to for identifying
if there are rbs issues from v$rollstat.. (excluding
v$waitstat stats as you already seem to have figured
that one it seems)

1. waits (ideally you want this to be 0)

2. shrink (if high means that there is dynamic
allocation and reallocation.. tune optimal.. ideally
you want your rbs to always stay at its optimal size
with 0 shrinks..)

3. AVEACTIVE: you reached a maximum of about 200K. so
maybe you should try changing initial and next to 250K
with other parameters same and check if the numbers
are looking better

finally the reason i replied to the whole list and not
only to you is that i am hoping someone can come
forward and say that .. dude!! you have it figgured
all wrong!!  that way at least i get to learn somin
new for sure... ;)

Thx
Deepak

PS: might also help to check v$session_wait for buffer
waits to see what type of blocks are being contended
for..



---  Christine Turner
[EMAIL PROTECTED] wrote:
 Hello All,
 
 I changed the rollback segments, and here are the
 results. I'm now at 20
 segments, 1 meg each, minextents 20, optimal 20.
 Here are the results after
 running the process within the application with
 auto-commits turned off...
 
 data requests
 -
   2969079
 
 
 CLASS  COUNT
 -- -
 system undo header 0
 system undo block  0
 undo header1
 undo block 0
 
 
  USN NAME   AVEACTIVE   OPTSIZE WAITS WRAPS
 EXTENDS   SHRINKS AVESHRINK
  -- - - - -
 --- - -
0 SYSTEM 0   0 0 
  0 0 0
2 SV_ROLL0  106086  20971520 0 1 
  0 0 0
3 SV_ROLL1  106086  20971520 0 1 
  0 0 0
4 SV_ROLL2  106086  20971520 0 1 
  0 0 0
5 SV_ROLL3  106086  20971520 0 1 
  0 0 0
6 SV_ROLL4   0  20971520 0 0 
  0 0 0
7 SV_ROLL5  106086  20971520 0 1 
  0 0 0
8 SV_ROLL6  106086  20971520 0 1 
  0 0 0
9 SV_ROLL7  106086  20971520 0 1 
  0 0 0
   10 SV_ROLL8  106086  20971520 0 1 
  0 0 0
   11 SV_ROLL9  106086  20971520 0 1 
  0 0 0
   12 SV_ROLL10 201973  20971520 1 2 
  0 0 0
   13 SV_ROLL11  0  20971520 0 0 
  0 0 0
   14 SV_ROLL12 106086  20971520 0 1 
  0 0 0
   15 SV_ROLL13 106086  20971520 0 1 
  0 0 0
   16 SV_ROLL14 106086  20971520 0 1 
  0 0 0
   17 SV_ROLL15 106086  20971520 0 1 
  0 0 0
   18 SV_ROLL16 201973  20971520 0 2 
  0 0 0
   19 SV_ROLL17 106086  20971520 0 1 
  0 0 0
   20 SV_ROLL18 106086  20971520 0 1 
  0 0 0
   21 SV_ROLL19 106086  20971520 0 1 
  0 0 0
 
 21 rows selected.
 
 
 TSPACE  TOTAL  USED  FREE
 --- - - -
 SV_ROLL_TSP   800   407   394
 
 
 This doesn't look real good to meam I correct???
 I will try processing
 without the optimal being set to see what happens,
 while I await other
 response.
 
 thanks!
 Christine
 
 
 
 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
 Behalf Of Deepak
 Thapliyal
 Sent: Tuesday, December 04, 2001 5:12 PM
 To: Multiple recipients of list ORACLE-L
 Subject: Re: Rollbacks - ORA-1555
 
 
 Hi Christine,
 
 Your rollback segments look large to me based on the
 description you have given for your application. One
 way of eliminating header waits is to increase the
 number of rbs .. try this and post if this helps
 your
 stats..
 
 1. Create total of 20 rollback segments
 
 2. Specification for each rbs is :
  initial 1M
  next 1M
  minextents 20
  maxextents unlimited
  optimal 20M
 
 meaning that each rbs will have 20 extents initially
 and size of each rbs will be 20M initially. since
 you
 have 20 such rbs, total rbs used is 20 * 20M = 400M
 
 if you observe, the above structure uses smaller
 sized
 large number of rollback segments as from your
 description below, it looks like you have a oltp

Re: Rollbacks - ORA-1555

2001-12-04 Thread Deepak Thapliyal

Hi Christine,

Your rollback segments look large to me based on the
description you have given for your application. One
way of eliminating header waits is to increase the
number of rbs .. try this and post if this helps your
stats..

1. Create total of 20 rollback segments

2. Specification for each rbs is :
 initial 1M
 next 1M
 minextents 20
 maxextents unlimited
 optimal 20M 

meaning that each rbs will have 20 extents initially
and size of each rbs will be 20M initially. since you
have 20 such rbs, total rbs used is 20 * 20M = 400M

if you observe, the above structure uses smaller sized
large number of rollback segments as from your
description below, it looks like you have a oltp
system with large number of transactions

tell me if this helps ..

Deepak

---  Christine Turner
[EMAIL PROTECTED] wrote:
 RE: BMC Patrol DBXray / CA UnicenterGreetings
 All
 
 I am some what new to the list, so forgive me if I
 don't have the proper
 etiquette in addressing my issue. I have a database,
 8.1.6, running on
 Windows NT, that currently has 5 rollback segments.
 The specs are as follows
 for each segment:
 
 OPTIMAL 350M
 minextents 7
 maxextents unlimited
 initial 50M
 next 50M
 
 These segments are currently in one tablespace, for
 rollbacks only, which is
 sized at 2.5 gig, and currently the segments are
 taking 1.7 gig, obviously
 aprox 750 meg free.
 
 I have an application, written by our developers
 here, which is doing a
 functionality called pricing. Within this process
 is alot of DML (updates
 and deletes) with some DDL inter-mixed. There is an
 auto-commit feature,
 which is currently commiting every 1000 records.
 There is also a locking
 feature, before the actual fetches the application
 is performing for it's
 cursors, and the developers are currently using
 select * from table for
 update nowait to lock the whole table for this
 process. The locking is in
 place because this particular process can use up to
 5 different sessions.
 
 Currently the stats of the rollbacks look like this:
 
 data requests
 -
   3817488
 
 
 CLASS   COUNT
 -- --
 system undo header  0
 system undo block   0
 undo header 3
 undo block  1
 
 
  USN NAMEAVEACTIVEOPTSIZE WAITS WRAPS
 EXTENDSSHRINKS
 AVESHRINK
  -- -- -- - -
 --- -- ---
 ---
0 SYSTEM  00 0   
0  0
 0
2 SV_ROLL00  367001600 2 0   
0  0
 0
3 SV_ROLL10  367001600 0 0   
0  0
 0
4 SV_ROLL20  367001600 1 0   
0  0
 0
5 SV_ROLL30  367001600 0 0   
0  0
 0
6 SV_ROLL40  367001600 0 0   
0  0
 0
 
 6 rows selected.
 
 
 TSPACE   TOTAL   USED   FREE
 --- -- -- --
 SV_ROLL_TSP   2500   1751750
 
 At times I have seen the aveactive column have
 some numeric value in it,
 but when the database and services are shutdown and
 brought back up, this
 number clears out.
 
 My question is this: how much larger are these
 rollbacks supposed to be
 before I can eliminate the waits and wraps? More
 importantly, eliminate the
 undo headers and block. I have done alot of testing,
 with different sizing,
 and I feel like I'm chasing my tail. This is a major
 feature of our
 software, so it's not like it can be ran at night
 to differ to a timing
 issue. I have also noticed, that PMON doesn't really
 shrink appropriately,
 not back to a state like they are when they are
 first created. At this
 point, I guess I'm looking for some insight, advice
 as to what to
 specifically do to tune these segments a little
 more.
 
 Thanks So Much, in advance
 
 Christine
 


__
Do You Yahoo!?
Buy the perfect holiday gifts at Yahoo! Shopping.
http://shopping.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Deepak Thapliyal
  INET: [EMAIL PROTECTED]

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: [EMAIL PROTECTED] (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).