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 | | |If t begins in the latter half of e1, then the database will need to re-enter
|-|-------|+-------|--------+------||-------+--------->
| | transaction t t begins ends Figure 1
entered entered re-entered | | | |-|--------+|------|--------+-------||------+---------> | | transaction t t begins ends Figure 2Although 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 RollbackSegments
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