°³¿ä
¿À¶óŬ ȯ°æ¿¡¼, ¸Þ¸ð¸® ±¸Á¶´Â ÇÁ·Î¼¼½º°¡ ÀÌµé ±¸Á¶¿¡ ¾×¼¼½ºÇÏ°í ÀÖ´Â
ªÀº ±â°£µ¿¾È ÀÏ°üµÈ »óÅ·ΠÀ¯ÁöµË´Ï´Ù. ÀÌ°ÍÀº ±¸Á¶°¡ ¾×¼¼½ºµÇ°í ÀÖ´Â µ¿¾È º¯°æµÇÁö ¾Êµµ·Ï º¸ÀåÇϴµ¥ ²À ÇÊ¿äÇÕ´Ï´Ù.
·¡Ä¡´Â À̵é
±¸Á¶°¡ º¯°æµÇÁö ¾Êµµ·Ï º¸ÀåÇϴµ¥ ÀÌ¿ëµË´Ï´Ù. ¿©·¯ ÇÁ·Î¼¼½º°¡ ÀÌµé ·¡Ä¡¸¦ ¾òÀ¸·Á°í ½ÃµµÇÒ ¶§, °æÇÕÀÌ ¹ß»ýÇÕ´Ï´Ù.
·¡Ä¡¿¡ ´ëÇÑ
°æÇÕÀ» Æ©´×ÇÏ´Â ¸ñÇ¥´Â ·¡Ä¡°¡ ¿ä±¸µÉ ¶§ ÇÁ·Î¼¼½º°£ÀÇ °æÇÕÀ» ÃÖ¼ÒÈÇÏ´Â °ÍÀÔ´Ï´Ù.
°æÇÕ ¿µ¿ªÀÇ Æ©´× ·¡Ä¡¿Í Free List´Â
DBA°¡ Æ©´×ÇÒ ¼ö ÀÖ´Â °æÇÕ ¿µ¿ªÀÔ´Ï´Ù. ±×·¯³ª, DBA°¡ Á÷Á¢ Á¦¾îÇÒ ¼ö ÀÖ´Â ·¡Ä¡´Â ¸Å¿ì Àû½À´Ï´Ù. Æ©´×À»
À§ÇØ DBA°¡ Á÷Á¢ Á¦¾îÇÒ ¼ö ÀÖ´Â 4°³ÀÇ ÁÖ¿ä ¿µ¿ªÀº ´ÙÀ½°ú °°½À´Ï´Ù:
- ¸®µÎ Ä«ÇÇ( Redo Copy) ·¡Ä¡
- ¸®µÎ ÇÒ´ç (Redo Allocation) ·¡Ä¡
- LRU ·¡Ä¡
- Free List
ÁÖÀÇ: ÀϹÝÀûÀ¸·Î, ·¡Ä¡¸¦ Æ©´×Çϱâ Àü¿¡ ¹öÆÛ
Å©±â¿Í ÆÄÀÏ I/O¸¦ ÀÌ¹Ì ¾ð±ÞÇß¾î¾ß ÇÕ´Ï´Ù.·¡Ä¡ Æ©´×À¸·Î ¾ò´Â ¼º´É ÀÌÁ¡Àº ¸Þ¸ð¸® ±¸Á¶ÀÇ Å©±â¸¦ ÀûÀýÇÏ°Ô Á¶Á¤Çϰųª ÆÄÀÏ I/O¸¦
Á¶ÀýÇÏ´Â °Íº¸´Ù ÀûÀ» °ÍÀ̱⠶§¹®ÀÔ´Ï´Ù. |
·¡Ä¡(Latches) ¿À¶óŬ ȯ°æ¿¡¼´Â ¿©·¯ ´Ù¸¥ À¯ÇüÀÇ ·¡Ä¡°¡ Á¸ÀçÇÕ´Ï´Ù. °¢ ·¡Ä¡
¹üÁÖ(WILLING-TO-WAIT¿Í IMMEDIATE)¿¡ ´ëÇÑ Åë°è´Â V$LATCH ºäÀÇ ¿©·¯ ´Ù¸¥ ¿¿¡¼ ãÀ» ¼ö
ÀÖ½À´Ï´Ù.
- WILLING-TO-WAIT(ÀÚÁø ´ë±â): ÀÚÁø ´ë±â(willing-to-wait)
¿äûÀ¸·Î ¿äûµÈ ·¡Ä¡¸¦ ÀÌ¿ëÇÒ ¼ö ¾øÀ» °æ¿ì, ¿äû ÇÁ·Î¼¼½º´Â Àá±ñ µ¿¾È ±â´Ù¸®´Ù°¡ ·¡Ä¡¸¦ ´Ù½Ã ¿äûÇÕ´Ï´Ù.
ÇÁ·Î¼¼½º´Â·¡Ä¡¸¦
ÀÌ¿ëÇÒ ¼ö ÀÖÀ» ¶§±îÁö °è¼ÓÇÏ¿© ±â´Ù¸®¸ç ¿äûÇÕ´Ï´Ù.
- GETS: ·¡Ä¡¿¡ ´ëÇÑ ¼º°øÀûÀÎ ÀÚÁø
´ë±â ¿äûÀÇ ¼ö¸¦ ³ªÅ¸³À´Ï´Ù - MISSES: Ãʱâ ÀÚÁø ´ë±â ¿äûÀÌ ¼º°øÇÏÁö ¸øÇÑ È½¼ö¸¦ ³ªÅ¸³À´Ï´Ù -
SLEEPS: Ãʱâ ÀÚÁø ´ë±â ¿äû ÈÄ¿¡ ÇÁ·Î¼¼½º°¡ ·¡Ä¡¸¦ ±â´Ù¸®°í ¿äûÇÑ È½¼ö¸¦ ³ªÅ¸³À´Ï´Ù
- IMMEDIATE(Áï½Ã ó¸®): Áï½Ã ¿äûÀ¸·Î ¿äûµÈ ·¡Ä¡¸¦ ÀÌ¿ëÇÒ ¼ö ¾øÀ»
°æ¿ì, ¿äû ÇÁ·Î¼¼½º´Â ±â´Ù¸®Áö ¾Ê°í, °è¼ÓÇÏ¿© ó¸®ÇÕ´Ï´Ù.
- IMMEDIATE GETS: ÀÌ ¿Àº °¢
·¡Ä¡¿¡ ´ëÇØ ¼º°øÇÑ
Áï½Ã ¿äûÀÇ ¼ö¸¦ ³ªÅ¸³À´Ï´Ù - IMMEDIATE MISSES: ÀÌ ¿Àº °¢ ·¡Ä¡¿¡ ´ëÇØ ½ÇÆÐÇÑ Áï½Ã
¿äûÀÇ ¼ö¸¦ ³ªÅ¸³À´Ï´Ù |
´ÜÀÏ CPU ½Ã½ºÅÛÀÇ ¸®µÎ ·¡Ä¡ ÇÁ·Î¼¼½º
- ÇÁ·Î¼¼½º´Â ¸®µÎ ·Î±× ¹öÆÛ¿¡ ±â·ÏÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¶§, ·Î±× ¹öÆÛ¿¡ ±â·ÏÇϱâ À§ÇÑ °ø°£À» ¾ò±â
À§Çؼ ¸®µÎ ÇÒ´ç ·¡Ä¡(redo
allocation latch)
¸¦ ÀÔ¼öÇÕ´Ï´Ù.
¸¸ÀÏ ¸®µÎ ¿£Æ®¸®°¡ ±âÁØ Å©±â(threshold size) º¸´Ù ÀÛ´Ù¸é, ÇÁ·Î¼¼½º´Â ¸®µÎ ÇÒ´ç ·¡Ä¡ÇÏ¿¡¼ ±â·ÏÀ» ÇÕ´Ï´Ù.
¸®µÎ ÇÒ´ç ·¡Ä¡ÇÏ¿¡¼
±â·Ï ÇÒ ¸®µÎ ¿£Æ®¸®ÀÇ ÃÖ´ë Å©±â´ÂLOG_SMALL_ENRTY_MAX_SIZE ÃʱâÈ ÆĶó¹ÌÅÍ¿¡ ¸í½ÃµË´Ï´Ù. ±×·¯³ª ´ÜÀÏ
CPU ÄÄÇ»ÅÍ¿¡¼´Â, Å©±â¿¡ °ü°è¾øÀÌ ¸ðµç ¸®µÎ ¿£Æ®¸®´Â ¸®µÎ ÇÒ´ç ·¡Ä¡ ÇÏ¿¡¼
±â·ÏµË´Ï´Ù.
- ¸®µÎ ·Î±× ¹öÆÛ¿¡ °ø°£ÀÌ ÇÒ´çµÇ¸é, ¼¹ö ÇÁ·Î¼¼½º´Â ¸®µÎ ÇÒ´ç ·¡Ä¡ ÇÏ¿¡¼ ±â·Ï
ÇÕ´Ï´Ù.
- ±×·± ´ÙÀ½ ¸®µÎ ÇÒ´ç ·¡Ä¡¸¦ ÇØÁ¦ÇÕ´Ï´Ù.
´ÙÁß CPU ½Ã½ºÅÛÀÇ ¸®µÎ ·¡Ä¡ ÇÁ·Î¼¼½º
¸¸ÀÏ ¸®µÎ ¿£Æ®¸®ÀÇ Å©±â°¡ ¸®µÎ ÇÒ´ç ·¡Ä¡ ÇÏ¿¡¼ ±â·ÏÇϱ⿡ ³Ê¹« Å©´Ù¸é,
»ç¿ëÀÚ ÇÁ·Î¼¼½º´Â ¸®µÎ ¿£Æ®¸®¸¦ ¹öÆÛ¿¡ ±â·ÏÇϱâ Àü¿¡ ¹Ýµå½Ã ¸®µÎ Ä«ÇÇ ·¡Ä¡¸¦ ȹµæÇØ¾ß ÇÕ´Ï´Ù.
´ÙÁß CPU ÄÄÇ»Å͸¦ »ç¿ëÇÑ´Ù¸é, ¸®µÎ ·Î±× ¹öÆÛ´Â ¿©·¯ °³ÀÇ ¸®µÎ
Ä«ÇÇ ·¡Ä¡¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù.
ÀÌ´Â ¿©·¯ ÇÁ·Î¼¼½ºµéÀÌ ¸®µÎ ¿£Æ®¸®¸¦ ¸®µÎ ·Î±× ¹öÆÛ¿¡ µ¿½Ã¿¡ ±â·ÏÇÒ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù. ¸®µÎ Ä«ÇÇ ·¡Ä¡ÀÇ °³¼ö´Â
LOG_SIMULTANEOUS_COPIES ÆĶó¹ÌÅÍ¿¡ ÀÇÇØ °áÁ¤µË´Ï´Ù: µðÆúÆ® °ªÀº ¿À¶óŬ ÀνºÅϽº¿¡ ´ëÇØ °¡¿ëÇÑ CPUÀÇ
°³¼öÀÔ´Ï´Ù.
±×·¯¹Ç·Î ÇÒ´ç ·¡Ä¡´Â ¸Å¿ì ªÀº ½Ã°£ µ¿¾È¸¸ ȹµæÇÏ°Ô µË´Ï´Ù.
Æ©´× ¸ñÇ¥
¸®µÎ ·¡Ä¡¿¡ ´ëÇÑ Æ©´× ¸ñÇ¥´Â ¼¹ö ÇÁ·Î¼¼½º °£ÀÇ °æÇÕÀ» ÃÖ¼ÒÈÇÒ ¼ö
ÀÖµµ·Ï ªÀº ½Ã°£µ¿¾È °¢ ·¡Ä¡¸¦
Á¡À¯ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀνºÅϽº ´ç ¿©·¯ ¸®µÎ ¸®µÎ Ä«ÇÇ ·¡Ä¡°¡ ÀÖÀ» ¼ö Àֱ⠶§¹®¿¡, ÀÌ·¯ÇÑ ¸ñÇ¥´Â ÀÌµé ·¡Ä¡¿¡ ´ëÇÑ °æÇÕÀ» ÃÖ¼ÒÈÇϴµ¥ µµ¿òÀÌ
µË´Ï´Ù.
ÁÖÀÇ : ´ëºÎºÐÀÇ Ç÷§Æû¿¡¼ ¿À¶óŬ8 ¼¹ö´Â ¸®µÎ Ä«ÇÇ ·¡Ä¡¸¦ °øÀ¯Çϵµ·Ï
Çã¿ëÇÕ´Ï´Ù.
µ¿ÀûÀÎ ¼º´É ºä
V$LATCH¿Í V$LATCHNAMEÀº ·¡Ä¡¿¡ °üÇÑ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ
Á¤º¸¿¡´Â °¢ ·¡Ä¡¿¡ ´ëÇÑ ÀûÁß
ÆÛ¼¾Æ®¸¦ µµÃâÇϴµ¥ »ç¿ëµÈ °ªÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
ÃʱâÈ ÆĶó¹ÌÅÍ
LOG_SMALL_ENTRY_MAX_SIZE ÆĶó¹ÌÅÍ´Â ¸®µÎ ¹öÆÛ Ä«ÇÇ ·¡Ä¡¸¦ ÀÔ¼öÇÏÁö ¾Ê°í ¸®µÎ ÇÒ´ç ·¡Ä¡ ÇÏ¿¡¼ ¹ß»ýÇÒ ¼ö ÀÖ´Â ·Î±× ¹öÆÛ¿¡
´ëÇÑ °¡Àå Å« Ä«ÇÇÀÇ Å©±â(¹ÙÀÌÆ®·Î)¸¦ °áÁ¤ÇÕ´Ï´Ù.
´ÜÀÏ CPU ÄÄÇ»ÅÍ´Â ¸ðµç ¸®µÎ ¿£Æ®¸®´Â Å©±â¿¡ °ü°è ¾øÀÌ ¸®µÎ ÇÒ´ç ·¡Ä¡ ÇÏ¿¡¼
±â·ÏµË´Ï´Ù.
LOG_SIMULTANEOUS_COPIES ÆĶó¹ÌÅÍ´Â ÀνºÅϽº¿¡ ´ëÇØ ÇÒ´çµÉ ¸®µÎ Ä«ÇÇ ·¡Ä¡ÀÇ ¼ö¸¦
°áÁ¤ÇÕ´Ï´Ù.
±âÁØ
·¡Ä¡ °æÇÕÀÌ ¹ß»ýÇÒ ½Ã°£ÀÇ ÆÛ¼¾Æ®´Â 1% ÀÌÇÏ°¡ ÀÌ»óÀûÀÔ´Ï´Ù.
·¡Ä¡ Åë°è ÁúÀÇ
´ÙÀ½ÀÇ ÁúÀǸ¦ »ç¿ëÇÏ¿© ·¡Ä¡ Åë°è Á¤º¸¸¦ µµÃâÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ÁúÀÇ´Â ¸®µÎ ÇÒ´ç ·¡Ä¡¿Í ¸®µÎ
Ä«ÇÇ ·¡Ä¡¿¡ ´ëÇØ
misses/gets¿Í immediate_misses/immediate_getsÀÇ ÆÛ¼¾Æ®¸¦ ¼±ÅÃÇÕ´Ï´Ù.
SELECT name, misses/gets
¡°MISSES/GETS¡±,
immediate_misses /
(immediate_gets +
immediate_misses)
¡°I_MISSSES/I_GETS¡±
FROM v$latch
WHERE
name IN (¡®redo allocation¡¯, ¡®redo copy¡¯)
ÁÖÀÇ:
- ·¡Ä¡ Åë°è¸¦ ÁúÀÇÇÒ ¶§, 0À¸·Î ³ª´©´Â ¿À·ù¸¦ ÇÇÇϱâ À§ÇÏ¿© SQL ¹®¿¡¼ DECODE ÇÔ¼ö¸¦
»ç¿ëÇÏ°íÀÚ ÇÒ °ÍÀÔ´Ï´Ù.
SELECT name,
misses/gets
¡°MISSES/GETS¡±,
immediate_misses /
decode((immediate_gets +
immediate_misses),
0,
1,
(immediate_gets
+
immediate_misses)
)
¡°I_MISSSES/I_GETS¡±
FROM v$latch
WHERE name IN
(¡®redo allocation¡¯, ¡®redo copy¡¯)
/
- OEM Áø´Ü ÆÑ ¾ÖÇø®ÄÉÀ̼Ç:
- Performance Manager ->
Latch -> ¸®µÎ ÇÒ´ç
ÀûÁß %
¸®µÎ Ä«ÇÇ ·¡Ä¡
ÇÒ´ç LOG_SIMULTANEOUS_COPIES ÆĶó¹ÌÅ͸¦
Áõ°¡½ÃÅ´À¸·Î½á, ÇÒ´çµÇ´Â ¸®µÎ Ä«ÇÇ ·¡Ä¡ÀÇ ¼ö¸¦ Áõ°¡½ÃÅ°½Ê½Ã¿À.
¸®µÎ Ä«ÇÇ ·¡Ä¡ÀÇ ÃÖ´ë ¼ö´Â 2 *
<CPU ¼ö> ÀÔ´Ï´Ù. ¸®µÎ Ä«ÇÇ ·¡Ä¡ÀÇ ¼ö¸¦ Áõ°¡½ÃÅ´À¸·Î½á, ÇÊ¿äÇÑ °æ¿ì ÇÁ·Î¼¼½º°¡ Ä«ÇÇ ·¡Ä¡¸¦ ÀÔ¼öÇϴµ¥ ´õ ÁÁÀº
±âȸ¸¦ °¡Áú ¼ö ÀÖµµ·Ï º¸ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸®µÎ ¿£Æ®¸®°¡ ¸®µÎ ÇÒ´ç ·¡Ä¡¿¡ º¹»çµÇ¸é, »ç¿ëÀÚ
ÇÁ·Î¼¼½º´Â º¹»ç ÈÄ ·¡Ä¡¸¦ ÇØÁ¦ÇÕ´Ï´Ù. ¸®µÎ ¿£Æ®¸®°¡ ÀÌ ÆĶó¹ÌÅÍ º¸´Ù ´õ Ŭ °æ¿ì, »ç¿ëÀÚ ÇÁ·Î¼¼½º´Â ¹öÆÛ¿¡
°ø°£À» ÇÒ´çÇÏ°í ¸®µÎ Ä«ÇÇ ·¡Ä¡¸¦ ÀÔ¼öÇÑ ÈÄ ·¡Ä¡¸¦ ÇØÁ¦ÇÕ´Ï´Ù.
|
LRU ·¡Ä¡ »ç¿ë
»õ·Î¿î ºí·ÏÀÌ ¹öÆÛ Ä³½¬·Î ÀÐÇôÁú ¶§ °ø°£Àº ¹öÆÛ Ä³½¬¿¡¼ ÀÌ¿ëµÉ ¼ö ÀÖ¾î¾ß
ÇÕ´Ï´Ù. »õ·Î¿î ºí·ÏÀ» À§ÇÑ ¿©À¯ °ø°£À» ¸¸µé±â À§ÇÏ¿© ¹öÆÛ Ä³½¬·ÎºÎÅÍ ºñ¿ö¾ß ÇÒ ºí·ÏÀ» °áÁ¤ÇÏ´Â °ÍÀº LRU ¸ñ·Ï¿¡ ÀÇÇØ Á¶ÀýµË´Ï´Ù. ÃÖ±Ù¿¡
»ç¿ëµÇÁö ¾ÊÀº ºí·ÏÀº ij½¬·ÎºÎÅÍ ºñ¿öÁö´Â Èĺ¸ ºí·ÏÀÌ µË´Ï´Ù.
Æ©´× ¸ñÇ¥
LRU ·¡Ä¡¿¡ ´ëÇÑ Æ©´× ¸ñÇ¥´Â ´Ù¸¥ ¸ðµç ·¡Ä¡¿¡ ´ëÇÑ ¸ñÇ¥¿Í
°°½À´Ï´Ù:
ƯÁ¤ ½Ã°£¿¡ CPU°¡ °ü¸®ÇÒ ¼ö ÀÖ´Â ÇÁ·Î¼¼½ºÀÇ ¼ö¿¡ ¿©ÀüÈ÷ Á¦ÇÑÀÌ Àֱ⠶§¹®¿¡, ´ÜÀÏ CPU
½Ã½ºÅÛ¿¡¼ LRU ·¡Ä¡¸¦ Ãß°¡ÇÏ´Â
°ÍÀº ÀÌÀÍÀÌ µÇÁö ¾Ê½À´Ï´Ù. µû¶ó¼, LRU ·¡Ä¡ÀÇ ¼ö´Â ÀÌ¿ëÇÒ ¼ö ÀÖ´Â CPUÀÇ ¼ö¿Í ±ÕÇüÀÌ ¸Â¾Æ¾ß ÇÕ´Ï´Ù.
µ¿ÀûÀÎ ¼º´É ºä V$LATCH¿Í V$LATCHNAMEÀº ·¡Ä¡¿¡ °üÇÑ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ Á¤º¸¿¡´Â LRU ·¡Ä¡¿¡ ´ëÇÑ ÀûÁß ÆÛ¼¾Æ®¸¦
µµÃâÇϴµ¥ »ç¿ëµÇ´Â °ªÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ·¡Ä¡ À̸§Àº 'cache buffers lru chain(ij½¬ ¹öÆÛ LRU
¿¬°á)¡¯ÀÔ´Ï´Ù.
ÃʱâÈ ÆĶó¹ÌÅÍ DB_BLOCK_LRU_LATCHES ÆĶó¹ÌÅÍ´Â ÀνºÅϽº ´ç ÇÒ´çµÇ´Â LRU ·¡Ä¡ÀÇ ¼ö¸¦ °áÁ¤ÇÕ´Ï´Ù.
ÀϹÝÀûÀ¸·Î, º¹¼ö ¹öÆÛ Ç®(À¯Áö, ÀçÈ°¿ë, µðÆúÆ®)À» »ç¿ëÇÏ°í ÀÖÁö ¾Ê´Ù¸é, CPU ¼öº¸´Ù ´õ ¸¹Àº LRU ·¡Ä¡¸¦ °®´õ¶óµµ ¼º´É¿¡ ÀÌÀÍÀÌ
µÇÁö ¾Ê½À´Ï´Ù.
·¡Ä¡ Åë°è ÁúÀÇ
LRU ·¡Ä¡ Åë°è¸¦ ÁúÀÇÇÒ ¶§,
ÇÁ·Î¼¼½º°¡ ·¡Ä¡¸¦
ÀÔ¼öÇÏ·Á°í ½ÃµµÇϴ Ƚ¼ö(gets)¸¦ ãÀº ´ÙÀ½, ¡®sleep(¼ö¸é»óÅÂ)¡¯À» ã°Å³ª ·¡Ä¡¸¦ ±â´Ù¸®´Â ´ë±â ¼ö¸¦
ã¾Æ¾ß ÇÕ´Ï´Ù. ÇÁ·Î¼¼½º°¡ ÇÊ¿äÇÒ ¶§ ·¡Ä¡¸¦ ÀÔ¼öÇÒ ¼ö ÀÖ¾î¾ß ÇÏ´Â °ÍÀÌ ÀÌ»óÀûÀÔ´Ï´Ù. ´ÙÀ½ ÁúÀǸ¦ »ç¿ëÇÏ¿© LRU ·¡Ä¡¿¡ ´ëÇÑ ÀÔ¼ö(get)
%¸¦ °áÁ¤ÇϽʽÿÀ:
SELECT name, sleeps/gets ¡°LRU
Miss%¡± FROM
v$latch WHERE name = ¡®cache buffers lru
chain¡¯;
ÁÖÀÇ: LRU ·¡Ä¡ ÀûÁßÀ» ³ªÅ¸³»´Â
Performance Manager ȸéÀº ¾ø½À´Ï´Ù. |
LRU ·¡Ä¡ Çѵµ
LRU ·¡Ä¡¿¡ ´ëÇÑ ÀûÁßÀ²ÀÌ 99% ¹Ì¸¸ÀÏ °æ¿ì, DB_BLOCK_LRU_LATCHES ÆĶó¹ÌÅ͸¦ ¼öÁ¤ÇÏ¿© ·¡Ä¡ÀÇ ¼ö¸¦ Áõ°¡½Ãų °ÍÀ» °í·ÁÇؾß
ÇÕ´Ï´Ù.
LRU ·¡Ä¡ÀÇ
¼ö¸¦ °áÁ¤Çϱâ À§ÇÑ µÎ °¡Áö ¹æ¹ý Áß, ù¹ø° ¹æ¹ýÀº 'CPU ¼ö * 6¡¯ Çϰųª ÃÑ ºí·Ï ¹öÆÛÀÇ ¼ö¸¦ ±¸Çؼ 50À¸·Î ³ªÁÖ´Â °ÍÀÔ´Ï´Ù. µÎ¹ø°
¹æ¹ýÀº 50À» »ç¿ëÇÏ´Â ÀÌÀ¯´Â ÀÌ°ÍÀÌ °¢ ·¡Ä¡¿¡ ÇÒ´çµÉ ¹öÆÛÀÇ ÃÖ¼Ò ¼öÀ̱⠶§¹®ÀÔ´Ï´Ù.
LRU ·¡Ä¡¸¦ ¼³Á¤ÇÒ ¶§ CPU ÀÌ¿ëµµ ¶ÇÇÑ
ÇϳªÀÇ Áß¿äÇÑ ¿ä¼Ò¶ó´Â »ç½ÇÀ» ¸í½ÉÇϽʽÿÀ.
Free List »ç¿ë °´Ã¼¿¡ »ðÀÔ ÀÛ¾÷ÀÌ ¹ß»ýÇÒ ¶§, »ðÀÔ¿¡ »ç¿ëµÉ ºí·ÏÀ» °áÁ¤Çϴµ¥ Free List°¡ »ç¿ëµË´Ï´Ù. ¸¹Àº »ðÀÔ ÀÛ¾÷ÀÌ
ÀϾ °æ¿ì, ¸¹Àº ¼¹ö
ÇÁ·Î¼¼½ºµéÀº µ¿ÀÏÇÑ Free List¸¦ »ç¿ëÇϱâ À§ÇØ °æÀïÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¸±â ¶§¹®¿¡, ¼¹ö ÇÁ·Î¼¼½º°¡ ´ë±â »óȲÀ»
¹ß»ý½Ãų ¶§ Free List °æÇÕÀÌ ÀϾ´Ï´Ù.
°´Ã¼¿¡ ´ëÇÑ Free ListÀÇ ¼ö´Â µ¿ÀûÀ¸·Î ¼³Á¤µÉ ¼ö ¾ø±â ¶§¹®¿¡,
Ãʱ⿡ °´Ã¼°¡ ÃæºÐÇÑ Free List¼ö·Î »ý¼ºµÉ ¼ö ÀÖµµ·Ï º¸ÀåÇØ¾ß ÇÕ´Ï´Ù. CPU´Â Çѹø¿¡ ÇÑ ÇÁ·Î¼¼½º¸¦ °ü¸®Çϱ⠶§¹®¿¡, ´ÜÀÏ
CPU ½Ã½ºÅÛÀº ¿©·¯ Free List¸¦ »ç¿ëÇصµ Å« ÀÌÀÍÀÌ ¾ø½À´Ï´Ù. ´ÜÀÏ CPU ½Ã½ºÅÛ¿¡µµ Free List¸¦ Ãß°¡Çϸé ÇÁ·Î¼¼¼´Â
º¸´Ù È¿À²ÀûÀ¸·Î »ç¿ëµÇ°ÚÁö¸¸, Free List¸¦ Ãß°¡ÇÒ ¶§´Â ¿©ÀüÈ÷ Á¶½ÉÇØ¾ß ÇÕ´Ï´Ù.
Free List¿¡
´ëÇÑ Àü¹ÝÀûÀÎ Æ©´× ¸ñÇ¥´Â ¸¹Àº ¼¹ö
ÇÁ·Î¼¼½º °£ÀÇ °æÇÕÀ» ÃÖ¼ÒÈÇϱâ À§ÇØ Free ListÀÇ ¼ö°¡ ÃæºÐÇϵµ·Ï º¸ÀåÇÏ´Â
°ÍÀÔ´Ï´Ù.
|
µ¿ÀûÀÎ ¼º´É ºä
µ¿ÀûÀÎ ¼º´É ºä V$SESSION_WAIT, V$WAITSTAT,
V$SYSTEM_EVENT´Â Free List °æÇÕ ¹®Á¦¸¦ Áø´ÜÇϴµ¥ »ç¿ëµË´Ï´Ù.
µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä
DBA_SEGMENTS´Â Free ListÀÇ ¼ö¸¦ Áõ°¡½ÃÅ°±â À§ÇØ ¼öÁ¤µÉ ÇÊ¿ä°¡ ÀÖ´Â °´Ã¼¸¦ ½Äº°Çϴµ¥ »ç¿ëµË´Ï´Ù.
ÃʱâÈ ÆĶó¹ÌÅÍ
Free List °æÇÕÀ» ÃÖ¼ÒÈÇϱâ À§ÇØ ¼³Á¤ÇØ¾ß ÇÏ´Â ÃʱâÈ
ÆĶó¹ÌÅÍ´Â ¾ø½À´Ï´Ù. FREELISTS Å°¿öµå´Â ¼¼±×¸ÕÆ® ·¹º§¿¡¼ »ç¿ëµË´Ï´Ù. ÀÌ °ªÀº µ¿ÀûÀ¸·Î ¼³Á¤µÉ ¼ö ¾øÀ¸¸ç, ÀÌ °ªÀ» »ç¿ëÇÒ °æ¿ì¿¡´Â
°´Ã¼¸¦ º¯°æÇϱâ À§ÇØ °´Ã¼¸¦ »èÁ¦ÇÏ°í Àç»ý¼ºÇØ¾ß ÇÕ´Ï´Ù.
ÁÖÀÇ: OEM Áø´Ü ÆÑ ¾ÖÇø®ÄÉÀ̼Ç
Performance
Manager -> Contention -> Free List ÀûÁß %
Áø´Ü
±âÁØ
V$WAITSTAT¿Í V$SYSTEM_EVENT¸¦ ÁúÀÇÇÏ¿© Free List
°æÇÕÀÌ ÀÖ´ÂÁöÀÇ ¿©ºÎ¸¦ °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ³ôÀº ¼öÄ¡°¡ ¹ÝȯµÇ¸é, °æÇÕÀ» À¯¹ß½ÃÅ°´Â °´Ã¼¸¦ ½Äº°ÇØ ³»¾ß ÇÕ´Ï´Ù.
- V$WAITSTAT¸¦ ÁúÀÇ:
SELECT class, count, time
FROM v$waitstat
WHERE class = ¡®segment
header¡¯;
- V$SYSTEM_EVENT¸¦ ÁúÀÇ:
SELECT event, total_waits
FROM
v$system_event
WHERE event = ¡®buffer busy waits¡¯;
´ÙÀ½¿¡¼ ¹ß»ýÇÏ´Â 'buffer busy waits(¹öÆÛ »ç¿ëÁß ´ë±â)'¸¦ °¨¼Ò½ÃÅ°±â À§Çؼ´Â ´ÙÀ½À»
¼öÇàÇϽʽÿÀ:
- µ¥ÀÌÅÍ ºí·Ï: pctfree¿Í/¶Ç´Â pctused¸¦ º¯°æÇϽʽÿÀ. ¡®right-hand
indexes(¿ìÃø À妽º)'(¸¹Àº ÇÁ·Î¼¼½º¿¡ ÀÇÇØ °°Àº ÁöÁ¡¿¡¼ »ðÀԵǴ À妽º)¸¦ °Ë»çÇϽʽÿÀ. Initrans¸¦
Áõ°¡½ÃÅ°½Ê½Ã¿À. ºí·Ï ´ç Çà ¼ö¸¦ °¨¼Ò½ÃÅ°½Ê½Ã¿À.
- ¼¼±×¸ÕÆ® Çì´õ: freelists¸¦ »ç¿ëÇϰųª freelistsÀÇ ¼ö¸¦ Áõ°¡½ÃÅ°½Ê½Ã¿À.
Freelist groupÀ» »ç¿ëÇϽʽÿÀ (´ÜÀÏ ÀνºÅϽº ȯ°æ¿¡¼µµ, ÀÌ·¸°Ô ÇÔÀ¸·Î½á Â÷ÀÌ°¡ ³¯ ¼ö ÀÖ½À´Ï´Ù).
- FreeList ºí·Ï: freelists¸¦ ´õ ¸¹ÀÌ Ãß°¡ÇϽʽÿÀ. (º´·Ä ¼¹öÀÎ °æ¿ì, °¢
ÀνºÅϽº°¡ °íÀ¯ freelists groupÀ» °®°í ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ.)
°´Ã¼ ½Äº°
- V$SESSION_WAIT¸¦ ÁúÀÇÇÏ¿© Free List °æÇÕÀÌ ¹ß»ýÇÏ´Â ÆÄÀÏ, ºí·Ï, ID¸¦
°áÁ¤ÇϽʽÿÀ:
- DBA_SEGMENTS¸¦ ÁúÀÇÇÏ¿© ¼¼±×¸ÕÆ®¸¦ ½Äº°ÇÏ°í, free list °³¼ö¸¦
°áÁ¤ÇϽʽÿÀ:
SELECT
s.segment_name,
s.segment_type,
s.freelists,
w.wait_time,
w.seconds_in_wait,
w.state
FROM
dba_segments s, v$session_wait w
WHERE w.event = ¡®buffer busy
wait¡¯
AND w.p1 =
s.header_file
AND w.p2 =
s.header_block;
- °´Ã¼¸¦ Àç»ý¼ºÇϽʽÿÀ.
Free listÀÇ ¼ö¸¦ Áõ°¡Çϱâ À§Çؼ´Â, ¹Ýµå½Ã °´Ã¼¸¦ »èÁ¦ÇÑ
ÈÄ¿¡ FREELISTS Å°¿öµå¸¦ ´õ Å« °ªÀ¸·Î ¼³Á¤ÇÏ¿© Àç»ý¼ºÇÏ¿©¾ß ÇÕ´Ï´Ù.
¹®¸Æ |
ÂüÁ¶ |
ÆĶó¹ÌÅÍ |
LOG_SIMULTANEOUS_COPIES LOG_SMALL_ENTRY_MAX_SIZE DB_BLOCK_LRU_LATCHES
|
µ¿Àû ¼º´É ºä |
V$BUFFER_POOL_STATISTICS V$LATCH V$LATCHNAME V$SESSION_WAIT V$SYSTEM_EVENT V$WAITSTAT |
µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä |
DBA_SEGMENTS |
¸í·É¾î |
NONE |
ÇÁ·Î½ÃÀú |
NONE |
Áø´ÜÆÑ ¾îÇø®ÄÉÀÌ¼Ç |
Performance
Manager |