¿À¶óŬ µ¥ÀÌÅͺ£À̽º¿¡¼ »ç¿ëÀÚ µ¥ÀÌÅÍ´Â ´ÙÀ½ Áß ÇÑ°¡Áö ¹æ¹ýÀ¸·Î ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. - Á¤±Ô Å×À̺í(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 Àá±ÝÀº Àӽà Å×À̺íÀÇ µ¥ÀÌÅÍ¿¡´Â Àû¿ëµÇÁö ¾Ê½À´Ï´Ù.
ÇàÀÇ ±â°£À» Á¦¾îÇÏ´Â ÀýÀº ´ÙÀ½°ú °°½À´Ï´Ù.
- ON COMMIT DELETE ROWS´Â Æ®·£Àè¼Ç ³»¿¡¼¸¸ ÇàÀ» º¼ ¼ö ÀÖµµ·Ï ÁöÁ¤ÇÕ´Ï´Ù.
- ON COMMIT PRESERVE ROWS´Â Àüü ¼¼¼Ç¿¡¼ ÇàÀ» º¼ ¼ö ÀÖµµ·Ï ÁöÁ¤ÇÕ´Ï´Ù.
Àӽà Å×ÀÌºí¿¡ À妽º, ºä ¹× Æ®¸®°Å¸¦ »ý¼ºÇÏ°í ¶ÇÇÑ 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 ¸¶¹ý»ç¸¦ »ç¿ëÇÏ¿© Å×À̺íÀ» »ý¼ºÇÒ ¼öµµ
ÀÖ½À´Ï´Ù. |
Å×ÀÌºí »ý¼º Áöħ
- ·Ñ¹é ¼¼±×¸ÕÆ®, Àӽà ¼¼±×¸ÕÆ® ¹× À妽º°¡ ÀÖ´Â Å×ÀÌºí½ºÆäÀ̽º°¡ ¾Æ´Ñ º°µµÀÇ Å×ÀÌºí½ºÆäÀ̽º¿¡ Å×À̺íÀ»
³ÖÀ¸½Ê½Ã¿À.
- ´ÜÆíȸ¦ ¹æÁöÇÏ·Á¸é Áö¿ªÀûÀ¸·Î °ü¸®µÇ´Â Å×ÀÌºí½ºÆäÀ̽º¿¡ Å×À̺íÀ» ³ÖÀ¸½Ê½Ã¿À.
- ´ÜÆíȸ¦ ÃÖ¼ÒÈÇÏ·Á¸é DB_BLOCK_SIZEÀÇ 5¹è¼öÀΠǥÁØ È®Àå ¿µ¿ª Å©±â¸¦ »ç¿ëÇϽʽÿÀ.
- Àüü Å×ÀÌºí ½ºÄµÀÇ ¼º´ÉÀ» Çâ»ó½ÃÅ°·Á¸é Àüü Å×À̺íÀ» Àд µ¿¾È ¿î¿µ üÁ¦¿¡ ´ëÇÑ °¢ Àбâ È£Ãâ¿¡¼ ¼¹ö
ÇÁ·Î¼¼½º°¡ ¿äûÇÏ´Â ºí·Ï ¼ö¸¦ Á¤ÀÇÇÑ ÃʱâÈ ¸Å°³ º¯¼öÀÎ DB_FILE_MULTIBLOCK_READ_COUNT·Î È®Àå ¿µ¿ª Å©±â¸¦
¸ÂÃ߽ʽÿÀ.
- ÀÚÁÖ ¾×¼¼½ºÇÒ °¡´É¼ºÀÌ ÀÖ´Â ÀÛÀº ÂüÁ¶ Å×ÀÌºí¿¡ ´ëÇØ CACHE ÀýÀ» »ç¿ëÇϽʽÿÀ.
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
¿ »èÁ¦ ½Ã Á¦ÇÑ »çÇ×
´ÙÀ½ ÀÛ¾÷Àº ¼öÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
- °´Ã¼ À¯Çü Å×ÀÌºí¿¡¼ ¿ »èÁ¦
- Áßø Å×ÀÌºí¿¡¼ ¿ »èÁ¦
- Å×À̺íÀÇ ¸ðµç ¿ »èÁ¦
- ºÐÇÒ Å° ¿ »èÁ¦
- SYS°¡ ¼ÒÀ¯ÇÑ Å×ÀÌºí¿¡¼ ¿ »èÁ¦
- »óÀ§ Å° ¿ »èÁ¦
- ¿ÀÌ ±âº» Å°ÀÏ °æ¿ì À妽º ±¸¼º Å×ÀÌºí¿¡¼ ¿ »èÁ¦
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