Re: Increase FREEIST w/o drop objects

  • From: Tanel Põder <tanel.poder.003@xxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Sun, 3 Oct 2004 00:02:46 +0300

> Why Oracle said that to increase the FREELISTS you MUST RECREATE THE
OBJECTS?

Please reference, where is this stated?

This is from 9.2 RAC deployment doc:

"You cannot change the value of FREELIST GROUPS with the ALTER TABLE, ALTER
CLUSTER, or ALTER INDEX statements unless you export, drop, rebuild, and
reload the table. However, you can dynamically change the setting for the
FREELISTS parameter with the ALTER TABLE, ALTER INDEX, or ALTER CLUSTER
statements."


So, you can dynamically change freelists for a segment (they're just small
pointers inside segment header). But if you want to change number of
freelist groups using alter command, the whole contents of segment have to
be physically copied to another location within an Oracle datafile, because
Oracle wants to keep freelist group blocks right after segment header...

Tanel.


>
> How about just
>
>         ALTER object_type object_name STORAGE (FREELISTS higher_value);
>
>         or
>
>         ALTER object_type object_name
>                 MOVE STORAGE (FREELIST higher_value FREELIST GROUPS
higher_ value);
>
> Thanks
> Sinardy
>
> --
> //www.freelists.org/webpage/oracle-l

--
//www.freelists.org/webpage/oracle-l

Other related posts: