| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Minextents for rbsseg in LMT tablespace
In article <3bf0f837$0$214$edfadb0f_at_dspool01.news.tele.dk>, "Peter says...
>
>Hi,
>
>System: 8.1.6
>I have a ora-1555 problem that i can solve by upping the minextents
>parameter for my rollback segments in a dictionary managed tablespace.
>However at some customers I have made the rbs tablespace LMT with uniform
>size. It seemed like a good idea, but for a LMT you cant specify minextents
>or rather you can have a storage clause when creating a rollback segment but
>the clause but is is ignored.
>
>What to do?
>Id rather not go back to dict managed rbs but do I have other choices?
>
>TIA
>Peter Laursen
>
>
>
>
>
1 select initial_extent, next_extent, extent_management 2* from dba_tablespaces where tablespace_name = 'USERS' ops$tkyte_at_ORA817DEV.US.ORACLE.COM> /
INITIAL_EXTENT NEXT_EXTENT EXTENT_MAN
-------------- ----------- ----------
524288 524288 LOCAL ops$tkyte_at_ORA817DEV.US.ORACLE.COM> create rollback segment foobar 2 storage ( minextents 25 ) tablespace users;
Rollback segment created.
ops$tkyte_at_ORA817DEV.US.ORACLE.COM> select segment_type, extent_id, blocks 2 from dba_extents where segment_name = 3 'FOOBAR'; SEGMENT_TYPE EXTENT_ID BLOCKS
------------------ ---------- ---------- ROLLBACK 0 64 ROLLBACK 1 64 ROLLBACK 2 64 ROLLBACK 3 64 ROLLBACK 4 64 ROLLBACK 5 64 ROLLBACK 6 64 ROLLBACK 7 64 ROLLBACK 8 64 ROLLBACK 9 64 ROLLBACK 10 64 ROLLBACK 11 64 ROLLBACK 12 64 ROLLBACK 13 64 ROLLBACK 14 64 ROLLBACK 15 64 ROLLBACK 16 64 ROLLBACK 17 64 ROLLBACK 18 64 ROLLBACK 19 64 ROLLBACK 20 64 ROLLBACK 21 64 ROLLBACK 22 64 ROLLBACK 23 64 ROLLBACK 24 64
25 rows selected.
Minextents works just fine on LMTs....
When you use a storage clause on an LMT, it is not accurate to say its "ignored" perhaps - rather then it is used to conform to the rules
what happens is the INITIAL, NEXT, MINEXTENTS -- etc are used to compute how big the object would have allocated in a DMT -- then we divide by the size of the extents in the LMT, round up and there we go -- thats how many extents we'll allocate.
For example:
ops$tkyte_at_ORA817DEV.US.ORACLE.COM> drop rollback segment foobar; Rollback segment dropped.
ops$tkyte_at_ORA817DEV.US.ORACLE.COM> create rollback segment foobar 2 storage ( initial 12800k ) tablespace users; Rollback segment created.
ops$tkyte_at_ORA817DEV.US.ORACLE.COM> select count(*) from dba_extents where segment_name = 'FOOBAR';
COUNT(*)
26
Using a big initial -- we got what we asked for -- just in separate extents. Again:
ops$tkyte_at_ORA817DEV.US.ORACLE.COM> drop rollback segment foobar;
Rollback segment dropped.
ops$tkyte_at_ORA817DEV.US.ORACLE.COM> create rollback segment foobar 2 storage ( initial 1m next 1m minextents 5 ) tablespace users;
Rollback segment created.
ops$tkyte_at_ORA817DEV.US.ORACLE.COM> select count(*) from dba_extents where segment_name = 'FOOBAR';
COUNT(*)
10
we got what we asked for -- 5meg of rollback -- it just took 10 extents in this LMT to do it.
-- Thomas Kyte (tkyte@us.oracle.com) http://asktom.oracle.com/ Expert one on one Oracle, programming techniques and solutions for Oracle. http://www.amazon.com/exec/obidos/ASIN/1861004826/ Opinions are mine and do not necessarily reflect those of Oracle CorpReceived on Tue Nov 13 2001 - 09:10:00 CST
![]() |
![]() |