HOME   ·Î±×ÀΠ  ȸ¿ø°¡ÀÔ
    
ȸ¿ø°¡ÀÔ
ºñ¹Ð¹øÈ£ ã±â ÀÚµ¿·Î±ä
ÀÌÀü°Ô½ÃÆÇ
   free_board
   °Ç°­°Ô½ÃÆÇ
   ¿À¶óŬDB
   Linux
   HTML/javascript
   Áú¹®°ú ´ä
È£¼­±â
   À̹ÌÁö°Ô½ÃÆÇ  
   °Ç°­°Ô½ÃÆÇ  
   À½¾ÇÀÚ·á  
   ¼ºÁØÀÌ °Ô½ÃÆÇ  
[ÀϹÝ] ÆÄƼ¼ÇÅ×À̺í À妽ºÀÇ °ü¸®ÀûÀÎ ºÎºÐ¿¡ ´ëÇؼ­
  È£¼® ´Ô²²¼­ ¾´ ±ÛÀÔ´Ï´Ù - 121.¢½.39.7 ÀÐÀ½:4042  
Áö±Ý±îÁö ÆÄƼ¼Ç ¹× ÆÄƼ¼Ç À妽ºÀÇ °³³ä°ú Ư¼º¿¡ ´ëÇؼ­ ¾Ë¾Æ º¸¾ÒÀ¸¹Ç·Î ÀÌÁ¦ ÆÄƼ¼Ç°ú ÆÄƼ¼Ç À妽ºÀÇ °ü¸®ÀûÀÎ ºÎºÐ¿¡ ´ëÇؼ­ ¾Ë¾Æº¸ÀÚ.
ÆÄƼ¼ÇÀº ÆÄƼ¼Ç Å×À̺í Àüü°¡ ÇϳªÀÇ ¿ÀºêÁ§Æ®·Î µî·ÏµÇ¾î °ü¸®µÇ¸ç °³º° ÆÄƼ¼Çµµ ¿ª½Ã ÇϳªÀÇ ¿ÀºêÁ§Æ®·Î °ü¸®µÊÀ¸·Î ÀÏ¹Ý Å×À̺í°ú À妽º¿Í´Â ¾à°£ ´Ù¸¥ 󸮰¡ ¹ß»ý ÇÏ°Ô µÈ´Ù.
ÆÄƼ¼Ç Å×À̺íÀÇ ÀϹÝÀûÀÎ ¹é¾÷°ú º¹±¸¿¡¼­´Â ÆÄƼ¼Ç Ư¼ºÀ» Á¦¿ÜÇϸé ÀÏ¹Ý Å×À̺íÀÇ ¹é¾÷°ú º¹±¸¿Í Ưº°ÇÑ Â÷ÀÌ°¡ ¾ø´Ù.
ÇÏÁö¸¸ ÆÄƼ¼Ç À妽º¿¡¼­´Â ·ÎÄÃÀ妽º¿Í ±Û·Î¹ú À妽º¿¡ µû¶ó¼­ ´Ù¸¥ 󸮰¡ ¹ß»ýÇÏ°Ô µÇ¸ç °ü¸®»óÀÇ ºÎÇϵµ Ŭ ¼ö ÀÖÀ¸¹Ç·Î ÁÖÀÇÇØ¾ß ÇÑ´Ù.
ÆÄƼ¼ÇÀÇ °ü¸®´Â Å©°Ô ´ÙÀ½°ú °°ÀÌ ³ª´­ ¼ö ÀÖ´Ù.
ÆÄƼ¼Ç Ãß°¡/»èÁ¦/º´ÇÕ
ÆÄƼ¼Ç º¯È¯(ÆÄƼ¼Ç Å×À̺í°ú ÀϹÝÅ×À̺íÀÇ º¯È¯)
±âŸ °ü¸®
ÆÄƼ¼ÇÀÇ Á¾·ù¿¡ µû¶ó °¡´ÉÇÑ ÀÛ¾÷ÀÌ Á¤ÇØÁ® ÀÖÀ¸¸ç ÀÌ´Â Á¾·ù¿¡ µû¸¥ ÆÄƼ¼ÇÀÇ Æ¯¼º¿¡ ±âÀÎÇÑ´Ù. ÆÄƼ¼ÇÀÇ Á¾·ùº°·Î °¡´ÉÇÑ ALTER ¸í·ÉÀº ¿À¶óŬ ¸Å´º¾óÀ» Âü°íÇϱ⠹ٶõ´Ù.
(http://otn.oracle.com/docs/products/oracle9i/
doc_library/901_doc/server.901/a90117/partiti.htm#1311)
ÆÄƼ¼ÇÀÇ °ü¸®´Â ½ÇÁ¦ÀûÀÎ ¹æ¹ý°ú ¸í·ÉÀÇ »ç·Ê°¡ ÇÊ¿äÇϹǷΠÅ×½ºÆ®¸¦ À§Çؼ­ ¿À¶óŬ 9i¿¡¼­ Ãß°¡µÈ µ¥¸ð µ¥ÀÌÅͺ£À̽º Sales History¸¦ ¿¹·Î µç´Ù.
Å×½ºÆ® ȯ°æ ¼³Á¤
¿À¶óŬ 9i¿¡ Á¢¼Ó °¡´ÉÇÑ °æ¿ì¿¡´Â sh À¯ÀúÀÇ µ¥ÀÌÅÍ º£À̽º¿¡¼­ È®ÀÎÀÌ °¡´ÉÇÑ´Ù. ¾ø´Â °æ¿ì¸¦ À§Çؼ­ °£´ÜÈ÷ ´ÙÀ½°ú °°ÀÌ ÀÛ¾÷ÇÑ´Ù.
Å×½ºÆ®¸¦ À§Çؼ­ ¸ÕÀú partition tableÀ» ´ÙÀ½°ú °°ÀÌ »ý¼ºÇÑ´Ù. Å×½ºÆ®¸¦ À§Çؼ­ ÆÄƼ¼ÇÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ» DD-MON-YYYY ¿¡¼­ YYYYMMDD·Î ÇÏ¿´´Ù.
CREATE TABLE sales
(prod_id NUMBER(6) CONSTRAINT sales_product_nn NOT NULL,
cust_id NUMBER CONSTRAINT sales_customer_nn NOT NULL,
time_id DATE CONSTRAINT sales_time_nn NOT NULL,
channel_id CHAR(1) CONSTRAINT sales_channel_nn NOT NULL,
promo_id NUMBER(6) ,
quantity_sold NUMBER(3) CONSTRAINT sales_quantity_nn NOT NULL,
amount NUMBER(10,2) CONSTRAINT sales_amount_nn NOT NULL,
cost NUMBER(10,2) CONSTRAINT sales_cost_nn NOT NULL)
PARTITION BY RANGE (time_id)
(PARTITION Q1_1998 VALUES LESS THAN (TO_DATE('19980401','YYYYMMDD')),
PARTITION Q2_1998 VALUES LESS THAN (TO_DATE('19980701','YYYYMMDD')),
PARTITION Q3_1998 VALUES LESS THAN (TO_DATE('19981001','YYYYMMDD')),
PARTITION Q4_1998 VALUES LESS THAN (TO_DATE('19990101','YYYYMMDD')),
PARTITION Q1_1999 VALUES LESS THAN (TO_DATE('19990401','YYYYMMDD')),
PARTITION Q2_1999 VALUES LESS THAN (TO_DATE('19990701','YYYYMMDD')),
PARTITION Q3_1999 VALUES LESS THAN (TO_DATE('19991001','YYYYMMDD')),
PARTITION Q4_1999 VALUES LESS THAN (TO_DATE('20000101','YYYYMMDD')),
PARTITION Q1_2000 VALUES LESS THAN (TO_DATE('20000401','YYYYMMDD')),
PARTITION Q2_2000 VALUES LESS THAN (TO_DATE('20000701','YYYYMMDD')),
PARTITION Q3_2000 VALUES LESS THAN (TO_DATE('20001001','YYYYMMDD')),
PARTITION Q4_9999 VALUES LESS THAN (MAXVALUE));
INSERT INTO SALES
SELECT PROD_ID, CUST_ID,
ADD_MONTHS(TIME_ID,(ROWNUM-1)*3)+1 TIME_ID,
CHANNEL_ID, PROMO_ID, QUANTITY_SOLD, AMOUNT_SOLD, ROWNUM
FROM SH.SALES
WHERE ROWNUM <= 20 ;
COMMIT ;

À§ Å×À̺íÀº time_id¸¦ partition key·Î ÇÑ range partition tableÀÌ´Ù. ´ÙÀ½¿£ ÀÌ sales table¿¡ SQL*Loader¸¦ ÀÌ¿ëÇÏ¿© µ¥ÀÌÅ͸¦ loadingÇÑ´Ù. ÇØ´ç control È­ÀÏ ¹× µ¥ÀÌÅÍ È­ÀÏÀº ´ÙÀ½ µð·ºÅ丮¿¡ ÀÖ´Ù. ÀÌ µð·ºÅ丮·Î À̵¿Çؼ­ ÀÛ¾÷À» ÇÏ¸é µÈ´Ù.
$ORACLE_HOME/demo/schema/sales_history
Note :
Oracle 9iºÎÅÍ´Â $ORACLE_HOME/demo/schema ¼­ºê µð·ºÅ丮¿¡ HR(human resource), OE(order entry), PM(product media), SH(sales history), QS(Queued Shipping) µîÀÇ »ùÇà ½ºÅ°¸¶ ¹× µ¥ÀÌÅ͵éÀÌ ÀÖ´Ù.
°¡Àå ÀϹÝÀûÀÎ RANGE PARTITIONÀ» ±âÁØÀ¸·Î ¼³¸íÇϸç COMPOSITE PARTITIONÀÇ °æ¿ì ¼­ºêÆÄƼ¼Ç¸¸ HASH·Î Ãß°¡µÈ °æ¿ìÀ̹ǷΠRANGE PARTITITON °ú °°´Ù°í º¸¸é µÇ¸ç HASH¿Í LIST ÆÄƼ¼ÇÀÇ °æ¿ì¿¡´Â µû·Î ¼³¸íÇÏ¿´´Ù.
1. ÆÄƼ¼ÇÀÇ Ãß°¡/»èÁ¦/ºÐÇÒ/º´ÇÕ
1.1. Ãß°¡
±âÁ¸¿¡ Á¸ÀçÇÏ´Â ÆÄƼ¼Ç¿¡ »õ·Î¿î ÆÄƼ¼ÇÀ» Ãß°¡ÇÏ·Á´Â °æ¿ì (¿¹:¸®½ºÆ® ÆÄƼ¼Ç¿¡¼­ 2001³â 1ºÐ±â µ¥ÀÌÅ͸¦ Ãß°¡ÇÏ·Á´Â °æ¿ì µî) ¿¹Á¦Ã³·³ MAXVALUE·Î ÁöÁ¤ÇÑ ÆÄƼ¼Çó·³ ±âÁ¸ ÆÄƼ¼Ç¾È¿¡ ´ë»óÀÌ Æ÷ÇԵǾî ÀÖ´Ù¸é ¾Æ·¡ÀÇ ºÐÇÒ(SPLIT)À» ÀÌ¿ëÇÏ¿© ó¸®ÇÏ°í MAXVALUE°¡ ¾ø´Â °æ¿ìó·³ ±âÁ¸ ÆÄƼ¼ÇÀÇ ¹üÀ§ ¹ÛÀ¸·Î »õ·ÎÀÌ Ãß°¡µÇ´Â °æ¿ì¶ó¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
SQL>alter table sales add partition Q1_2001
values less than ('20010101') tablespace pts_2001Q1 ;
MAXVALUE·Î ÁöÁ¤ÇÑ ÆÄƼ¼ÇÀÌ Àִµ¥ À§¿Í °°ÀÌ Ãß°¡(add)ÇÏ¸é ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.
"ORA-14120:DATE¿­¿¡ ÆÄƼ¼Ç ¹Ù¿îµå°¡ ºÒ¿ÏÀüÇÏ°Ô ÁöÁ¤µÇ¾ú½À´Ï´Ù."
1.2. »èÁ¦
ÇØ´ç ´ÜÀ§ ÆÄƼ¼ÇÀ» »èÁ¦ÇÏ´Â °æ¿ì 1998³â 1ºÐ±â ¹× ÀÌÀü µ¥ÀÌÅ͸¦ ´õ ÀÌ»ó °ü¸®ÇÏÁö ¾Ê¾Æ ÇØ´ç ÆÄƼ¼Ç Q1_1998À» ¾ø¾Ö°í ½ÍÀº °æ¿ì´Â ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù.
SQL>alter table sales drop partition Q1_1998 ;
ÇØ´ç ÆÄƼ¼Ç ¹× ÆÄƼ¼Ç ¾ÈÀÇ ¸ðµç µ¥ÀÌÅÍ°¡ °°ÀÌ »èÁ¦ µÈ´Ù. dropµÈ ÈÄ¿¡ »õ·Î 1998³â 1ºÐ±â ¹× ÀÌÀü µ¥ÀÌŸ°¡ ÀԷµǸé Q2_1998 partitionÀÌ less then ('19980701') À¸·Î µÇ¾î ÀÖÀ¸¹Ç·Î Q2_1998 partition¿¡ ÀúÀåµÈ´Ù.
1.3. ºÐÇÒ
ÇϳªÀÇ ÆÄƼ¼ÇÀ» ºÐÇÒÇÏ¿© ¿©·¯ °³ÀÇ ÆÄƼ¼ÇÀ¸·Î Àç »ý¼º½Ã MAXVALUE¸¦ ÀÌ¿ëÇÑ °æ¿ì¿¡ °æ°è°ªÀ¸·Î »õ·Î Ãß°¡µÇ´Â °æ¿ì, MAXVALUE·Î ¹Ù¿îµå¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀº°æ¿ì »õ·Î¿î ÃÖ´ë°ªÀ» ÁöÁ¤ÇÏ´Â, ±âÁ¸ ÇϳªÀÇ ÆÄƼ¼ÇÀ» µÑ ÀÌ»óÀÇ ÆÄƼ¼ÇÀ¸·Î ³ª´©´Â °æ¿ì µîÀÌ ÇØ´çµÈ´Ù.
»õ·Î Ãß°¡µÉ µ¥ÀÌÅÍ 2001³â 1ºÐ±â µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ÆÄƼ¼ÇÀ» Ãß°¡ÇÏ·Á´Â °æ¿ì ±âÁ¸ MAXVALUE ÆÄƼ¼Ç¿¡ ÀÌ Á¶°ÇÀÌ Æ÷ÇԵǾî ÀÖÀ¸¹Ç·Î ÀÌ ÆÄƼ¼ÇÀ» ºÐÇÒÇÏ¸é µÈ´Ù.
SQL>alter table sales split partition Q4_9999 at (TO_DATE('20010101','YYYYMMDD'))
into (partition Q4_2000 tablespace pts_2000Q4, partition Q4_9999 tablespace pts_9999Q4)
ºÐÇҵǴ ±âÁ¸ ÆÄƼ¼ÇÀ» ±×´ë·Î »ç¿ëÇÒ °æ¿ì¿¡´Â ±âÁ¸ ÆÄƼ¼Ç Á¤º¸¸¦ ±×´ë·Î ±â¼úÇØ ÁÖ¸é µÈ´Ù.
SPLIT PARTITIONÀº ¸Å¿ì Å« partition tableÀ̳ª view¸¦ handling Çϴµ¥ À¯¿ëÇÏ´Ù.
1.4. º´ÇÕ
ÆÄƼ¼ÇÀ» º´ÇÕÇÏ´Â ¹æ¹ýÀº MERGE¸í·ÉÀ» ÀÌ¿ëÇÏ´Â ¹æ¹ý°ú SQL·Î ÀÓ½ÃÅ×ÀÌºí¿¡ ¿Å±â´Â ¹æ¹ý°ú Export/Import¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù.
MERGE¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ ºü¸£°í ´Ü¼øÇÏ°Ô Ã³¸® °¡´ÉÇÑ´Ù.
MERGE¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý
SQL> ALTER TABLE SALES MERGE PARTITIONS Q2_1999, Q3_1999 INTO PARTITION Q3_1999 ;
1.5. À̸§ º¯°æ
partition name À» ¹Ù²Ù°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù.
SQL>alter table sales rename partition Q4_9999 to Q4_Max ;
1.6. Å×ÀÌºí ½ºÆäÀ̽º À̵¿
partition Q4_9999À» ÀúÀåÇÏ´Â tablespace¸¦ pts_9999Q4 ¿¡¼­ pts_maxQ4·Î ¹Ù²Ù°í ½ÍÀº °æ¿ì¾Æ·¡¿Í °°Àº command¸¦ »ç¿ëÇÑ´Ù.
SQL>alter table sales move partition Q4_9999 tablespace pts_maxQ4 nologging ;
1.7. Truncate
partitionÀÇ data¸¦ ¸ðµÎ »èÁ¦ÇÏ·Á¸é truncateÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â µ¥, truncate´Â rollback ÀÌ ºÒ°¡´ÉÇϸç ƯÁ¤ partition Àüü¸¦ »èÁ¦ÇϹǷΠÁÖÀÇÇÏ¿© »ç¿ëÇØ¾ß ÇÑ´Ù.
SQL>alter table sales truncate partition Q4_9999 ;
1.8. ¼Ó¼º º¯°æ
partition tableÀº ƯÁ¤ partitionÀÇ ¼Ó¼º¸¸ º¯°æÇÒ ¼öµµ ÀÖ°í, tableÀÇ ¼Ó¼ºÀ» º¯°æ ÇÏ¿© Àüü partition¿¡ ´ëÇØ µ¿ÀÏÇÑ º¯°æÀ» ÇÒ ¼ö ÀÖ´Ù.
SQL>alter table sales storage(next 10M);
sales ÀÇ ¸ðµç partitionÀÇ next °ªÀÌ º¯°æµÈ´Ù.
SQL>alter table part_tbl modify partition Q4_9999 storage(maxextents 100);
Q4_9999 partitionÀÇ maxextents °ª¸¸ º¯°æÇÑ´Ù.
1.9. À妽º °ü¸®
ÆÄƼ¼ÇÀº ÆÄƼ¼Çº°·Î RowID¸¦ ´Ù¸£°Ô °®°Ô µÊÀ¸·Î ÆÄƼ¼ÇÀÇ º¯°æÀÌ ¹ß»ýÇÏ°Ô µÇ¸é RowIDÀÇ º¯°æÀÌ ¹ß»ýÇÏ°Ô µÈ´Ù.
±×·¡¼­ ½ÇÁ¦ ÆÄƼ¼Ç Å×À̺íÀÇ RowID¿Í º¯°æµÈ ÆÄƼ¼Ç ·ÎÄà À妽º¿Í ±Û·Î¹ú À妽ºÀÇ RowID¿Í °¡ ÀÏÄ¡ÇÏÁö ¾Ê°Ô µÇ¾î À妽º »ç¿ë ÁßÁö Áï, IU»óÅÂ(INDEX UNUSABLE)°¡ ¹ß»ýÇÏ°Ô µÇ¾î À妽ºÀÇ »ç¿ë ºÒ°¡ ¹× Àç ¼º¼º¿¡ µû¸¥ ¿î¿µ ¹× °ü¸®»óÀÇ ºÎÇÏ ¹× Àç »ý¼º¿¡ µû¸¥ ½Ã½ºÅÛÀÇ ºÎÇÏ°¡ ¹ß»ýÇÏ°Ô µÈ´Ù.
partition index°¡ IU »óÅ°¡ µÇ¾úÀ»¶§ ±× partition indexÀ» »ç¿ë ÇÏ°Ô µÇ¸é ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ¹ß»ýÇÏ°Ô µÈ´Ù.
SQL>SELECT /*+ INDEX(SALES SALES_GPNK1) */ *
FROM SALES WHERE PROD_ID >= 10000
ORA-01502: À妽º 'SALES_GPNK1'¶Ç´Â À妽º ºÐÇÒ¿µ¿ªÀº »ç¿ëÇÒ ¼ö¾ø´Â »óÅÂÀÌ´Ù
ÀÌ¿Í °°Àº ¿¡·¯°¡ ¹ß»ý½Ã ÇØ´ç ÆÄƼ¼ÇÀ» ÇØ´ç À妽º¸¦ ÅëÇؼ­ ¿¢¼¼½º ÇÒ ¼ö ¾ø°Ô µÊÀ¸·Î ÇØ´ç ¾îÇø®ÄÉÀ̼ÇÀÇ ¼öÇàÀ» À¯Áö ÇÒ ¼ö ¾ø´Â »óȲÀÌ ¹ß»ýÇÏ°Ô µÈ´Ù.
¹°·Ð À妽º¸¦ »ç¿ëÇÏÁö ¾Ê°í ÇØ´ç ÆÄƼ¼ÇÀ» TABLE FULL SCAN ÇÏ¸é ¿¡·¯°¡ ¹ß»ý ÇÏÁö ¾Ê´Â´Ù.
ÇÏÁö¸¸ ¿ÉƼ¸¶ÀÌÁ®°¡ ½ÇÇà°èȹ ¼ö¸³½Ã¿¡ INDEX UNUSABLE »óÅ ¿©ºÎ¸¦ üũÇÏÁö ¾ÊÀ¸¹Ç·Î ÇØ´ç À妽º¸¦ »ç¿ëÇÏ´Â ½ÇÇà°èȹÀÌ ¼ö¸³µÇ°í ½ÇÁ¦ ¼öÇà½Ã ¿À·ù°¡ ¹ß»ýÇÏ°Ô µÊÀ¸·Î ÀÌ¹Ì ¿î¿ëÁßÀÎ ¾îÇø®ÄÉÀ̼ÇÀ̳ª SQLÀÌ Á¤»ó ¼öÇàµÇÁö ¾Ê´Â´Ù.
ÀÌ·± °æ¿ì¿¡´Â skip_unusable_indexes = TRUE ÆĶó¸ÞÅ͸¦ ÁöÁ¤ÇÏ¸é ¼öÇà½Ã¿¡ ÇØ´ç À妽º°¡ UNUSABLEÀ̸é À̸¦ »ç¿ëÇÏÁö ¾Ê°í TABLE FULL SCAN µîÀ» ÇÑ´Ù. °æ¿ì¿¡ µû¶ó¼­ À¯¿ëÇÏ°Ô »ç¿ë °¡´ÉÇϹǷΠ°í·Á ÇØ º¼ ¼ö ÀÖ´Ù.
¾î¶² partitionÀÌ IU »óÅ°¡ µÇ¸é ±× partitionÀ» »ç¿ëÇϱâ Àü¿¡ Àç»ý¼º(rebuild)ÇØ¾ß ÇÑ´Ù. ±×·¯³ª IU partitionÀ» Á¦¿ÜÇÑ ´Ù¸¥ partition¸¸À» Àаųª DMLÀ» ¼öÇàÇÏ´Â ÀÛ¾÷Àº IU partitionÀ» accessÇÏÁö ¾Ê´Â ÇÑ ¿À·ù°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù. ´Ü, IU partitionÀ» rebuildÇϱâ Àü¿¡ splitÀ̳ª renameÀÌ °¡´ÉÇϸç, IU»óÅÂÀÎ global index¸¦ dropÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. °ü¸®»óÀ¸·Î IU»óÅÂÀÎ À妽º¸¦ ´Ù½Ã ¼öÇà °¡´ÉÇÏ°Ô ÇÏ´Â ÀÛ¾÷Àº °æ¿ì¿¡ µû¶ó ¾÷¹«ÀûÀÎ ºÎÇÏ°¡ Å« °æ¿ì°¡ ¹ß»ý ÇÒ ¼ö ÀÖ´Ù.
ÆÄƼ¼ÇÀº ¿ø·¡ ´ë¿ë·® µ¥ÀÌÅÍ¿¡ ´ëÇÑ Ã³¸®À̹ǷΠÀ妽º Àç»ý¼º ÀÛ¾÷Àº ºÎÇÏ°¡ Å« ÀÛ¾÷ÀÎ °æ¿ì°¡ ¸¹´Ù. ¶ÇÇÑ ·ÎÄÃÆÄƼ¼Ç À妽ºÀÇ °æ¿ì¿¡´Â ÇØ´ç ·ÎÄÃÀ妽º¸¸ Àç »ý¼ºÇØÁÖ¸é µÇÁö¸¸ ±Û·Î¹ú ÆÄƼ¼Ç À妽ºÀÇ °æ¿ì ±Û·Î¹ú À妽º¸¦ Çѹø¿¡ Àç »ý¼ºÇÒ ¼ö ¾ø°í °³º° ÆÄƼ¼Ç ´ÜÀ§·Î¸¸ Àç»ý¼ºÀÌ °¡´ÉÇϹǷΠ±Û·Î¹ú À妽ºÀÇ ÆÄƼ¼Ç ¼ö ¸¸Å­ ³ª´©¾î¼­ ÁöÁ¤ÇÏ¿© Àç»ý¼º ÇØ¾ß ÇÑ´Ù.
ÀÌ¿Í °°Àº °ü¸®»óÀÇ ¹®Á¦Á¡À» ÇØ°áÇϱâ À§ÇÑ ¿©·¯°¡Áö ¹æ¹ýÀÌ ÀÖÀ¸¸ç °¡Àå Å« ¿øÀÎÀº ÆÄƼ¼ÇÀÇ º¯°æ°ú ÆÄƼ¼Ç µ¥ÀÌÅÍÀÇ RowID°¡ º¯°æµÇ´Â °æ¿ìÀÌ´Ù.
RowID°¡ º¯°æµÇ´Â °æ¿ì´Â ÀÚÁÖ ¹ß»ýÇÏÁö ¾Ê°í ¾î¿¼ö ¾ø´Â °æ¿ì°¡ ´ëºÎºÐÀÏ °ÍÀ̹ǷΠ±×·¸´Ù°í ÇÏ¿©µµ ÆÄƼ¼ÇÀÇ º¯°æÀº °¡´ÉÇÑ ¹ß»ýÇÏÁö ¾Ê°Ô À¯µµÇÒ ¼ö ÀÖ´Ù.
ƯÁ¤ ÆÄƼ¼ÇÀÇ µ¥ÀÌÅ͸¦ ÆÄƼ¼Ç¿¡¼­ Á¦¿Ü½ÃÅ°´Â(¹é¾÷À¸·Î À̵¿ µî) °æ¿ì¿¡´Â ½ÇÁ¦ µ¥ÀÌÅ͸¦ ·Î¿ì ´ÜÀ§·Î Delete Çϴ°ÍÀÌ ¾Æ´Ï¶ó¸é ÆÄƼ¼Ç¿¡ ´ëÇÑ ¸í·É¿¡¼­´Â ½ÇÁ¦ µ¥ÀÌÅÍÀÇ RowID º¯°æÀÌ ÀϾ´Ù¸é ¾î¶² ¹æ¹ýÀ» ½áµµ Global IndexÀÇ UnusableÀ» ÇÇÇÒ ¼ö´Â ¾ø´Ù.
Partition Index¸¦ Unusable»óÅ·Π¸¸µé ¼ö ÀÖ´Â ¸í·É.(Oracle9i ±âÁØ).
ÀÛ¾÷ ´ë»ó
ÀÛ¾÷À¯Çü
À妽º
Unusable »óÅ º¯°æ
ÆÄƼ¼Ç Å×À̺í
ADD
LOCAL
»õ·Î »ý¼ºµÇ¹Ç·Î »ó°ü¾ø´Ù.
GLOBAL
ÆÄƼ¼Ç¸¸ Ãß°¡µÇ¹Ç·Î »ó°ü¾ø´Ù.
DROP
LOCAL
°°ÀÌ »èÁ¦µÇ¹Ç·Î »ó°ü¾ø´Ù.
GLOBAL
¸ðµç GLOBAL INDEX°¡ Unusable
SPLIT
LOCAL
SPLITµÈ ÆÄƼ¼Ç À妽º Unusable
GLOBAL
¸ðµç GLOBAL INDEX°¡ Unusable
MERGE
LOCAL
¸ÓÁöµÇ¾î ³²´Â ÆÄƼ¼Ç À妽º Unusable
GLOBAL
¸ðµç GLOBAL INDEX°¡ Unusable
RENAME
LOCAL
½ÇÁ¦ º¯°æÀÌ ¾øÀ¸¹Ç·Î »ó°ü¾ø´Ù.
GLOBAL
½ÇÁ¦ º¯°æÀÌ ¾øÀ¸¹Ç·Î »ó°ü¾ø´Ù.
MOVE
LOCAL
MOVEµÈ ÆÄƼ¼Ç À妽º Unusable
GLOBAL
¸ðµç GLOBAL INDEX°¡ Unusable
TRUNCATE
LOCAL
³²Àº ·Î¿ì°¡ ¾øÀ¸¹Ç·Î »ó°ü¾ø´Ù.
GLOBAL
¸ðµç GLOBAL INDEX°¡ Unusable
EXCHANGE
LOCAL
EXCHANGEÇÑ ÆÄƼ¼Ç À妽º Unusable
GLOBAL
¸ðµç GLOBAL INDEX°¡ Unusable

(Ç¥¸¦ º¸¸é ¾Ë°ÚÁö¸¸ Unusable»óÅ°¡ µÇ´Â °ÍÀº ½ÇÁ¦ ÆÄƼ¼Ç Å×ÀÌºí µ¥ÀÌÅÍÀÇ RowID¸¦ º¯°æ½ÃŲ °æ¿ì(ÆÄƼ¼Ç ´ÜÀ§ÀÇ º¯°æÀÌ ¹ß»ý½Ã¿¡µµ ÇØ´ç ÆÄƼ¼Ç¿¡ ½ÇÁ¦ ·Î¿ì µ¥ÀÌÅÍ°¡ À־ RowID º¯°æÀÌ ¹ß»ýµÈ °æ¿ì)¿¡ ÇØ´çµÈ´Ù.)
À妽º Àç»ý¼º(Rebuild)
partition table°ü·Ã ÀÛ¾÷À» ÇÑ ÈÄ¿¡´Â table¿¡ °É·Á ÀÖ´Â local(partitioned) index ³ª global index¸¦ ¹Ýµå½Ã rebuildÇØ ÁÖ¾î¾ß ÇÑ´Ù.
ƯÁ¤ partitionÀÇ index¸¦ rebuild ÇÏ·Á¸é
SQL>alter index idx01_sales rebuild partition idx_Q4_9999 ;
global index¸¦ rebuildÇÏ·Á¸é non-partition index À妽ºÀÎ °æ¿ì´Â
SQL>alter index sales_idx01 rebuild;
¿Í °°ÀÌ Ã³¸®ÇÏ¸é µÇÁö¸¸ global partition index À妽º´Â À妽º Àüü¸¦ Çѹø¿¡ Àç»ý¼º ÇÒ ¼ö ¾ø´Ù.
SQL>alter index SALES_GPNK1 rebuild
"ORA-14086:ºÐÇÒ¿µ¿ªµÈ À妽º´Â Àüü¸¦ ´Ù½Ã ¸¸µé ¼ö ¾ø½À´Ï´Ù." ¿Í °°Àº ¿¡·¯¸¦ ¹ß»ýÇÏ°Ô µÈ´Ù.
SQL>alter index SALES_GPNK1 rebuild partition SALES_GPI01 ;
À§¿Í °°ÀÌ À妽º ÆÄƼ¼Ç ´ÜÀ§·Î Àç »ý¼º ÇØÁÖ¾î¾ß¸¸ ÇÑ´Ù.
global partition indexÀÇ °æ¿ì non-partition index À̵ç partition index À̵ç ÆÄƼ¼Ç Å×ÀÌºí °ü·Ã ÀÛ¾÷ÀÎ °æ¿ì Àç »ý¼ºÀÌ Çʼö À̹ǷΠÆÄƼ¼Ç Å×ÀÌºíº°·Î global indexÀÇ rebuild ÀÛ¾÷¿ëÀÇ ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇØ ³õ¾Æ¾ß ºü¸¥ ½Ã°£¾È¿¡ °ü·Ã À妽º¸¦ Àç »ý¼º ÇÒ ¼ö ÀÖ´Ù.
1.10. Index Unusable »óÅ ¿¹¹æ
ƯÈ÷ Range PartitionÀÇ °æ¿ì ´ë°³ ³¯Â¥¸¦ Å°·Î ÇÏ¿© ÆÄƼ¼ÇµÇ¸ç ½Ã°£ÀÇ °æ°ú¿¡ µû¶ó °ü¸®ÇÏ´Â µ¥ÀÌÅÍÀÇ ³¯Â¥°ªµµ Áõ°¡ÇÏ¿© »õ·Î¿î ÆÄƼ¼ÇÀ¸·Î °ü¸®ÇØ¾ß ÇÏ´Â °æ¿ì°¡ ¸¹´Ù.
¿À¶óŬ¿¡¼­ NULL µ¥ÀÌÅÍ´Â Á¤·Ä¿¡¼­ ¸¶Áö¸·¿¡ À§Ä¡ÇÏ°Ô µÇ¾î ÆÄƼ¼Ç Å°ÀÇ °ªÀÌ NULLÀÎ °æ¿ì MAXVALUE ÆÄƼ¼Ç¿¡ Á¸ÀçÇÏ°Ô µÈ´Ù.
Áï Å°¿¡ NULLÀÎ µ¥ÀÌÅÍ°¡ Á¸Àç½Ã¿¡´Â MAXVALUE¿¡ ½ÇÁ¦·Î µ¥ÀÌÅÍ°¡ À§Ä¡ÇÏ°Ô µÇ¸ç ÀÌ °æ¿ì ÃÖ½ÅÀÇ µ¥ÀÌÅ͸¦ À§Çؼ­ ÆÄƼ¼ÇÀ» Ãß°¡½Ã MAXVALUE¸¦ SPLITÇÏ°Ô µÇ¸é ½ÇÁ¦ µ¥ÀÌÅÍ ·Î¿ì°¡ ÀÖ´Â ÆÄƼ¼Ç¿¡¼­ º¯°æ ÀÛ¾÷ÀÌ ÀϾÀ¸¹Ç·Î Global Index ÀÇ Unusable¸¦ ÇÇÇÒ ¼ö ¾ø°Ô µÈ´Ù.
À̸¦ ¹æÁö Çϱâ À§Çؼ­´Â ½ÇÁ¦ ¿î¿µµ¥ÀÌÅÍÀÇ ÃÖÁ¾ ÆÄƼ¼Ç°ú MAXVALUE ÆÄƼ¼Ç »çÀÌ¿¡ dummy ÆÄƼ¼ÇÀ» Çϳª µÎ¾î NULL°ªÀÌ À§Ä¡ÇÑ MAXVALUE ÆÄƼ¼ÇÀ» ºÐ¸®ÇÏ´Â °ÍÀÌ ÁÁ´Ù.
¿¹¸¦ µé¾î ³¯Â¥°¡ Å°ÀÎ °æ¿ì '20021001'ÀÎ ÇöÀç ÆÄƼ¼Ç°ú MAXVALUE »çÀÌ¿¡ '21000101' À̳ª '99990101' °ú °°Àº dummy ÆÄƼ¼ÇÀ» À¯Áö ÇÏ¿© ½Ç¹«¿¡¼­ À¯¿ëÇÏ°Ô »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù.
1.11. ÆÄƼ¼Ç Å° µ¥ÀÌÅÍÀÇ º¯°æ
ÆÄƼ¼ÇÀ» ¿î¿µ Áß¿¡ Å° Ä÷³ÀÇ µ¥ÀÌÅÍ°¡ º¯°æµÇ¾î ÆÄƼ¼ÇÀ» À̵¿ ½Ã¿¡ ´ÙÀ½°ú °°Àº ¿¡·¯¸¦ ¹ß»ý½ÃŲ´Ù.
"ORA-14402: ºÐÇÒ¿µ¿ª Å° ¿­À» ¼öÁ¤ÇÏ´Â °ÍÀº ºÐÇÒ¿µ¿ª º¯°æÀÌ »ý±é´Ï´Ù."
ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ À߸øÇϸé ÇÁ·Î±×·¥ »ó¿¡¼­ Delete & Insert ¹æ½ÄÀ¸·Î ÄÚµùÀ» Çϱ⵵ ÇÏÁö¸¸ Oracle8iºÎÅÍ SQLÀÇ Syntax¿¡ ÀÌ ¹®Á¦¿¡ ´ëÇÑ ¿É¼ÇÀÌ Á¸ÀçÇÑ´Ù.
ENABLE ROW MOVEMENT ¶Ç´Â DISABLE ROW MOVEMENT
µðÆúÆ®·Î DISABLE ROW MOVEMENT °¡ ¼ÂÆà µÇ¾î ÀÖ´Ù. Áï ÆÄƼ¼Ç°£ ·Î¿ìÀÇ À̵¿ÀÌ ±ÝÁöµÇ¾î ÀÖ¾ú±â ¶§¹®¿¡ À§¿Í °°Àº ¿¡·¯¸¦ ¸¸³ª°Ô µÈ °ÍÀÌ´Ù.
CREATE TABLE½Ã ÀÌ ¿É¼ÇÀ» Áְųª, ALTER TABLE ¸í·É¾î·Î ¼³Á¤ °ªÀ» ¹Ù²Ü ¼ö ÀÖ´Ù.
ALTER TABLE SALES ENABLE ROW MOVEMENT;
2. ÆÄƼ¼Ç Å×À̺íÀÇ º¯È¯ (ÆÄƼ¼Ç°ú ÀϹÝÅ×À̺íÀÇ º¯È¯)
ÆÄƼ¼Ç Å×À̺í°ú ÀÏ¹Ý Å×À̺íÀ» Á÷Á¢ º¯È¯½ÃÅ°´Â ¸í·ÉÀº EXCHANGE ¸í·ÉÀÌ ÀÖÀ¸¸ç ´Ù¸¥ µ¥ÀÌÅͺ£À̽º¿¡ÀÇ ÀÌÀüÀ̶ó¸é Export/Import¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù.
EXCHANGE ¸í·ÉÀº ƯÁ¤ partitionÀ» non partitioned table·Î, non partitioned tableÀ» ƯÁ¤ partitionÀ¸·Î º¯È¯½ÃÄÑ ÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù.
³»ºÎÀûÀ¸·Î´Â data(index) segment¸¦ ±³È¯(data dictionaryÀÇ º¯°æ)ÇÏ´Â °ÍÀÌÁö ½ÇÁ¦·Î °¢°¢ÀÇ rowµéÀ» ¿Å±â´Â °ÍÀº ¾Æ´Ï´Ù.
Export/Import¸¦ ÀÌÇÏ´Â ¹æ¹ýÀº ´Ù¸¥ µ¥ÀÌÅÍ º£À̽º¿¡¼­ÀÇ ÀÌÀü µîÀ̳ª Àç»ý¼º µî¿¡ À¯¿ëÇϸç ÀÏ¹Ý Å×À̺íÀÇ Import¿Í µ¿ÀÏÇÑ ÀýÂ÷·Î ¼öÇàµÈ´Ù.
table-level import½Ã ¿ì¼± table creation ¹®ÀåÀ» ¼öÇàÇÏ°í row insert¹®À» ¼öÇà ÇÏ´Â °Í°ú ¸¶Âù°¡Áö·Î, partition-level importµµ ¿ì¼± partitioned tableÀÇ »ý¼º¹®ÀåÀ» ¼öÇàÇÏ°í row insert¹®À» ¼öÇàÇÏ°Ô µÈ´Ù.
µû¶ó¼­ ignore=y optionµîÀ» ÀûÀýÈ÷ »ç¿ëÇϸé, non-partitioned table°ú partitioned table°£ÀÇ º¯°æ, partitioned tableÀÇ ±¸Á¶ º¯°æ µîÀ» ¼öÇàÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
2.1. EXCHANGE ÀÌ¿ë ½Ã
ÆÄƼ¼Ç => ÀÏ¹Ý Å×À̺íÀÇ º¯È¯
tableÀ» º¯È¯Çϱâ À§ÇØ dummy tableÀ» »ý¼ºÇÏ°í, alter table EXCHANGE PARTITION ¸í·É¾î¸¦ ÅëÇØ ¼öÇàÇÑ´Ù. ÀÌ ¸í·É¾î´Â ¸Å¿ì »¡¸® data dictionary ¸¦ update ½ÃŲ´Ù
i) º¯°æÇÏ·Á´Â ÆÄƼ¼Ç°ú µ¿ÀÏÇÑ ±¸Á¶¸¦ °°´Â Å×À̺íÀ» »ý¼ºÇÑ´Ù.
SQL>create table sales_EXCH as select * from sales where 1 = 2 ;
ii) alter table EXCHANGEÀ» ÀÌ¿ëÇÏ¿© º¯°æÇÑ´Ù.
SQL>ALTER TABLE sales EXCHANGE PARTITION Q4_9999 WITH TABLE
sales_EXCH WITHOUT VALIDATION ;
EXCHANGE À¸·Î º¯°æ½Ã¿¡ ÆÄƼ¼Ç Å×À̺íÀÇ ÇØ´ç ÆÄƼ¼ÇÀÇ ±¸Á¶´Â ±×´ë·Î À¯ÁöµÈ´Ù.(±âÁ¸ ÆÄƼ¼ÇÀº µ¥ÀÌÅÍ ·Î¿ì´Â ¾ø´Â ºó ÆÄƼ¼ÇÀÌ µÈ´Ù) Áï EXCHANGE¸¦ »ç¿ëÇÏ¸é ½ÇÁ¦ µ¥ÀÌÅÍ°¡ ÆÄƼ¼Ç¿¡¼­´Â ´õ ÀÌ»ó À¯ÁöµÇÁö ¸øÇϹǷΠÇØ´ç °æ¿ì¿¡¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Â ´ÜÁ¡ÀÌ ÀÖ´Ù.
WITHOUT VALIDATION À» »ç¿ëÇϸé À¯Àϼº Á¶°Ç µîÀÇ ±âÁ¸ Å×ÀÌºí¿¡ °É¸° Á¦¾à Á¶°ÇÀ» üũÇÏÁö ¾ÊÀ¸¹Ç·Î º¯È¯ Àü¿¡ ¹Ì¸® üũ ÇÏ´Â °ÍÀÌ ÁÁ´Ù.
ÀÏ¹Ý Å×À̺í => ÆÄƼ¼Ç ÀÇ º¯È¯
alter table EXCHANGEÀ» ÀÌ¿ëÇÏ¿© º¯°æÇÑ´Ù.
SQL>ALTER TABLE sales EXCHANGE PARTITION Q3_1999 WITH TABLE
sales_EXCH WITHOUT VALIDATION ;
º¯È¯µÉ ÆÄƼ¼ÇÅ×À̺íÀÇ À妽º¿Í ¿ÏÀüÈ÷ ¸ÅÄ¡µÇ´Â À妽º ±¸Á¶¸¦ °¡Áö°í ÀÖ´Ù¸é INCLUDING INDEX ¿É¼ÇÀ» Ãß°¡ÇÏ¿© ·ÎÄÃÀ妽º »ý¼º¿¡ ´ëÇÑ ½Ã°£À» ÁÙÀÏ ¼ö ÀÖ´Ù.
EXCHANGE´Â ÀüüÀûÀ¸·Î °¡Àå ºü¸£°Ô ÆÄƼ¼Ç °ü·Ã µ¥ÀÌÅ͸¦ º¯°æÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ´Ù.
2.2. CTAS ÀÌ¿ë ½Ã
ÆÄƼ¼Ç Å×À̺íÀÇ Æ¯Á¤ Å×À̺íÀ» ÀÏ¹Ý Å×À̺í·Î º¯°æ½Ã¿¡ EXCHANGE¸¦ »ç¿ë½Ã¿¡´Â ½Ç µ¥ÀÌÅÍÀÇ º¯°æÀÌ ¹ß»ýÇϹǷΠ¶Ç ´Ù¸¥ ¹æ¹ýÀ¸·Î CTAS(CREATE TABLE .. NOLOGGING AS SELECT ..)°¡ ÀÖ´Ù.
Àû´çÇÑ SORT_AREA_SIZEÀÇ ÁöÁ¤°ú NOLOGGING¿É¼ÇÀ¸·Î ¿øÇÏ´Â ¼º´ÉÀ» ¾òÀ» ¼ö ÀÖ´Ù.
3. ±âŸ °ü¸®
ÆÄƼ¼ÇÀÇ °ü¸®¿¡¼­ ¹ß»ýÇÏ°Ô µÇ´Â ¸î °¡Áö Áß¿äÇÑ ½Ç·Ê¸¦ »ìÆ캸±â·Î ÇÑ´Ù.
3.1. ÆÄƼ¼Ç µ¥ÀÌÅÍ ÆÄÀÏ »èÁ¦½ÃÀÇ Ã³¸®
Partitioned tableÀÇ partitionÀÌ Æ÷ÇԵǾî ÀÖ´Â datafileÀÌ OS level¿¡¼­ »èÁ¦µÈ °æ¿ì, ÇØ´ç datafileÀ» offline dropÇÏ°í openÇÑ ÈÄ ÇØ´ç tableÀ» accessÇÏ°íÀÚ ÇÏ´Â °æ¿ì, ¶Ç´Â ÇØ´ç TableSpace¸¦ DropÇÏ°íÀÚ ÇÏ¸é ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. ´ÙÀ½°ú °°Àº error°¡ À¯¹ßµÈ´Ù.
ORA-00376: (File cannot be read at this time) ,
ORA-14404: (Partitioned table contains partitions in a different tablespace)
ÆÄÀÏ »èÁ¦¿¡ ´ëÇÑ Ã³¸®´Â ÀÏ¹Ý µ¥ÀÌÅÍ ÆÄÀÏ »èÁ¦ÀÇ Ã³¸®¿Í °°´Ù.
À̶§ ÆÄƼ¼ÇÀÇ º¹±¸¿¡ ´ëÇؼ­´Â ´ÙÀ½°ú °°ÀÌ 3°¡Áö·Î Á¶Ä¡ °¡´É ÇÑ´Ù.
1) ÇØ´ç partitioned tableÀüü¸¦ dropÇÑ ÈÄ recreateÇÑ´Ù.
drop table sales ;
drop tablespace pts_9999Q4 including contents ;
tablespace recreate.
table rebuild .
¹®Á¦Á¡Àº Àüü partitioned tableÀ» º¹±¸ÇØ¾ß ÇϹǷΠ½Ã°£ÀÌ ¿À·¡ ¼Ò¿äµÈ´Ù.
2) ÇØ´ç partition¸¸À» dropÈÄ Àç »ý¼º ÇÑ´Ù.
alter table sales drop partition Q4_9999 ;
drop tablespace pts_9999Q4 including contents ;
tablespace recreate.
add partition or split partition.
ÇØ´ç partition¸¸ÀÇ data¸¦ reloadÇÑ´Ù.
partitioned tableÀüü data¸¦ reloadÇÏ´Â °Í º¸´Ù ªÀº ½Ã°£ÀÌ ¼Ò¿äµÈ´Ù.
3) temporary tableÀ» »ý¼ºÇÏ¿© exchangeÇÑ´Ù.
sales table°ú µ¿ÀÏÇÑ ±¸Á¶ÀÇ dummy tableÀ» ´Ù¸¥ tablespace¿¡ »ý¼ºÇÑ´Ù.
create table dummy_sales as select * from sales where 1=2;
ÀÌ tableÀ» ¹®Á¦ÀÇ partition°ú exchangeÇÑ´Ù.
alter table sales exchange partition Q4_9999 with table dummy_sales without validation ;
drop tablespace pts_9999Q4 including contents ;
»õ·Î¿î partition¿¡ ÇÊ¿äÇÑ data¸¦ loadÇÑ´Ù.
3.2. INDEX UNUSABLE »óÅ ¿¹¹æ (9iR1 ±âÁØ)
Oracle 9i¿¡¼­´Â base table¿¡ ´ëÇÑ DDL ¼öÇà ½Ã UPDATE GLOBAL INDEXES¶ó´Â optionÀ» »ç¿ëÇؼ­ global index¿¡ ´ëÇؼ­µµ ONLINEÀ¸·Î updateÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù.
ÀÌ ±â´ÉÀ¸·Î Global index°¡ base table°ú µ¿½Ã¿¡ º¯°æÀÌ µÇ¾î Global index¿¡ ´ëÇÑ rebuild¸¦ °ü¸®ÇÏÁö ¾Ê¾Æµµ µÈ´Ù.
°¡´ÉÇÑ DDL ¸í·É
: SPLIT, MERGE, ADD, MOVE, COALESCE, DROP, TRUNCATE, EXCHANGE UPDATE GLOBAL INDEXES¶ó´Â optionÀ» partition specification ¹Ù·Î µÚ, ±×¸®°í PARALLEL clause ¹Ù·Î ¾Õ¿¡ ±â¼úÇØ µÎ¸é ONLINEÀ¸·Î base table¿¡ ´ëÇÑ DDLÀ» ¼öÇà Çϸ鼭 global index¸¦ ±×¿¡ ¸ÂÃç º¯°æ½Ãų ¼ö ÀÖ´Ù.
SQL>ALTER TABLE sales DROP PARTITION sales1 UPDATE GLOBAL INDEXES
PARALLEL (DEGREE 4);
OnLine º¯°æÀº ÀüüÀûÀΠó¸®ÀÇ ºÎÇÏ°¡ Rebuildº¸´Ù Å©¸ç Æ®·£Á§¼Ç¿¡ ´ëÇÑ Ã³¸® ½Ã°£ÀÌ Áõ°¡ ÇϹǷΠÀÌ ¹æ¹ýÀº ó¸®ÇØ¾ß ÇÒ rowÀÇ ¾çÀÌ ÀûÀ» ¶§ À¯¿ëÇÏ´Ù.
º¯°æÇÏ·Á´Â µ¥ÀÌÅÍ¿¡ ´ëÇÑ Ã³¸®¿Í Àç»ý¼ºÀÇ ºÎÇϸ¦ ºñ±³ÇÏ¿© ÀûÁ¤ÇÑ ¹æ¹ýÀ» ¼±ÅÃÇÏ´Â °ÍÀÌ ÁÁ´Ù. (Áï Àüü ±Û·Î¹ú À妽º¸¦ Àç »ý¼ºÇÏ´Â ½Ã°£º¸´Ù ONLINE update ÇÏ´Â ½Ã°£ÀÌ ÀûÀ» ¶§ À¯¸®ÇÏ¸ç ´Ù·®ÀÇ µ¥ÀÌÅÍÀÇ °æ¿ì¿¡´Â ¿ÀÈ÷·Á Àüü ½Ã°£ÀÌ ´õ °É¸± ¼ö µµ ÀÖÀ¸¹Ç·Î Å×½ºÆ®ÇÏ¿© ¿î¿µ ½Ã½ºÅÛ¸¶´Ù ÀûÁ¤¼±ÀÇ Ã³¸® ÇѰ踦 Á¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù.)
3.3. ÆÄƼ¼Ç Ãß°¡½Ã ·ÎÄÃÀ妽ºÀÇ ¼Ó¼º °ü¸®
ALTER TABLE ADD PARTITIONÀ» ÇÒ °æ¿ì table partitionÀÇ °æ¿ì table partition, tablespace, physical storage attribute¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸³ª, local index partitionÀÇ °æ¿ì °ü·Ã syntax¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù.
¿À¶óŬÀº ÀÚµ¿À¸·Î index partition, tablespace, physical storage attribute¸¦ ÁöÁ¤ÇÑ´Ù. (ALTER TABLE SPLIT PARTITIONµµ ¸¶Âù°¡Áö)
new index partitionÀÇ À̸§Àº new table partition°ú °°Àº À̸§ÀÌ ÇÒ´çµÇ°í, tablespace, physical storage attribute´Â local index¿¡ ÁöÁ¤µÈ default°ªÀÌ »ç¿ëµÇ°í, local index¿¡ ÁöÁ¤µÈ default°ªÀÌ ¾øÀ¸¸é userÀÇ default tablespace°¡ »ç¿ëµÈ´Ù. ±×·¯¹Ç·Î PARTITIONÀ» Ãß°¡ÇÏ¿© »ç¿ëÇÏ´Â °æ¿ì index partition °ü¸®¿¡ ÁÖÀÇ°¡ ¿ä±¸µÈ´Ù.
Áö±Ý±îÁö ÆÄƼ¼Ç Å×ÀÌºí ¹× À妽ºÀÇ °ü¸®¿¡¼­ ¹ß»ýÇÒ ¼ö ÀÖ´Â ¹®Á¦Á¡µéÀ» »ìÆ캸¾Ò´Ù.
½Ç¹«¿¡¼­ ÆÄƼ¼ÇÀÇ INDEX UNUSABLE »óŸ¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Â »óȲµé¿¡ ´ëÇؼ­ ƯÈ÷ ÁÖÀÇ ±í°Ô º¸°í ¿î¿µ ¹öÀüº°·Î Å×½ºÆ® Çغ¸¾Æ °¢ ½Ã½ºÅÛ¿¡ ¸Â´Â °ü¸® ÁöħÀ» ¼ö¸³ ÇÏ¿© ¼÷Áö ÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù.
ÀÌ»óÀ¸·Î Partition table ¹× À妽ºÀÇ °ü¸®¿¡ ´ëÇÑ ÀϹÝÀûÀÎ »ç·Ê Áß½ÉÀ¸·Î ¾Ë¾Æº¸¾ÒÀ¸¸ç ´ÙÀ½ ¿¬Àç¿¡¼­´Â Partition table È°¿ë ¹× Á¦ÇÑ »çÇ׿¡ ´ëÇÏ¿© ´Ù·ç°Ô µÉ °ÍÀÌ´Ù.


¸ñ·Ï

ºÐ·ù ¼±ÅÃ
ÀÏ¹Ý ÆÄƼ¼ÇÅ×À̺í À妽ºÀÇ °ü¸®ÀûÀÎ ºÎºÐ¿¡ ´ëÇؼ­ È£¼® 10-01-26 4043
122 ÀÏ¹Ý ÆÄƼ¼Ç Å×ÀÌºí °ü·Ã ±×¸®°í ´ë¿ë·® ºü¸¥ ÀÛ¾÷¼öÇà È£¼® 10-01-26 3125
121 ÀÏ¹Ý multi join update È£¼® 10-01-19 3245
120 ÀÏ¹Ý µðºñ ÀÏ°ýó¸®Çϱâ [Ç¥ÁØ,Ä¿¼­,CURSOR] È£¼® 09-12-28 2748
119 ÀÏ¹Ý ¿À¶óŬ ÀÓÀÇÀ¸ ¼öÀڹ߻ý½ÃÅ°±â È£¼® 09-10-23 2789
118 ÀÏ¹Ý ÇÁ·Î½ÃÁ®¿¡¼­ ¹è¿­·Î º¯¼ö ó¸®Çϱâ È£¼® 09-04-23 3990
117 ÀÏ¹Ý ¿À¶óŬ trace ÆÄÀÏÀÇ °ü¸® ¿À¶óŬ°ü·Ã È£¼® 09-04-04 3894
116 ÀÏ¹Ý »ç¿ëÀÚ »ý¼º ¹× ±ÇÇѼ³Á¤ È£¼® 09-03-20 3581
115 ÀÏ¹Ý ¿À¶óŬ replace »ç¿ëÇϱâ È£¼® 09-03-10 5269
114 ÀÏ¹Ý oracle 10G drop µÈ Å×ÀÌºí º¹±¸Çϱâ recycle È£¼® 09-03-04 3423
113 ÀÏ¹Ý [DB] ¿À¶óŬ ½ºÅĹÙÀÌ ¼­¹ö ±¸ÃàÇϱâ #1 È£¼® 09-02-03 3078
112 ÀÏ¹Ý [DB] ¿À¶óŬ Standby Database ±¸Ãà È£¼® 09-02-03 3304
111 ÀÏ¹Ý COST BASED OPTIMIZATION(CBO) AND HINTS AND RULE BASED OPTIMIZATION È£¼® 09-01-07 3488
110 ÀÏ¹Ý mysql µ¥ÀÌÅ͸¦ ¿À¶óŬ·Î ÄÁ¹öÁ¯Çϱâ [migration] È£¼® 08-12-12 3662
109 ÀÏ¹Ý INDEX »ç¿ëÇϱâ mssql,oracle,mysql È£¼® 08-12-11 5857
óÀ½ÀÌÀü  [1] 2 [3] [4] [5] [6] [7] [8] [9] [10]  ´ÙÀ½¸Ç³¡

 
Copyright © zenos.pe.kr. All rights reserved.