ALTER TABLE ... ALLOCATE EXTENT ¹®

data load½Ã ÇöÀçÀÇ extentº¸´Ù Å« µ¥ÀÌÅ͸¦ loadÇÒ °æ¿ì extent ÇÒ´çÀÌ µ¿ÀûÀ¸·Î ¹ß»ýÇÏ¿© ÇÒ´ç¿¡ ´ëÇÑ overhead°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.
»Ó¸¸ ¾Æ´Ï¶ó loadÇÏ´Ù°¡ °ø°£ÀÌ ºÎÁ·Çؼ­ error¸¦ ¹ß»ý½Ãų ¼öµµ ÀÖ´Ù. ÀÌ·¯ÇÑ Çö»óÀ» »çÀü¿¡ ¹æÁöÇϱâ À§ÇÏ¿© alter table ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© extent¸¦ ¼öµ¿À¸·Î ÇÒ´çÇÑ´Ù.

extent°¡ ÇÒ´çµÇ´Â °æ¿ì´Â ´ÙÀ½°ú °°Àº °æ¿ìÀÌ´Ù.
• segment°¡ »ý¼ºµÉ ¶§
• segment°¡ È®ÀåµÉ ¶§(extent°¡ ´ÙÂ÷¼­ ÀÚµ¿À¸·Î ¿À¶óŬ ¼­¹ö°¡ ÇÒ´çÇÏ´Â °æ¿ì)
• tableÀÌ º¯°æµÉ ¶§

¡¼Çü½Ä¡½ 
     ALTER TABLE Å×À̺í¸í
       ALLOCATE EXTENT
         (SIZE ¼ýÀÚ DATAFILE 'fileÀÇ À̸§°ú °æ·Î');

¿©±â¼­ 
  • ALLOCATE EXTENT : EXTENT¸¦ ÇÒ´çÇϱâ À§ÇØ »ç¿ëÇÏ´Â ¸í·É
  • SIZE : EXTENT°¡ ÇÒ´çµÇ´Â Å©±â
  • DATAFILE 'fileÀÇ À̸§°ú °æ·Î' : »õ·Î ÇÒ´çµÉ extentÀÇ À§Ä¡¸¦ ³ªÅ¸³¿

¡¼¿¹Á¦¡½
SQL> conn system/manager as sysdba
Connected.
SQL> select segment_name, extent_id, block_id, bytes, blocks
  2  from dba_extents
  3  where segment_name='EMP';
 
SEGMENT_NAME
--------------------------------------------------------------------------------
 EXTENT_ID   BLOCK_ID      BYTES     BLOCKS
---------- ---------- ---------- ----------
EMP
         0         25      65536          8
 
 
SQL> alter table emp
  2   allocate extent
  3   (size 10k datafile '/export/home/oracle/app/oracle/oradata/orcl/data03.dbf');  
extent ÇØÁ¦¸¦ À§ÇÑ alter table ¸í·É¾î

ÇÒ´çµÈ extent°¡ »ç¿ëµÇÁö ¾Ê´Â´Ù¸é, °ø°£ÀÇ ³¶ºñ¸¦ ÃÊ·¡ÇÒ ¼ö Àֱ⠶§¹®¿¡ ÇÒ´çµÈ °ø°£À» ÇØÁ¦ÇÏ¸é ±× °ø°£À» ´Ù¸¥ µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§ÇØ »ç¿ëµÇ¾îÁú ¼ö ÀÖ´Ù.

¡¼Çü½Ä¡½
     ALTER TABLE Å×À̺í¸í
        ALLOCATE UNUSED;