µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÇÏ´Â ¸ðµç »ç¿ëÀÚµéÀÌ °øÀ¯ÇÏ´Â ¿µ¿ªÀ̸ç, ±âº»ÀûÀ¸·Î ¿À¶óŬ µ¥ÀÌÅͺ£À̽º ¼¹ö´Â ÇϳªÀÇ SGA ¿µ¿ªÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
SGAÀÇ Çʼö ¿µ¿ªÀº Shared pool, Database Buffer Cache, Redo log bufferÀÇ ¼¼ ºÎºÐÀ¸·Î ±¸¼ºµÇ¸ç, Ãß°¡ÀûÀ¸·Î Java Pool, large PoolÀ» À§Ä¡½Ãų ¼öµµ ÀÖ´Ù.
| DATABASE BUFFER CACHEÀÇ ±¸¼º |
• Data block
ã°íÀÚ ÇÏ´Â µ¥ÀÌÅͰ¡ database buffer cche¿¡ ÀÖÁö ¾ÊÀ¸¸é SERVER process´Â DATA file¿¡¼ ÇÊ¿äÇÑ ºÎºÐÀ» ã¾Æ¼ BLOCK ´ÜÀ§·Î database buffer cache·Î ÀÐ¾î ¿Â´Ù. »ç¿ëÀÚ°¡ ¿ä±¸ÇÑ BLOCKÀ» ¼öÁ¤Çϸé cacheÀÇ data BLOCKÀÌ º¯°æµÈ´Ù. »õ·Î¿î µ¥ÀÌÅÍ´Â º¯°æµÈ ÈÄÀÇ µ¥ÀÌÅÍ °ªÀ» °¡Áö°í ¸Þ¸ð¸® »ó¿¡ ÀÖ´Â »óÅÂÀ̱⠶§¹®¿¡ after image¶ó ÇÑ´Ù.
• undo block
¿À¶óŬÀº undo block¿¡ µ¥ÀÌÅÍÀÇ ¿øº» ¹öÀüÀ» ÀúÀåÇÑ´Ù.
¼öÁ¤Çϱâ ÀüÀÇ µ¥ÀÌÅ͸¦ ÀúÀåÇϰí Àֱ⠶§¹®¿¡ before image¶ó ÇÑ´Ù. º¯°æµÈ »çÇ×À» µ¥ÀÌÅͺ£À̽º¿¡ commitÇϱâ Àü¿¡ º¯°æÀ» Ãë¼ÒÇϸé undo blockÀÇ Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© Æ®·£Á§¼ÇÀ» ¿ø·¡ »óÅ·ΠµÇµ¹¸± ¼ö ÀÖ´Ù.
ã°íÀÚ ÇÏ´Â µ¥ÀÌÅ͸¦ database buffer cache¿¡¼ ã´À³Ä¿¡ µû¶ó ¼º´ÉÀÇ Â÷À̰¡ ¹ß»ýÇÑ´Ù.
´ÙÀ½°ú °°ÀÌ µÎ °¡Áö·Î ³ª´©¾î »ý°¢ÇÒ ¼ö ÀÖ´Ù.
| data °Ë»ö°á°ú | ¼º´É |
|---|---|
| database buffer cache¿¡ ÀÖ´Â °æ¿ì | ¸Þ¸ð¸®¿¡¼ Á÷Á¢ ÀÐ°Ô µÇ¹Ç·Î ¼Óµµ°¡ ºü¸§ À̰ÍÀ» Logical read ¶Ç´Â Cache hit¶ó°í ÇÑ´Ù. |
| database buffer cache¿¡ ¾ø´Â °æ¿ì | µð½ºÅ©ÀÇ data file·ÎºÎÅÍ database buffer cache·Î º¹»çÇØ¾ß ÇϹǷΠ¼Óµµ°¡ ´À¸² À̰ÍÀ» Physical read ¶Ç´Â Cache Miss¶ó°í ÇÑ´Ù. |
cache miss°¡ ¹ß»ý½Ã server process´Â LRU list¿¡¼ free buffer¸¦ ã±â À§ÇÏ¿© ´ÙÀ½°ú °°Àº °úÁ¤À» °ÅÄ£´Ù.
1. MRU END¿¡¼ LRU ENDÂÊÀ¸·Î Ž»ö 2. Dirty buffer¸¦ ¹ß°ßÇϸé dirty list·Î À̵¿ 3. Free buffer¸¦ ¹ß°ßÇÏ¸é ¸ØÃã 4. ÀÏÁ¤ ¼ö¸¸Å ã´Ù°¡ ¸ø ãÀ¸¸é DBWRÀ» ½ÃÄÑ dirty list¸¦ ºñ¿î ÈÄ free buffer·Î ¸¸µë
| DATABASE BUFFER CACHEÀÇ Å©±â |
| DEFAULT |
| KEEP |
| RECYCLE |
°¢ ¿µ¿ªµéÀÇ Å©±â´Â µ¿ÀûÀ¸·Î º¯°æÀÌ °¡´ÉÇϸç, ÆÄ¶ó¹ÌÅ͵éÀº ´ÙÀ½°ú °°´Ù.
| parameter | ¼³¸í |
|---|---|
| DB_CACHE_SIZE | DEFAULT ¿µ¿ªÀÇ Å©±â¸¦ °áÁ¤Çϸç Ç×»ó Á¸ÀçÇϸç, 0ÀÌ µÉ ¼ö ¾ø´Ù. |
| DB_KEEP_CACHE_SIZE | KEEP ¿µ¿ªÀÇ Å©±â¸¦ °áÁ¤Çϸç, Àç»ç¿ëµÉ °¡´É¼ºÀÌ Å« BLOCKµéÀ» LRU ¾Ë°í¸®ÁòÀÇ ¿µÇâÀ» ¹ÞÁö ¾Ê°í ¸Þ¸ð¸®¿¡ ÀúÀåÇϱâ À§ÇØ »ç¿ë |
| DB_RECYCLE_CACHE_SIZE | RECYCLE ¿µ¿ªÀÇ Å©±â¸¦ °áÁ¤Çϸç, Àç»ç¿ëµÉ °¡´É¼ºÀÌ Èñ¹ÚÇÑ BLOCKµéÀ» ¸Þ¸ð¸®·ÎºÎÅÍ Á¦°ÅÇϱâ À§ÇØ »ç¿ë |
database buffer cacheÀÇ Å©±â´Â À§ÀÇ 3°¡Áö ÆÄ¶ó¹ÌÅÍ °ªÀÇ ÇÕÀ¸·Î °áÁ¤µÈ´Ù. database buffer cache³»ÀÇ ±âº» BLOCKÀÇ Å©±â´Â parameter fileÀÇ db_block_size·Î ÁöÁ¤ÇÑ´Ù.
SQL> show parameter db_block_size; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_block_size integer 8192 SQL>ÀÌ È¯°æ º¯¼ö´Â initSID¸í.ora¿¡¼ ÁöÁ¤Çϸç, À̸¦ »ç¿ëÀÚ°¡ ÀûÀýÈ÷ ¼öÁ¤ÇÒ ¼ö ÀÖ´Â ¾Æ½ºÅ° ÆÄÀÏ Çü½ÄÀÌ´Ù.
º¸Åë data BLOCKÀÇ Å©±â´Â OSÀÇ BLOCKÀÇ ¹è¼ö·Î °áÁ¤ÇÑ´Ù. ±âº» BLOCKÀÇ Å©±â´Â µ¥ÀÌÅͺ£À̽º »ý¼º½Ã¿¡ °áÁ¤µÇ¸é »ý¼º ÀÌÈÄ º¯°æÇÒ ¼ö ¾ø´Ù.
| LRU list¿Í DIRTY list |
¸ÕÀú LRU ¾Ë°í¸®ÁòÀÌ »ç¿ëµÇ´Â LRU list¿¡ ´ëÇØ »ìÆìº¸ÀÚ.
LRU listµµ 3°¡ÁöÀÇ data buffer·Î ³ª´©¾î ±¸¼ºµÈ´Ù.
| dirty buffer | º¯°æÀÌ ¹ß»ýÇÑ buffer |
| free buffer | º¯°æÀÌ ¹ß»ýÇÏÁö ¾ÊÀº ºñ¾î ÀÖ´Â buffer |
| pinned buffer | ÇöÀç server process¿¡ ÀÇÇØ º¯°æÁßÀÎ buffer |
°¡Àå ±ú²ýÇÑ ¹öÆÛ°¡ free bufferÀε¥, SERVER process¿¡ ÀÇÇØ µ¥ÀÌÅͰ¡ ±â·ÏµÇ°í ¿ÏÀüÈ÷ º¯°æµÇ¸é DIRTY buffer·Î ¹Ù²ï´Ù. DIRTY buffer´Â »õ·Î¿î µ¥ÀÌÅÍ °ªÀ¸·Î º¯°æÀº µÇ¾úÀ¸³ª data file¿¡ ÀúÀåµÇÁö ¾ÊÀº »óÅÂÀÌ´Ù.
LRU ¾Ë°í¸®Áò¿¡ ÀÇÇØ °ü¸®µÇ¾î ÃÖ±Ù¿¡ »ç¿ëµÇ¾ú´ø ¹öÆÛ´Â MRU(most recently used)ÂÊÀ¸·Î À̵¿ÇÏ°í ¿À·¡µÉ ¼ö·Ï LRU-ENDÂÊ¿¡ ³²°ÔµÈ´Ù.
ÀÌÈÄ DIRTY buffer¸¸ µû·Î ¸ð¾Æ¼ µð½ºÅ©¿¡ ±â·ÏÇØ¾ß Çϴµ¥, DIRTY buffer¸¸ µû·Î ¸ð¾Æ³õÀº list°¡ DIRTY listÀÌ´Ù.
DIRTY list¿¡ DIRTY buffer°¡ ²Ë Â÷°ÔµÇ¸é DBWRÀ̶ó´Â BACKGROUND process¿¡ ÀÇÇÏ¿© data file¿¡ ±â·ÏµÇ¾î Áø´Ù.
| BUFFER CACHE advisory |
| value | remark |
|---|---|
| ON | buffer cache advisry Ȱ¼ºÈ |
| OFF | Ȱ¼ºÈµÈ buffer cache advisry¸¦ ºñȰ¼ºÈ |
| READY | buffer cache advisry¸¦ ½ÇÁ¦ Ȱ¼ºÈÇÏÁö ¾Ê°í »ç¿ëÇÒ ¸Þ¸ð¸®¸¸ ¿¹¾à |
buffer cache advisory°¡ Ȱ¼ºÇϵǸé CPU¿Í ¸Þ¸ð¸®¿¡ ¸¹Àº ºÎÇϰ¡ °É¸®°Ô µÇ¸ç, À̶§ advisory¸¦ ¼öÇàÇÒ ÃæºÐÇÑ ¸Þ¸ð¸®°¡ È®º¸µÇÁö ¾ÊÀ¸¸é ¿À¶óŬ ½Ã½ºÅÛÀº ¸Þ¸ð¸® ºÎÁ· ¿¡·¯¸¦ ¹ß»ý½Ã۴µ¥, À̸¦ ¹æÁöÇϱâ À§ÇÏ¿© µ¥ÀÌÅͺ£À̽º¸¦ STARTUPÇÑ Á÷ÈÄ advisory¸¦ ¿ì¼± READY»óÅ·Π±âµ¿ÇÏ¿© ÃæºÐÇÑ ¸Þ¸ð¸®¸¦ È®º¸ÇÑ ´ÙÀ½¿¡ ÇÊ¿ä½Ã ÇÒ¼ºÈÇÏ´À °ÍÀÌ ÁÁ´Ù.
| Á¤º¸Á¶È¸ |
| v$db_cache_advice | buffer cache advisory¿¡ ÀÇÇØ ¼öÁýµÈ Á¤º¸ Á¶È¸ |