Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Alter RBS Errors;

Re: Alter RBS Errors;

From: Howard J. Rogers <dba_at_hjrdba.com>
Date: Mon, 8 Apr 2002 06:06:41 +1000
Message-ID: <a8q8ul$gsd$1@lust.ihug.co.nz>


Comments below.

--
-----------------------------------------------
Resources for Oracle : http://www.hjrdba.com
===============================

"Md Irfan" <irfan_pk_at_hotmail.com> wrote in message
news:c42168e7.0204070242.702954ab_at_posting.google.com...

> Hi,
> I was trying to modify the RBS, but I got the following errors.
>
> The first one when trying to allocated minextents to 20 from 2.
>
> SVRMGR> alter rollback segment kse1_rbs5 storage (minextents 20);
> alter rollback segment kse1_rbs5 storage (minextents 20)
> *
> ORA-01570: MINEXTENTS must be no larger than the 2 extents currently
> allocated
>
And your question is....? I hope you're not surprised at this "error". If your segment (whether it's a rollback segment or not is irrelevant: it happens to them all) currently has (say) 5 extents, and you suddenly want to change MINEXTENTS to 10, what you're really saying is that you want to acquire an additional 5 extents on top of the ones you've already got. But that's a low-down sneaky way of doing an 'alter ... allocate extent' 5 times, so it's not permitted. MINEXTENTS must therefore always be set lower than or equal to the existing number of extents. But if it can only be set to something lower (or equal) to what you;ve already got, what difference does changing it make? Answer: none whatsoever. Not until you truncate the segment. *Then* the new setting kicks in, and you'll be left with the MINEXTENTS number of extents, not just the initial which you would otherwise have got.
> This one, when I was modifying to initial 100K
>
> SVRMGR> alter rollback segment kse1_rbs5
> 2> storage (initial 100k);
> storage (initial 100k)
> *
> ORA-02203: INITIAL storage options not allowed
>
Oh dear. You are altering a segment (again, the fact that it's a rollbak is irrelevant, it happens to all of them) which must therefore already exist. If it already exists, it has already acquired its initial extent. If it's already acquired an initial extent of, say, 500K, how on Earth is it supposed to just relinquish 400K of that space in response to your SQL command? It can't. If this was a table, those 400K might well be stuffed full of records. You can never alter the size of any extent once it has already been allocated. You can only alter the size of the NEXT setting, and that only takes effect the next time the segment wants to extend.
> But when I dropped this RBS, and recreated with the new storage
> options for minextents and initial it went fine.
>
Naturally. When you dropped the segment, it ceased to exist. So when you recreated it, settings for Initial are perfectly acceptable (it hasn't acquired it's initial extent yet, so it's fine to say how big it should be when it does). And since there are no extents allocated at all, it's perfectly acceptable to demand that the segment should have a minimum number of extents when it finally does get created. These are not errors. And nothing to do with rollback segments. Try the self-same tests on a table: the same thing will happen. This is just standard Oracle behaviour. Regards HJR
> Thanks a lot...
> Irfan
Received on Sun Apr 07 2002 - 15:06:41 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US