Search This Blog

Thursday 16 June 2016

Resizing initial extent of the table

DESCRIPTION
There is no way to change the initial extent size of the table directly. There is a way to do this without dropping and recreating the table. It just needs to move the table with storage clause. It’s possible to move the table in other tablespace and back it again to the current one but this is not necessary. It’s just an option.

SYNTAX

ALTER TABLE [schema_name].[table_name] MOVE TABLESPACE [tablespace_name] STORAGE (INITIAL [number1] NEXT [number2] PCTINCREASE 0);

PARAMETERS or ARGUMENTS
schema_name - Name of the schema.
table_name - Name of the table which you want to change initial extent
number1 - Initial extent size in bytes. 
number2 - Size of the next extent which will be allocated to the object

NOTE
[number1] and [number2] can be represented with size_clause.
The size_clause lets you specify the amount of disk memory space. It can be a number of bytes, kilobytes (K), megabytes (M), gigabytes (G), terabytes (T). If you don’t specify any abbreviation the integer is considered as bytes.

Example: 1024; 64K; 10M ; 2G; 1T;


EXAMPLES
Tablespace name: def_tbs
Schema name      : def_schema
Table name         : test_table_1

Example 1:
ALTER TABLE def_schema.test_table_1
  MOVE TABLESPACE def_tbs
  STORAGE (INITIAL 64K NEXT 1M PCTINCREASE 0);

Example 2 :    Make the same like Example 1
ALTER TABLE def_schema.test_table_1
  MOVE TABLESPACE def_tbs
  STORAGE (INITIAL 65536 NEXT 1048576 PCTINCREASE 0);

Search This Blog