¹öÆÛ Ä³½¬ÀÇ Æ¯¼º
¹öÆÛ Ä³½¬´Â µ¥ÀÌÅÍ ÆÄÀÏÀÇ µ¥ÀÌÅÍ ºí·Ï º¹»çº»À»
º¸À¯ÇÏ°í ÀÖ½À´Ï´Ù. ¹öÆÛ Ä³½¬´Â SGAÀÇ ÀϺÎÀ̱⠶§¹®¿¡, ¸ðµç »ç¿ëÀÚ´Â ÀÌµé ºí·ÏÀ» °øÀ¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹öÆÛ Ä³½¬ÀÇ Æ¯¼ºÀº ´ÙÀ½°ú
°°½À´Ï´Ù:
- ¹öÆÛ Ä³½¬´Â DB_BLOCK_BUFFERS ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏ¿© Å©±â¸¦ Á¶Á¤ÇÕ´Ï´Ù. ÀÌ
ÆĶó¹ÌÅÍ´Â ¹öÆÛ Ä³½¬ ³»ÀÇ ºí·Ï ¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¹ÙÀÌÆ®·Î µÈ ij½¬ Å©±â¸¦ ã±â À§Çؼ´Â DB_BLOCK_BUFFERS¿Í
DB_BLOCK_SIZE¸¦ °öÇϽʽÿÀ.
- ¼¹ö ÇÁ·Î¼¼½º´Â µ¥ÀÌÅÍ ÆÄÀÏÀÇ µ¥ÀÌÅ͸¦ ¹öÆÛ Ä³½¬·Î ÀÐ¾î µéÀÔ´Ï´Ù. ¼º´ÉÀ» Çâ»ó½ÃÅ°±â À§ÇÏ¿©, ¼¹ö ÇÁ·Î¼¼½º´Â °¡²û ¿©·¯ ºí·ÏÀ» Çѹø¿¡
ÀнÀ´Ï´Ù.
- DBWR ÇÁ·Î¼¼½º´Â ¹öÆÛ Ä³½¬¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ µ¥ÀÌÅÍ ÆÄÀÏ¿¡ ±â·ÏÇÕ´Ï´Ù. DBWRÀº ¼º´ÉÀ»
Çâ»ó½ÃÅ°±â À§ÇÏ¿©, Çѹø¿¡ ¿©·¯ ºí·ÏÀ» ±â·ÏÇÕ´Ï´Ù.
- ij½¬¿¡ ÀÖ´Â °¢ ¹öÆÛ´Â ´ÜÀÏ µ¥ÀÌÅͺ£À̽º ºí·ÏÀ» °®°í ÀÖ½À´Ï´Ù.
- ƯÁ¤ ½Ã°£¿¡, ¹öÆÛ Ä³½¬´Â ´ÜÀÏ µ¥ÀÌÅͺ£À̽º ºí·ÏÀÇ ¿©·¯ º¹»çº»À» °®°í ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ºí·ÏÀÇ
º¹»çº»Àº ´Ü ÇϳªÀÇ ÇöÀç º¹»çº»¸¸ÀÌ Á¸ÀçÇÏÁö¸¸, ¼¹ö
ÇÁ·Î¼¼½º´Â ÁúÀǸ¦ ¼öÇàÇϱâ À§ÇØ ·Ñ¹é Á¤º¸¸¦ »ç¿ëÇÏ¿© Àбâ ÀÏ°ü¼º º¹»çº»À» ¸¸µé ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÔ´Ï´Ù.
- ¹öÆÛ Ä³½¬¿¡ ÀÖ´Â ºí·ÏÀº ´ÙÀ½ÀÇ µÎ °¡Áö ¸ñ·ÏÀ» »ç¿ëÇÏ¿© °ü¸®µË´Ï´Ù:
- LRU(Least
Recently Used, ÃÖ±ÙÃÖÀú»ç¿ëºóµµ) ¸ñ·ÏÀº ¸Þ¸ð¸®¿¡ °¡Àå ÃÖ±Ù¿¡ ¾×¼¼½ºµÈ ºí·ÏÀ» º¸°üÇϴµ¥ »ç¿ëµË´Ï´Ù. ¸ñ·Ï¿¡ ÀÖ´Â ºí·ÏÀº
MRU(Most Recently Used, ÃÖ±ÙÃÖ°í»ç¿ëºóµµ)¿¡¼ LRU·Î ±¸¼ºµË´Ï´Ù.
- ´õƼ ¸ñ·Ï(dirty list)À̶õ,
¼öÁ¤µÇ¾úÁö¸¸ µð½ºÅ©¿¡ ±â·ÏµÇÁö ¾ÊÀº ºí·Ïµé(¹öÆÛ Ä³½¬¿¡ ÀÖ´Â)À» °¡¸®Åµ´Ï´Ù.
- ¹öÆÛ Ä³½¬¿¡ ÀÖ´Â ºí·ÏµéÀº ´ÙÀ½ ¼¼ °¡Áö »óÅ Áß ÇϳªÀÏ ¼ö ÀÖ½À´Ï´Ù:
- free ºí·ÏÀº
µð½ºÅ©¿Í ¸Þ¸ð¸®¿¡ µ¿ÀÏÇÑ À̹ÌÁö¸¦ °®°í ÀÖ´Â ºí·ÏÀÔ´Ï´Ù. ÀÌµé ºí·ÏÀº Àç»ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.
- ´õƼ ºí·ÏÀº µð½ºÅ©¿¡ ÀÖ´Â À̹ÌÁö¿Í
¸Þ¸ð¸®¿¡ ÀÖ´Â À̹ÌÁö°¡ ´Ù¸¥ ºí·ÏÀÔ´Ï´Ù. ÀÌµé ºí·ÏÀº Àç»ç¿ëµÉ ¼ö ÀÖ±â Àü¿¡ µð½ºÅ©¿¡ ±â·ÏµÇ¾î¾ß ÇÕ´Ï´Ù.
- °íÁ¤µÈ(pinned) ¹öÆÛ´Â
ÇöÀç ¾×¼¼½ºµÇ°í ÀÖ´Â ¸Þ¸ð¸® ºí·ÏÀÔ´Ï´Ù.
¼¹ö
ÇÁ·Î¼¼½º´Â ¹öÆÛ Ä³½¬¿¡ ÀÖ´Â ºí·ÏÀ» »ç¿ëÇÏÁö¸¸, DBWR ÇÁ·Î¼¼½º´Â º¯°æµÈ ºí·ÏÀ» µ¥ÀÌÅÍ ÆÄÀÏ¿¡ ´Ù½Ã ±â·ÏÇÏ¿© ij½¬¿¡ ÀÖ´Â
ºí·ÏÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô ¸¸µì´Ï´Ù.
¼¹ö ÇÁ·Î¼¼½º¿Í DB ¹öÆÛ Ä³½¬ ¼¹ö°¡ ºí·ÏÀ» ÇÊ¿ä·Î ÇÒ ¶§, ºí·ÏÀ» Àбâ À§ÇÏ¿© ´ÙÀ½
´Ü°è¸¦ µû¸¨´Ï´Ù.
- ù°, ¼¹ö´Â Çؽà ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¹öÆÛ Ä³½¬¿¡ ÀÖ´Â ºí·ÏÀ» ã½À´Ï´Ù (1 ´Ü°è). ºí·ÏÀÌ Ä³½¬
¹öÆÛ¿¡ ÀÖÀ» °æ¿ì, ºí·ÏÀº LRU ¸ñ·ÏÀÇ MRU ³¡À¸·Î À̵¿µË´Ï´Ù. ½ÇÁ¦ÀûÀÎ I/O°¡ ¹ß»ýÇÏ´Â °ÍÀÌ ¾Æ´Ï±â ¶§¹®¿¡, ÀÌ°ÍÀº ³í¸®Àû Àбâ
ÀÔ´Ï´Ù.
- ºí·ÏÀÌ ¹öÆÛ Ä³½¬¿¡ ¾ø´Â °æ¿ì, ¼¹ö ÇÁ·Î¼¼½º´Â µ¥ÀÌÅÍ ÆÄÀÏÀÇ ºí·ÏÀ» ÀнÀ´Ï´Ù.
ù°, ¼¹ö´Â free ºí·Ï¿¡ ´ëÇÑ LRU ¸ñ·ÏÀ» °Ë»öÇÕ´Ï´Ù (2´Ü°è).
- LRU ¸ñ·ÏÀ» °Ë»öÇÏ´Â µ¿¾È, ¼¹ö´Â ´õƼ ºí·ÏÀ» ´õƼ
¸ñ·ÏÀ¸·Î À̵¿½Ãŵ´Ï´Ù (3´Ü°è) - ´õƼ ¸ñ·ÏÀÌ Å©±â ÇÑ°è°ªÀ» ÃÊ°úÇÒ °æ¿ì, ¼¹ö´Â µ¥ÀÌÅÍ ¹öÆÛ Ä³½¬·ÎºÎÅÍ ´õƼ ºí·ÏÀ» ºñ¿ìµµ·Ï
DBWR¿¡°Ô ½ÅÈ£¸¦ º¸³À´Ï´Ù. - ¼¹ö´Â °Ë»ö ÇÑ°è°ª ³»¿¡¼ free ºí·ÏÀ» ãÀ» ¼ö ¾øÀ» °æ¿ì, DBWR¿¡°Ô ´õƼ ºí·ÏÀ» ºñ¿ìµµ·Ï ½ÅÈ£¸¦
º¸³À´Ï´Ù (4´Ü°è). - free ºí·ÏÀÌ ¹ß°ßµÈ ÈÄ, ¼¹ö´Â µ¥ÀÌÅÍ ÆÄÀÏÀÇ ºí·ÏÀ» µ¥ÀÌÅͺ£À̽ºÀÇ free ºí·ÏÀ¸·Î ÀÐ¾î µéÀÔ´Ï´Ù (5´Ü°è). ¼¹ö´Â ºí·ÏÀ» LRU
¸ñ·ÏÀÇ LRU ³¡¿¡¼ MRU ³¡À¸·Î À̵¿½Ãŵ´Ï´Ù.
- ¸¶Áö¸·À¸·Î, ºí·ÏÀÌ ÀÏ°üµÇÁö ¾ÊÀ» °æ¿ì, ¼¹ö´Â ÇöÀç ºí·Ï°ú ·Ñ¹é ¼¼±×¸ÕÆ®·ÎºÎÅÍ ºí·ÏÀÇ ÀÌÀü ¹öÀüÀ»
À籸ÃàÇÕ´Ï´Ù.
DBWR ÇÁ·Î¼¼½º¿Í DB ¹öÆÛ
ij½¬ DBWRÀº ¼¹ö¿¡°Ô free ºí·ÏÀ» º¸ÀåÇϱâ À§ÇÏ¿© ´õƼ ºí·ÏÀ» µ¥ÀÌÅÍ ÆÄÀÏ¿¡ ±â·ÏÇؼ ¹öÆÛ Ä³½¬¸¦
°ü¸®ÇÕ´Ï´Ù. DBWRÀº ¿À¶óŬ ÀνºÅϽº ³»ÀÇ ´Ù¸¥ À̺¥Æ®¿¡ ÀÀ´äÇÕ´Ï´Ù.
- ´õƼ ¸ñ·ÏÀÌ Å©±â ÇÑ°è°ªÀ» ÃÊ°úÇÑ´Ù: ¼¹ö ÇÁ·Î¼¼½º´Â ´õƼ ¸ñ·ÏÀÌ Å©±â ÇÑ°è°ªÀ» ÃÊ°úÇÑ °ÍÀ»
¹ß°ßÇϸé, DBWR¿¡°Ô ºñ¿ìµµ·Ï ½ÅÈ£¸¦ º¸³À´Ï´Ù (4´Ü°è). DBWRÀº ´õƼ ¸ñ·Ï¿¡ ºí·ÏÀ» ±â·ÏÇÕ´Ï´Ù (6´Ü°è¿Í
7´Ü°è).
- ÃÊ°úµÈ ÇÑ°è°ª °Ë»ö: °Ë»ö ÇÑ°è°ª ³»¿¡¼ LRU ¸ñ·Ï¿¡¼ free ºí·ÏÀ» ãÀ» ¼ö ¾ø´Â ¼¹ö ÇÁ·Î¼¼½º´Â DBWR¿¡°Ô ´õƼ ºí·ÏÀ»
ºñ¿ìµµ·Ï ½ÅÈ£¸¦ º¸³À´Ï´Ù. DBWRÀº LRU ¸ñ·ÏÀ¸·ÎºÎÅÍÁ÷Á¢ ´õƼ ºí·ÏÀ» ±â·ÏÇÕ´Ï´Ù (7´Ü°è¿Í 8´Ü°è).
- 3ÃÊ Å¸ÀӾƿô:DBWRÀº 3Ãʸ¶´Ù ±ú¾î³ª¼, ±â·ÏÇØ¾ß ÇÒ ºí·ÏÀÌ ÀÖ´ÂÁö ´õƼ ¸ñ·ÏÀ»
°Ë»çÇÕ´Ï´Ù. DBWRÀº ´õƼ ºí·ÏÀ» LRU ¸ñ·Ï¿¡¼ ´õƼ ¸ñ·ÏÀ¸·Î À̵¿½ÃÅ°±â ¶§¹®¿¡ (9´Ü°è), Àüü ¹öÆÛ¸¦ ±â·ÏÇϴµ¥ ÃæºÐÇÑ ºí·ÏÀ» º¸À¯ÇÏ°Ô
µË´Ï´Ù. ±×·± ´ÙÀ½, DBWRÀº ¹öÆÛ Ä³½¬¿¡¼ µ¥ÀÌÅÍ
ÆÄÀÏ·Î ´õƼ ¸ñ·ÏÀÇ ºí·ÏÀ» ±â·ÏÇÕ´Ï´Ù(6´Ü°è¿Í 7´Ü°è). È®ÀåµÈ ±â°£ µ¿¾È °»½Å È°µ¿ÀÌ ¾øÀ» °æ¿ì, DBWRÀº 3ÃÊÀÇ
ŸÀӾƿô µ¿¾È ¸ðµç ´õƼ ºí·ÏÀ» ±â·ÏÇÕ´Ï´Ù.
- LGWRÀÌ Ã¼Å©Æ÷ÀÎÆ®¿¡°Ô ½ÅÈ£¸¦ º¸³½´Ù: LGWRÀÌ Ã¼Å©Æ÷ÀÎÆ®°¡ ¹ß»ýÇß´Ù´Â ½ÅÈ£¸¦ º¸³¾
¶§(10´Ü°è), DBWRÀº LRU¿¡¼ ´õƼ ¸ñ·ÏÀ¸·Î ´õƼ ºí·ÏÀ» º¹»çÇÏ°í(8´Ü°è) ´õƼ ¸ñ·ÏÀÇ ¸ðµç ºí·ÏÀ» ±â·ÏÇÕ´Ï´Ù(6´Ü°è¿Í
7´Ü°è).
- Å×ÀÌºí½ºÆäÀ̽º¸¦ Àӽ÷Π¿ÀÇÁ¶óÀÎÀ¸·Î º¯°æÇϰųª Å×ÀÌºí½ºÆäÀ̽º°¡ ¹é¾÷À» ½ÃÀÛÇϵµ·Ï º¯°æÇÑ´Ù:
Å×ÀÌºí½ºÆäÀ̽º°¡ Àӽ÷Π¿ÀÇÁ¶óÀÎÀ¸·Î º¯°æµÇ°Å³ª ¿Â¶óÀÎ ¹é¾÷ÀÌ ½ÃÀÛµÉ ¶§, DBWRÀº ±× Å×ÀÌºí½ºÆäÀ̽º¿¡ ´ëÇÑ ´õƼ ºí·ÏÀ» LRU¿¡¼ ´õƼ ¸ñ·ÏÀ¸·Î
º¹»ç ÇÏ°í(8´Ü°è), ´õƼ ¸ñ·ÏÀÇ ¸ñ·ÏÀ» ±â·ÏÇÕ´Ï´Ù(6´Ü°è¿Í 7´Ü°è).
- °´Ã¼ »èÁ¦(drop): °´Ã¼°¡ »èÁ¦µÇ¾úÀ» ¶§, DBWRÀº ¸ÕÀú °´Ã¼ ´õƼ ºí·ÏÀ» µð½ºÅ©·Î
ºñ¿ó´Ï´Ù. (8´Ü°è¿Í 7´Ü°è)
- pinged ºí·Ï: º´·Ä¼¹ö¿¡¼, LCKn ÇÁ·Î¼¼½º´Â ¶ÇÇÑ DBWR¿¡°Ô ºí·ÏÀ» ±â·ÏÇ϶ó°í ½ÅÈ£¸¦
º¸³À´Ï´Ù. ÀÌ°ÍÀº º´·Ä ¼¹ö µ¥ÀÌÅͺ£À̽º¿¡¼ ´Ù¸¥ ÀνºÅϽº¿¡ ´ëÇØ ºí·ÏÀÌ pingµÇ¾úÀ» ¶§ ¹ß»ýÇÕ´Ï´Ù.
- Á¤»óÀûÀÎ Á¾·á ( Normal, Immediate, ¶Ç´Â Transactional )
|
Æ©´× ¸ñÇ¥
¹°¸®Àû I/O ÀÛ¾÷Àº ¸¹Àº ½Ã°£À» ¼Ò¿äÇÏ°í CPU ¿ä±¸¸¦ Áõ°¡½ÃÅ°±â
¶§¹®¿¡, ¼¹ö°¡ ÇÊ¿ä·Î ÇÏ´Â ´ëºÎºÐÀÇ ºí·ÏÀ» ¸Þ¸ð¸®¿¡¼ ã°Ô µÉ ¶§ ¿À¶óŬ ¼º´ÉÀÌ Çâ»óµÉ ¼ö ÀÖ½À´Ï´Ù. µ¥ÀÌÅͺ£À̽º ¹öÆÛ Ä³½¬¸¦ ÃøÁ¤ÇÏ´Â Åë°è´Â
ij½¬ ÀûÁßÀ²ÀÔ´Ï´Ù. ÀÌ Åë°è´Â ¸Þ¸ð¸®¿¡¼ ¹ß°ßµÇ´Â ºí·ÏÀÇ ¼ö ´ë ¾×¼¼½ºµÈ ºí·ÏÀÇ ¼öÀÇ ºñÀ²ÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽º ¹öÆÛ Ä³½¬°¡ ³Ê¹« ÀÛÀ» ¶§,
½Ã½ºÅÛÀº ³Ê¹« ¸¹Àº I/O ÀÛ¾÷À» ¼öÇàÇϱ⠶§¹®¿¡ ´õ ´À·ÁÁý´Ï´Ù.
Æ©´× ±â¹ý
DBA´Â ´ÙÀ½À» ÅëÇØ
¹öÆÛ Ä³½¬¸¦ °¨½ÃÇÕ´Ï´Ù:
- ¿À¶óŬÀÌ ¼öÁýÇÑ Åë°èÀÚ·á¿¡¼ ij½¬ ÀûÁßÀ²À» °è»êÇÏ¿©
- À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¿© ¹öÆÛ°¡ Ãß°¡µÇ°Å³ª »èÁ¦µÉ ¶§ÀÇ ÀûÁßÀ²ÀÇ º¯°æÀ» °è»êÇÏ¿©
ij½¬ ÀûÁßÀ²À» Áõ°¡½ÃÅ°±â À§ÇØ DBA´Â ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù:
- DB_BLOCK_BUFFERS ÆĶó¹ÌÅ͸¦ Áõ°¡½ÃÄÑ ¹öÆÛ Ä³½¬¿¡ ºí·Ï Ãß°¡
- º¹¼ö ¹öÆÛ Ç®À» »ç¿ëÇÏ¿©, ¾×¼¼½º Ư¼ºº°·Î ºí·Ï ºÐ¸®
- ¸Þ¸ð¸®¿¡ Å×À̺í ij½¬È
ù°, DBA´Â ¹öÆÛ°¡ Ãß°¡µÇ°Å³ª »èÁ¦µÉ ¶§ÀÇ ÀûÁßÀ² º¯°æÀ» °áÁ¤ÇÕ´Ï´Ù. ÀϹÝÀûÀÎ ±ÔÄ¢À¸·Î¼, ´ÙÀ½°ú
°°À» ¶§ DB_BLOCK_BUFFERS¸¦ Áõ°¡½ÃÅ°½Ê½Ã¿À.
- ij½¬ ÀûÁßÀ²ÀÌ 90% ÀÌÇÏÀÏ ¶§
- ÆäÀÌÁö °áÇÔÀÇ ¾çÀ¸·Î ÃøÁ¤µÇ¾úÀ» ¶§, ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ´ëÇØ ÃæºÐÇÑ ¸Þ¸ð¸®°¡ ÀÖÀ»
¶§
- DB_BLOCK_BUFFERS¸¦ ÀÌÀü¿¡ Áõ°¡½ÃŲ °ÍÀÌ È¿°ú°¡ ÀÖÀ» ¶§. ¾ÖÇø®ÄÉÀ̼ÇÀÇ
Ư¼ºÀÌ ÀûÁßÀ²ÀÇ Çâ»óÀ» ¸·À» ¼ö Àֱ⠶§¹®¿¡, µ¥ÀÌÅÍ ¹öÆÛ Ä³½¬ÀÇ Å©±â¸¦ Áõ°¡½Ã´Â °ÍÀÌ Ç×»ó ¼º´ÉÀ» Çâ»ó½ÃÅ°´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ¿¹¸¦ µé¾î,
ÀÏ»óÀûÀ¸·Î Å« Å×À̺íÀ» ¸¹ÀÌ ½ºÄµÇÏ´Â ´ë±Ô¸ðÀÇ µ¥ÀÌÅÍ ¿þ¾îÇϿ콺³ª ÀÇ»ç°áÁ¤ Áö¿ø ½Ã½ºÅÛ¿¡¼, ´ëºÎºÐÀÇ µ¥ÀÌÅÍ´Â µð½ºÅ©¿¡¼ ÀÐÇôÁý´Ï´Ù.
ÀÌ·¯ÇÑ ½Ã½ºÅÛ¿¡ ´ëÇØ, ¹öÆÛ Ä³½¬¸¦ Æ©´×ÇÏ´Â °ÍÀº º°·Î Áß¿äÇÏÁö ¾ÊÀ¸¸ç, I/O¸¦ Æ©´×ÇÏ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù.
µ¥ÀÌÅÍ ¾×¼¼½º Ư¼ºÀ¸·Î ÀÎÇÏ¿© ij½¬ ÀûÁßÀ²ÀÌ ³·À» °æ¿ì, DBA´Â º¹¼ö Ç®À» Á¤ÀÇÇϰųª Å×À̺íÀ»
ij½¬ÈÇÏ¿© ÀûÁßÀ²À» Çâ»ó½Ãų ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
±â¼úÀû ÁÖÀÇ»çÇ×
¿î¿µÃ¼Á¦¸¦
ij½¬ÈÇÏ¿© ¹ÌÄ¡´Â ¿µÇâÀ» °í·ÁÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ¿À¶óŬ ¼¹ö´Â ¿î¿µÃ¼Á¦ ·¹º§¿¡¼ ³ªÅ¸³ªÁö ¾Ê´Â ¹°¸®Àû I/OÀÇ ³ôÀº ÀûÁßÀ²À»
³ªÅ¸³¾ °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº ¹öÆÛ Ä³½¬¿¡¼ ¿À·¡µÇ¾î »èÁ¦µÈ ¿À¶óŬ ºí·ÏÀÌ ¿î¿µÃ¼Á¦ ij½¬¿¡¼ À¯ÁöµÇ¾î ¸Å¿ì ºü¸£°Ô ¾×¼¼½ºµÉ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÒ ¼ö
ÀÖ½À´Ï´Ù. ±×·¯³ª, ÀϹÝÀûÀÎ ±ÔÄ¢À¸·Î, ¿î¿µÃ¼Á¦ ij½¬¸¦ ȸÇÇÇÏ´Â °ÍÀÌ °¡Àå ÁÁ½À´Ï´Ù:
- ¸Þ¸ð¸®¿¡ ¿À¶óŬ ºí·ÏÀÌ Áߺ¹(¿î¿µÃ¼Á¦ ij½¬¿¡ ÇÑ ºí·Ï, µ¥ÀÌÅͺ£À̽º ¹öÆÛ Ä³½¬¿¡ ÇÑ ºí·Ï)µÇ±â
¶§¹®¿¡ ´õ ¸¹Àº ¸Þ¸ð¸®°¡ ¿ä±¸µË´Ï´Ù.
- ¿î¿µÃ¼Á¦ ij½¬¿¡ º¸°üµÈ ¿À¶óŬ ºí·ÏÀº ºñ ¿À¶óŬ ºí·Ï¿¡ ÀÇÇØ »ç¿ëµÉ ¼ö ÀÖ´Â ¸Þ¸ð¸®¸¦
»ç¿ëÇÕ´Ï´Ù.
- ¿î¿µÃ¼Á¦ ij½¬¿¡¼ µ¥ÀÌÅͺ£À̽º ¹öÆÛ Ä³½¬·Î ºí·ÏÀ» º¹»çÇÒ ¶§ CPU ¿À¹öÇìµå°¡ ÀÖ½À´Ï´Ù.
ºäÀÇ ¼³¸í
- V$SYSTAT¿Í V$SESSTAT ºä¿¡´Â ij½¬ ÀûÁßÀ² °è»ê¿¡ »ç¿ëµÇ´Â Åë°è°¡ Æ÷ÇԵǾî
ÀÖ½À´Ï´Ù:
SQL> SELECT name,
value
2 FROM v$sysstat
3 WHERE name in (¡®db
block gets¡¯. ¡®consistent gets¡¯,
4 ¡®physical
reads¡¯);
NAME
VALUE
-----------------------------
--------
db block gets 2242341
consistent gets
130303
physical reads
103434
- V$BUFFER_POOL: º¹¼ö ¹öÆÛ Ç®À» ¼³¸íÇÕ´Ï´Ù.
- V$RECENT_BUCKET ¶Ç´Â X$KCBRBH: ´õ Å« ij½¬ÀÇ ¼º´ÉÀ» »êÁ¤ÇÏ´Â Åë°è¸¦
Æ÷ÇÔÇÕ´Ï´Ù. (À̵é Åë°è´Â init.ora ÆĶó¹ÌÅÍDB_BLOCK_LRU_EXTENDED_STATISTICS°¡ ¼³Á¤µÇ¾úÀ» ¶§¿¡¸¸
¼öÁýµË´Ï´Ù.)
- V$CURRENT_BUCKET ¶Ç´Â X$KCBCBH: ´õ ÀÛÀº ij½¬ÀÇ ¼º´ÉÀ» »êÁ¤ÇÏ´Â Åë°è¸¦
Æ÷ÇÔÇÕ´Ï´Ù. (À̵é Åë°è´Âinit.ora ÆĶó¹ÌÅÍ DB_BLOCK_LRU_STATISTICS°¡ TRUE·Î ¼³Á¤µÇ¾úÀ» ¶§¿¡¸¸
¼öÁýµË´Ï´Ù.)
- V$BH: ¹öÆÛ Ä³½¬¿¡¼ À¯ÁöµÇ´Â ºí·ÏÀ» ¼³¸íÇÕ´Ï´Ù.
ij½¬ ÀûÁßÀ² ÃøÁ¤
¿À¶óŬÀº µ¥ÀÌÅÍ ¾×¼¼½º¿¡ °üÇÑ Åë°è¸¦ ¼öÁýÇÏ¿© µ¿ÀûÀÎ ¼º´É
Å×À̺í V$SYSSTAT¿¡ ÀúÀåÇÕ´Ï´Ù. »ç¿ëÀÚ´Â ´ÙÀ½°ú °°Àº 3°¡Áö ½Ã½ºÅÛ Åë°è¸¦ »ç¿ëÇÏ¿© ij½¬ ÀûÁßÀ²À» ÃøÁ¤ÇÕ´Ï´Ù:
- db block gets: ºí·ÏÀÇ ÇöÀç À̹ÌÁö¿¡ ¾×¼¼½º
- consistent gets: ºí·ÏÀÇ Àбâ ÀÏ°ü¼º À̹ÌÁö¿¡
¾×¼¼½º
- physical reads: µð½ºÅ©¿¡¼ ÀÐÇôÁö´Â ºí·ÏÀÇ ¼ö
´ÙÀ½ÀÇ °ø½ÄÀ» »ç¿ëÇÏ¿© ¹öÆÛ Ä³½¬¿¡ ´ëÇÑ ÀûÁßÀ²À» °è»êÇϽʽÿÀ:
ÀûÁßÀ² =
1 - (physical reads / db block gets + consistent gets))
db block
gets¸¦ consistent gets¿Í ´õÇÏ¿© µ¥ÀÌÅÍ¿¡ ´ëÇÑ ÃÑ ¿äû ¼ö¸¦ °è»êÇÕ´Ï´Ù. ÀÌ °ª¿¡´Â ¸Þ¸ð¸®¿¡ ÀÖ´Â ¹öÆÛ¿¡ÀÇ ¾×¼¼½º¿¡ ÀÇÇÏ¿©
¼öÇàµÇ´Â ¿äû°ú ¹°¸®Àû I/O¸¦ À¯¹ß½ÃÅ°´Â ¿äûÀÌ Æ÷ÇԵ˴ϴÙ. ÀÌ ºñÀ²¿¡ 100À» °öÇÏ¿© ÆÛ¼¾Æ®·Î ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.
À̵é Åë°è´Â
ÀνºÅϽº ½ÃÀÛ ½Ã¿¡¸¸ ¼öÁýµÇ±â ¶§¹®¿¡, ½ÃÀÛ ÈÄ Áï½Ã ÁúÀÇÇÏÁö ¸»°í Á¤»óÀûÀÎ ·Îµå ÀÛ¾÷ µ¿¾È ÁúÀÇÇϽʽÿÀ. ¹öÆÛ Ä³½¬´Â ÀνºÅϽº ½ÃÀÛ ½Ã
ºñ¾îÀֱ⠶§¹®¿¡, ½ÃÀÛ ÈÄ¿¡´Â ´õ ¸¹Àº ¹°¸®Àû ÀбⰡ ÀÖ½À´Ï´Ù.
ij½¬ ÀûÁßÀ² »êÁ¤
- Áö³¹ø¿¡ Áõ°¡½ÃŲ °ÍÀÌ Ä³½¬ ÀûÁßÀ²¿¡ ÇöÀúÇÑ º¯È¸¦ °¡Á®¿ÀÁö ¾Ê¾ÒÀ»
¶§¿¡´Â DB_BLOCK_BUFFERS¸¦ °è¼ÓÇÏ¿© Áõ°¡½ÃÅ°Áö ¸¶½Ê½Ã¿À. ÀÌ°ÍÀº µ¥ÀÌÅÍ¿¡ ¾×¼¼½º ÇÏ´Â ¹æ¹ý ¶§¹®À̰ųª ¹öÆÛ Ç®À» »ç¿ëÁ¶Â÷ ÇÏÁö ¾Ê´Â
´Ù¸¥ ÀÛ¾÷ÀÌ ÀÖÀ» ¼ö Àֱ⠶§¹®ÀÏ °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ¿À¶óŬÀº Á¤·Ä°ú º´·Ä ÀбâÀÇ °æ¿ì¿¡´Â ¹öÆÛ Ä³½¬¸¦
¹«½ÃÇÕ´Ï´Ù.
- ¶ÇÇÑ, ij½¬ ÀûÁßÀ²À» º¼ ¶§, Àüü Å×ÀÌºí ½ºÄµ Áß ¸¶ÁÖÄ£ ºí·ÏµéÀº LRU ¸ñ·Ï Çìµå¿¡ ³õÀÌÁö
¾Ê±â ¶§¹®¿¡, ¹Ýº¹µÈ ½ºÄµ ÀÛ¾÷À¸·Î ºí·ÏÀÌ Ä³½¬µÇÁö ¾Ê´Â´Ù´Â °ÍÀ» ¸í½ÉÇϽʽÿÀ.
- µ¿ÀÏÇÑ Å« Å×À̺íÀ» ¹Ýº¹ÀûÀ¸·Î ½ºÄµÇÏ´Â °ÍÀº ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ °¡Àå È¿°úÀûÀÎ ¹æ¹ýÀÌ ¾Æ´Ï±â
¶§¹®¿¡, ÇØ°áÃ¥Àº ¼³°è ¶Ç´Â ±¸Çö ·¹º§¿¡ ÀÖ½À´Ï´Ù. ÇѹøÀÇ Æнº·Î ¸ðµç °ÍÀ» ó¸®Çϰųª Å×ÀÌºí¿¡ ÀûÀýÇÑ À妽º¸¦ Ãß°¡ÇÏ´Â °ÍÀÌ ´õ ³ªÀ»
°ÍÀÔ´Ï´Ù.
- OLTP ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇàÇÏ´Â Å« µ¥ÀÌÅͺ£À̽º¿¡¼, ƯÁ¤ ´ÜÀ§ ½Ã°£¿¡ °¡Àå ¸¹Àº ÇàÀº Çѹø ¾×¼¼½º
µÇ°Å³ª ÀüÇô ¾×¼¼½ºµÇÁö ¾Ê½À´Ï´Ù. ±×·¸±â ¶§¹®¿¡, ¿À·§µ¿¾È °è¼ÓÇÏ¿© »ç¿ëÇϱâ À§ÇÏ¿© ÇàÀ» ¸Þ¸ð¸®¿¡(¶Ç´Â ÇàÀ» Æ÷ÇÔÇÏ´Â ºí·Ï¿¡) À¯Áö½ÃÅ°´Â °ÍÀº
°ÅÀÇ Àǹ̰¡ ¾ø½À´Ï´Ù.
- ¸¶Áö¸·À¸·Î, ij½¬ ÀûÁßÀ²°ú ¹öÆÛ ¼ö¿ÍÀÇ °ü°è´Â ¿øÈ°ÇÑ ºÐ¹è¿Í´Â °Å¸®°¡ ¸Ù´Ï´Ù. ¹öÆÛ Ç®À» Æ©´×ÇÒ
¶§, ij½¬ ÀûÁßÀ²¿¡ °øÇåµµ°¡ °ÅÀÇ ¾ø°Å³ª ÀüÇô ¾ø´Â Ãß°¡ ¹öÆÛ¸¦ »ç¿ëÇÏ´Â °ÍÀ» ÇÇÇϽʽÿÀ. INDX °ªÀÌ Áõ°¡ÇÒ ¶§, COUNT´Â Áõ°¡ÇÏÁö
¾Ê°Å³ª INDX¿¡ µû¶ó °¨¼ÒÇÕ´Ï´Ù.
-
DB_BLOCK_BUFFERS Áõ°¡
ÀϹÝÀûÀÎ ±ÔÄ¢À¸·Î¼, ´ÙÀ½ »óȲ¿¡¼´Â DB_BLOCK_BUFFERS¸¦ Áõ°¡½ÃÅ°½Ê½Ã¿À:
- ij½¬ ÀûÁßÀ²ÀÌ 90% ÀÌÇÏÀÏ ¶§
- ÆäÀÌÁö °áÇÔÀÇ ¾çÀ¸·Î ÃøÁ¤µÇ¾î, ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ´ëÇØ ÃæºÐÇÑ ¸Þ¸ð¸®°¡ ÀÖÀ» ¶§
- DB_BLOCK_BUFFERS¸¦ ÀÌÀü¿¡ Áõ°¡½ÃŲ °ÍÀÌ È¿°ú°¡ ÀÖÀ» ¶§
º¹¼ö ¹öÆÛ Ç®
DBA´Â º¹¼ö ¹öÆÛ Ç®À» »ý¼ºÇÏ¿© µ¥ÀÌÅͺ£À̽º ¹öÆÛ Ä³½¬ÀÇ ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. °´Ã¼µéÀº ¾×¼¼½ºµÇ´Â ¹æ¹ý¿¡ µû¶ó ¹öÆÛ Ç®¿¡
ÁöÁ¤µË´Ï´Ù. Oracle8Àº 3°³ÀÇ ¹öÆÛ Ç®ÀÌ ÀÖ½À´Ï´Ù:
- KEEP: Àç»ç¿ëµÉ °Í °°Àº °´Ã¼µéÀ» ¸Þ¸ð¸®¿¡ À¯ÁöÇϱâ À§ÇÏ¿© »ç¿ë. ÀÌµé °´Ã¼¸¦ ¸Þ¸ð¸®¿¡
À¯ÁöÇÔÀ¸·Î½á I/O ÀÛ¾÷À» °¨¼Ò½Ãŵ´Ï´Ù.
- RECYCLE: Àç»ç¿ëµÉ ±âȸ°¡ °ÅÀÇ ¾ø´Â ºí·ÏÀ» ¸Þ¸ð¸®¿¡¼ Á¦°ÅÇϱâ À§ÇÏ¿© »ç¿ë. ¸Þ¸ð¸®¿¡¼ À̵é
ºí·ÏÀ» ºñ¿ìÀÚ ¸¶ÀÚ, ij½¬ ¹öÆÛ¿¡ ÀÇÇØ »ç¿ëµÇ´Â °ø°£Àº ´Ù¸¥ °´Ã¼¿¡ ÇÒ´çµÉ ¼ö ÀÖ½À´Ï´Ù.
- DEFAULT: ÀÌ Ç®Àº Ç×»ó Á¸ÀçÇϸç, ´ÜÀÏ ¹öÆÛ Ä³½¬¿Í °°½À´Ï´Ù.
BUFFER_POOL_NAME ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏ¿© °¢ ¹öÆÛ Ç®À» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. °¢ ¹öÆÛ Ç®¿¡
´ëÇØ 2°³ÀÇ ¼Ó¼ºÀ» ÁöÁ¤ÇϽʽÿÀ.
- ¹öÆÛ Ç®¿¡ ÀÖ´Â ¹öÆÛÀÇ ¼ö
- ¹öÆÛ Ç®¿¡ ÇÒ´çµÈ LRU ·¡Ä¡ÀÇ ¼ö
ÁÖÀÇ: ÀÌ ±â´ÉÀº Oracle8ÀÇ »õ·Î¿î ±â´ÉÀÔ´Ï´Ù.
ÃʱâÈ ÆĶó¹ÌÅÍ
- DB_BLOCK_BUFFERS: ÀνºÅϽº¿¡ ´ëÇÑ ¹öÆÛÀÇ ¼ö¸¦ Á¤ÀÇÇÕ´Ï´Ù. °¢ °³º° ¹öÆÛ Ç®Àº ÀÌ ÃÑ
¼ö·ÎºÎÅÍ »ý¼ºµË´Ï´Ù. ³ª¸ÓÁö´Â µðÆúÆ® ¹öÆÛ Ç®¿¡ ÇÒ´çµË´Ï´Ù.
- DB_BLOCK_LRU_LATCHES: Àüü µ¥ÀÌÅͺ£À̽º ÀνºÅϽº¿¡ ´ëÇÑ LRUÀÇ
¼öÀÔ´Ï´Ù. Á¤ÀÇµÈ °¢ ¹öÆÛ Ç®Àº DB_BLOCK_BUFFERS¿Í À¯»çÇÑ ¹æ½ÄÀ¸·Î ÀÌ ÃÑ ¼ö·ÎºÎÅÍ ·¡Ä¡ ¼ö¸¦ »®´Ï´Ù.
- DB_BLOCK_KEEP: ºí·ÏÀÇ À¯Áö¿¡ ´ëÇÑ ¹öÆÛ Ç®À» Á¤ÀÇÇϴµ¥ »ç¿ëµË´Ï´Ù. ù¹ø° ÆĶó¹ÌÅÍ´Â
ºí·ÏÀÇ ¼öÀÌ°í µÎ ¹ø° ÆĶó¹ÌÅÍ´Â ·¡Ä¡ÀÇ ¼öÀÔ´Ï´Ù.
- DB_BLOCK_RECYCLE: ºí·ÏÀÇ »èÁ¦¿¡ ´ëÇÑ ¹öÆÛ Ç®À» Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ù ¹ø°
ÆĶó¹ÌÅÍ´Â ºí·ÏÀÇ ¼öÀÌ°í µÎ ¹ø° ÆĶó¹ÌÅÍ´Â ·¡Ä¡ÀÇ ¼öÀÔ´Ï´Ù.
°¢ ¹öÆÛ Ç®ÀÇ Å©±â´Â Àüü ¹öÆÛ Ä³½¬(Áï, DB_BLOCK_BUFFERS ÆĶó¹ÌÅÍÀÇ °ª)¿¡
´ëÇØ Á¤ÀÇµÈ ¹öÆÛ Ç®ÀÇ ÃÑ ¼ö¿¡¼ »« °ÍÀÔ´Ï´Ù. µû¶ó¼, ¸ðµç ¹öÆÛ Ç®¿¡¼ ¹öÆÛÀÇ ÃÑÇÕÀº ÀÌ ÆĶó¹ÌÅÍ °ªÀ» ÃÊ°úÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ¿Í ºñ½ÁÇÏ°Ô,
°¢ ¹öÆÛ Ç®¿¡ ÇÒ´çµÈ LRU ·¡Ä¡ÀÇ
¼ö´Â DB_BLOCK_LRU_LATCHES ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏ´Â ÀνºÅϽº¿¡ ÇÒ´çµÈ ÃÑ ¼ö¿¡¼ »« °ÍÀÔ´Ï´Ù. ¾î´À ÇÑÂÊÀÇ Á¦¾àÁ¶°ÇÀ» ¾î±â°Ô µÇ¸é,
¿À·ù°¡ ¹ß»ýÇÏ°í µ¥ÀÌÅͺ£À̽º´Â ¸¶¿îÆ®µÇÁö ¾Ê½À´Ï´Ù.
°¢ ¹öÆÛ Ç®¿¡ ¹Ýµå½Ã ÇÒ´çµÇ¾î¾ß ÇÏ´Â ¹öÆÛÀÇ ÃÖ¼Ò ¼ö´Â LRU ·¡Ä¡ ¼öÀÇ 50¹èÀÔ´Ï´Ù. ¿¹¸¦ µé¾î,
¹öÆÛ Ç®ÀÌ 3°³ÀÇ LRU ·¡Ä¡¸¦
°®°í ÀÖ´Ù¸é, ¹öÆÛ ¼ö´Â ÃÖÇÏ 150ÀÌ µÇ¾î¾ß ÇÕ´Ï´Ù.
¾î¶°ÇÑ ¹öÆÛ Ç®ÀÌ¶óµµ »ç¿ëµÉ ´Ù¸¥ ¹öÆÛ Ç®¿¡ ´ëÇØ Á¤ÀÇµÉ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
BUFFER_POOL Àý
BUFFER_POOL ÀýÀº °´Ã¼¿¡ ´ëÇØ µðÆúÆ® ¹öÆÛ Ç®À» Á¤ÀÇÇϴµ¥ »ç¿ëµË´Ï´Ù. ÀÌ ÀýÀº STORAGE
ÀýÀÇ ÀϺÎÀ̸ç CREATE¿Í ALTER Å×À̺í, Ŭ·¯½ºÅÍ, À妽º ¹®Àå¿¡ ´ëÇØ À¯È¿ÇÕ´Ï´Ù. ¹öÆÛ Ç®À» ¸í½ÃÀûÀ¸·Î ¼³Á¤ÇÏÁö ¾ÊÀº °´Ã¼ÀÇ ºí·ÏÀº
DEFAULT ¹öÆÛ Ç®·Î ÁöÁ¤µË´Ï´Ù.
±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù:
BUFFER_POOL {KEEP | RECYCLE | DEFAULT}
¿¹
- BUFFER_POOL KEEP
- BUFFER_POOL RECYCLE
°´Ã¼ÀÇ µðÆúÆ® ¹öÆÛ Ç®ÀÌ ALTER ¹®¿¡ ÀÇÇØ º¯°æµÉ ¶§, º¯°æµÈ ¼¼±×¸ÕÆ®ÀÇ ºí·ÏÀ» ÇöÀç Æ÷ÇÔÇÏ°í
ÀÖ´Â ¸ðµç ¹öÆÛ´Â ALTER ¹® ÀÌÀü¿¡ ÀÖ¾ú´ø ¹öÆÛ Ç®¿¡ ³²°Ô µË´Ï´Ù. »õ·Î ·ÎµåµÈ ºí·Ï°ú ¿À·¡µÅ¼ »èÁ¦µÇ¾î Àç·ÎµåµÈ ºí·ÏÀº »õ ¹öÆÛ Ç®¿¡
Æ÷ÇԵ˴ϴÙ.
¹öÆÛ Ç®Àº ¼¼±×¸ÕÆ®¿¡ ÇÒ´çµÇ±â ¶§¹®¿¡, ¿©·¯ ¼¼±×¸ÕÆ®°¡ ÀÖ´Â °´Ã¼´Â º¹¼ö ¹öÆÛ Ç®¿¡ ºí·ÏÀ» °®°í ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¾î, À妽º·Î ±¸¼ºµÈ Å×À̺íÀº À妽º¿Í ¿À¹öÇÃ·Î¿ì ¼¼±×¸ÕÆ® ¸ðµÎ¿¡¼ Á¤ÀÇµÈ ´Ù¸¥ Ç®µéÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù.
Æ©´× ¸ñÇ¥ (À½¼º ¼³¸íÀº
¾ø½À´Ï´Ù)
À¯Áö ¹öÆÛ Ç®ÀÇ ¸ñÇ¥´Â ¸Þ¸ð¸®¿¡ °´Ã¼¸¦ À¯Áö½ÃÄÑ, I/O ÀÛ¾÷À» ÇÇÇÏ´Â °ÍÀÔ´Ï´Ù. À¯Áö ¹öÆÛ Ç®ÀÇ Å©±â´Â
ÀÌ Ç®¿¡ Àü¿ëµÈ ¸ðµç °´Ã¼ÀÇ Å©±â¸¦ ¸ðµÎ ÇÕÇÏ¿© °è»êµË´Ï´Ù.
Å©±â Á¶Á¤
ANALYZE¡¦ESTIMATE STATISTICS¸¦ »ç¿ëÇÏ¿© °¢ °´Ã¼ÀÇ Å©±â¸¦ °è»êÇÕ´Ï´Ù. ÃÖ°í ¼öÀ§ Ç¥½Ã´Â Åë°è¸¦ »êÁ¤ÇÒ
¶§¿¡µµ ¾ðÁ¦³ª Á¤È®ÇÕ´Ï´Ù. DBA_TABLES, DBA_INDEXES, DBA_CLUSTERSÀÇ BLOCKSÀÇ ¿À» ÇÕ°èÇÏ¿© ¿ä±¸µÇ´Â ÃÑ ºí·Ï
¼ö¸¦ ±¸ÇϽʽÿÀ.
µ¥ÀÌÅÍ ¾×¼¼½º Ư¼º°ú ÀÌ¿ë°¡´ÉÇÑ ¸Þ¸ð¸® ¾ç¿¡ µû¶ó ´Ù¸£±â ¶§¹®¿¡, ¹öÆÛ Ç®¿¡ ÀÌ ¸ðµç °´Ã¼ÀÇ ¸ðµç ºí·ÏÀ»
À¯ÁöÇϱ⸦ ¿øÇÏÁö´Â ¾ÊÀ» °ÍÀÔ´Ï´Ù. Á¾Á¾ À¯Áö ¹öÆÛ Ç®ÀÇ Å©±â¸¦ Á¶±Ý °¨¼Ò½ÃÅ°´õ¶óµµ, ¿©ÀüÈ÷ ³ôÀº ÀûÁßÀ²À» À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌµé ºí·ÏÀº
´Ù¸¥ ¹öÆÛ Ç®¿¡ ÇÒ´çµÉ ¼ö ÀÖ½À´Ï´Ù.
DBA´Â KEEP Ç®¿¡¼ Å©±â°¡ Áõ°¡ÇÏ´Â °´Ã¼¸¦ °¨½ÃÇØ¾ß ÇÕ´Ï´Ù. Å©±â°¡ Áõ°¡ÇÒ °æ¿ì, °´Ã¼´Â
À¯Áö ¹öÆÛ Ç®¿¡ ´õ ÀÌ»ó ÀûÇÕÇÏÁö ¾ÊÀ» °ÍÀ̱⠶§¹®¿¡, ij½¬¿¡¼ ºí·ÏÀ» »ó½ÇÇϱ⠽ÃÀÛÇÒ °ÍÀÔ´Ï´Ù.
Æ©´× ¸ñÇ¥
ÀçÈ°¿ë ¹öÆÛ Ç®ÀÇ ¸ñÇ¥´Â ºí·ÏÀÌ ´õ ÀÌ»ó ÇÊ¿äÇÏÁö ¾Ê°Ô µÇÀÚ¸¶ÀÚ
¸Þ¸ð¸®¿¡¼ ºí·ÏÀ» Á¦°ÅÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª, ¸Þ¸ð¸®¿¡¼ ³Ê¹« »¡¸® ºí·ÏÀ» »èÁ¦ÇÏÁö ¾Êµµ·Ï ÁÖÀÇÇϽʽÿÀ. ¹öÆÛ°¡ ³Ê¹« ÀÛÀ» °æ¿ì, Æ®·£Àè¼ÇÀ̳ª
SQL ¹®ÀÇ ½ÇÇàÀÌ ¿Ï·áµÇ±âµµ Àü¿¡ ºí·ÏÀÌ »èÁ¦µÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ¾ÖÇø®ÄÉÀ̼ÇÀº Å×ÀÌºí¿¡¼ °ªÀ» ¼±ÅÃÇÏ¿©, ÀÌ °ªÀ» ÀϺΠµ¥ÀÌÅ͸¦
ó¸®Çϴµ¥ »ç¿ëÇÑ ´ÙÀ½, ¼±ÅÃµÈ ÇàÀ» °»½ÅÇÒ °ÍÀÔ´Ï´Ù. SELECT ¹® ´ÙÀ½¿¡ ºí·ÏÀÌ Ä³½¬·ÎºÎÅÍ Á¦°ÅµÉ °æ¿ì, °»½Å ÀÛ¾÷À» ¼öÇàÇϱâ À§Çؼ´Â
µð½ºÅ©·ÎºÎÅÍ ´Ù½Ã ÀÐÇôÁ®¾ß ÇÕ´Ï´Ù. ºí·ÏÀº Æ®·£Àè¼ÇÀÌ Áö¼ÓµÇ´Â µ¿¾È¿¡´Â À¯ÁöµÉ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
Å©±â Á¶Á¤
ÃßÀû ÅøÀÇ ¹°¸®Àû Àбâ
Åë°è¸¦ »ç¿ëÇϰųª °´Ã¼¿¡ ÀÇÇØ »ç¿ëµÈ ¹öÆÛ Ä³½¬ ºí·ÏÀ» ÃÑÇÕÇÏ¿© ÀçÈ°¿ë Ç®ÀÇ Å©±â¸¦ Á¶Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù
V$CACHE¸¦ »ç¿ëÇÏ¿© ¹öÆÛ Ç®¿¡¼ ºí·Ï ã±â
DBA´Â ¶ÇÇÑ V$CACHE¸¦ »ç¿ëÇÏ¿© °´Ã¼º°·Î
¹öÆÛ Ç® ºí·ÏÀÇ ¼ö¸¦ °¨½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. V$CACHE´Â catparr.sql ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© »ý¼ºµË´Ï´Ù:
- ½ÇÁ¦·Î´Â Oracle Parallel Server(OPS, ¿À¶óŬ º´·Ä ¼¹ö)¿Í ÇÔ²² »ç¿ëÇϵµ·Ï
°èȹµÇ¾ú½À´Ï´Ù.
- OPS¿¡°Ô¸¸ À¯¿ëÇÑ ´Ù¸¥ ¿©·¯ ºä¸¦ »ý¼ºÇÕ´Ï´Ù.
- µ¥ÀÌÅÍ ÆÄÀÏ¿¡ ÀÖ´Â extent¸¦ µ¥ÀÌÅͺ£À̽º °´Ã¼¿¡ ´ëÀÀ½Ãŵ´Ï´Ù.
- »õ·Î¿î °´Ã¼°¡ »ý¼ºµÈ ÈÄ¿¡ Àç½ÇÇàµÉ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
RECYCLE Ç®¿¡¼ °´Ã¼¿¡ ´ëÇØ ¿ä±¸µÇ´Â ºí·ÏÀÇ ¼ö¸¦ °áÁ¤Çϱâ À§ÇÏ¿©, ´ÙÀ½À»
¼öÇàÇϽʽÿÀ.
- ù°, ºñÈ°¼ºÈµÈ ÀçÈ°¿ë Ç®ÀÌ ÀÖ´Â ¹öÆÛ Ä³½¬¸¦ Æ©´×ÇϽʽÿÀ.
- catparr.sqlÀ» ½ÇÇà½ÃÄÑ, V$CACHE¸¦ ¼³Á¤ÇÏ°í Æ÷ÇÔ½ÃÅ°½Ê½Ã¿À.
- ÃÖ°í ÀýÁ¤ ½Ã°£µ¿¾È, ´ÙÀ½ ÁúÀǸ¦ »ç¿ëÇÏ¿© °¢ °´Ã¼°¡ »ç¿ëÇÏ´Â ºí·Ï ¼ö¸¦
°è»êÇϽʽÿÀ:
SQL> SELECT owner#,
name, count(*) blocks
2 FROM v$cache
3 GROUP BY
owner#, name;
ÀçÈ°¿ë ¹öÆÛ Ç®¿¡¼ »ç¿ëµÉ ¸ðµç °´Ã¼¿¡ ´ëÇÑ ºí·ÏÀ» ÃÑÇÕÇÏ°í ÀçÈ°¿ë Ç® Å©±â¸¦ °è»êÇϱâ À§ÇÏ¿© 4·Î
³ª´©½Ê½Ã¿À. ÀçÈ°¿ë Ç®À» ´ë»óÀ¸·Î ÇÑ ºí·ÏÀÇ 4ºÐÀÇ 1ÀÌ È°µ¿ ÁßÀ̶ó°í °¡Á¤Çϱ⠶§¹®¿¡ 4·Î ³ª´« °ÍÀÔ´Ï´Ù. ³ª¸ÓÁö 4ºÐÀÇ 3Àº ij½¬¿¡¼
¿À·¡µÇ¾î »èÁ¦µÇ±â¸¦ ±â´Ù¸®°í ÀÖ½À´Ï´Ù.
¹°¸®Àû Àбâ ÃßÀû
Oracle Trace, SQL *Plus Autotrace, ¶Ç´Â TKPROF¸¦ »ç¿ëÇÏ´Â SQL ÃßÀû°ú °°Àº SQL ¹®
Æ©´× ÅøÀ» »ç¿ëÇÏ¿© ¹®ÀåÀ» ½ÇÇà½ÃÄÑ, µð½ºÅ©¿¡¼ ¹°¸®ÀûÀ¸·Î ÀÐÈù µ¥ÀÌÅÍ ºí·ÏÀÇ ÃÑ ¼öÀÇ ¸ñ·ÏÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, µ¿ÀûÀÎ ¼º´É Å×À̺í
V$SESS_IO´Â ¼¼¼Çº° I/O Åë°è¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ Ä³½¬¿¡ ÀÖ´Â °´Ã¼ÀÇ ºí·ÏÀ» ¹°¸®ÀûÀ¸·Î Àб⸦ Ç×»ó ±â´ëÇϱ⠶§¹®¿¡, SQL ¹®¿¡ ´ëÇØ
¹°¸®ÀûÀ¸·Î ÀÐÀº ¼ö´Â °´Ã¼¿¡¼ ÀÐÈù ºí·ÏÀÇ ¼ö º¸´Ù Å©°Å³ª °°½À´Ï´Ù.
V$BUFFER_POOL_STATISTICS ÀÇ ¼³¸í
ÀÌ ºä´Â º¹¼ö ¹öÆÛ
ij½¬(¸¸ÀÏ ÇÒ´çµÇ¾ú´Ù¸é)¿¡ ´ëÇÑ Åë°è(¹°¸®Àû ¾²±â, ÀÏ°üµÈ Àбâ, free ¹öÆÛ ´ë±â)¸¦ º¸¿©ÁÝ´Ï´Ù.
¿ |
¼³¸í |
NAME |
¹öÆÛÇ® À̸§ (KEEP, RECYCLE, DEFAULT) |
SET_MSIZE |
Çã°¡µÈ ÃÖ´ë ¹öÆÛ Å©±â |
CNUM_REPL |
replacementÀÇ ÇöÀç ¹öÆÛ ¼ö |
CNUM_WRITE |
¾²±â ¸ñ·ÏÀÇ ÇöÀç ¹öÆÛ ¼ö |
CNUM_SET |
ÀÌ Ç®ÀÇ ÇöÀç ÃÑ ¹öÆÛ ¼ö |
BUF_GOT |
ÀÌ Ç®¿¡ foreground·Î ȹµæµÈ ¹öÆÛ ¼ö |
SUM_WRITE |
DBWR¿¡ ÀÇÇØ ÀÌ Ç®¿¡ ±â·ÏµÈ ¹öÆÛ ¼ö |
SUM_SCAN |
DBWR¿¡ ÀÇÇØ ÀÌ Ç®¿¡ scanµÈ ¹öÆÛ ¼ö |
FREE_BUFFER_WAIT |
ÀÌ Ç®¿¡ ´ëÇØ ±â´Ù¸° free ¹öÆÛ |
WRITE_COMPLETE_WAIT |
ÀÌ Ç®¿¡ ´ëÇÑ ¾²±â ¿Ï·á ´ë±â |
BUFFER_BUSY_WAIT |
ÀÌ Ç®¿¡ ´ëÇÑ ¹öÆÛ »ç¿ëÁß ´ë±â |
FREE_BUFFER_INSPECTED |
ÀÌ Ç®¿¡ ´ëÇØ Á¶»çµÈ free¹öÆÛ ¼ö |
DIRTY_BUFFER_INSPECTED |
ÀÌ Ç®¿¡ ´ëÇØ Á¶»çµÈ ´õƼ ¹öÆÛ ¼ö |
DB_BLOCK_CHANGE
|
ÀÌ Ç®¿¡ ´ëÇÑ º¯°æµÈ ºí·Ï ¼ö |
DB_BLOCK_GETS |
ÀÌ Ç®¿¡ ´ëÇÑ db block gets ¼ö
|
CONSISTENT_GETS |
ÀÌ Ç®¿¡ ´ëÇÑ consistent gets ¼ö
|
PHYSICAL_READS |
ÀÌ Ç®¿¡ ´ëÇÑ ¹°¸®Àû Àбâ
|
PHYSICAL_WRITES |
ÀÌ Ç®¿¡ ´ëÇÑ ¹°¸®Àû ¾²±â |
µæ°ú ½Ç
°¢ °´Ã¼¸¦ ¸Þ¸ð¸®¿¡ À¯ÁöÇÏ´Â °Í¿¡´Â µæ°ú ½ÇÀÌ ÀÖ´Ù´Â °ÍÀ»
¸í½ÉÇϽʽÿÀ. Áï, ºó¹øÇÏ°Ô ¾×¼¼½ºµÇ´Â ºí·ÏÀ» ij½¬¿¡ À¯ÁöÇÏ´Â µ¥¿¡´Â ÀÌÁ¡ÀÌ ÀÖÁö¸¸, ÀÚÁÖ »ç¿ëµÇÁö ¾Ê´Â ºí·ÏÀ» À¯ÁöÇÔÀ¸·Î½á ´Ù¸¥ ´õ È°µ¿ÀûÀÎ
ºí·Ï¿¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °ø°£ÀÌ ÁÙ¾îµç´Ù´Â °ÍÀÔ´Ï´Ù.
µñ¼Å³Ê¸® ºä
ÀÌµé µñ¼Å³Ê¸® ºä´Â ƯÁ¤
°´Ã¼¿¡ ´ëÇÑ µðÆúÆ® ¹öÆÛ Ç®À» ³ªÅ¸³»´Â BUFFER POOL ¿À» °®°í ÀÖ½À´Ï´Ù:
- USER_, DBA_SEGMENTS
- USER_, ALL_, DBA_CLUSTERS
- USER_, ALL_, DBA_INDEXES
- USER_, ALL_, DBA_TABLES
- USER_, ALL_, DBA_OBJECT_TABLES
- USER_, ALL_, DBA_ALL_TABLES
V$BUFFER_POOL ºä´Â ÇÒ´çµÈ ¹öÆÛ Ç®À» ¼³¸íÇÕ´Ï´Ù.
V$BUFFER_POOL ºäÀÇ ¿Àº
´ÙÀ½À» ³ªÅ¸³À´Ï´Ù:
- ¹öÆÛ(¼¼Æ®)¿¡ ÇÒ´çµÈ LRU ·¡Ä¡ÀÇ ¼ö¿Í ¹üÀ§
- ¹öÆÛ¿¡ ÇÒ´çµÈ ºí·ÏÀÇ ¼ö¿Í ¹üÀ§
¹öÆÛ Ä³½¬ ÀûÁßÀ²Àº ¹öÆÛ Ä³½¬ ¼º´ÉÀ» ÃøÁ¤Çϴµ¥ °¡Àå À¯¿ëÇÑ °ªÀÔ´Ï´Ù. ±×·¯³ª, ±× ¿Ü¿¡µµ ´Ù¸¥ ±âŸ ÁöÇ¥µéÀÌ ÀÖ½À´Ï´Ù.
´ë±â Åë°è
free buffer
inspected(¿©À¯ ¹öÆÛ Á¶»çµÊ)¶õ ½Ã½ºÅÛ Åë°è¿¡ ´ëÇÑ °ªÀÌ ³ô°Å³ª Áõ°¡ÇÏ°í ÀÖ´Ù¸é, ¹öÆÛ Ä³½¬ Å©±â¸¦ Áõ°¡½Ãų °ÍÀ» °í·ÁÇØ¾ß ÇÕ´Ï´Ù. ÀÌ
Åë°è´Â ¿©À¯ ¹öÆÛ¸¦ ã±â À§ÇÏ¿© °Ç³Ê¶Ú ¹öÆÛÀÇ ¼öÀÔ´Ï´Ù. ¹öÆÛ°¡ ´õƼÇϰųª °íÁ¤µÇ¾ú±â ¶§¹®¿¡ °Ç³Ê¶Ú °ÍÀÔ´Ï´Ù.
´ë±â À̺¥Æ®
V$SYSTEM_EVENT³ª V$SESSION_WAIT·ÎºÎÅÍ ¹öÆÛ¿¡ ´ëÇÑ ´ë±â ¿©ºÎ¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù.
- ã¾Æ¾ß ÇÒ À̺¥Æ®´Â ¡®buffer busy waits(¹öÆÛ »ç¿ëÁß ´ë±â)¡¯ÀÔ´Ï´Ù. ÀÌ°ÍÀº ÇÁ·Î¼¼½º°¡
¹öÆÛ¸¦ ÀÌ¿ëÇϱâ À§ÇÏ¿© ±â´Ù·Á ¿Ô´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
- °Ë»çÇØ¾ß ÇÒ µÎ ¹ø° À̺¥Æ®´Â ¡®free buffer waits(¿©À¯ ¹öÆÛ ´ë±â)¡¯ÀÔ´Ï´Ù. ÀÌ°ÍÀº
¼¹ö°¡ ¿©À¯¹öÆÛ¸¦ ãÀ» ¼ö ¾ø°Å³ª ´õƼ Å¥°¡ °¡µæ áÀ» ¶§ ¹ß»ýÇÕ´Ï´Ù.
À̺¥Æ®°¡ ¹ß»ýÇÏÁö ¾ÊÀ» °æ¿ì¿¡´Â ´ë±â°¡ ¾ø½À´Ï´Ù.
Å×À̺í ij½³
¼¹ö°¡ Àüü Å×ÀÌºí ½ºÄµÀ» »ç¿ëÇÏ¿© ºí·ÏÀ» °Ë»öÇÒ ¶§, ºí·ÏÀº LRU ¸ñ·ÏÀÇ ÃÖ±Ù¿¡ °¡Àå Àû°Ô »ç¿ëµÈ ³¡(LRU
end)À¸·Î °©´Ï´Ù. ÀÌ ºí·ÏÀº ´ÙÀ½¿¡ ¿©À¯ ºí·ÏÀÌ ÇÊ¿äÇÒ ¶§ »ç¿ëµÉ °ÍÀ̱⠶§¹®¿¡, ´Ù¸¥ ÇÁ·Î¼¼½ºµé¿¡°Ô »ç¿ëµÉ ¼ö ¾ø½À´Ï´Ù. ¸ñ·ÏÀÇ ÃÖ±Ù¿¡
°¡Àå ¸¹ÀÌ »ç¿ëµÈ(MRU) ³¡¿¡ Àüü Å×À̺íÀ» ij½¬ÇÒ °ÍÀ» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½À» ¼öÇàÇϸé ÀÌ È°µ¿À» ¹Ù²Ù°Ô
µË´Ï´Ù:
- CACHE ÀýÀ» »ç¿ëÇÏ¿© Å×ÀÌºí »ý¼º
- CACHE ÀýÀ» »ç¿ëÇÏ¿© Å×ÀÌºí º¯°æ
- ÁúÀÇ¿¡ CACHE ÈùÆ® ÀýÀ» ÄÚµù
ÀÌµé ¹æ¹ý Áß Çϳª¸¦ »ç¿ëÇÒ °æ¿ì, ¿À¶óŬ ¼¹ö´Â Å×ÀÌºí ºí·ÏÀ» LRU ¸ñ·ÏÀÇ ÃÖ±Ù¿¡ °¡Àå ¸¹ÀÌ
»ç¿ëµÈ ³¡¿¡ ³õ½À´Ï´Ù. ¸¹Àº »ç¿ëÀÚ°¡ »ç¿ëÇÏ´Â ÀÛÀº ·è¾÷ Å×À̺íÀ» »ý¼ºÇÒ ¶§¿¡´Â CACHE ÀýÀ» »ç¿ëÇϽʽÿÀ. ij½¬µÈ Å×À̺íÀÌ ³Ê¹« ¸¹À» °æ¿ì,
¹öÆÛ Ä³½¬°¡ ³Ê¹« È¥ÀâÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù.
ij½¬µÈ ºí·Ï Á¦ÇÑ
CACHE_SIZE_THRESHOLD ÆĶó¹ÌÅÍ´Â °¢ Å×ÀÌºí¿¡ ´ëÇØ Ä³½¬µÈ ºí·ÏÀÇ ¼ö¸¦ Á¦ÇÑÇÕ´Ï´Ù. ¿¹¸¦ µé¾î,
CACHE_SIZE_THRESHOLD¸¦ 5·Î ¼³Á¤ÇÏ°í Å×À̺íÀÌ 10°³ÀÇ ºí·ÏÀ» º¹»çÇÑ´Ù¸é, ´ÜÁö óÀ½ 5°³ÀÇ ºí·Ï¸¸ ij½¬µË´Ï´Ù. µðÆúÆ®´Â
DB_BLOCK_BUFFERSÀÇ 10ºÐÀÇ 1ÀÔ´Ï´Ù.
¹®¸Æ |
ÂüÁ¶ |
ÃʱâÈ ÆĶó¹ÌÅÍ |
DB_BLOCK_SIZE DB_BLOCK_BUFFERS DB_BLOCK_LRU_LATCHES BUFFER_POOL_KEEP BUFFER_POOL_RECYCLE DB_BLOCK_LRU_STATISTICS DB_BLOCK_LRU_EXTENDED_STATISTICS |
µ¿ÀûÀÎ ¼º´É ºä |
V$BUFFER_POOL V$BUFFER_POOL_STATISTICS V$CACHE V$SYSSTAT V$SESSTAT V$SESS_IO V$SYSTEM_EVENT V$SESSION_WAIT V$RECENT_BUCKET V$CURRENT_BUCKET |
µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä |
USER_, DBA_SEGMENTS USER_, ALL_,
DBA_CLUSTERS USER_, ALL_, DBA_INDEXES USER_, ALL_, DBA_TABLES USER_,
ALL_, DBA_OBJECT_TABLES USER_, ALL_, DBA_ALL_TABLE |
¸í·É¾î |
ALTER/CREATE INDEX/TABLE/CLUSTER |
ÆÐÅ°ÁöµÈ ÇÁ·Î½ÃÀú ¹× ÇÔ¼ö |
None |
½ºÅ©¸³Æ® |
catparr.sql, catperf.sql |
Áø´Ü ÆÑ ¾ÖÇø®ÄÉÀÌ¼Ç |
Performance Manager |
O
X
Á¤´ä:A
O
X
Á¤´ä:A
X
Á¤´ä:A
X
Á¤´ä:CD
O
O
O