| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Please help! - Snapshot\Rollback problem
Although there is no direct link between the number of extents in a rollback
segment and the number of transactions that can make use of that rollback
segment, multiple equally-sized extents will maximize the number and size of
transactions that may make use of that rollback segment. The SYSTEM
rollback
segment and deferred rollback segments are special system resources not
under
the control of the DBA, so they are ignored in the following
discussion.Assume
o Rollback segment s with N bytes total space.
o Transaction t such that between the first statement in t
and the ROLLBACK or COMMIT that terminates t, Nt bytes are
written to s by all transactions using s, including
transaction t. Whether or not t itself writes any bytes
to s is irrelevant; the total number of bytes written
to s during the internal between the start and end of t is
the value of Nt to assume here. Measuring or calculating
Nt for a transaction is not discussed in this bulletin;
Nt is merely used to derive a useful result.
When the database fills up one extent of s with rollback information for one
or
Nt = .75 * N (1)
If t begins in the first half of e1, then t will complete before the
database
e1 e2 e1
entered entered re-entered
| | |
|-|-------|+-------|--------+------||-------+--------->
| |
transaction t t
begins ends
Figure 1
If t begins in the latter half of e1, then the database will need to
re-enter
entered entered re-entered
| | |
|-|--------+|------|--------+-------||------+--------->
| |
transaction t t
begins ends
Figure 2
Although rollback segment s has N bytes available, t might not successfully
run
Ne = N - Nm (2)
where Nm is the number of bytes in the largest extent of s. If
Ne < Nt < N (3)
t may finish without needing another extent to be added to s. If
Nt < Ne (3.1)
t will finish without needing another extent to be added to s unless another
transaction interferes. Assume transaction T such that during the duration
of T, the number of bytes NT written to s is greater than the Nt for any
other
NT < Ne (4)
is sufficient to ensure that T have enough space available in s. If T has
enough space to run, then any other transaction t also has sufficient space.
Maximizing Ne allows the database to more effectively use the space
allocated
N = E * Nm (5)and thus
N (E - 1)
Ne = N - Nm = N - --- = N * --------- (6)
E E
and, more simply, the useful relationship is (E - 1)
Ne = N * --------- (7)
E
E (E - 1)/E Ne
--- ----------- --------
2 0.5 0.5 * N
5 0.8 0.8 * N
10 0.9 0.9 * N
20 0.95 0.95 * N
50 0.98 0.98 * N
Figure 3Interactions Between Rollback
Segments
e The extent in rollback segment s that the database will
attempt to enter when another extent is needed in s.
e1 The first extent of rollback segment s having two extents.
e2 The second extent of rollback segment s having two extents.
E The number of extents in rollback segment s.
N Size in bytes of rollback segment s.
Ne The 'effective number of bytes' in rollback segment s.
Maximizing this statistic for a rollback segment
is the point of this bulletin.
Nm The number of bytes in the largest extent of rollback segment
s.
Nt Number of bytes written to rollback segment s by all
transactions during the running of transaction t.
NT The maximum Nt for rollback segment s. s Rollback segment.
t A Transaction.
T The transaction that requires NT bytes in s to complete.
Len Nowers wrote in message
>I get the following error when I run my Report. > >REP-0451: Unhandled exception ORA-01555: snapshot too old: rollback segment >number 6 with name "R06" too small >Ora-06512: at "PEPPRD.P_log061", LINE 284 > >As far as I understand, it occurs because updates are done on the same >tables on which I do my selects. >Is it possible to avoid using the rollback segments or are there anyting >else I can try. We already increased the size of the >rollback segments 2 times. > >Thank you in advance > >Len Nowers
begin 666 Yassir Khogaly.vcf
M0D5'24XZ5D-!4D0-"E9%4E-)3TXZ,BXQ#0I..DMH;V=A;'D[66%S<VER#0I&
M3CI987-S:7(@2VAO9V%L>0T*5$E43$4Z4V5N:6]R($]R86-L92!$0D$-"E1%
M3#M(3TU%.U9/24-%.BLT-"@P*3$X,2 T-C T,#0R#0I414P[0T5,3#M63TE#
M13HK-#0T,3$Y,#8W-S8-"D%$4CM(3TU%.CL[.SM+96YT.SM%;F=L86YD#0I,
M04)%3#M(3TU%.T5.0T]$24Y'/5%53U1%1"U04DE.5$%"3$4Z2V5N=#TP1#TP
M045N9VQA;F0-"E523#IH='1P.B\O=W=W+FMH;V=A;'DN9G)E97-E<G9E+F-O
M+G5K#0I54DPZ:'1T<#HO+W=W=RYA965U+F]R9RYU:PT*14U!24P[4%)%1CM)
M3E1%4DY%5#IY87-S:7) :VAO9V%L>2YF<F5E<V5R=F4N8V\N=6L-"E)%5CHQ
<.3DX,3$P-%0Q,C4U,SE:#0I%3D0Z5D-!4D0-"@``
`
end
Received on Wed Nov 04 1998 - 06:55:39 CST
![]() |
![]() |