shouldn't pctfree be more like 'Zero' for insert-only table ?
pctfree = 100 means nothing can be inserted !
Printable View
shouldn't pctfree be more like 'Zero' for insert-only table ?
pctfree = 100 means nothing can be inserted !
Hey, Thats correct,
In that case , for a insert only tables it means
pctfree = 0
and
pctused = 0
Advisors, what do you say?
When PCTFREE is set to 0, then every update on a row requires a row migration.
When PCTUSED is set to 0 , then after deleting all rows in the block, it will be added into FREELIST.
All,I just read this thread and i see very useful information. I just want to share my thoughts for PCTUSED Vs PCTFREE for insert only tables.
PCTFREE = 0 AND PCTUSED value does matter for insert only tables. PCTUSED will not play the role as long as we are not deleting any data in the block. Another point here is, we can not set PCTUSED=100 or PCTFREE = 100. The value 100 is invalid value. Also sum of PCTUSED and PCTFREE can not exceed 100. Pease reply if any one is not agreeing. Thanks
SQL> create table test
2 (no number)
3 pctused 0
4 pctfree 100;
pctfree 100
*
ERROR at line 4:
ORA-02211: invalid value for PCTFREE or PCTUSED
SQL> create table test(no number)
2 pctused 60
3 pctfree 41;
create table test(no number)
*
ERROR at line 1:
ORA-04000: the sum of PCTUSED and PCTFREE cannot exceed 100
its 6 years old for gods sake