¿À¶óŬ µ¥ÀÌÅͺ£À̽º¿¡¼­ »ç¿ëÀÚ µ¥ÀÌÅÍ´Â ´ÙÀ½ Áß ÇÑ°¡Áö ¹æ¹ýÀ¸·Î ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.
   - Á¤±Ô Å×À̺í(Regular tables)
   - ºÐÇÒ Å×À̺í(Partitioned tables)
   - Index-organized Å×À̺í(Index-organized tables)
   - Ŭ·¯½ºÅÍ Å×À̺í(Clustered tables)

Á¤±Ô Å×À̺í
Á¤±Ô Å×À̺í(ÀϹÝÀûÀ¸·Î ¡°Å×ÀÌºí¡±À̶ó°í¸¸ ÀÏÄþîÁö´Â)Àº »ç¿ëÀÚ µ¥ÀÌÅ͸¦ ÀúÀåÇϴµ¥ ÀÖ¾î °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ±âº» Å×À̺íÀÌ¸ç º» Àå¿¡¼­ ÁÖ·Î ´Ù·ç¾îÁú °ÍÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽º °ü¸®Àڴ Ŭ·¯½ºÅ͵ÇÁö ¾ÊÀº Å×À̺íÀÇ ÇàÀÇ ºÐÆ÷¿¡ ´ëÇؼ­´Â ±ØÈ÷ Á¦ÇÑÀûÀÎ Á¦¾î ¹Û¿¡ ÇÒ ¼ö ¾ø½À´Ï´Ù. ÇàÀº Å×ÀÌºí¿¡ ¼öÇàµÈ ÀÛ¾÷¿¡ µû¶ó ¾î¶² ¼ø¼­·Îµµ ÀúÀåµÉ ¼ö ÀÖ½À´Ï´Ù.

ºÐÇÒ Å×À̺í
ºÐÇÒ Å×À̺íÀº Å©±â°¡ ¹Ù²î´Â ÀÀ¿ë ÇÁ·Î±×·¥À» ±¸ÃàÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ¸ç ´ÙÀ½°ú °°Àº Ư¼ºÀ» °®½À´Ï´Ù.
   - ºÐÇÒ Å×À̺íÀº Çϳª ÀÌ»óÀÇ ÆÄƼ¼Ç(partition)À» °¡Áö¸ç °¢ ÆÄƼ¼ÇÀº ÁöÁ¤µÈ
    ¹üÀ§ÀÇ Å° °ªÀ» °®´Â ÇàµéÀ» ÀúÀåÇÕ´Ï´Ù.
   - ºÐÇÒ Å×À̺íÀÇ °¢ ÆÄƼ¼ÇÀº ¼¼±×¸ÕÆ®ÀÌ¸ç ¼­·Î ´Ù¸¥ Å×ÀÌºí½ºÆäÀ̽º¿¡
    À§Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
   - ¿©·¯ ÇÁ·Î¼¼½º°¡ µ¿½Ã¿¡ ÁúÀÇÇÏ°í Á¶ÀÛÇÏ´Â Å« Å×ÀÌºí¿¡ À¯¿ëÇÕ´Ï´Ù.
   - Å×ÀÌºí ³»ÀÇ ÆÄƼ¼ÇÀ» °ü¸®Çϱâ À§ÇÑ Æ¯º°ÇÑ ¸í·É¾îµéÀÌ ÀÖ½À´Ï´Ù.

ÁÖ
Ŭ·¯½ºÅÍ¿Í Index-organized Å×À̺íÀº ¡°Å¬·¯½ºÅÍ¿Í Index-organized Å×ÀÌºí¡± Àå¿¡¼­ ´Ù·ç¾îÁý´Ï´Ù. 

Å×À̺íÀº ÀúÀåÇÏ´Â ¹æ½Ä¿¡ µû¶ó 4 °¡Áö·Î ºÐ·ùÇÒ ¼ö ÀÖ´Ù°í µÇ¾îÀÖ½À´Ï´Ù.
±×·¸´Ù¸é ¿ì¸®°¡ sqlÀ» »ç¿ëÇÏ¿© Å×À̺íÀ» ÀÛ¼ºÇÒ ¶§ À̰͵éÀÇ Á¾·ùµµ °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï±î? ¸¸¾à ÀÖ´Ù¸é ¾î¶»°Ô ÇØ¾ß ÇÏ´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.

 


create¹®¿¡ ÀÇÇؼ­ »ý¼ºÇÒ¶§ °áÁ¤ÇÏ°Ô µÇ¸ç, °¢°¢ÀÇ »ý¼º¿¹´Â ´ÙÀ½°ú °°½À´Ï´Ù.

1. Á¤±ÔÅ×ÀÌºí »ý¼º¿¹Á¦.
create table emp (
empno char(5) primary key,
ename varchar2(10),
salary number(5));

2. IOT »ý¼º¿¹Á¦.
create table countries (
country_id char(10),
country_name varchar2(40),
country_symbol varchar2(3),
map blob,
constraint country_c_id_pk primary key(country_id))
organization index
pctthreshhold 20
overflow tablespace users;


3. ºÐÇÒµÈ Å×ÀÌºí »ý¼º¿¹Á¦.
create table sales (
acct_no number(5),
person varchar2(30),
sales_amount number(8)
week_no number(2))
partition by range(week_no)
(partition P1 values less than (4) tablespace data01,
partition P2 values less than (8) tablespace data02,
partition P3 values less than (20) tablespace data03);


4. Ŭ·¯½ºÅÍ »ý¼º¿¹Á¦.
create cluster ord_clu(ord_id number(3))
size 200
tablespace data01;

create index ord_clu_idx
on cluster ord_clu;

create table ord_temp
cluster ord_clu(ord_id)
as select * from orders;

create table items (
ord_id number(3),
prod_code number(6),
qty number(4))
cluster ord_clu(ord_id);

IOT, Ŭ·¯½ºÅÍ¿¡ ´ëÇÑ ³»¿ëÀº OLN PTW °úÁ¤À» ÂüÁ¶ÇϽðí, Å×ÀÌºí ºÐÇÒ(Table Partitioning)¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ±³À°¼¾ÅÍ¿¡¼­ ÁøÇàµÇ°í ÀÖ´Â Oracle8i New Feature°úÁ¤À» ¼ö°­ÇÏ½Ã¸é µÇ°Ú½À´Ï´Ù.

 

Çà µ¥ÀÌÅÍ´Â ´Ù¾çÇÑ ±æÀÌÀÇ ·¹ÄÚµå ´ÜÀ§·Î µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåµË´Ï´Ù. ÇàÀÇ Ä÷³Àº ÀϹÝÀûÀ¸·Î Á¤ÀÇµÈ ¼ø¼­·Î ÀúÀåµÇ¸ç ÈÄÇàÇÏ´Â(trailing) NULL Ä÷³Àº ÀúÀåµÇÁö ¾Ê½À´Ï´Ù. Å×À̺íÀÇ °¢ ÇàÀº ¼­·Î ´Ù¸¥ °¹¼öÀÇ Ä÷³ °ªÀ» °¡Áú ¼öµµ ÀÖ½À´Ï´Ù. Å×À̺íÀÇ °¢ ÇàÀº ´ÙÀ½À» °®½À´Ï´Ù.
  -  Çà Çì´õ: ÇàÀÇ Ä÷³ ¼ö¿Í Çà ¿¬°á Á¤º¸, ±×¸®°í ÇàÀÇ Àá±Ý(lock) »óŸ¦
    ÀúÀåÇϴµ¥ »ç¿ëµË´Ï´Ù.
  -  Çà µ¥ÀÌÅÍ: °¢ Ä÷³¿¡ ´ëÇØ ¿À¶óŬ ¼­¹ö´Â Ä÷³ ±æÀÌ¿Í ±× °ªÀ» ÀúÀåÇÕ´Ï´Ù.
   (Ä÷³ÀÌ 250 ¹ÙÀÌÆ®¸¦ ³ÑÁö ¾Ê´Â´Ù¸é Ä÷³ ±æÀ̸¦ ³ªÅ¸³»´Âµ¥ ÇÑ ¹ÙÀÌÆ®°¡
    ÇÊ¿äÇÕ´Ï´Ù. ±ä Ä÷³Àº 3 ¹ÙÀÌÆ®·Î ±æÀ̸¦ ³ªÅ¸³¾ ¼öµµ ÀÖ½À´Ï´Ù. Ä÷³°ªÀº Ä÷³
    ±æÀÌ ¹ÙÀÌÆ® ¹Ù·Î µÚ¿¡ ÀúÀåµË´Ï´Ù.)
ÀÎÁ¢ÇÑ Çà »çÀÌ¿¡ °ø°£À» µÑ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ºí·Ï ³»ÀÇ °¢ ÇàµéÀº Çà µð·ºÅ丮 ³»¿¡ ½½·ÔÀ» °®½À´Ï´Ù. µð·ºÅ丮 ½½·ÔÀº °¢ ÇàÀÇ ½ÃÀÛÁ¡À» °¡¸®Åµ´Ï´Ù.

Oracle8Àº ½ºÄ®¶ó µ¥ÀÌÅÍ, ¸ðÀ½(collection), ±×¸®°í °ü°è¸¦ ÀúÀåÇϱâ À§ÇÑ ³»Àå µ¥ÀÌÅÍ À¯ÇüÀ» ¿©·¯ °¡Áö °¡Áö°í ÀÖ½À´Ï´Ù.

½ºÄ®¶ó µ¥ÀÌÅÍ À¯Çü

¹®ÀÚ µ¥ÀÌÅÍ(Character Data)
¹®ÀÚ µ¥ÀÌÅÍ´Â µ¥ÀÌÅͺ£À̽º¿¡ °íÁ¤ ±æÀÌ, ¶Ç´Â °¡º¯ ±æÀÌ ¹®ÀÚ¿­·Î ÀúÀåµÉ ¼ö ÀÖ½À´Ï´Ù.
CHAR¿Í NCHAR°°Àº °íÁ¤ ±æÀÌ ¹®ÀÚ µ¥ÀÌÅÍ À¯ÇüÀº °íÁ¤ ±æÀ̱îÁö °ø¹éÀ¸·Î ä¿ö¼­ ÀúÀåÇÕ´Ï´Ù. NCHAR´Â °íÁ¤ Æø(fixed-width), ¶Ç´Â °¡º¯ Æø(variable-width) character setÀÇ ÀúÀåÀ» °¡´ÉÇÏ°Ô ÇÏ´Â NLS µ¥ÀÌÅÍ À¯ÇüÀÔ´Ï´Ù. ÃÖ´ë Å©±â´Â ÇÑ ¹®ÀÚ¸¦ ÀúÀåÇϴµ¥ ÇÊ¿äÇÑ ¹ÙÀÌÆ® ¼ö¿¡ µû¶ó °áÁ¤µÇ¸ç ÇÑ Çà ´ç 2000 ¹ÙÀÌÆ®°¡ »óÇÑÀÔ´Ï´Ù. ±âº»°ªÀº charater set¿¡ µû¶ó 1 ¹®ÀÚ, ¶Ç´Â 1 ¹ÙÀÌÆ®ÀÔ´Ï´Ù.
°¡º¯ ±æÀÌ ¹®ÀÚ µ¥ÀÌÅÍ À¯ÇüÀº ½ÇÁ¦ Ä÷³ °ªÀ» ÀúÀåÇϴµ¥ ÇÊ¿äÇÑ ¹ÙÀÌÆ®¸¸Å­¸¸À» »ç¿ëÇÏ¸ç °¢ Çà¿¡ µû¶ó ±× Å©±â°¡ ´Ù¾çÇÕ´Ï´Ù.
VARCHAR2¿Í NVARCHAR2´Â °¡º¯ ±æÀÌ ¹®ÀÚ µ¥ÀÌÅÍ À¯ÇüÀÇ ÀÏ·ÊÀÔ´Ï´Ù.

¼ýÀÚ µ¥ÀÌÅÍ(Numeric Data)
¿À¶óŬ µ¥ÀÌÅͺ£À̽º¿¡¼­ ¼ýÀÚ´Â Ç×»ó °¡º¯ ±æÀÌ µ¥ÀÌÅÍ·Î ÀúÀåµÇ¸ç À¯È¿ ÀÚ¸´¼ö 38ÀÚ¸®±îÁö ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼ýÀÚ µ¥ÀÌÅÍ À¯ÇüÀº ´ÙÀ½À» ÇÊ¿ä·Î ÇÕ´Ï´Ù.
    -    Áö¼ö(exponent)¸¦ À§ÇÑ ÇÑ ¹ÙÀÌÆ®
    -    ¸ÇƼ»ç(mentissa)ÀÇ À¯È¿ ÀÚ¸´¼ö µÎÀÚ¸® ¸¶´Ù ÇÑ ¹ÙÀÌÆ®
    -    À¯È¿ ÀÚ¸´¼ö°¡ 38 ¹ÙÀÌÆ® ¹Ì¸¸ÀÎ À½¼öÀÎ °æ¿ì À½¼ö Ç¥ÇöÀ» À§ÇÑ ÇÑ ¹ÙÀÌÆ®

³¯Â¥(DATE) µ¥ÀÌÅÍ À¯Çü
¿À¶óŬ ¼­¹ö´Â ³¯Â¥¸¦ 7 ¹ÙÀÌÆ®, °íÁ¤ ±æÀÌ Çʵå(field)·Î ÀúÀåÇÕ´Ï´Ù. ¿À¶óŬ DATE´Â Ç×»ó ½Ã°£À» Æ÷ÇÔÇÕ´Ï´Ù.

RAW µ¥ÀÌÅÍ À¯Çü
Å©±â°¡ ÀûÀº ÀÌÁø µ¥ÀÌÅÍÀÇ ÀúÀå¿¡ »ç¿ëÇÕ´Ï´Ù. ¿À¶óŬ ¼­¹ö´Â RAW µ¥ÀÌÅÍ°¡ ³×Æ®¿öÅ© ³»ÀÇ ±â°è »çÀÌ¿¡¼­ Àü¼ÛµÇ°Å³ª ¿À¶óŬ À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º°£¿¡  À̵¿µÉ ¶§ character set º¯È¯À» ÇÏÁö ¾Ê½À´Ï´Ù. 


¿À¶óŬÀº LOBÀ» ÀúÀåÇϱâ À§ÇÑ ¿©¼¸ °¡Áö µ¥ÀÌÅÍ À¯ÇüÀ» Á¦°øÇÕ´Ï´Ù.
  - Å« °íÁ¤ Æø(fixed-width) ¹®ÀÚ µ¥ÀÌÅ͸¦ À§ÇÑ CLOB°ú LONG
  - Å« °íÁ¤ Æø ±¹°¡ character set µ¥ÀÌÅ͸¦ À§ÇÑ NCLOB
  - ±¸Á¶È­µÇÁö ¾ÊÀº µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§ÇÑ BLOB°ú LONG RAW
  - ±¸Á¶È­µÇÁö ¾ÊÀº µ¥ÀÌÅ͸¦ ¿î¿µ üÁ¦ ÆÄÀÏ¿¡ ÀúÀåÇϱâ À§ÇÑ BFILE
LONG°ú LONG RAW´Â ¿¹Àü¿¡´Â ÀÌÁø À̹ÌÁö³ª ¹®¼­, ¶Ç´Â Áö¸®ÇÐÀû Á¤º¸ µûÀ§ÀÇ ±¸Á¶È­µÇÁö ¾ÊÀº µ¥ÀÌÅÍ¿¡ »ç¿ëµÇ¾úÀ¸¸ç ÇöÀç´Â ÁÖ·Î ¿ª ȣȯ¼ºÀ» À§ÇØ Á¦°øµÇ°í ÀÖ½À´Ï´Ù. ÀÌ µ¥ÀÌÅÍ À¯ÇüÀº LOB µ¥ÀÌÅÍ À¯ÇüÀ¸·Î ±³Ã¼µÇ¾ú½À´Ï´Ù. LOB µ¥ÀÌÅÍ À¯ÇüÀº LONG°ú LONG RAW¿Í´Â ´Ù¸£¸ç »óÈ£ ±³È¯ÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù. LOBÀº LONG API(application programing interface)¸¦ Áö¿øÇÏÁö ¾ÊÀ¸¸ç LONG APIµµ LOBÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.

LONG°ú LOB µ¥ÀÌÅÍ À¯Çü ºñ±³
LOB ±â´ÉÀ» ÀÌÀü À¯Çüµé°ú ºñ±³ÇØ º¸´Â °ÍÀÌ À¯ÀÍÇÒ °ÍÀÔ´Ï´Ù. ¾ÕÀ¸·Î ³ª¿À´Â LONGÀº LONG°ú LONG RAW¸¦ ¶æÇÏ´Â °ÍÀ̸ç LOBÀº ¸ðµç LOB µ¥ÀÌÅÍ À¯ÇüÀ» ¶æÇÏ´Â °ÍÀÔ´Ï´Ù.
LOBÀº Å×ÀÌºí¸¶´Ù ¶Ç´Â ¿ÀºêÁ§Æ® À¯ÇüÀÇ ¼Ó¼º¸¶´Ù ¿©·¯ °³ÀÇ LOB Ä÷³À» µÑ ¼ö ÀÖ½À´Ï´Ù. ¹Ý¸é LONGÀº ´Ü Çϳª¸¸ÀÌ °¡´ÉÇÕ´Ï´Ù.

 LONGÀÇ ÃÖ´ë Å©±â´Â 2 ±â°¡ ¹ÙÀÌÆ®ÀÌÁö¸¸ LOBÀº 4 ±â°¡ ¹ÙÀÌÆ®±îÁö °¡´ÉÇÕ´Ï´Ù.
ÀÐ¾î µéÀÏ ¶§ LOBÀº À§Ä¡ÀÚ(locator)¸¦ ¸®ÅÏÇÏ°í LONGÀº µ¥ÀÌÅ͸¦ ¸®ÅÏÇÕ´Ï´Ù.
LOBÀº µ¥ÀÌÅÍ°¡ VARCHAR2 µ¥ÀÌÅÍ À¯ÇüÀÇ ÃÖ´ë Å©±âÀÎ 4000 ¹ÙÀÌÆ®º¸´Ù Å©¸é Å×ÀÌºí¿¡´Â À§Ä¡ÀÚ¸¸À» ÀúÀåÇÏ°í µ¥ÀÌÅÍ´Â ´Ù¸¥ °÷¿¡ ÀúÀåÇÕ´Ï´Ù. ¹Ý¸é LONGÀº ¸ðµç µ¥ÀÌÅ͸¦ Å×ÀÌºí¿¡ ÀúÀåÇÕ´Ï´Ù. °Ô´Ù°¡ LOBÀº µ¥ÀÌÅÍ°¡ º°°³ÀÇ ¼¼±×¸ÕÆ®¿Í Å×ÀÌºí½ºÆäÀ̽º, ¶Ç´Â È£½ºÆ® ÆÄÀÏ¿¡ ÀúÀåµÇ´Â °ÍÀ» Çã¿ëÇÕ´Ï´Ù.
LOBÀº ¿ÀºêÁ§Æ® À¯Çü ¼Ó¼ºÀ» Áö¿øÇÕ´Ï´Ù.(´Ü NCLOB Á¦¿Ü) ÇÏÁö¸¸ LONGÀº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.
LONGÀº ÁÖ·Î ¿¬°áµÈ Çà Á¶°¢(chained row pieces)À¸·Î ÀúÀåµË´Ï´Ù. ÇÑ ºí·ÏÀÇ ÇÑ Çà Á¶°¢Àº ´Ù¸¥ ºí·Ï¿¡ ÀúÀåµÈ ´ÙÀ½ ¹ø Çà Á¶°¢À» °¡¸®Åµ´Ï´Ù. ±×·¯¹Ç·Î À̵éÀº ¼øÂ÷ÀûÀ¸·Î Á¢±ÙÇØ¾ß ÇÕ´Ï´Ù. ÀÌ¿Í´Â ¹Ý´ë·Î LOBÀº ÆÄÀÏ °°Àº(file-like) ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ µ¥ÀÌÅÍ¿¡ÀÇ ÀÓÀÇ ±¸ºÐ Á¢±Ù(random piece-wise access)À» Áö¿øÇÕ´Ï´Ù.

 


ROWID µ¥ÀÌÅÍ À¯Çü
ROWID´Â Å×ÀÌºí ³»ÀÇ ´Ù¸¥ Ä÷³°ú °°ÀÌ ÁúÀÇµÉ ¼ö ÀÖ´Â ÀÇ»ç Ä÷³(pseudo-column)À¸·Î ´ÙÀ½°ú °°Àº Ư¼ºÀ» °®½À´Ï´Ù.
   - ROWID´Â µ¥ÀÌÅͺ£À̽ºÀÇ °¢ Çà¿¡ ´ëÇÑ °íÀ¯ÇÑ ½Äº°ÀÚ(identifier)ÀÔ´Ï´Ù.
   - ROWID´Â Ä÷³ °ªÃ³·³ ¸í½ÃÀûÀ¸·Î ÀúÀåµÇÁö ¾Ê½À´Ï´Ù.
   - ROWID°¡ Á÷Á¢ ÇàÀÇ ¹°¸®Àû ÁÖ¼Ò¸¦ ÁÖÁö´Â ¾ÊÁö¸¸ ÇàÀÇ À§Ä¡¸¦ ¾Ë¾Æ³»´Âµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
   - ROWID´Â Å×ÀÌºí ³»ÀÇ Çà¿¡ Á¢±ÙÇÏ´Â °¡Àå ºü¸¥ ¼ö´ÜÀ» Á¦°øÇÕ´Ï´Ù.
   - ROWID´Â ÁÖ¾îÁø Å° °ªÀ¸·Î ÇàÀ» ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï À妽º¿¡ ÀúÀåµË´Ï´Ù.

ROWID Çü½Ä
ROWID´Â µð½ºÅ© »ó¿¡ 10 ¹ÙÀÌÆ®¸¦ Â÷ÁöÇϸç 18 ¹®ÀÚ¸¦ »ç¿ëÇÏ¿© Ãâ·ÂµË´Ï´Ù. ´ÙÀ½°ú °°Àº ±¸¼º ¿ä¼Ò¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.
   - µ¥ÀÌÅÍ ¿ÀºêÁ§Æ® ¹øÈ£(Data Object Number)´Â Å×À̺íÀ̳ª À妽º °°Àº °¢ µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®ÀÇ
   - »ý¼º½Ã ÇÒ´çµÇ¸ç µ¥ÀÌÅͺ£À̽º ³»¿¡¼­ À¯ÀÏÇÕ´Ï´Ù.
   -  »ó´ëÀû ÆÄÀÏ ¹øÈ£(Relative File Number)´Â Å×ÀÌºí½ºÆäÀ̽º³»¿¡¼­ °¢ ÆÄÀϸ¶´Ù °íÀ¯ÇÕ´Ï´Ù.
   - ºí·Ï ¹øÈ£(Block Number)´Â ÆÄÀÏ ³»¿¡¼­ ÇàÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â ºí·ÏÀÇ À§Ä¡¸¦ ³ªÅ¸³À´Ï´Ù.
   - Çà ¹øÈ£(Row Number)´Â ºí·Ï Çì´õ ³»ÀÇ Çà µð·ºÅ丮 ½½·ÔÀÇ À§Ä¡¸¦ ³ªÅ¸³À´Ï´Ù.

³»ºÎÀûÀ¸·Î µ¥ÀÌÅÍ ¿ÀºêÁ§Æ® ¹øÈ£´Â 32 ºñÆ®°¡ ÇÊ¿äÇÏ°í, »ó´ëÀû ÆÄÀÏ ¹øÈ£´Â 10 ºñÆ®, ºí·Ï ¹øÈ£´Â 22 ºñÆ®, ±×¸®°í Çà ¹øÈ£´Â 16 ºñÆ®¸¦ ÇÊ¿ä·Î ÇÏ¿© ¸ðµÎ ÇÕÇϸé 80 ºñÆ®, Áï 10 ¹ÙÀÌÆ®°¡ µË´Ï´Ù.
ROWID´Â µ¥ÀÌÅÍ ¿ÀºêÁ§Æ® ¹øÈ£¿¡ ¿©¼¸ ÀÚ¸®, »ó´ëÀû ÆÄÀÏ ¹øÈ£¿¡ ¼¼ ÀÚ¸®, ºí·Ï ¹øÈ£¿¡ ¿©¼¸ ÀÚ¸®, ±×¸®°í Çà ¹øÈ£¿¡ ¼¼ ÀÚ¸®¸¦ »ç¿ëÇÏ´Â 64Áø¹ý ¾Ïȣȭ °èȹ(base-64 encoding scheme)À» »ç¿ëÇÏ¿© Ãâ·ÂµË´Ï´Ù. 64Áø¹ý ¾Ïȣȭ °èȹÀº ¾Æ·¡ÀÇ ¿¹¿Í °°ÀÌ ¡°A-Z¡±, ¡°a-z¡±, ¡°0-9¡±, ¡°+¡±, ±×¸®°í ¡°/¡±ÀÇ ÃÑ 64 ¹®ÀÚ¸¦ »ç¿ëÇÕ´Ï´Ù.
   SVRMGR> SELECT deptno, ROWID
        2> FROM scott.dept;
   DEPTNO       ROWID
---------       ------------------
       10       AAAArsAADAAAAUaAAA
       20       AAAArsAADAAAAUaAAB
       30       AAAArsAADAAAAUaAAC
       40       AAAArsAADAAAAUaAAD
4 rows selected.
ÀÌ ¿¹¿¡¼­:
   - AAAArs´Â µ¥ÀÌÅÍ ¿ÀºêÁ§Æ® ¹øÈ£ÀÌ°í
   - AAD´Â »ó´ëÀû ÆÄÀÏ ¹øÈ£ÀÌ°í
   - AAAAUa´Â ºí·Ï ¹øÈ£ÀÌ°í
   - AAA´Â DEPTNO=10ÀÎ ºÎ¼­ÀÇ Çà ¹øÈ£ÀÔ´Ï´Ù.

ROWID »ç¿ëÇÏ¿© Çà À§Ä¡ ÆľÇ
ÇÑ ¼¼±×¸ÕÆ®´Â ¹Ýµå½Ã ÇÑ Å×ÀÌºí½ºÆäÀ̽º¿¡ »óÁÖÇØ¾ß ÇϹǷΠ¿À¶óŬ ¼­¹ö´Â µ¥ÀÌÅÍ ¿ÀºêÁ§Æ® ¹øÈ£¸¦ »ç¿ëÇÏ¿© ÇàÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â Å×ÀÌºí½ºÆäÀ̽º¸¦ °áÁ¤ÇÒ  ¼ö ÀÖ½À´Ï´Ù.
Å×ÀÌºí½ºÆäÀ̽º³»ÀÇ »ó´ëÀû ÆÄÀÏ ¹øÈ£´Â ÆÄÀÏ À§Ä¡¸¦ ÆľÇÇϴµ¥ »ç¿ëµÇ°í ºí·Ï ¹øÈ£´Â ÇàÀ» Æ÷ÇÔÇÑ ºí·Ï À§Ä¡¸¦ ÆľÇÇϴµ¥ »ç¿ëµÇ¸ç Çà ¹øÈ£´Â Çà¿¡ ´ëÇÑ Çà µð·ºÅ丮 ¿£Æ®¸® À§Ä¡¸¦ ÆľÇÇϴµ¥ »ç¿ëµË´Ï´Ù.
Çà µð·ºÅ丮 ¿£Æ®¸®´Â ÇàÀÇ ½ÃÀÛÁ¡À» °¡¸®Å°´Âµ¥ »ç¿ëµË´Ï´Ù.
µû¶ó¼­ ROWID´Â µ¥ÀÌÅͺ£À̽ºÀÇ ¸ðµç ÇàÀÇ À§Ä¡¸¦ ÆľÇÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

¿À¶óŬ Ãʱ⠹öÀüÀº Á¦ÇÑµÈ ROWID Çü½ÄÀ» »ç¿ëÇß½À´Ï´Ù. Á¦ÇÑµÈ ROWID´Â ³»ºÎÀûÀ¸·Î 6 ¹ÙÀÌÆ®¸¦ »ç¿ëÇßÀ¸¸ç µ¥ÀÌÅÍ ¿ÀºêÁ§Æ® ¹øÈ£¸¦ Æ÷ÇÔÇÏÁö ¾Ê¾Ò½À´Ï´Ù. Á¦ÇÑµÈ ROWID Çü½ÄÀº ÆÄÀÏ ¹øÈ£°¡ µ¥ÀÌÅͺ£À̽º ³»¿¡¼­ °íÀ¯ÇÑ Oracle7À̳ª ±× ÀÌÀü ¸±¸®Áî¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù. µû¶ó¼­ ÀÌÀü ¸±¸®½ºµéÀº 1022 °³ ÀÌ»óÀÇ µ¥ÀÌÅÍ ÆÄÀÏÀ» Çã¿ëÇÏÁö ¾Ê¾Ò½À´Ï´Ù.
Oracle8ÀÌ Å×ÀÌºí½ºÆäÀ̽º »ó´ëÀû ÆÄÀÏ ¹øÈ£¸¦ »ç¿ëÇÏ¿© ÀÌ Á¦ÇÑÀ» ¾ø¾ÝÀ»Áö¶óµµ Á¦ÇÑµÈ ROWID´Â ¸ðµç À妽º ¿£Æ®¸®°¡ °°Àº ¼¼±×¸ÕÆ® ³»ÀÇ ÇàÀ» ÂüÁ¶ÇÏ´Â ºÐÇÒµÇÁö ¾ÊÀº Å×ÀÌºí »óÀÇ ºÐÇÒµÇÁö ¾ÊÀº À妽º °°Àº ¿ÀºêÁ§Æ®¿¡ ¿©ÀüÈ÷ »ç¿ëµË´Ï´Ù.

¸ðÀ½(Collections)
ÁÖ¾îÁø Çà¿¡ ¹Ýº¹µÇ´Â µ¥ÀÌÅ͸¦ Å×ÀÌºí¿¡ ÀúÀåÇϴµ¥ »ç¿ë °¡´ÉÇÑ ¸ðÀ½ µ¥ÀÌÅÍ À¯ÇüÀÌ µÎ °¡Áö ÀÖ½À´Ï´Ù. ¸ðÀ½À» Á¤ÀÇÇÏ°í »ç¿ëÇÏ·Á¸é ¿ÀºêÁ§Æ® ¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¾ÕÀ¸·Î ÀÌ·¯ÇÑ À¯Çü¿¡ ´ëÇØ Â©¸·ÇÏ°Ô ´Ù·ê °ÍÀÔ´Ï´Ù.

VARRAYS(Varying Arrays)
Varying  array´Â ¼ÒºñÀÚÀÇ ÀüÈ­¹øÈ£ °°Àº ÀûÀº °¹¼öÀÇ ±¸¼º ¿ä¼Ò¸¦ °®´Â ¸®½ºÆ®¸¦ ÀúÀåÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù.
VARRAYS´Â ´ÙÀ½°ú °°Àº Ư¼ºÀ» °®½À´Ï´Ù.
   - ¹è¿­Àº µ¥ÀÌÅÍ ±¸¼º ¿ä¼ÒÀÇ ¼ø¼­ ÁýÇÕÀÔ´Ï´Ù.
   - ÁÖ¾îÁø ¹è¿­ÀÇ ¸ðµç ±¸¼º ¿ä¼Ò´Â µ¿ÀÏÇÑ µ¥ÀÌÅÍ À¯ÇüÀ» °®½À´Ï´Ù.
   - °¢ ±¸¼º ¿ä¼Ò´Â ¹è¿­ ³»ÀÇ ±¸¼º ¿ä¼ÒÀÇ À§Ä¡¿¡ ÇØ´çÇÏ´Â ¼ýÀÚÀÎ À妽º¸¦ °®½À´Ï´Ù.
   - ¹è¿­ ³»ÀÇ ±¸¼º ¿ä¼Ò °¹¼ö°¡ ¹è¿­ÀÇ Å©±âÀÔ´Ï´Ù.
   - ¿À¶óŬÀº ´Ù¾çÇÑ Å©±âÀÇ ¹è¿­À» Çã¿ëÇÕ´Ï´Ù. ±×·¸±â ¶§¹®¿¡ VARRAY¶ó ºÒ¸®¿ó´Ï´Ù. ÇÏÁö¸¸ ¹è¿­ À¯ÇüÀ» ÁöÁ¤ÇÒ ¶§ ÃÖ´ë Å©±â°¡ ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.

Áßø Å×À̺í
Áßø Å×À̺íÀº Å×ÀÌºí ³»ÀÇ Ä÷³¿¡ Å×À̺íÀ» Á¤ÀÇÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. Áßø Å×À̺íÀº ÁÖ¹® Ç׸ñ °°ÀÌ ¸¹Àº ¼öÀÇ ·¹Äڵ带 °®´Â ÁýÇÕÀ» ÀúÀåÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.  ORDERS°¡ ¸ð Å×À̺í(parent table)ÀÌ°í ITEMS°¡ ÁßøµÈ Å×À̺íÀÔ´Ï´Ù.
Áßø Å×À̺íÀº ÀϹÝÀûÀ¸·Î ´ÙÀ½°ú °°Àº Ư¼ºÀ» °®½À´Ï´Ù.
   - Áßø Å×À̺íÀº ·¹ÄÚµå ¶Ç´Â ÇàÀÇ ¼ø¼­ ¾ø´Â ÁýÇÕÀÔ´Ï´Ù.
   - Áßø Å×À̺íÀÇ ÇàÀº µ¿ÀÏÇÑ ±¸Á¶¸¦ °®½À´Ï´Ù.
   - Áßø Å×À̺íÀÇ ÇàÀº ¸ð Å×ÀÌºí ³»ÀÇ ´ëÀÀ ÇàÀÇ Æ÷ÀÎÅ͸¦ ÀÌ¿ëÇÏ¿© ¸ð Å×À̺í°ú       º°µµ·Î ÀúÀåµÉ ¼ö ÀÖ½À´Ï´Ù.
   - Áßø Å×À̺íÀÇ ÀúÀå Ư¼ºÀº µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ°¡ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
   - Áßø Å×ÀÌºí¿¡ ´ëÇØ ¹Ì¸® ÁöÁ¤µÈ ÃÖ´ë Å©±â´Â ¾ø½À´Ï´Ù.

°ü°è À¯Çü(REF)
°ü°è À¯ÇüÀº µ¥ÀÌÅͺ£À̽º¿¡¼­ Æ÷ÀÎÅÍ·Î »ç¿ëµË´Ï´Ù. ÀÌ À¯ÇüÀº Object ¿É¼ÇÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ÁÖ¹®µÈ °¢ ¾ÆÀÌÅÛÀº Á¦Ç° Äڵ带 ÀúÀåÇÏÁö ¾Ê°í PRODUCTS Å×À̺íÀÇ ÇàÀ» °¡¸®Å°°Å³ª Å×ÀÌºí ³»ÀÇ ÇàÀ» ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.

»ç¿ëÀÚ Á¤ÀÇ À¯Çü
¿À¶óŬÀº »ç¿ëÀÚ°¡ Ãß»ó µ¥ÀÌÅÍ À¯ÇüÀ» Á¤ÀÇÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥ ³»¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù. ÀÌ Æ¯¼ºÀ» »ç¿ëÇÏ·Á¸é Object ¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù.

 

Oracle8 ºÎÅÍ Collection °ú Relationship Type ÀÌ »õ·Ó°Ô Ãß°¡ µÇ¾ú½À´Ï´Ù. ¹°·Ð Object Option ÀÌ install µÇ¾î ÀÖ¾î¾ß¸¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù. Collection Type ¿¡´Â VARRAY ¿Í NESTED TABLE ÀÌ ÀÖ°í Relationship Type ¿¡´Â REF °¡ ÀÖ½À´Ï´Ù.


Collection Type À̶õ ÇѽÃÁ¡¿¡ ¿©·¯°³ÀÇ °ªÀ» ÀúÀåÇÒ¼ö ÀÖ´Â Type À̶ó°í º¼¼ö Àִµ¥ ¿¹¸¦ µé¾î ¾î¶² Table ¿¡ ƯÁ¤ Column ÀÇ Type ÀÌ Collection Type À¸·Î ¼±¾ðÀÌ µÇ¾î ÀÖ´Ù´Â ¶æÀº ÇÑ°³ÀÇ Row ¿¡¼­ ±× ƯÁ¤ Column ÀÇ °ªÀº ¿©·¯°³°¡ µÉ ¼ö°¡ ÀÖ´Ù´Â ¶æÀÔ´Ï´Ù. ÀÌ¿Í °°Àº °³³äÀº C ¿¡¼­ Array ¿Í À¯»çÇÕ´Ï´Ù.

¾Æ·¡ÀÇ ¿¹´Â VARRAY ¿Í NESTED TABLE À» »ç¿ëÇÑ ¿¹ÀÔ´Ï´Ù.

create type empno_array_type as VARRAY(30) of number(5);
create table dept_varray
(deptno number(3), -- ºÎ¼­¹øÈ£
dname varchar2(20), -- ºÎ¼­¸í
empno empno_array_type); -- »ç¿ø¹øÈ£

À§ ¿¹Á¦¿¡¼­ Table dept_varray ¿¡¼­ empno Ä÷³Àº VARRAY Type À¸·Î ¼±¾ðÀÌ µÇ¾ú½À´Ï´Ù.

create type empno_table_type as TABLE of number(5);
create table dept_table
(deptno number(3), -- ºÎ¼­¹øÈ£
dname varchar2(20), -- ºÎ¼­¸í
empno empno_table_type); -- »ç¿ø¹øÈ£

À§ ¿¹Á¦¿¡¼­ Table dept_table ¿¡¼­ empno Ä÷³Àº NESTED TABLE Type À¸·Î ¼±¾ðÀÌ µÇ¾ú½À´Ï´Ù.


À§ µÎ°¡Áö °æ¿ì ¸ðµÎ Å×ÀÌºí¿¡ ÀÚ·á°¡ ÀúÀåµÇ´Â ÇüŸ¦ »ìÆ캸¸é

------------------------
ºÎ¼­¹øÈ£ ºÎ¼­¸í »ç¿ø¹øÈ£
------------------------
  10    ÀλçÆÀ   10001
                 10002
                 10003
  20    Ãѹ«ÆÀ   10004
                 10005
                 10006
                 10007
  30    Àç°æÆÀ   10008
                 10009
------------------------

¿Í °°ÀÌ ÀúÀåµÉ¼ö ÀÖ½À´Ï´Ù.

Áï 10¹ø ºÎ¼­ÀÇ Row ¿¡ ´ëÇØ »ç¿ø¹øÈ£¸¦ ÀúÀåÇÏ´Â empno Ä÷³¿¡´Â 3°³ÀÇ °ª(10001,10002,10003) ÀÌ ÀúÀåµÇ¾î ÀÖ½À´Ï´Ù. ±×·¯¸é Varray ¿Í Nested Table ÀÇ °¡Àå Å« Â÷ÀÌÁ¡Àº ¿©·¯ °³ÀÇ °ªµéÀ» ÀúÀåÇÒ¼ö ÀÖ´Ù´Â Ãø¸éÀº µ¿ÀÏÇѵ¥ ÀúÀåÇÒ ¼ö ÀÖ´Â ÃÖ´ë °¹¼ö¿¡¼­ Â÷ÀÌ°¡ ÀÖ½À´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼­´Â empno Ä÷³¿¡ ´ëÇؼ­ ÇÑ Çà´ç ÃÖ´ë ÀúÀåÇÒ ¼ö ÀÖ´Â °¹¼ö´Â dept_varray Table Àº 30 À¸·Î Á¦ÇÑÀÌ µÇ¾î ÀÖ´Â ¹Ý¸é dept_table ¿¡´Â Á¦ÇÑÀÌ ¾ø½À´Ï´Ù.


ÀÌ¿¡ ¹ÝÇؼ­ Relationship Type Àº ÇÑ ½ÃÁ¡¿¡ ÇÑ °³ÀÇ °ª¸¸ ÀúÀåÇÒ¼ö ÀÖ´Â Type À̸ç ÀúÀåÇüÅ´ Pointer ½ºÅ¸ÀÏ Áï, °ªÀ» ÀúÀåÇÏ°í ÀÖ´Â °ÍÀÌ ¾Æ´Ï°í °ªÀÌ ÀúÀåµÈ °÷À» Point ÇÏ´Â Pointer Á¤º¸°¡ ÀúÀåµË´Ï´Ù. ÀÌ¿Í °°Àº °³³äÀº C ¿¡¼­ Pointer ¿Í À¯»çÇÕ´Ï´Ù.


¾Æ·¡ÀÇ ¿¹´Â REF À» »ç¿ëÇÑ ¿¹ÀÔ´Ï´Ù.

create type emp_type as object
(empno number(5),
ename varchar2(20));
create table emp of emp_type;

create table dept_ref
(deptno number(3),
dname varchar2(20),
mgr REF emp_type SCOPE IS emp);

À§ÀÇ ¿¹Á¦¿¡¼­ Table dept_ref ÀÇ mgr Ä÷³Àº ½ÇÁ¦ °ªÀÌ ÀúÀåµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó emp Table ¿¡ ÀúÀåµÈ °ªÀ» Pointer ÇÏ´Â Á¤º¸°¡ ÀúÀåµË´Ï´Ù.


Àӽà Å×À̺í

¿µ±¸ Å×ÀÌºí ¿Ü¿¡µµ Àӽà Å×À̺íÀ» »ý¼ºÇÏ¿© Æ®·£Àè¼Ç ¶Ç´Â ¼¼¼Ç µ¿¾È¿¡¸¸ Á¸ÀçÇÏ´Â ¼¼¼Ç Àü¿ë µ¥ÀÌÅ͸¦ º¸À¯ÇÒ ¼ö ÀÖ½À´Ï´Ù.

CREATE GLOBAL TEMPORARY TABLE ¸í·ÉÀº Æ®·£Àè¼Çº° ¶Ç´Â ¼¼¼Çº°·Î Àӽà Å×À̺íÀ» »ý¼ºÇÕ´Ï´Ù. ¼¼¼Çº° Àӽà Å×À̺íÀÇ °æ¿ì¿¡´Â µ¥ÀÌÅÍ°¡ ÇØ´ç ¼¼¼Ç µ¿¾È¿¡ Á¸ÀçÇÏÁö¸¸ Æ®·£Àè¼Çº° Àӽà Å×À̺íÀÇ °æ¿ì¿¡´Â µ¥ÀÌÅÍ°¡ Æ®·£Àè¼Ç µ¿¾È¿¡ Á¸ÀçÇÕ´Ï´Ù. ¼¼¼ÇÀÇ µ¥ÀÌÅÍ´Â ¼¼¼Ç Àü¿ëÀÌ¸ç °¢ ¼¼¼ÇÀº ÀÚü µ¥ÀÌÅ͸¸À» º¸°í ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. DML Àá±ÝÀº Àӽà Å×À̺íÀÇ µ¥ÀÌÅÍ¿¡´Â Àû¿ëµÇÁö ¾Ê½À´Ï´Ù. ÇàÀÇ ±â°£À» Á¦¾îÇÏ´Â ÀýÀº ´ÙÀ½°ú °°½À´Ï´Ù.

Àӽà Å×ÀÌºí¿¡ À妽º, ºä ¹× Æ®¸®°Å¸¦ »ý¼ºÇÏ°í ¶ÇÇÑ Export À¯Æ¿¸®Æ¼¿Í Import À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¿© Àӽà Å×À̺í Á¤ÀǸ¦ ¿¢½ºÆ÷Æ®ÇÏ°í ÀÓÆ÷Æ®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ROWS ¿É¼ÇÀ» »ç¿ëÇÏ´õ¶óµµ µ¥ÀÌÅÍ´Â ¿¢½ºÆ÷Æ®µÇÁö ¾Ê½À´Ï´Ù. Àӽà Å×À̺íÀÇ Á¤ÀÇ´Â ¸ðµç ¼¼¼Ç¿¡¼­ º¼ ¼ö ÀÖ½À´Ï´Ù.

 

±¸¹®
´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© Å×À̺íÀ» »ý¼ºÇϽʽÿÀ.
  CREATE TABLE [schema.] table
  (column datatype [, column datatype ] . . .)
  [TABLESPACE tablespace ]
  [ PCTFREE integer ]
  [ PCTUSED integer ]
  [ INITRANS integer ]
  [ MAXTRANS integer ]
  [ STORAGE storage-clause ]
  [LOGGING | NOLOGGING]
  [CACHE | NOCACHE] ]

±¸¹®¿¡¼­:

     schema                 Å×À̺íÀÇ ¼ÒÀ¯ÀÚ

     table                      Å×À̺í À̸§

     column                  Ä÷³ÀÇ À̸§

     data type               Ä÷³ÀÇ µ¥ÀÌÅÍ À¯Çü

     TABLESPACE         Å×À̺íÀÌ »ý¼ºµÉ Å×ÀÌºí½ºÆäÀ̽º¸¦ ÁöÁ¤

     PCTFREE               ÇàÀÇ ±æÀÌ°¡ Ä¿Áú °æ¿ì¸¦ À§ÇØ °¢ ºí·Ï¿¡ ¿¹¾àµÈ °ø°£ÀÇ                                   ÃÑ·® (ÃÑ °ø°£¿¡¼­ ºí·Ï Çì´õ¸¦ »« ¾çÀ» ¹éºÐÀ²·Î)

     PCTUSED              Çà »ðÀÔ¿¡ »ç¿ëµÉ ¼ö ¾ø´Â (PCTFREE¿¡ µµ´ÞÇÑ ÈÄ) ºí·ÏÀÌ                                   »ç¿ëµÈ °ø°£ÀÇ ÃÖÀú ÇѰ踦 °áÁ¤

     INITRANS              °¢ ºí·Ï¿¡ ¹Ì¸® ÇÒ´çµÈ Æ®·£Àè¼Ç ¿£Æ®¸®ÀÇ °¹¼ö¸¦ ÁöÁ¤
                                  (±âº»°ªÀº 1)

     MAXTRANS           °¢ ºí·Ï¿¡ ÇÒ´çµÉ ¼ö ÀÖ´Â Æ®·£Àè¼Ç ¿£Æ®¸®ÀÇ °¹¼ö¸¦ Á¦ÇÑ
                                  (±âº»°ªÀº 255)

     STORAGE             ÀͽºÅÙÆ®¸¦ Å×ÀÌºí¿¡ ÇÒ´çÇÒ ¹æ¹ýÀ» °áÁ¤ÇÏ´Â ½ºÅ丮Áö                                   ÀýÀ» ÁöÁ¤  

     LOGGING              ¸®µÎ ·Î±× ÆÄÀÏ ³»¿¡ ±â·ÏµÉ Å×À̺íÀÇ »ý¼ºÀ» ±â·ÏÇÒ °ÍÀ»                                   ÁöÁ¤ (Å×ÀÌºí¿¡ ´ëÇØ ¸ðµç ÀÌÈÄÀÇ ÀÛ¾÷ÀÌ ±â·ÏµÇµµ·Ï ÁöÁ¤                                   ÇÏ´Â °ÍÀ̱⵵ ÇÕ´Ï´Ù. ÀÌ°ÍÀÌ ±âº»(default)ÀÔ´Ï´Ù.)

     NOLOGGING          ¸®µÎ ·Î±× ÆÄÀÏ¿¡ Å×À̺íÀÇ »ý¼º°ú ƯÁ¤ À¯ÇüÀÇ µ¥ÀÌÅÍ                                   ·Îµå¸¦  ±â·ÏÇÏÁö ¾Êµµ·Ï ÁöÁ¤. CACHE  Àüü Å×ÀÌºí ½ºÄµ                                   (full table scan)ÀÌ ¼öÇàµÉ ¶§ ÀÐ¾î µéÀÎ ºí·ÏÀÌ ¹öÆÛ Ä³½¬                                   ³»ÀÇ LRU ¸®½ºÆ®ÀÇ °¡Àå ÃÖ±Ù¿¡ »ç¿ëµÈ °ÍÀÇ ÀÚ¸®¿¡ À§Ä¡                                   Çϵµ·Ï ÁöÁ¤

     NOCACHE             Àüü Å×ÀÌºí ½ºÄµ(full table scan)ÀÌ ¼öÇàµÉ¶§ ÀÐ¾î µéÀÎ                                   ºí·ÏÀÌ ¹öÆÛ Ä³½¬ ³»ÀÇ LRU ¸®½ºÆ®ÀÇ °¡Àå ÃÖ±Ù¿¡ »ç¿ë                                   µÇÁö ¾ÊÀº °ÍÀÇ ÀÚ¸®¿¡ À§Ä¡Çϵµ·Ï ÁöÁ¤

ÁÖ
   - ÀϹÝÀûÀ¸·Î Å×À̺íÀº »ý¼ºµÉ¶§ ±âº» Å°(primary key)µµ Á¤ÀǵǾî¾ß ÇÕ´Ï´Ù. Á¦¾à Á¶°ÇÀ» °ü¸®ÇÏ´Â °ÍÀº ¡°µ¥ÀÌÅÍ ¹«°á¼º À¯Áö¡± Àå¿¡¼­ ´Ù·ç¾î Áý´Ï´Ù.
   - Å×ÀÌºí½ºÆäÀ̽º¿¡ ´ëÇØ MINIMUM EXTENT°¡ Á¤ÀǵǸé Å×ÀÌºí¿¡ ´ëÇÑ ÀͽºÅÙÆ® Å©±â´Â  MINIMUM EXTENT °ªÀÇ ¹è¼ö·Î ¹Ý¿Ã¸²µÈ °ÍÀ̾î¾ß ÇÕ´Ï´Ù.
   - [NO]LOGGING ÀýÀÌ »ý·«µÇ¸é Å×À̺íÀÇ ±â·Ï ¼Ó¼º(logging attribute)Àº Å×À̺íÀÌ µé¾îÀÖ´Â Å×ÀÌºí½ºÆäÀ̽ºÀÇ ±â·Ï ¼Ó¼º°ú °°°Ô µË´Ï´Ù.
   - MINEXTENTS°¡ 1º¸´Ù Å« °ªÀ¸·Î ÁöÁ¤µÇ°í Å×ÀÌºí½ºÆäÀ̽º°¡ Çϳª ÀÌ»óÀÇ µ¥ÀÌÅÍ ÆÄÀÏÀ» Æ÷ÇÔÇϸé ÀͽºÅÙÆ®µéÀº Å×ÀÌºí½ºÆäÀ̽º ³»ÀÇ ¿©·¯ ÆÄÀÏ¿¡ ¸¸µé¾îÁö°Ô µÉ °ÍÀÔ´Ï´Ù.

OEM
1   Oracle Schema Manager¸¦ »ç¿ëÇϽʽÿÀ.
2   Object->Create¸¦ ¼±ÅÃÇϽʽÿÀ.
3   ³ª¿­µÈ °ªµé Áß¿¡¼­ TableÀ» ¼±ÅÃÇÏ°í OK¸¦ Ŭ¸¯ÇϽʽÿÀ
4   New Table ´ÙÀ̾ó·Î±× ¹Ú½º¿¡¼­ Create Table Manually¸¦ ¼±ÅÃÇϽʽÿÀ.
5   OK¸¦ Ŭ¸¯ÇϽʽÿÀ.
6   property sheet¿¡ General, Storage, ±×¸®°í Option Á¤º¸¸¦ ÀÔ·ÂÇϽʽÿÀ.
7   Create¸¦ Ŭ¸¯ÇϽʽÿÀ.
ÀÌ¿Í´Â ´Þ¸® ³»ºñ°ÔÀÌÅÍ¿¡¼­ ±âÁ¸ Å×À̺íÀ» ¼±ÅÃÇÑ ÈÄ Object->Create Like¸¦ ¼±ÅÃÇÏ¿© ±âÁ¸ Å×À̺í°ú °°Àº Ä÷³°ú ½ºÅ丮Áö Ư¼ºÀ» °®´Â »õ·Î¿î Å×À̺íÀ» »ý¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

´Ù¸¥ ¿É¼Ç
1   Oracle Schema Manager¸¦ »ç¿ëÇÒ ¶§ »ç¿ëÀÚ´Â Å×À̺íÀÇ Ãʱâ Å©±â¿Í ¼ºÀå·ü(growth rate), ±×¸®°í DML ÀÛ¾÷ µî¿¡ ±âÃÊÇÏ¿© ½ºÅ丮Áö ºí·Ï È°¿ë ÆĶó¹ÌÅ͸¦ µµ±¸°¡ ÀÚµ¿À¸·Î   Á¤ÀÇÇϵµ·Ï ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
2   Windows NT¿¡¼­´Â Oracle Schema Manager ¾È¿¡ µé¾î ÀÖ´Â Table Creation ¸¶¹ý»ç¸¦ »ç¿ëÇÏ¿© Å×À̺íÀ» »ý¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

 

Å×ÀÌºí »ý¼º Áöħ

 

PCTFREE ¼³Á¤
PCTFREE¸¦ ³ô°Ô ¼³Á¤ÇÒ¼ö·Ï µ¥ÀÌÅͺ£À̽º ºí·Ï ³»¿¡ °»½ÅÀ» À§ÇÑ °ø°£À» ´õ ¸¹ÀÌ Á¦°øÇÕ´Ï´Ù. Å×À̺íÀÌ ´ÙÀ½°ú °°Àº Ä÷³À» °¡Áö¸é Å«°ªÀ¸·Î ¼³Á¤ÇϽʽÿÀ.
   - Ãʱ⿣ nullÀÌÁö¸¸ ÀÌÈÄ¿¡´Â ¾î¶² °ªÀ¸·Î °»½ÅµÇ´Â Ä÷³
   - °»½Å °á°ú Å©±â°¡ Áõ°¡ÇÒ °Í °°Àº Ä÷³
PCTFREE¸¦ ³ô°Ô ¼³Á¤ÇÒ¼ö·Ï ºí·Ï ¹Ðµµ´Â ³·¾ÆÁ®, °¢ ºí·ÏÀº ÀûÀº ¼öÀÇ ÇุÀ» ¼ö¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
À§¿¡ ¸í½ÃµÈ °ø½ÄÀº ÇàÀÇ ¼ºÀåÀ» À§ÇØ ºí·Ï ³»¿¡ ÃæºÐÇÑ °ø°£À» º¸ÀåÇØ ÁÝ´Ï´Ù.

PCTUSED ¼³Á¤
ºí·ÏÀÌ Æò±ÕÀûÀÎ ÇàÀ» ¼ö¿ëÇϱ⿡ ÃæºÐÇÑ °ø°£À» °¡Áú ¶§¸¸ ÇÁ¸® ¸®½ºÆ®¿¡ µé ¼ö ÀÖµµ·Ï PCTUSED¸¦ ¼³Á¤ÇϽʽÿÀ. ÇÁ¸® ¸®½ºÆ® »óÀÇ ºí·ÏÀÌ ÇàÀ» »ðÀÔÇÒ¸¸ÇÑ °ø°£À» °®°í ÀÖÁö ¸øÇÏ¸é ¿À¶óŬ ¼­¹ö´Â ÇÁ¸® ¸®½ºÆ®¿¡¼­ ´ÙÀ½ ºí·ÏÀ» ã½À´Ï´Ù. ÀÌ·¯ÇÑ ¼±Çü °Ë»öÀº ÃæºÐÇÑ °ø°£À» °¡Áø ºí·ÏÀÌ ¹ß°ßµÇ°Å³ª ¸®½ºÆ®°¡ ³¡³¯ ¶§±îÁö °è¼ÓµË´Ï´Ù. ÁÖ¾îÁø °ø½ÄÀ» »ç¿ëÇÏ¿© ÇÊ¿äÇÑ »ç¿ë °¡´É ¿µ¿ªÀ» °¡Áø ºí·ÏÀ» ¹ß°ßÇÒ °¡´É¼ºÀ» Áõ°¡½ÃÄÑ ÇÁ¸® ¸®½ºÆ®¸¦ °Ë»öÇϴµ¥ °É¸®´Â ½Ã°£À» ÁÙÀ̽ʽÿÀ.

ÁÖ
Æò±ÕÀûÀÎ Çà Å©±â´Â µÞ Àý¿¡¼­ ´Ù·ç¾îÁö´Â ANALYZE TABLE ¸í·ÉÀ» »ç¿ëÇÏ¿© °è»êÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÇàÀÌÀü(Row Migration)
PCTFREE°¡ ÀÛÀº °ªÀ» °¡Áö¸é ºí·Ï ³»¿¡ °»½Å °á°ú·Î ÀÚ¶ó³­ ÇàÀ» ¼ö¿ëÇÒ¸¸ÇÑ °ø°£ÀÌ ºÒÃæºÐÇÏ°Ô µÉ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·± ÀÏÀÌ ¹ß»ýÇÏ¸é ¿À¶óŬ ¼­¹ö´Â Àüü ÇàÀ» »õ ºí·ÏÀ¸·Î ¿Å±â°í ¿ø·¡ ºí·Ï¿¡ »õ À§Ä¡¸¦ °¡¸®Å°´Â Æ÷ÀÎÅ͸¦ ³²°Ü ³õÀ» °ÍÀÔ´Ï´Ù. ÀÌ °úÁ¤À» ÇàÀÌÀü(row migration)À̶ó ÇÕ´Ï´Ù. ¿À¶óŬ ¼­¹ö°¡ ÀÌÀüµÈ ÇàÀ» ÀÐ¾î µéÀÌ·Á¸é µÎ µ¥ÀÌÅÍ ºí·ÏÀ» °Ë»öÇؾ߸¸ ÇϹǷΠI/O ¼º´ÉÀº °¨¼ÒÇÕ´Ï´Ù.

Ç࿬°á(Row Chaining)
ÇàÀÌ ³Ê¹« Ä¿¼­ ¾î¶² ºí·Ï¿¡µµ ¸ÂÁö ¾ÊÀ» ¶§ Ç࿬°á(row chaining)ÀÌ ¹ß»ýÇÕ´Ï´Ù. ÇàÀÌ ¸Å¿ì ±ä Ä÷³À» °¡Áö°í ÀÖÀ» ¶§ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì ¿À¶óŬ ¼­¹ö´Â ÇàÀ» Çà Á¶°¢À̶ó´Â ÀÛÀº Á¶°¢À¸·Î ³ª´¯´Ï´Ù. °¢ Çà Á¶°¢Àº Àüü ÇàÀ» ÀÐ¾î µé¿© ÃëÇÕÇÒ ¶§ ÇÊ¿äÇÑ Æ÷ÀÎÅÍ¿Í ÇÔ²² ºí·Ï ³»¿¡ ÀúÀåµË´Ï´Ù. °¡´ÉÇÏ´Ù¸é ºí·ÏÀÇ Å©±â¸¦ Å©°ÔÇϰųª ÀûÀº ¼öÀÇ Ä÷³À» °¡Áø ¿©·¯ °³ÀÇ Å×À̺í·Î Å×À̺íÀ» ³ª´®À¸·Î½á Ç࿬°á(row chaining)À» ÃÖ¼ÒÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù. 

 


±âÁ¸ Å×À̺íÀ» ºÎºÐ, ¶Ç´Â ¿ÏÀüÈ÷ º¹»çÇÒ ¶§´Â ¼­ºêÄõ¸®¸¦ °¡Áø CREATE TABLE ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
´ÙÀ½Àº ÀÌ ¸í·ÉÀ» °£´ÜÈ÷ ÇÑ ±¸¹®ÀÔ´Ï´Ù.
        CREATE TABLE [schema.]table
        [ LOGGING | NOLOGGING ]
        . . .
        AS
        subquery
TABLESPACE, STORAGE, ±×¸®°í ºí·Ï È°¿ë ÆĶó¹ÌÅÍ µîÀÇ Àý(clause)Àº ´Ù¸¥ Å×ÀÌºí¿¡ ±âÃÊÇÑ Å×À̺íÀ» »ý¼ºÇÏ´Â µ¿¾È¿¡µµ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. NOLOGGING ÀýÀ» »ç¿ëÇÏ¿© ¸®µÎ ·Î±× ¿£Æ®¸®ÀÇ »ý¼ºÀ» ¾ïÁ¦ÇÏ°í Å×ÀÌºí »ý¼º ¼Óµµ¸¦ ³ôÀ̽ʽÿÀ.
Á¦¾à Á¶°Ç, Æ®¸®°Å, ±×¸®°í Å×ÀÌºí ±ÇÇÑÀº ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î »ý¼ºµÈ »õ·Î¿î Å×À̺í·Î º¹»çµÇÁö ¾Ê½À´Ï´Ù. Ä÷³ÀÌ ¿ø·¡ Å×ÀÌºí¿¡¼­ NOT NULL·Î Á¤ÀǵǾú´Ù¸é »õ·Î¿î Å×À̺íÀÇ ´ëÀÀ Ä÷³ ¶ÇÇÑ NOT NULL·Î Á¤ÀÇµÉ °ÍÀÔ´Ï´Ù. 

 ÀϺΠ½ºÅ丮Áö ÆĶó¹ÌÅÍ¿Í ÀϺΠºí·Ï È°¿ë ÆĶó¹ÌÅÍ´Â ALTER TABLE ¸í·ÉÀ» »ç¿ëÇÏ¿© ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

±¸¹®

        ALTER TABLE [schema.]table
        ([ storage-clause ]
        [ PCTFREE integer ]
        [ PCTUSED integer ]
        [ INITRANS integer ]
        [ MAXTRANS integer ]

½ºÅ丮Áö ÆĶó¹ÌÅÍ º¯°æÀÇ È¿°ú
¼öÁ¤µÉ ¼ö ÀÖ´Â ÆĶó¹ÌÅÍ¿Í ±× ¼öÁ¤ÀÇ Àǹ̴ ´ÙÀ½°ú °°½À´Ï´Ù.

  - NEXT

    ¿À¶óŬ ¼­¹ö°¡ Å×ÀÌºí¿¡ ¶Ç ´Ù¸¥ ÀͽºÅÙÆ®¸¦ ÇÒ´çÇÒ ¶§ »õ °ªÀÌ »ç¿ëµÉ   
    °ÍÀÔ´Ï´Ù. ÀÌÈÄÀÇ ÀͽºÅÙÆ® Å©±â´Â PCTINCREASE¸¸Å­¾¿ Áõ°¡µÉ °ÍÀÔ´Ï´Ù.

   - PCTINCREASE

    PCTINCREASEÀÇ º¯°æ »çÇ×Àº µ¥ÀÌÅÍ µñ¼Å³Ê¸®¿¡ ±â·ÏµÉ °ÍÀÌ¸ç ¿À¶óŬ  
    ¼­¹ö°¡ ´ÙÀ½ ÀͽºÅÙÆ®¸¦ ÇÒ´çÇÒ ¶§ NEXT¸¦ Àç°è»êÇϱâ À§ÇØ »ç¿ëµÉ °ÍÀÔ´Ï´Ù.
     NEXT=10KÀÌ°í PCTINCREASE=0ÀÌ¸ç µÎ ÀͽºÅÙÆ®¸¦ °¡Áø Å×À̺íÀ» »ý°¢ÇØ
     º¾½Ã´Ù. PCTINCREASE°¡ 100À¸·Î º¯°æµÇ¸é ÇÒ´çµÉ ¼¼¹ø° ÀͽºÅÙÆ®´Â 10K°¡
     µÉ °ÍÀ̸ç, ³×¹ø° ÀͽºÅÙÆ®´Â 20K, ÀÌ·± ½ÄÀÌ µÉ °ÍÀÔ´Ï´Ù.

  
 - MINEXTENTS
    MINEXTENTSÀÇ °ªÀº Å×À̺íÀÇ ÇöÀç ÀͽºÅÙÆ® ¼öº¸´Ù Àû°Å³ª °°Àº °ªÀÌ¸é ¾î´À     °ªÀ¸·ÎµçÁö º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù. Å×ÀÌºí¿¡ Áï°¢ÀûÀÎ ¿µÇâÀº ¾øÁö¸¸ Å×À̺íÀÌ
    À߶óÁú ¶§(truncate) »ç¿ëµÉ °ÍÀÔ´Ï´Ù.
  
 - MAXEXTENTS
    MAXEXTENTSÀÇ °ªÀº Å×À̺íÀÇ ÇöÀç ÀͽºÅÙÆ® ¼öº¸´Ù Å©°Å³ª °°Àº ¾î´À
    °ªÀ¸·ÎµçÁö ¼³Á¤µÉ ¼ö ÀÖ½À´Ï´Ù.
    
  Á¦ÇÑ »çÇ×

   - INITIALÀÇ °ªÀº Å×ÀÌºí¿¡ ´ëÇØ ¼öÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù.
   - ÁöÁ¤µÈ NEXT °ªÀº ÁöÁ¤µÈ °ªº¸´Ù Å©°Å³ª °°µµ·Ï ºí·Ï Å©±âÀÇ Á¤¼ö¹è °ªÀ¸·Î
    ¹Ý¿Ã¸²µÉ °ÍÀÔ´Ï´Ù.

ºí·Ï È°¿ë ÆĶó¹ÌÅÍ
ºí·Ï È°¿ë ÆĶó¹ÌÅÍ°¡ º¯°æµÇ¸é:
   - °ø°£ È°¿ëÀ» Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù.
   - ÀÌÀü(migration) °¡´É¼ºÀ» ÃÖ¼ÒÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ºí·Ï È°¿ë ÆĶó¹ÌÅÍ º¯°æ È¿°ú´Â ´ÙÀ½°ú °°½À´Ï´Ù.
  
   
 - PCTFREE
    PCTFREEÀÇ º¯°æÀº Â÷ÈÄÀÇ »ðÀÔ¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù. (100-PCTFREE)¿¡ ÀÌ¹Ì µµ´ÞÇÏ¿© »ðÀÔ¿¡ »ç¿ëµÇÁö ¾Ê´Â ºí·ÏÀº ÇÁ¸® ¸®½ºÆ®(free list)·Î µÇµ¹·ÁÁú ¶§±îÁö ¿µÇâÀ» ¹ÞÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ºí·ÏÀÇ »ç¿ëÀÌ PCTUSED ¹Ì¸¸À¸·Î ¶³¾îÁ³À» °æ¿ì¿¡¸¸ ÇÁ¸® ¸®½ºÆ®·Î µÇµ¹·ÁÁú ¼ö ÀÖ½À´Ï´Ù.

   - PCTUSED
    PCTUSEDÀÇ º¯È­´Â Å×À̺íÀÇ ¸ðµç ºí·Ï¿¡ ¿µÇâÀ» ÁÙ °ÍÀÔ´Ï´Ù. ÇàÀÌ
    °»½ÅµÇ°Å³ª »èÁ¦µÇ¸é ±× ÇàÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â ºí·ÏÀº ±× »ç¿ëÀ» °Ë»ç¹Þ°Ô µÉ
    °ÍÀ̸ç PCTUSEDº¸´Ù Àû°Ô »ç¿ëµÇ°í ÀÖ´Ù¸é »ðÀÔ¿¡ Àç»ç¿ëµÉ °ÍÀÔ´Ï´Ù.
   
   - INITRANS

    INITRANSÀÇ º¯°æÀº »õ ºí·Ï¿¡¸¸ ¿µÇâÀ» ÁÝ´Ï´Ù.

   - MAXTRANS

    MAXTRANSÀÇ º¯°æÀº Å×À̺íÀÇ ¸ðµç ºí·Ï¿¡ ¿µÇâÀ» ÁÙ °ÍÀÔ´Ï´Ù.

OEM
1   Oracle Schema Manager¸¦ »ç¿ëÇϽʽÿÀ.
2   Table ³ëµå¸¦ È®ÀåÇϽʽÿÀ.
3   »ç¿ëÀÚ À̸§(¶Ç´Â ½ºÅ°¸¶)À» È®ÀåÇϽʽÿÀ.
4   Å×À̺íÀ» ¼±ÅÃÇϽʽÿÀ.
5   property sheetÀÇ Storage tabÀÇ °ªÀ» ¼öÁ¤ÇϽʽÿÀ. ÃÖ¼Ò ÀͽºÅÙÆ®¿Í Æ®·£Àè¼ÇÀÇ Ãʱ⠰¹¼ö´Â ÀÌ ¹æ¹ýÀ¸·Î´Â º¯°æÇÒ ¼ö ¾ø´Ù´Â Á¡À» ¸í½ÉÇϽʽÿÀ.
6   Apply¸¦ Ŭ¸¯ÇϽʽÿÀ.

 

ÀͽºÅÙÆ®´Â ´ÙÀ½°ú °°Àº °æ¿ì ¼öµ¿À¸·Î ÇÒ´çµÇ¾î¾ß ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
   - ¿©·¯ ÆÄÀÏ¿¡ °ÉÃÄÀÖ´Â Å×À̺íÀÇ ÀͽºÅÙÆ® ºÐÆ÷¸¦ Á¦¾îÇÏ°íÀÚ ÇÒ ¶§
   - ´ë·®À¸·Î µ¥ÀÌÅ͸¦ ·ÎµåÇÒ ¶§ Å×À̺íÀÇ µ¿Àû ÇÒ´çÀ» ÇÇÇϱâ À§ÇØ

±¸¹®
Å×ÀÌºí¿¡ ÀͽºÅÙÆ®¸¦ ÇÒ´çÇÒ ¶§´Â ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
   ALTER TABLE [schema.]table
   ALLOCATE EXTENT [ ([SIZE integer [K|M]  ]
                  [ DATAFILE ¡®filename¡¯ ]) ]
SIZE°¡ »ý·«µÇ¸é ¿À¶óŬ ¼­¹ö´Â ÀͽºÅÙÆ®¸¦ ÇÒ´çÇϱâ À§ÇØ DBA_TABLESÀÇ NEXT_EXTENT °ªÀ» »ç¿ëÇÒ °ÍÀÔ´Ï´Ù.
DATAFILE Àý¿¡ ÁöÁ¤µÈ ÆÄÀÏÀº Å×À̺íÀÌ ¼ÓÇØ ÀÖ´Â Å×ÀÌºí½ºÆäÀ̽º¿¡ ¼ÓÇØ ÀÖ¾î¾ß¸¸ ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¸í·É¹®À» ¼öÇàÇÏ¸é ¿¡·¯°¡ ¹ß»ýÇÒ °Í ÀÔ´Ï´Ù. DATAFILE ÀýÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ¿À¶óŬ ¼­¹ö´Â Å×À̺íÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â Å×ÀÌºí½ºÆäÀ̽º ³»ÀÇ ÆÄÀÏ Áß Çϳª¿¡ ÀͽºÅÙÆ®¸¦ ÇÒ´çÇÒ °ÍÀÔ´Ï´Ù.

ÁÖ
DBA_TABLESÀÇ NEXT_EXTENT °ªÀº ¼öµ¿ ÀͽºÅÙÆ® ÇÒ´çÀÇ ¿µÇâÀ» ¹ÞÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ¿À¶óŬ ¼­¹ö´Â ÀÌ ¸í·ÉÀÌ ½ÇÇàµÉ ¶§ ´ÙÀ½ ÀͽºÅÙÆ®ÀÇ Å©±â¸¦ Àç°è»êÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.

 

Å×À̺í ÀçÇÒ´ç ¶Ç´Â À籸¼º

Oracle8i¿¡¼­´Â Export À¯Æ¿¸®Æ¼³ª Import À¯Æ¿¸®Æ¼¸¦ ½ÇÇàÇÏÁö ¾Ê°íµµ ºÐÇÒµÇÁö ¾ÊÀº Å×À̺íÀ» À̵¿ÇÒ ¼ö ÀÖ´Â ¼ö´ÜÀ» Á¦°øÇϸç ÀÌ°ÍÀº ´ÙÀ½°ú °°Àº °æ¿ì¿¡ À¯¿ëÇÕ´Ï´Ù.

Å×À̺í À̵¿ ÈÄ ´ÙÀ½ ¿À·ù¸¦ ¹æÁöÇϱâ À§ÇØ À妽º¸¦ À籸ÃàÇØ¾ß ÇÕ´Ï´Ù.

   SQL> select * from employee where id=23;

   select * from employee where id=23

                 *

   ERROR at line 1:

   ORA-01502: index 'SUMMIT.EMPOYEE_ID_PK' or partition of such index is in unusable state

- Å×ÀÌºí¿¡ ´ëÇÑ high water mark´Â Å×ÀÌºí¿¡¼­ »ç¿ëµÆ´ø ¸¶Áö¸· ºí·ÏÀ» °¡¸®Åµ´Ï´Ù.
 - Å×ÀÌºí¿¡ µ¥ÀÌÅÍ°¡ »ðÀԵʿ¡ µû¶ó high water mark´Â ¸¶Áö¸·À¸·Î »ç¿ëµÈ ºí·ÏÀ» °¡¸®Å°±â À§ÇØ À̵¿ÇÏ°Ô µË´Ï´Ù.
 - Å×À̺í·ÎºÎÅÍ ÇàÀÌ »èÁ¦µÉ ¶§´Â high water mark°¡ Àç¼³Á¤(reset)µÇÁö ¾Ê½À´Ï´Ù.
 - High water mark´Â Å×À̺íÀÇ ¼¼±×¸ÕÆ® Çì´õ¿¡ ÀúÀåµË´Ï´Ù.
 - ¿À¶óŬ ¼­¹ö´Â Àüü Å×ÀÌºí ½ºÄµ(full table scan)À» ¼öÇàÇÒ ¶§ high water mark±îÁöÀÇ ¸ðµç ºí·ÏÀ» ÀнÀ´Ï´Ù.

 

 DBMS_SPACE ÆÐÅ°Áö´Â high water mark¸¦ ã¾Æ³»°í high water mark À§¿¡ ³²Àº ºí·Ï ¼ö¸¦ ¾Ë¾Æ³»´Âµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÁ·Î½ÃÀú¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ºñ·Ï À̵é Á¤º¸¸¦ Å×À̺íÀ» ºÐ¼®ÇÑ ÈÄ µ¥ÀÌÅÍ µñ¼Å³Ê¸®¿¡¼­ ¾Ë¾Æ³¾ ¼öµµ ÀÖÁö¸¸ DBMS_SPACE ÆÐÅ°Áö¸¦ ÀÌ¿ëÇϸé ÃÖÀûÈ­¿¡ ¿µÇâÀ» ÁÖÁö ¾ÊÀº ä À̵é Á¤º¸¿¡ ´õ »¡¸® Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ÙÀ½ PL/SQL ºí·ÏÀº Å×ÀÌºí¿¡ ÇÒ´çµÈ ºí·Ï ¼ö¿Í »ç¿ëµÇÁö ¾ÊÀº ºí·ÏÀÇ ¼ö¸¦ ¾Ë¾Æ³» Ãâ·ÂÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
SVRMGE> DECLARE
     2> v_owner VARCHAR2(30) := ¡®SCOTT¡¯;
     3> v_segment_name VARCHAR2(30) := ¡®EMPLOYEES¡¯;
     4> v_segment_type VARCHAR2(30) := ¡®TABLE¡¯;
     5> v_total_blocks NUMBER;
     6> v_total_bytes NUMBER;
     7> v_unused_blocks NUMBER;
     8> v_unused_bytes NUMBER;
     9> v_last_used_extent_file_id NUMBER;
    10> v_last_used_extent_block_id NUMBER;
    11> v_last_used_block NUMBER;
    12>
    13> BEGIN
    14> dmbs_space.unused_space(v_owner,
    15>                   v_segment_name,
    16>                      v_segment_type,
    17>                      v_total_blocks
    18>                      v_total_bytes,
    19>                      v_unused_blocks,
    20>                      v_unused_bytes,
    21>                      v_last_used_extent_file_id,
    22>                      v_last_used_extent_block_id,
    23>                      v_last_used_block
    24>                      );
    25> dbms_output.put_line(INITCAP(v_segment_type)||¡¯ :
¡®||v_owner||¡¯.¡¯||v_segment_name);
    26> dbms_output.put_line(¡®Total Blocks :
¡®||TO_CHAR(v_total_blocks));
    27> dbms_output.put_line(¡®Blocks above HWM :
¡®||TO_CHAR(v_unused_blocks));
    28> END;
    29> /
Statement processed.
Table: SCOTT.EMPLOYEES
Total Blocks: 25
Blocks above HWM: 23

ÁÖ
DBMS_SPACE ÆÐÅ°Áö´Â dbmsutil.sql°ú prvtutil.plb ½ºÅ©¸³Æ®°¡ catproc.sql¿¡ ÀÇÇØ ½ÇÇàµÉ ¶§ »ý¼ºµË´Ï´Ù.

Å« ÀͽºÅÙÆ®°¡ Å×ÀÌºí¿¡ ÇÒ´çµÇ¾úÀ¸³ª ¸ðµÎ ´Ù »ç¿ëµÇÁö´Â ¾Ê¾Ò´Ù¸é ¼öµ¿À¸·Î Å×À̺í·ÎºÎÅÍ °ø°£À» ÇÒ´ç ÇØÁ¦ÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù. ÇØÁ¦µÈ °ø°£Àº Å×ÀÌºí½ºÆäÀ̽º ³»ÀÇ ´Ù¸¥ ¼¼±×¸ÕÆ®¿¡ ÀÇÇØ »ç¿ëÀÌ °¡´ÉÇÕ´Ï´Ù.

±¸¹®
´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© Å×ÀÌºí¿¡ ´ëÇØ »ç¿ëµÇÁö ¾ÊÀº °ø°£À» ÇÒ´ç ÇØÁ¦ÇϽʽÿÀ.
    ALTER TABLE [schema.]table
    DEALLOCATE UNUSED [KEEP integer [K|M] ]
KEEPÀº high water mark À§¿¡ ³²°Ü ³õ¾Æ¾ß ÇÒ ºÎºÐÀ» ¹ÙÀÌÆ® ¼ö·Î ÁöÁ¤ÇÕ´Ï´Ù.
KEEP Àý ¾øÀÌ ¸í·ÉÀÌ »ç¿ëµÇ¸é ¿À¶óŬ ¼­¹ö´Â high water mark À§ÀÇ »ç¿ëµÇÁö ¾ÊÀº ¸ðµç °ø°£À» ÇÒ´ç ÇØÁ¦ÇÕ´Ï´Ù. High water mark°¡ MINEXTENTS °ªº¸´Ù ÀÛÀº ÀͽºÅÙÆ®¿¡ ÀÖÀ¸¸é ¿À¶óŬ ¼­¹ö´Â MINEXTENTS À§ÀÇ ÀͽºÅÙÆ®¸¦ ÇØÁ¦ÇÒ °ÍÀÔ´Ï´Ù.

 ±×¸²ÀÇ ¿¹¸¦ º¼ ¶§ Å×À̺íÀÇ MINEXTENTS°¡ 4 ÀÌÇ϶ó¸é ¿À¶óŬ ¼­¹ö´Â ¿¹¿¡¼­¿Í °°ÀÌ high water mark À§ÀÇ ¸ðµç »ç¿ëµÇÁö ¾ÊÀº ºí·ÏÀ» ÇÒ´ç ÇØÁ¦ÇÒ °ÍÀÔ´Ï´Ù. ´Ù¼¸¹ø° ÀͽºÅÙÆ®(ID=4 ÀÎ)°¡ ´Ù¼¸ °³ÀÇ ºí·Ï¸¸À» °®°Ô µÊÀ» ÁÖ¸ñÇϽʽÿÀ. Å×À̺íÀÇ MINEXTENTS°¡ 5¶ó¸é ¿À¶óŬ ¼­¹ö´Â ´Ù¼¸¹ø° ÀͽºÅÙÆ®·ÎºÎÅÍ °ø°£À» ÇÒ´ç ÇØÁ¦ÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.

ÁÖ
   ÀͽºÅÙÆ®³»ÀÇ °ø°£ ÇÒ´ç ÇØÁ¦¸¦ ¼öµ¿À¸·Î ¼öÇàÇÏ·Á¸é »ç¿ëµÇÁö ¾ÊÀº °ø°£À»
    ÇÒ´çÇØÁ¦ ÇϹǷΠÀÌ ¸í·ÉÀ» ÀÚÁÖ »ç¿ëÇÏ¸é µ¥ÀÌÅÍ ÆÄÀÏ ³» °ø°£ÀÇ ´ÜÆíÈ­¸¦
    ÃÊ·¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é Å×ÀÌºí½ºÆäÀ̽º¿¡ ´ëÇØ MINIMUM
    EXTENT¸¦ ¼³Á¤ÇϽʽÿÀ.
   High water mark ÀÌ»óÀÇ ¸ðµç °ø°£À» ÇØÁ¦ÇÏ·Á¸é (high water mark°¡
    MINEXTENTSº¸´Ù ¾Æ·¡¿¡ ÀÖ´õ¶óµµ) KEEPÀ» 0À¸·Î ³õÀ¸½Ê½Ã¿À.

 


Å×À̺í À߶ó ¹ö¸®±â´Â Å×À̺íÀÇ ¸ðµç ÇàÀ» »èÁ¦ÇÏ°í »ç¿ëµÈ °ø°£À» ÇØÁ¦ÇÕ´Ï´Ù. À§ ½½¶óÀ̵åÀÇ ¿¹´Â ÇöÀç Å×À̺íÀÇ MINEXTENTS°¡ 2·Î ¼³Á¤µÇ¾î ÀÖ´Ù°í °¡Á¤ÇÑ °ÍÀÔ´Ï´Ù.

±¸¹®
    TRUNCATE TABLE [schema.]table
    [{DROP | REUSE} STORAGE]
À§ ¸í·ÉÀ» ¼öÇàÇÑ °á°ú´Â ´ÙÀ½°ú °°½À´Ï´Ù.
  ? Å×À̺íÀÇ ¸ðµç ÇàÀÌ »èÁ¦µË´Ï´Ù.
  ? TRUNCATE TABLEÀÌ DDL ¸í·ÉÀ̹ǷΠ·Ñ¹é µ¥ÀÌÅÍ°¡ »ý¼ºµÇÁö ¾ÊÀ¸¸ç
    ¾Ï½ÃÀûÀ¸·Î Ä¿¹ÔÇÕ´Ï´Ù.
  ? ´ëÀÀµÇ´Â À妽ºµµ ¸ðµÎ À߶ó ¹ö·ÁÁý´Ï´Ù.
  ? ¿Ü·¡ Å°(foreign key)¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â Å×À̺íÀº Àß·ÁÁú ¼ö ¾ø½À´Ï´Ù.
  ? »èÁ¦ Æ®¸®°Å´Â ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù. 
  ? ±âº»°ªÀÎ DROP ÀýÀÌ »ç¿ëµÇ¸é ´ÙÀ½°ú °°½À´Ï´Ù.
   -   MINEXTENTS¿¡ ÀÌ¿ÜÀÇ ¸ðµç ÀͽºÅÙÆ®´Â ¸ðµÎ ÇÒ´ç ÇØÁ¦µË´Ï´Ù.
   -  High water mark´Â Àç¼³Á¤(reset)µÇ¾î Å×À̺íÀÇ Ã¹ ºí·ÏÀ» °¡¸®Å°°Ô µË´Ï´Ù.
   -   Å×ÀÌºí¿¡ ´ëÇÑ NEXT_EXTENT °ªÀº ÇÒ´ç ÇØÁ¦µÈ ÀͽºÅÙÆ®Áß °¡Àå ÀÛÀº         extent_id¸¦ °¡Áø ÀͽºÅÙÆ® °ªÀ¸·Î Àç¼³Á¤µË´Ï´Ù. Áï, MINEXTENTS°¡ 2¶ó¸é       NEXT_EXTENT Å©±â´Â Å×À̺íÀÇ ¼¼¹ø° ÀͽºÅÙÆ®ÀÇ Å©±â·Î ¼³Á¤µÉ °ÍÀÔ´Ï´Ù.   ? Å×ÀÌºí¿¡ ÀÇÇØ »ç¿ëµÈ ¸ðµç °ø°£À» º¸À¯ÇØ µÎ·Á¸é REUSE ÀýÀ» ÁöÁ¤ÇϽʽÿÀ.
  ? REUSE³ª DROPÀÇ È¿°ú´Â À妽º¿¡µµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù

Å×À̺íÀº ´õ ÀÌ»ó ÇÊ¿äÇÏÁö ¾Ê°Å³ª À籸¼º µÇ¾î¾ß ÇÒ ¶§ »èÁ¦µÉ ¼ö ÀÖ½À´Ï´Ù.

±¸¹®
´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© Å×À̺íÀ» »èÁ¦ÇϽʽÿÀ.
   DROP TABLE [schema.]table
   [CASCASE CONSTRAINTS]
Å×À̺íÀÌ »èÁ¦µÉ ¶§ Å×ÀÌºí¿¡ ÀÇÇØ »ç¿ëµÈ ÀͽºÅÙÆ®µµ ÇØÁ¦µË´Ï´Ù. ¸¸¾à ±×°ÍµéÀÌ ¿¬¼ÓÀûÀ̶ó¸é µÞ ´Ü°è¿¡¼­ ÀÚµ¿, ¶Ç´Â ¼öµ¿À¸·Î °áÇÕµÉ °ÍÀÔ´Ï´Ù.

ÁÖ
Å×À̺íÀÌ ¿Ü·¡ Å°(foreign key) °ü°è Áß ¸ð Å×À̺íÀ̶ó¸é CASCADE CONSTRAINTS ¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀº ¡°µ¥ÀÌÅÍ ¹«°á¼º °ü¸®¡± Àå¿¡¼­ ÀÚ¼¼È÷ ´Ù·ç¾î Áý´Ï´Ù.

 OEM
1   Oracle Schema Manager¸¦ »ç¿ëÇϽʽÿÀ.
2   Table ³ëµå¸¦ È®ÀåÇϽʽÿÀ.
3   »ç¿ëÀÚ À̸§(¶Ç´Â ½ºÅ°¸¶)¸¦ È®ÀåÇϽʽÿÀ.
4   Å×À̺íÀ» ¼±ÅÃÇϽʽÿÀ.
5   Object->Remove¸¦ ¼±ÅÃÇϽʽÿÀ.
6   ´ÙÀ̾ó·Î±× ¹Ú½º¿¡¼­ Yes¸¦ ¼±ÅÃÇϽʽÿÀ.

Å×ÀÌºí¿¡¼­ ¿­ Á¦°Å

Oracle8i ÀÌÀü ¹öÀü¿¡¼­´Â Å×ÀÌºí¿¡¿¡¼­ ¿­À» »èÁ¦ÇÒ ¼ö ¾ø¾úÁö¸¸ Oracle8i¿¡¼­´Â Oracle ¼­¹ö°¡ Å×À̺íÀÇ Çà¿¡¼­ ¿­À» »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿­À» »èÁ¦ÇÏ¸é µ¥ÀÌÅ͸¦ ¿¢½ºÆ÷Æ®³ª ÀÓÆ÷Æ®ÇÏÁö ¾Ê°í À妽º¿Í Á¦¾à Á¶°ÇÀ» Àç»ý¼ºÇÏÁö ¾ÊÀº ä »ç¿ëµÇÁö ¾ÊÀº ¿­°ú ÀáÀçÀûÀ¸·Î ¿­À» ¿ä±¸ÇÏ´Â ¿­À» Áö¿ó´Ï´Ù.

¿­À» »èÁ¦ÇÏ¸é ¿­¿¡ ´ëÇÑ ¸ðµç µ¥ÀÌÅÍ°¡ Å×ÀÌºí¿¡¼­ »èÁ¦µÇ¹Ç·Î »ó´çÇÑ ½Ã°£ÀÌ °É¸± ¼ö ÀÖ½À´Ï´Ù.

¿­ »èÁ¦ ½Ã üũÆ÷ÀÎÆ® »ç¿ë

¿­À» »èÁ¦ÇÏ´Â ÀÛ¾÷Àº ½Ã°£ÀÌ ¸¹ÀÌ °É¸®¸ç ¸¹Àº ¾çÀÇ ·Ñ¹é °ø°£ÀÌ ÇÊ¿äÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëÇü Å×ÀÌºí¿¡¼­ ¿­À» »èÁ¦ÇÏ´Â µ¿¾È ·Ñ¹é ¿µ¿ªÀÇ »ç¿ëÀ» ÃÖ¼ÒÈ­Çϱâ À§ÇØ Ã¼Å©Æ÷ÀÎÆ®¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ½½¶óÀ̵åÀÇ ¿¹Á¦¿¡¼­´Â üũÆ÷ÀÎÆ®°¡ 1,000 Çึ´Ù ¹ß»ýÇÕ´Ï´Ù. ÀÛ¾÷ÀÌ ³¡³¯ ¶§±îÁö Å×À̺íÀº INVALID·Î Ç¥½ÃµË´Ï´Ù. ÀÛ¾÷ Áß¿¡ ÀνºÅϽº°¡ ½ÇÆÐÇÏ¸é ½Ãµ¿ ½Ã Å×À̺íÀº INVALID·Î ³²¾Æ ÀÖÀ¸¹Ç·Î ÀÛ¾÷À» ¿Ï·áÇØ¾ß ÇÕ´Ï´Ù.

´ÙÀ½ ¸í·É¹®À» »ç¿ëÇÏ¿© ÀÎÅÍ·´Æ®µÈ »èÁ¦ ÀÛ¾÷À» Àç°³ÇÕ´Ï´Ù.

   SQL> ALTER TABLE orders

        DROP COLUMNS CONTINUE;

Å×À̺íÀÌ VALID »óÅÂÀÏ °æ¿ì¿¡ ÀÌ ¸í·É¹®À» »ç¿ëÇÏ¸é ¿À·ù°¡ ¹ß»ýµË´Ï´Ù.

 

»ç¿ëµÇÁö ¾ÊÀº ¿­·Î ¿­ Ç¥½Ã

Å×ÀÌºí¿¡¼­ ¿­À» Á¦°ÅÇÏ´Â ´ë½Å ¿­À» »ç¿ëµÇÁö ¾ÊÀº ¿­·Î Ç¥½ÃÇÑ ´ÙÀ½ ³ªÁß¿¡ Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é µ¥ÀÌÅÍ°¡ Á¦°ÅµÇÁö ¾Ê¾Æ¼­ µð½ºÅ© °ø°£À» ȸ¼öÇÏÁö ¾ÊÀ¸¹Ç·Î ºñ±³Àû ºü¸£´Ù´Â ÀÌÁ¡ÀÌ ÀÖÀ¸¸ç »ç¿ëµÇÁö ¾ÊÀº ¿­·Î Ç¥½ÃµÈ ¿­Àº ³ªÁß¿¡ ½Ã½ºÅÛ¿¡ ÀÛ¾÷ÀÌ ÀûÀ» ¶§ Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.

»ç¿ëµÇÁö ¾ÊÀº ¿­Àº Å×À̺íÀÇ ÀϺΰ¡ ¾Æ´Ñ °Íó·³ µ¿ÀÛÇÕ´Ï´Ù. ÁúÀÇ¿¡¼­ »ç¿ëµÇÁö ¾ÊÀº ¿­ÀÇ µ¥ÀÌÅÍ´Â º¼ ¼ö ¾ø½À´Ï´Ù. ¶ÇÇÑ DESCRIBE ¸í·É ½ÇÇà ½Ã ÀÌ·¯ÇÑ ¿­ÀÇ À̸§°ú µ¥ÀÌÅÍ À¯ÇüÀº Ç¥½ÃµÇÁö ¾Ê½À´Ï´Ù. »ç¿ëµÇÁö ¾ÊÀº ¿­°ú À̸§ÀÌ µ¿ÀÏÇÑ »õ ¿­À» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿­À» »èÁ¦Çϱâ Àü¿¡ »ç¿ëµÇÁö ¾ÊÀº ¿­·Î ¼³Á¤ÇÏ´Â ¿¹·Î´Â µ¿ÀÏÇÑ Å×ÀÌºí¿¡¼­ µÎ ¿­À» »èÁ¦ÇÏ·Á´Â °æ¿ì¸¦ µé ¼ö ÀÖ½À´Ï´Ù. µÎ ¿­À» »èÁ¦ÇÒ ¶§ Å×À̺íÀÇ ¸ðµç ÇàÀº µÎ ¹ø °»½ÅµÇ¸ç ¿­À» »ç¿ëµÇÁö ¾ÊÀº ¿­·Î ¼³Á¤ÇÑ ´ÙÀ½ »èÁ¦Çϸé ÇàÀº Çѹø¸¸ °»½ÅµË´Ï´Ù.

»ç¿ëµÇÁö ¾ÊÀº ¿­À» °¡Áø Å×ÀÌºí ½Äº°

»ç¿ëµÇÁö ¾ÊÀº ¿­À» °¡Áø Å×À̺íÀ» ½Äº°ÇÏ·Á¸é DBA_UNUSED_COL_TABS ºä¸¦ ÁúÀÇÇÕ´Ï´Ù. ÀÌ ºä¸¦ ÁúÀÇÇÏ¸é »ç¿ëµÇÁö ¾ÊÀº ¿­À» °¡Áø Å×À̺íÀÇ À̸§°ú ÀÌ Å×ÀÌºí ¾È¿¡¼­ »ç¿ëµÇÁö ¾ÊÀº ¿­·Î Ç¥½ÃµÈ ¿­ÀÇ ¼ö°¡ ³ªÅ¸³³´Ï´Ù. ´ÙÀ½ ÁúÀÇ´Â SUMMITÀÌ ¼ÒÀ¯ÇÑ ORDERS Å×ÀÌºí¿¡ »ç¿ëµÇÁö ¾ÊÀº ¿­ÀÌ Çϳª ÀÖÀ½À» º¸¿©ÁÝ´Ï´Ù.

   SQL> select * from dba_unused_col_tabs;

   OWNER     TABLE_NAME           COUNT

   --------  --------------  ----------

   SUMMIT    ORDERS                   1

 

¿­ »èÁ¦ ½Ã Á¦ÇÑ »çÇ×

´ÙÀ½ ÀÛ¾÷Àº ¼öÇàÇÒ ¼ö ¾ø½À´Ï´Ù.

ANALYZE TABLE ¸í·É
´ÙÀ½ Àý¿¡¼­ ´Ù·ç¾îÁö°ÚÁö¸¸ ÀÌ ¸í·ÉÀÇ ÁÖ¿ä ¿ëµµ´Â ¿ÉƼ¸¶ÀÌÀú(optimizer)°¡ »ç¿ëÇÏ´Â Å×ÀÌºí¿¡ ´ëÇÑ Åë°è¸¦ ¸ð¾Æ µ¥ÀÌÅÍ µñ¼Å³Ê¸®¿¡ ÀúÀåÇÏ´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½°ú °°Àº °æ¿ì¿¡µµ »ç¿ëµË´Ï´Ù.
   - µ¥ÀÌÅÍ µñ¼Å³Ê¸®¿¡¼­ Å×ÀÌºí¿¡ ´ëÇÑ Åë°è¸¦ Áö¿ï ¶§
   - Å×ÀÌºí ±¸Á¶¸¦ °ËÁõÇÒ ¶§
   - Å×À̺íÀÇ ÀÌÀü(migration)µÇ°í ¿¬°á(chaining)µÈ ÇàÀ» ½Äº°ÇÒ ¶§

Å×ÀÌºí ±¸Á¶ °ËÁõ
Å×ÀÌºí ±¸Á¶¸¦ °ËÁõÇÒ ¶§ Å×À̺íÀÇ ¸ðµç ºí·ÏÀº ¹«°á¼ºÀ» °Ë»ç¹Þ°Ô µË´Ï´Ù.
ÀϹÝÀûÀ¸·Î ¿À¶óŬ ¼­¹ö´Â ºí·ÏÀÌ ÀÐÇôÁú ¶§¸¶´Ù ºí·Ï ÈѼÕÀ» °Ë»çÇÕ´Ï´Ù. ÃʱâÈ­ ÆĶó¹ÌÅÍ DB_BLOCK_CHECKSUMÀ» TRUE·Î ¼³Á¤ÇÏ¿© ¸ðµç µ¥ÀÌÅÍ ºí·ÏÀÌ µð½ºÅ©·Î ¾²¿©Áú ¶§ üũ¼¶(checksum)À» °è»êÇÏ¿© µ¥ÀÌÅÍ ºí·ÏÀÇ Çì´õ¿¡ ÀúÀåÇϵµ·Ï ¼³Á¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

 ±¸¹®
Å×ÀÌºí ³» ºí·ÏÀÇ ¹«°á¼ºÀ» °Ë»çÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
   ANALYZE TABLE [schema.]table
   VALIDATE STRUCTURE [CASCADE]

ÁÖ
   ¿ÀºêÁ§Æ®¸¦ ºÐ¼®ÇÏ·Á¸é PL/SQLÀÇ ´ÙÀ½ ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇϽʽÿÀ.
     -  Æ¯Á¤ ¿ÀºêÁ§Æ®¸¦ ºÐ¼®ÇÏ·Á¸é DBMS_DDL.ANALYZE_OBJECT
     -  ÇÑ »ç¿ëÀÚ°¡ ¼ÒÀ¯ÇÑ ¸ðµç ¿ÀºêÁ§Æ®¸¦ ºÐ¼®ÇÏ·Á DBMS_UTILITY.ANALYZE_SCHEMA
     -  µ¥ÀÌÅͺ£À̽º ³»ÀÇ ¸ðµç ¿ÀºêÁ§Æ®¸¦ ºÐ¼®ÇÏ·Á¸é  DBMS_UTILITY.ANALYZE_DATABASE
     À̵é ÇÁ·Î½ÃÀú¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¿øÇϽøé dbmsutil.sql ½ºÅ©¸³Æ®¸¦   ÂüÁ¶ÇϽʽÿÀ.
   À妽º¿¡ ´ëÇÑ cascade ¿É¼ÇÀÇ È¿°ú´Â ¡°À妽º °ü¸®¡± Àå¿¡¼­ ÀÚ¼¼È÷ ´Ù·ç¾î Áý´Ï´Ù.

 

 ANALYZE ¸í·ÉÀº Å×ÀÌºí ³»ÀÇ ÇàÀÌÀü(row migration)À̳ª Ç࿬°á( row chaining)À» °Ë»çÇϴµ¥µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

±¸¹®
´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© Åë°è¸¦ »êÃâÇϽʽÿÀ.
 ANALYZE TABLE [schema.]table
 { COMPUTE STATISTICS
 | ESTIMATE STATISTICS [ SAMPLE integer {ROWS | PERCENT} ]
 }
COMPUTE STATISTICS´Â Àüü Å×ÀÌºí ½ºÄµ(full table scan)¿¡ ±âÃÊÇÑ Åë°è¸¦ »ý¼ºÇÒ °ÍÀÔ´Ï´Ù. ¹Ý¸é ESTIMATE STATISTICS´Â »ùÇÿ¡ ±âÃÊÇÑ Åë°è¸¦ »ý¼ºÇÒ °ÍÀÔ´Ï´Ù.
Åë°è°¡ »ý¼ºµÉ ¶§ µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä DBA_TABLESÀÇ CHAIN_CNT Ä÷³Àº ¿¬°áµÇ°Å³ª ÀÌÀüµÈ Çà ¼ö·Î °»½ÅµË´Ï´Ù.  ¸¹Àº ¼öÀÇ ÇàÀÌ ÀÌÀüµÇ¾î ÀÖ´Â »óÅÂÀ̸é Å×À̺íÀº ÀÌÀüÀ» Á¦°ÅÇϱâÀ§ÇØ À籸¼º µÇ¾î¾ß ÇÕ´Ï´Ù.

ÁÖ
   ESTIMATE STATISTICS´Â ±âº»°ªÀ¸·Î 1064°³ ÇàÀ» »ùÇ÷Π»ç¿ëÇÕ´Ï´Ù.
   ¿ÉƼ¸¶ÀÌÀú Åë°è¸¦ ¾ò±â À§ÇØ ÀÌ ¸í·É¹®À» »ç¿ëÇÏ´Â ÀÚ¼¼ÇÑ ¹æ¹ýÀº Oracle8:
    Performance Tuning °úÁ¤¿¡¼­ ´Ù·ç¾î Áý´Ï´Ù.
   Å×À̺íÀ» À籸¼ºÇϱâ À§ÇØ »ç¿ëµÉ ¼ö ÀÖ´Â ¸î °¡Áö ¹æ¹ýµéÀº ¡°µ¥ÀÌÅÍ ·Îµå¿Í
    À籸¼º¡± Àå¿¡¼­ ´Ù·ç¾î Áý´Ï´Ù.

Å×ÀÌºí¿¡ ´ëÇÑ Á¤º¸´Â µ¥ÀÌÅÍ µñ¼Å³Ê¸®¿¡¼­ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. SCOTTÀÌ ¼ÒÀ¯ÇÏ°í ÀÖ´Â ¸ðµç Å×ÀÌºí¿¡ ´ëÇÑ µ¥ÀÌÅÍ ¿ÀºêÁ§Æ® ¹øÈ£(data object number)¿Í Å×À̺í Çì´õÀÇ À§Ä¡¸¦ ¾Ë·Á¸é ´ÙÀ½ ÁúÀǹ®À» »ç¿ëÇϽʽÿÀ.
  SVRMGR> SELECT t.table_name, o.data_object_id,
       2>            s.header_file, s.header_block
       3> FROM dba_tables t, dba_objects o, dba_segments s
       4> WHERE t.owner=o.owner
       5> AND t.table_name=o.object_name
       6> AND t.owner=s.owner
       7> AND t.table_name=s.segment_name
       8> AND t.owner=¡®SCOTT¡¯;
TABLE_NAME    DATA_OBJEC        HEADER_FIL        HEADER_BLO
----------    ----------        ----------        ----------
BONUS               1812                 4                12
DEPARTMENTS         1811                 4                 7
DUMMY               1814                 4                22
EMPLOYEES           1810                 4                 2
SALGRADE            1813                 4                17
5 rows selected.

ºí·Ï »ç¿ë¹ý°ú ¿¬°á(chaining)Á¤º¸
Å×ÀÌºí¿¡ ´ëÇØ ¿¬°áµÇ°Å³ª ÀÌÀüµÈ Çà ¼ö¿Í high water mark±îÁöÀÇ ºí·Ï ¼ö, ±×¸®°í high water mark À§ÀÇ ºí·Ï ¼ö¸¦ ¾Ë¾Æ ³»·Á¸é ´ÙÀ½ ÁúÀǹ®À» »ç¿ëÇϽʽÿÀ.
   SVRMGR> SELECT blocks AS HWM, empty_blocks, chain_cnt AS ¡°Chained
  Blocks¡±
             2> FROM dba_tables
             3> WHERE owner=¡®SCOTT¡¯
             4> AND table_name=¡®EMPLOYEES¡¯;
             HWM        EMPTY_BLOC       Chained Bl
             --------       ---------------------       ---------------
                     1                                23                        0
          1 row selected.
ANALYZE ¸í·ÉÀ» »ç¿ëÇؾ߸¸ °»½ÅÇÒ ¼ö ÀÖ´Â Ä÷³µéÀÔ´Ï´Ù. BLOCKS Ä÷³Àº ¼¼±×¸ÕÆ® Çì´õ¸¦ Á¦¿ÜÇÑ high water mark¸¦ º¸¿©ÁÝ´Ï´Ù.

ÇÒ´çµÈ °ø°£ ºÐÆ÷
ÀͽºÅÙÆ® ¼ö, À§Ä¡, ±×¸®°í ±× Å©±â´Â DBA_EXTENTS¸¦ ÁúÀÇÇÏ¿© ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ÀÇ ¿¹´Â µ¥ÀÌÅͺ£À̽º Å×À̺íÀÌ »ç¿ëÇÑ °¢ ÆÄÀÏÀÇ ÀͽºÅÙÆ®¿Í ÃÑ ºí·ÏÀÇ ¼ö¸¦ º¸¿© ÁÝ´Ï´Ù.
  SVRMGR> SELECT file_id, COUNT(*) AS Extents, SUM(blocks) AS Blocks
       2> FROM dba_extents
       3> WHERE owner=¡®SCOTT¡¯
       4> AND segment_name=¡®EMPLOYEES¡¯
       5> GROUP BY file_id;
     FILE_ID       EXTENTS        BLOCKS
     -------       -------    ----------
           3             1            25
1 row selected.

¿À¶óŬÀº DBMS_ROWID¶ó´Â ÆÐÅ°Áö¸¦ Á¦°øÇÕ´Ï´Ù. catproc.sql¿¡ ÀÇÇØ »ý¼ºµÇ´Â dbmsutil.sql ½ºÅ©¸³Æ®·ÎºÎÅÍ »ý¼ºµÇ´Â ÆÐÅ°ÁöÀÔ´Ï´Ù.
ROWID Çü½Ä °£¿¡ º¯È¯À» Çϰųª ROWID¿Í °³°³ÀÇ ±¸¼º ¿ä¼Ò °£ÀÇ Çؼ®¿¡ »ç¿ëµÉ ¼ö ÀÖ´Â ÇÔ¼ö ¸î °¡Áö¸¦ Á¦°øÇÕ´Ï´Ù.  ÆÐÅ°Áö »ç¿ë ¿¹°¡ º» Àý¿¡ ÀÖ½À´Ï´Ù.

ROWID ±¸¼º ¿ä¼Ò
Å×ÀÌºí ³» ÇàÀÇ ¹°¸®Àû À§Ä¡¸¦ ¾Ë¾Æ º¸·Á¸é ´ÙÀ½ ÁúÀÇ ¹®À» »ç¿ëÇϽʽÿÀ.
 SVRMGR> SELECT deptno, ROWID,
      2> DBMS_ROWID.ROWID_OBJECT(ROWID) AS OBJECT,
      3> DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) AS  ¡°RELATIVE FILE¡±,
      4> DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) AS BLOCK
      5>FROM scott.departments
DEPTNO    ROWID                OBJECT     RELATIVE F          BLOCK
------    ------------------   ------  -------------     ----------      
    10    AAAArsAADAAAAUaAAA     2796              3           1306
    20    AAAArsAADAAAAUaAAB     2796              3           1306
    30    AAAArsAADAAAAUaAAC     2796              3           1306
    40    AAAArsAADAAAAUaAAD     2796              3           1306
4 rows selected.

Àý´ë ÆÄÀÏ ¹øÈ£(Absolute File Number)
SCOTT.DEPT ³»ÀÇ Çà¿¡ ´ëÇÑ Àý´ë ÆÄÀÏ ¹øÈ£¸¦ ¾òÀ¸·Á¸é ´ÙÀ½ ÁúÀǹ®À» »ç¿ëÇϽʽÿÀ.
  SVRMGR> SELECT depno, ROWID,                                          
       2>DBMS_ROWID.ROWID_TO_ABSOLURE_FNO(ROWID, ¡®SCOTT¡¯, ¡®DEPARTMENT¡¯)
         AS ¡°FILE¡±
       3> FROM scott.departments;
    DEPTNO      ROWID                          FILE
  --------      ------------------          -------
        10      AAAArsAADAAAAUaAAA                3
        20      AAAArsAADAAAAUaAAB                3
        30      AAAArsAADAAAAUaAAC                3
        40      AAAArsAADAAAAUaAAD                3
4 rows selected.

 

¿ä¾àÂüÁ¶

 °ü·Ã³»¿ë

 ÂüÁ¶

 ÃʱâÈ­ ÆĶó¹ÌÅÍ

 DB BLOCK SIZE

 µ¿Àû ÃʱâÈ­ ÆĶó¹ÌÅÍ

 DB_FILE_MULTIBLOCK_READ_COUNT
 DB_BLOCK_CHECKSUM

 µ¿Àû ¼º´É ºä

 ¾ø½¿

 µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä

 DBA_TABLES
 DBA_SEGMENTSDBA_
 DBA_OBJECTS
 DBA_EXTENTS

 ¸í·É¾î

 CREATE TABLE...AS SELECT
 CREATE TABLE...STORAGEA
 ALTER TABLE... PCTFREE...PCTUSED
 ALTER TABLE...ALLOCATEETENT
 ALTER TABLE...DEALLOCATEUNUSED
 TRUNCATETABLE
 DROP TABLE
 ANALYZE TABLE...VALIDATE STRUCTURE
 ANALYZE TABLE...ESTIMATE STATISTICS

 ÆÐÅ°Áö ÇÁ·Î½ÃÀú¿Í ÇÔ¼ö

 DBMS_SPACEUNUSED_SPACE
 DBMS_DDL..ANALYZE_OBJECT
 DBMS_UTILITY ANALYZE_SCHEMA
 DBMS_UTILITY ANALYZE_DATABASE
 DBMS_ROWID

 CREATE TABLE person
( id number(3) PRIMARY KEY,
name varchar2(30) )
STORAGE ( initial 20K,
next 20K,
pctincrease 50 ) ;
À§¿Í °°ÀÌ TableÀÌ »ý¼ºµÇ¾ú°í, db_block_size°¡ 2KÀÏ °æ¿ì ¼¼¹ø° extentÀÇ size´Â ?

A. 10k
B. 20k
C. 30k
D. 40k
´ä

X Á¤´ä:C


X Á¤´ä:A


X Á¤´ä:BCD


O