ºí·Ï ÀͽºÅÙÆ® ¼¼±×¸ÕÆ® |
µ¥ÀÌÅͺ£À̽º ÀÛ¾÷À¸·Î ÀÎÇØ µ¥ÀÌÅÍ°¡ Áõ°¡ÇÏ¿© ÇÒ´çµÈ °ø°£À» ÃÊ°úÇÒ ¶§, ¿À¶óŬÀº ¼¼±×¸ÕÆ®¸¦ È®ÀåÇÕ´Ï´Ù. INSERT³ª UPDATE ¹®À» ½ÇÇà½Ãų ¶§ ¼¼±×¸ÕÆ®¸¦ È®ÀåÇÏ¿© µ¿ÀûÀ¸·Î È®ÀåÀÌ ÀÌ·ç¾îÁö°Ô µÇ¸é ¼º´ÉÀº °¨¼ÒÇÕ´Ï´Ù. ¼¹ö°¡ ¿©À¯ °ø°£À» ã°í µ¥ÀÌÅÍ µñ¼Å³Ê¸®¿¡ ÀͽºÅÙÆ®¸¦ Ãß°¡Çϱâ À§ÇÏ¿© ¿©·¯ ¼øȯÀû(recursive) SQL¹®À» ½ÇÇàÇϱ⠶§¹®ÀÔ´Ï´Ù.
µ¿ÀûÀÎ È®ÀåÀ» ÇÇÇϱâ À§ÇÏ¿© ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù:
°ø°£À» ½±°Ô °ü¸®Çϱâ À§ÇÏ¿©, DBA´Â ÀûÀýÇÑ Å©±âÀÇ ¼¼±×¸ÕÆ®¿Í ÀͽºÅÙÆ®·Î °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, ÀÛÀº ÀͽºÅÙÆ® º¸´Ù´Â Å« ÀͽºÅÙÆ®°¡ ¼±È£µË´Ï´Ù.
Å©±â°¡ Å« ÀͽºÅÙÆ®ÀÇ ÀåÁ¡
Å©±â°¡ Å« ÀͽºÅÙÆ®ÀÇ ´ÜÁ¡
Å« ÀͽºÅÙÆ®¸¦ Àû°Ô ÇÒ´çÇÒ °ÍÀΰ¡ ¾Æ´Ï¸é ÀÛÀº ÀͽºÅÙÆ®¸¦ ¸¹ÀÌ ÇÒ´çÇÒ °ÍÀΰ¡¸¦ °áÁ¤ÇÒ ¶§¿¡´Â, Å×À̺íÀÇ Áõ°¡¿Í »ç¿ë¿¡ ´ëÇÑ °èȹ¿¡ ¸ÂÃß¾î °¢°¢ÀÇ ÀÌÁ¡°ú °áÇÔÀ» °í·ÁÇØ¾ß ÇÕ´Ï´Ù.
µ¥ÀÌÅͺ£À̽º Æ©´× ¸ñÇ¥ ÁßÀÇ Çϳª´Â ¾×¼¼½ºµÇ´Â ºí·ÏÀÇ ¼ö¸¦ ÃÖ¼ÒÈÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ¸ñÇ¥¸¦ ´Þ¼ºÇϱâ À§ÇÏ¿©, °³¹ßÀÚ´Â ¾ÖÇø®ÄÉÀ̼ǰú SQL ¹®À» Æ©´×ÇÏ°í, DBA´Â ´ÙÀ½À» ÅëÇØ ºí·Ï ¾×¼¼½º¸¦ °¨¼Ò½Ãŵ´Ï´Ù:
ºÒÇàÇÏ°Ôµµ, DBA¿¡°Ô ¸¶Áö¸· 2°³ÀÇ ¸ñÇ¥´Â ¼·Î »óÃæµË´Ï´Ù. Áï, ¸¹Àº µ¥ÀÌÅ͸¦ ºí·ÏÀ¸·Î ¾ÐÃà½ÃÅ°¸é, Çà ÀÌÀüÀÌ Áõ°¡Çϱ⠶§¹®ÀÔ´Ï´Ù
ºí·Ï Å©±âÀÇ Æ¯¼ºÀº ´ÙÀ½°ú °°½À´Ï´Ù:
¼±ÅÃµÈ ºí·Ï Å©±â´Â ¼º´É¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù. ÀϹÝÀûÀÎ GuidelineÀº ´ÙÀ½°ú °°½À´Ï´Ù:
ÀÛÀº ¿À¶óŬ ºí·Ï
ÀåÁ¡
´ÜÁ¡
Å« ¿À¶óŬ ºí·Ï
ÀåÁ¡
´ÜÁ¡
µ¥ÀÌÅͺ£À̽º ºí·ÏÀÇ Å©±â¸¦ ÀçÁ¶Á¤Çϴµ¥ Ãß°¡ ¸Þ¸ð¸®°¡ ¾øÀ» °æ¿ì, DB_BLOCK_BUFFERS¸¦
Àç¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ij½¬ ÀûÁßÀ²¿¡ ¿µÇâÀ» ¹ÌÄ¥ °ÍÀÔ´Ï´Ù.
±â¼úÀû ÁÖÀÇ»çÇ×
PCTFREE ÆĶó¹ÌÅÍ DELETE ¶Ç´Â UPDATE ¹®À» ½ÇÇà½ÃÅ°¸é, ¿À¶óŬÀº ¹®ÀåÀ» ó¸®ÇÏ°í, »ç¿ëµÇ°í ÀÖ´Â
ºí·Ï °ø°£ÀÌ ÇöÀç PCTUSED º¸´Ù ÀÛÀº°¡¸¦ °Ë»çÇÕ´Ï´Ù. ÀÛÀ» °æ¿ì, ºí·ÏÀº free listÀÇ Ã³À½ ºÎºÐÀ¸·Î µî·ÏµË´Ï´Ù.
Æ®·£Àè¼ÇÀÌ Ä¿¹ÔµÉ ¶§, ºí·ÏÀÇ ¿©À¯ °ø°£Àº ´Ù¸¥ Æ®·£Àè¼Ç¿¡ ÀÌ¿ëµÉ ¼ö ÀÖ½À´Ï´Ù(3). DML°ú PCTFREE ¹× PCTUSED
µ¥ÀÌÅÍ ºí·ÏÀÇ ¿©À¯ °ø°£À» ¿¬¼ÓÀ¸·Î ¾ÐÃàÇÏ´Â °ÍÀ¸·Î ÀÎÇØ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀÇ ¼º´ÉÀÌ °¨¼ÒÇϱ⠶§¹®¿¡, ¿À¶óŬÀº À§¿Í °°Àº °æ¿ì¿¡¸¸ ÀÌ·¯ÇÑ ¾ÐÃàÀ» ¼öÇàÇÕ´Ï´Ù. |
Guidelines
´ÙÀ½°ú °°Àº µÎ °¡Áö »óȲ¿¡¼´Â, Å×À̺í ÇàÀÇ µ¥ÀÌÅÍ°¡ ³Ê¹« Å©±â ¶§¹®¿¡ ´ÜÀÏ µ¥ÀÌÅÍ ºí·Ï¿¡ ´Ù µé¾î°¡Áö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
ÀÌÀü ¹× ¿¬¼âÈ´Â ´ÙÀ½°ú °°ÀÌ ¼º´É¿¡ ºÎÁ¤ÀûÀÎ ¿µÇâÀ» ¹ÌĨ´Ï´Ù:
ÀÌÀü Çö»óÀº PCTFREE°¡ ³Ê¹« ³·°Ô ¼³Á¤ µÇ¾úÀ» ¶§ ¹ß»ýÇÕ´Ï´Ù. °»½Å ÀÛ¾÷À» ¼öÇàÇϴµ¥ ÃæºÐÇÑ ¿©À¯ ¸Þ¸ð¸®°¡ ¾ø±â ¶§¹®ÀÔ´Ï´Ù. ÀÌÀü Çö»óÀ» ÇÇÇϱâ À§Çؼ´Â, °»½ÅµÇ´Â ¸ðµç Å×À̺íÀº ºí·Ï °ø°£ÀÌ °»½Å ÀÛ¾÷¿¡ ÃæºÐÇϵµ·Ï PCTFREE¸¦ ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
ANALYZE ¡¦COMPUTE STATISTICS
ANALYZE ¹®ÀÇ COMPUTE
STATISTICS optionÀ» »ç¿ëÇϸé Å×À̺íÀ̳ª Ŭ·¯½ºÅÍ ³»¿¡ ÀÌÀü ¹× ¿¬¼âÈ µÈ ÇàÀÌ Á¸ÀçÇÏ´ÂÁö ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸í·É¾î´Â
ÀÌÀü ¹× ¿¬¼âÈ µÈ ÇàÀÇ ¼ö¸¦ ¼¼¾î DBA_TABLESÀÇ CHAIN_CNT¿¿¡ ±â·ÏÇÕ´Ï´Ù.
NUM_ROWS¿Àº ºÐ¼®µÈ Å×ÀÌºí ¶Ç´Â
Ŭ·¯½ºÅÍ¿¡ ÀúÀåµÈ ÃÑ Çà¼ö¸¦ °¡Áý´Ï´Ù.ÀÌÀüµÈ ÇàÀ» Á¦°ÅÇØ¾ß ÇÒ Áö¸¦ °áÁ¤Çϱâ À§Çؼ Àüü Çà ¼ö¿¡ ´ëÇÑ ÀÌÀü ¹× ¿¬¼âÈ
µÈ ÇàÀÇ ºñÀ²À»
°è»êÇϽʽÿÀ.
Table Fetch Continued Row Statistic
¶ÇÇÑ V$SYSSTATÀ̳ª
report.txtÀÇ Table Fetch Continued Row Åë°èÁ¤º¸¸¦ È®ÀÎÇÏ¿© ÀÌÀü ¹× ¿¬°á µÈ ÇàÀÌ ÀÖ´ÂÁö¸¦ ¾Ë ¼ö
ÀÖ½À´Ï´Ù.
Guidelines
PCTFREE¸¦ Áõ°¡½ÃÄÑ, ÀÌÀüµÇ´Â ÇàÀ» ÇÇÇϽʽÿÀ. ºí·Ï¿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ´õ ¸¹Àº ¿©À¯ °ø°£ÀÌ ÀÖ´Ù¸é, ÇàÀº Áõ°¡Çϴµ¥
ÇÊ¿äÇÑ °ø°£À» °®°Ô µÉ °ÍÀÔ´Ï´Ù. ¶ÇÇÑ ¸¹Àº »èÁ¦°¡ ÀÖ´Â Å×À̺íÀ̳ª À妽º¸¦ À籸¼º(Àç»ý¼º) ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ANALYZE ... LIST CHAINED
ROW
LIST CHAINED ROWS ¿É¼Ç°ú ÇÔ²² ANALYZE ¸í·ÉÀ» »ç¿ëÇÏ¿©, Å×ÀÌºí ¶Ç´Â Å¬·¯½ºÅÍ¿¡¼
ÀÌÀüµÇ¾ú°Å³ª ¿¬°áµÈ ÇàÀ» ½Äº°ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸í·ÉÀº ÀÌÀüµÇ¾ú°Å³ª ¿¬°áµÈ °¢ Çà¿¡ ´ëÇÑ Á¤º¸¸¦ ¼öÁýÇÏ¿© ƯÁ¤ Ãâ·Â Å×ÀÌºí¿¡ ³õ½À´Ï´Ù. ¿¬°áµÈ
ÇàÀ» Æ÷ÇÔÇÏ´Â Å×À̺íÀ» »ý¼ºÇϱâ À§Çؼ´Â, UTLCHAIN.SQL ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÅ°½Ê½Ã¿À.
create table
CHAINED_ROWS(
owner_name varchar2(30),
table_name
varchar2(30),
cluster_name
varchar2(30),
partition_name
varchar2(30),
head_rowid
rowid,
analyze_timestamp date);
ÀÌ Å×À̺íÀ» ¼öµ¿À¸·Î »ý¼ºÇÒ °æ¿ì, Å×À̺íÀÇ ¿ À̸§, µ¥ÀÌÅÍ À¯Çü, Å©±â´Â CHAINED_ROWS Å×À̺íÀÇ
°Í°ú °°¾Æ¾ß ÇÕ´Ï´Ù.
´ÙÀ½ÀÇ SQL*Plus ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© ÀÌÀüµÈ ÇàÀ» »èÁ¦ÇÒ ¼ö
ÀÖ½À´Ï´Ù:
/*
Get the name of the table with migrated rows */
accept
table_name prompt ¡®Enter the name of the table with migrated
rows:¡¯
/* Clean up from last execution
*/
set echo off
drop table
migrated_rows;
drop table chained_rows;
/* Create the CHAINED_ROWS
table */
@?/rdbms/admin/utlchain
set
echo on
spool fix_mig
/* List the
chained & migrated rows */
analyze table
&table_name list chained rows;
/* Copy the
chained/migrated rows to another table */
create table
migrated_rows as
select
orig.*
from
&table_name orig, chained_rows
cr
where
orig.rowid =
cr.head_rowid;
and cr.table_name = upper
(¡®&table_name¡¯);
/* Delete the
chained/migrated rows from the orignial table */
delete
from &table_name
where rowid in
( select head_rowid from chained_rows);
/* Copy the
chained/migrated rows back into the original table
*/
insert into &table_name select * from
migrated_rows;
spool off
ÀÌ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÒ ¶§¿¡´Â, ÇàÀÌ »èÁ¦ ½Ã À§¹ÝÇÏ°Ô µÉ ¿ÜºÎÅ°(foreign key) Á¦¾àÁ¶°ÇÀ» Ãâ·ÂÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
ÃÖ°í ¼öÀ§ Ç¥½Ã À§ÀÇ °ø°£Àº ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© Å×ÀÌºí ·¹º§¿¡¼ ÀÌ¿ëÇÒ ¼ö
ÀÖ½À´Ï´Ù:
ALTER
TABLE <table_name> DEALLOCATE UNUSED¡¦
Àüü Å×ÀÌºí ½ºÄµ ½Ã, ¿À¶óŬÀº ÃÖ°í ¼öÀ§ Ç¥½Ã ¾Æ·¡ÀÇ ¸ðµç ºí·ÏÀ» ÀнÀ´Ï´Ù. ÃÖ°í ¼öÀ§ Ç¥½Ã À§ÀÇ ºó ºí·ÏÀº °ø°£À» ³¶ºñÇÒ
¼ö´Â ÀÖÁö¸¸, ¼º´ÉÀ» ÀúÇϽÃÅ°Áö´Â ¾Ê½À´Ï´Ù. ±×·¯³ª, ÃÖ°í ¼öÀ§ Ç¥½Ã ¾Æ·¡ÀÇ »ç¿ëµÈ ºí·Ï ÀÌÇÏ´Â ¼º´ÉÀ» ÀúÇϽÃų °ÍÀÔ´Ï´Ù.
Åë°è¸¦ ¼öÁýÇÏ°í µ¥ÀÌÅÍ µñ¼Å³Ê¸® ÀúÀåÀå¼Ò¿¡ ÀúÀåÇϱâ À§ÇÏ¿©, Å×À̺í, À妽º, Ŭ·¯½ºÅÍÀÇ ÀúÀåÀå¼Ò Ư¼ºÀ» ºÐ¼®ÇÒ ¼ö
ÀÖ½À´Ï´Ù. À̵é Åë°è¸¦ »ç¿ëÇÏ¿© Å×À̺íÀ̳ª À妽º°¡ »ç¿ëµÇÁö ¾ÊÀº °ø°£À» °®°í ÀÖ´ÂÁöÀÇ ¿©ºÎ¸¦ °áÁ¤ÇÒ ¼ö
ÀÖ½À´Ï´Ù.
DBA_TABLES ºä¸¦ ÁúÀÇÇÏ¿© °á°ú Åë°è ÀڷḦ º¸½Ê½Ã¿À.
¿ |
¼³¸í |
NUM_ROWS |
Å×À̺íÀÇ Çà ¼ö |
BLOCKS |
ÃÖ°í ¼öÀ§ Ç¥½Ã ¾Æ·¡ÀÇ ºí·Ï ¼ö |
EMPTY_BLOCKS |
ÃÖ°í ¼öÀ§ Ç¥½Ã À§ÀÇ ºí·Ï ¼ö |
AVG_SPACE |
ÃÖ°í ¼öÀ§ Ç¥½Ã ¾Æ·¡ ºí·ÏÀÇ Æò±Õ ¿©À¯°ø°£ |
AVG_ROW_LEN |
Çà ¿À¹öÇìµå¸¦ Æ÷ÇÔÇÑ, Æò±Õ Çà ±æÀÌ |
CHAIN_CNT |
Å×À̺íÀÇ ÀÌÀüµÈ ¶Ç´Â ¿¬°áµÈ Çà ¼ö |
EMPTY_BLOCKS´Â ÀÌÀü¿¡´Â ¿ÏÀü »ç¿ëµÇ¾úÁö¸¸ ÇöÀç´Â ºñ¿öÀÖ´Â ºí·ÏÀ» ³ªÅ¸³»´Â °ÍÀÌ ¾Æ´Ï¶ó, ¾ÆÁ÷ »ç¿ëµÇÁö ¾ÊÀº ºí·ÏÀ» ³ªÅ¸³À´Ï´Ù.
±â¼úÀû ÁÖÀÇ»çÇ×
¿À¶óŬÀº SAMPLE ÀýÀÌ »ý·«µÉ °æ¿ì¿¡´Â 1064 ÇàÀ» »ùÇ÷ΠÇÏ°í, µ¥ÀÌÅÍÀÇ ¹Ý ÀÌ»óÀÌ SAMPLE ¼öÄ¡¿¡ ÀÇÇØ
ÁöÁ¤µÇ¾úÀ» °æ¿ì¿¡´Â ESTIMATE°¡ ¾Æ´Ï¶ó COMPUTE¸¦ »ç¿ëÇÕ´Ï´Ù.
¶ÇÇÑ Áö¿øµÇ´Â À§ÀÇ ÆÐÅ°Áö¸¦ »ç¿ëÇÏ¿© ¼¼±×¸ÕÆ®ÀÇ °ø°£ »ç¿ë¿¡ °üÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÆÐÅ°Áö¿¡´Â 2°³ÀÇ ÇÁ·Î½ÃÀú°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù:
À̵é ÇÁ·Î½ÃÀú´Â catproc.sql¿¡ ÀÇÇØ ½ÇÇàµÇ´Â dbmsutil.sql ½ºÅ©¸³Æ®¿¡ ÀÇÇØ »ý¼ºµÇ¾î
¹®¼ÈµË´Ï´Ù. ÀÌ ÆÐÅ°Áö¸¦ ½ÇÇà½Ãų ¶§, FREE_LIST_GROUP_ID °ªÀ» Á¦°øÇØ¾ß ÇÕ´Ï´Ù. Oracle Parallel Server¸¦
»ç¿ëÇÏÁö ¾ÊÀ» °æ¿ì, 1À» »ç¿ëÇϽʽÿÀ.
ÀÌ ½ºÅ©¸³Æ®´Â »ç¿ëÀÚ¿¡°Ô Å×ÀÌºí ¼ÒÀ¯ÀÚ¿Í Å×À̺í¸í¿¡ °üÇÑ Á¤º¸¸¦ Á¦°øÇÏ°í,
DBMS_SPACE.UNUSED_SPACE¸¦ ½ÇÇà½ÃÅ°¸ç, °ø°£ °ü·Ã Åë°è¸¦ Ãâ·ÂÇÕ´Ï´Ù.
Declare
owner
varchar2(30);
name
varchar2(30)
seq_type
varchar2(30)
tblock
number;
uBlock
number;
ubyte
number;
lue_fid
number;
lue_bid
number;
lublock
number;
BEGIN
dbms_space.unused_space
(¡®&owner¡¯, ¡®&table_name¡¯,
¡®TABLE¡¯,
tblock, tbyte,
ublock, ubyte, lue_fid, lue_bid,
lublock);
dbms_output.put_line (¡®Total blocks allocated to
table = ¡®
||
to_char(tblock));
dbms_output.put_line (¡®Total blocks
allocated to table =
¡®
||
to_char(tbyte));
dbms_output.put_line (¡®Unused blocks(above
HWM) =
¡®
||
to_char(ublock));
dbms_output.put_line (¡®Unused
blocks(above HWM) =
¡®
||
to_char(ubyte));
dbms_output.put_line (¡®Last extent used
file id =
¡®
||
to_char(lue_fid));
dbms_output.put_line (¡®Last extent used
beginning block id =
¡®
||
to_char(lue_bid));
dbms_output.put_line (¡®Last extent block
in last extent =
¡®
||
to_char(lublock));
END;
Èֹ߼º Å×ÀÌºí¿¡ ´ëÇÑ À妽º ¶ÇÇÑ ¼º´É ¹®Á¦¸¦ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.
µ¥ÀÌÅÍ
ºí·Ï¿¡¼, ¿À¶óŬÀº »èÁ¦µÈ ÇàÀ» »ðÀÔµÈ ÇàÀ¸·Î ±³Ã¼ÇÕ´Ï´Ù. ±×·¯³ª, À妽º ºí·Ï¿¡¼´Â, ¿£Æ®¸®µéÀ» ¼ø¼´ë·Î Á¤¿ÇÕ´Ï´Ù. °ªÀº µ¿ÀÏÇÑ ¹üÀ§ÀÇ ´Ù¸¥
°ªµé°ú ÇÔ²² Àû´çÇÑ ºí·ÏÀ¸·Î °©´Ï´Ù.
¸¹Àº ¾ÖÇø®ÄÉÀ̼ÇÀº ¿À¸§Â÷¼ø À妽º ¼ø¼·Î »ðÀÔÇÏ°í ÀÌÀü °ªÀ» »èÁ¦ÇÕ´Ï´Ù. ±×·¯³ª, ºí·ÏÀÌ
ÇÑ ¿£Æ®¸®¸¸À» Æ÷ÇÔÇÏ´õ¶óµµ, ÀÌ ºí·ÏÀº À¯ÁöµÇ¾î¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡, À妽º¸¦ ±ÔÄ¢ÀûÀ¸·Î À籸ÃàÇØ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖÀ»
°ÍÀÔ´Ï´Ù.
À妽º ºí·ÏÀÇ ¸ðµç ¿£Æ®¸®¸¦ »èÁ¦ÇÒ °æ¿ì, ¿À¶óŬÀº ÀÌ ºí·ÏÀ» free list¿¡ ´Ù½Ã ³õ½À´Ï´Ù.
´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© À妽º¿¡ ÀÇÇØ »ç¿ëµÇ´Â °ø°£À» °¨½ÃÇÒ ¼ö
ÀÖ½À´Ï´Ù.
SQL> ANALYZE
INDEX index_name VALIDATE STRUCTURE;
±×·± ´ÙÀ½
INDEX_STATS ºä¸¦ ÁúÀÇÇϽʽÿÀ:
¿ |
¼³¸í |
LF_ROWS |
ÇöÀç ÀÎÅؽº¿¡ ÀÖ´Â °ªÀÇ ¼ö |
LF_ROWS_LEN |
¸ðµç °ªÀÇ ±æÀÌÀÇ ¹ÙÀÌÆ® ÇÕ |
DEL_LF_ROWS |
À妽º¿¡¼ »èÁ¦µÈ °ªÀÇ ¼ö |
DEL_LF_ROWS_LEN |
¸ðµç »èÁ¦µÈ °ªÀÇ ±æÀÌ |
ÁÖÀÇ:
INDEX_STATS ºä´Â °¡Àå ¸¶Áö¸·¿¡ ºÐ¼®µÈ À妽º¸¦ º¸¿©ÁÝ´Ï´Ù. ¸¸ÀÎ µ¿ÀÏ »ç¿ëÀÚ·Î ´Ù¸¥ ¼¼¼ÇÀ¸·Î Á¢¼ÓÇÏ¿´´Ù¸é ºä´Â ±× ºä¸¦ ÁúÀÇÇÏ´Â
¼¼¼Ç¿¡¼ ºÐ¼®µÈ À妽º¸¦ º¸¿© ÁÝ´Ï´Ù.
À妽º À籸¼º(REBUILD)
¾ÖÇø®ÄÉÀ̼ǰú ¿ì¼±¼øÀ§¿¡ µû¶ó ´Ù¸£°ÚÁö¸¸, »èÁ¦µÈ ¿£Æ®¸®°¡ ÇöÀç ¿£Æ®¸®ÀÇ 20% ¶Ç´Â ±× ÀÌ»óÀ» ³ªÅ¸³¾ °æ¿ì À籸ÃàÇÒ
°ÍÀ» °áÁ¤ÇÒ °ÍÀÔ´Ï´Ù. À§ÀÇ ÁúÀǸ¦ »ç¿ëÇÏ¿© ºñÀ²À» ãÀ» ¼ö ÀÖ½À´Ï´Ù. ALTER INDEX REBUILD ¹®À» »ç¿ëÇÏ¿©, ±âÁ¸ À妽º¸¦
À籸¼ºÇϰųª ¾ÐÃàÇϵçÁö, ¶Ç´Â ÀúÀåÀå¼Ò Ư¼ºÀ» º¯°æÇϽʽÿÀ. REBUILD ¹®Àº ±âÁ¸ À妽º¸¦ »ç¿ëÇÏ¿© »õ·Î¿î À妽º¸¦ ±¸ÃàÇÕ´Ï´Ù.
STORAGE(ÀͽºÅÙÆ® ÇÒ´ç¿¡ ´ëÇØ), TABLESPACE(À妽º¸¦ »õ·Î¿î Å×ÀÌºí½ºÆäÀ̽º·Î À̵¿½ÃÅ°±â À§ÇØ), INITRANS(Ãʱ⠿£Æ®¸®ÀÇ
¼ö¸¦ º¯°æÇϱâ À§ÇØ)¿Í °°Àº ¸ðµç À妽º ÀúÀåÀå¼Ò ¸í·É¾î°¡ Áö¿øµË´Ï´Ù.¶ÇÇÑ, À妽º¸¦ ±¸ÃàÇÒ ¶§, ´ÙÀ½ Å°¿öµå¸¦ »ç¿ëÇÏ¿© À籸ÃàÇϴµ¥ ¼Ò¿äµÇ´Â
½Ã°£À» °¨¼Ò½Ãų ¼ö ÀÖ½À´Ï´Ù:
UNRECOVERATBLE°ú NOLOGGINGÀº µ¿ÀÏÇÏÁö ¾Ê½À´Ï´Ù.
ÁÖÀÇ: Oracle8ÀÇ Ãʱâ¹öÀü¿¡¼´Â UNRECOVERABLE ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö
ÀÖ¾úÁö¸¸, ±×°ÍÀº NOLOGGING ¿É¼ÇÀ¸·Î ´ëüµÇ¾ú½À´Ï´Ù.
UNRECOVERABLE Àýó·³ »ç¿ëÇϱâ À§ÇÏ¿©,
NOLOGGING ¿É¼ÇÀ¸·Î °´Ã¼¸¦ »ý¼ºÇÑ ÈÄ ALTER ¸í·ÉÀ¸·Î LOGGINGÀ¸·Î º¯°æÇϽʽÿÀ. RECOVERABLE Àýó·³ »ç¿ëÇϱâ À§ÇÏ¿©,
LOGGING ¿É¼ÇÀ¸·Î °´Ã¼¸¦ »ý¼ºÇϽʽÿÀ.
ALTER INDEX REBUILD´Â ÀϹÝÀûÀ¸·Î ºü¸¥ Àüü ½ºÄµ ±â´ÉÀ» ÀÌ¿ëÇϱ⠶§¹®¿¡ À妽º¸¦ ÇØÁ¦ÇÏ°í Àç»ý¼ºÇÏ´Â °Íº¸´Ù ÈξÀ ´õ ºü¸¨´Ï´Ù. µû¶ó¼, ALTER INDEX REBUILD´Â º¹¼ö ºí·Ï I/O¸¦ »ç¿ëÇÏ¿© ¸ðµç À妽º ºí·ÏÀ» ÀÐÀº ´ÙÀ½ ºÐ±â ºí·ÏÀº »èÁ¦ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Á¢±Ù¹ýÀÇ ´õ ³ªÀº ÀåÁ¡Àº À籸Ãà ÀÛ¾÷ÀÌ ÁøÇà µÇ´Â µ¿¾È¿¡µµ ÀÌÀüÀÇ À妽º¸¦ ÁúÀÇ(DML¿¡ ´ëÇؼ´Â ¾ÈµÊ)¿¡ ¿©ÀüÈ÷ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
±â¼úÀû ÁÖÀÇ»çÇ×
ANALYZE ¸í·ÉÀÇ º¯ÇüÀ¸·Î À妽º°¡ ¼Õ»óµÉ °æ¿ì, À妽º¸¦
À籸ÃàÇØ¾ß ÇÕ´Ï´Ù.
¹®¸Æ |
ÂüÁ¶ |
ÃʱâÈ ÆĶó¸ÞÅÍ |
None |
µ¿ÀûÀÎ ¼º´É ºä |
V$SYSSTAT |
µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä |
USER_, ALL_, DBA_CLUSTERS |
¸í·É¾î |
ALTER/CREATE
INDEX/TABLE/CLUSTER |
ÆÐÅ°ÁöµÈ ÇÁ·Î½ÃÀú ¹× ÇÔ¼ö |
DBMS_SPACE |
½ºÅ©¸³Æ® |
dbmsutil.sql, utlchain.sql |
Áø´ÜÆÑ ¾ÖÇø®ÄÉÀÌ¼Ç |
Performance Manager |