เปลี่ยน initial size ของ Table ใน Oracle

เมื่อเกิดเหตุการที่กำหนด initial table size ผิดพลาดไป เราจะแก้ไข ได้อย่างไร

I'am Sira

เมื่อทำการสร้าง Table ขึ้นมาใหม่ แล้วดันบังเอิญว่าได้กำหนดค่าของ initial size ผิดพลาดไปทำให้ตัวตารางจองพื้นที่ไว้ เกินความต้องการ
ซึ่งวิธีการแก้ไข เราสามารถทำได้โดยง่าย เพียงใช้คำสั่ง ALTER TABLE 

จากการทดลอง Alter storage โดยกำหนด size ใหม่เข้าไป ผลปรากฏว่า

1

2

3

SQL> alter table EMPLOYEE_MASTER storage (initial 256K);

ERROR at line 1:

ORA-02203: INITIAL storage options  not allowed

เราจะไม่สามารถแก้ไข Storage ของ Table ได้แต่เรามีทางอื่นในการแก้ไขคือ คำสั่ง ALTER MOVE ดังต่อไปนี้

1

SQL> alter table EMPLOYEE_MASTER  move  storage (initial 256K);

และหลังจากนั้น ก็ต่อด้วยการ Rebuild storage ของ Index

1

SQL> select 'alter index ' || index_name ||   ' rebuild storage (initial 256K);' from user_indexes;

เพียงเท่านี้ก็สามารถแก้ไขค่าของ initial ที่กำหนดผิดพลาดไปได้อย่างง่ายดาย