|
Tuning Oracle8 on LINUX
1.ÃÖÀûÈÀÇ Á߿伺 (The Importance of Tuning)
Oracle8Àº »ó´çÈ÷ ÃÖÀûȵǾî ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î Á¦Ç°ÀÌ´Ù. Á¾Á¾ Æ©´×À» ÅëÇØ ½Ã½ºÅÛ ÆÛÆ÷¸Õ½º¸¦ ÃÖÀûÈ ÇÏ°í ÀÚ·á º´¸ñÇö»óÀ» ¸·¾Æ¾ß ÇÑ´Ù. ºñ·Ï ÀÌ Àå¿¡¼´Â ´ÜÀÏ ÇÁ·Î¼¼¼ (single-processor) ½Ã½ºÅÛÀ» ±âÁØÀ¸·Î ±â¼úµÇ¾î ÀÖÁö¸¸, ¿À¶óŬÀÇ º´·Ä ¿É¼ÇÀ» ÀÌ¿ëÇÏ´Â ½Ã½ºÅÛ¿¡ °üÇÑ ´ëºÎºÐÀÇ ÆÛÆ÷¸Õ½º Æ©´× ÆÁµµ ¿©±â¼ Á¦°øµÈ´Ù.
2. ½Ã½ºÅÛÀ» Æ©´×Çϱâ Àü¿¡ (Before Tuning the System)
½Ã½ºÅÛÀ» Æ©´×Çϱâ Àü¿¡, ´ÙÀ½ÀåÀÇ "LINUX Tools"¿¡ ±â¼úµÈ ¸®´ª½º ÅøÀÇ Á¤»óÀûÀÎ µ¿ÀÛ¹ýÀ» ÀÍÇô µÎ¾î¾ß ÇÑ´Ù.
See Also:
Oracle8 º´·Ä ¼¹ö °³³ä°ú °ü¸® (Oracle8 Parallel Server Concepts and Administration).
Oracle8 Tuning.
3. LINUX Tools
¸®´ª½º´Â µ¥¾îÅͺ£À̽º Á¢±ÙÀÇ ÆÛÆ÷¸Õ½º¸¦ °üÂûÇÏ°í ¿ä±¸µÇ´Â µ¥¾îÅͺ£À̽º¸¦ °áÁ¤ÇÏ´Â µîÀÇ ÆÛÆ÷¸Õ½º ¸ð´ÏÅ͸µ ÅøÀ» Á¦°øÇÑ´Ù.
oracle processµéÀÇ Åë°Ô¸¦ Á¦°øÇÒ »Ó¸¸¾Æ´Ï¶ó, À̵éÀº CPU ÀÌ¿ë·ü, ÀÎÅÍ·´Æ®, ½º¿ÍÇÎ, ÆäÀÌ¡, ±×¸®°í Àüü ½Ã½ºÅÛÀ» À§ÇÑ context switching µî¿¡ ´ëÇÑ Åë°èµµ Á¦°øÇÑ´Ù.
See Also:
¸®´ª½º ÅçµéÀº ¿î¿µÃ¼°è ¹®¼¿¡ ±â¼úµÇ¾î ÀÖ´Ù.
4. vmstat
vmstat À¯Æ¿¸®Æ¼´Â ¸®´ª½º »ó¿¡¼ process, virtual memory, disk, paging, CPU È°µ¿µµ µîÀ» ¾Ë·ÁÁØ´Ù. ´ÙÀ½ ¹®ÀåÀº ½Ã½ºÅÛ È°µ¿µµ¿¡ ´ëÇÑ ¿ä¾àÀ» 5ÃÊ °£°ÝÀ¸·Î 8¹ø º¸¿© ÁØ´Ù:
% vmstat -n 5 8
vmstat ¸í·ÉÀÇ ¿¹Á¦ Ãâ°ÝÀÌ ´ÙÀ½ Figure 3-1¿¡ º¸¿©ÁÖ°í ÀÖ´Ù.
w column (procs ¾Æ·¡ÀÇ)Àº swap out(µð½ºÅ©·Î ¾²¿©Áø) µÇ¾îÁ® ³ª°£ ÇÁ·Î¼¼½ºÀÇ ¼ö¸¦ ÀǹÌÇÑ´Ù. ¸¸¾à °ªÀÌ 0ÀÌ ¾Æ´Ï¶ó¸é, ½º¿ÍÇÎÀÌ ÀÏ¾î ³µ´Ù´Â °ÍÀ» ÀǹÌÇÏ¿© ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀº ¸Þ¸ð¸® ºÎÁ·ÀÌ ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. si¿Í so columnsÀº °¢°¢ ÃÊ´ç swap-ins°ú swap-outsÀÇ ¼ö¸¦ Ç¥½ÃÇÑ´Ù. Swap-outsÀº °ÅÀÇ Ç×»ó 0ÀÏ °ÍÀÌ´Ù.
Figure 3-1 Output from the vmstat -n command
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 16124 964 524 29904 2 14 13 21 208 3 9 4 87
1 0 0 16124 648 524 30140 0 0 1 0 806 1763 5 8 87
1 0 0 16124 608 524 29904 0 0 0 0 856 1894 5 7 87
0 0 0 16124 612 524 29624 0 0 0 5 734 1586 5 8 88
2 0 0 16124 1656 520 28296 0 0 221 0 687 1395 14 10 77
0 0 0 16124 840 520 29060 0 0 38 0 621 1287 3 4 93
0 0 0 16124 856 520 29196 0 0 0 0 647 1395 4 6 91
1 0 0 16124 708 520 29288 0 0 1 0 618 1287 3 4 93
free
free utility´Â ½º¿Ò °ø°£ ÀÌ¿ë·ü¿¡ °üÇØ ¾Ë·ÁÁØ´Ù. ½º¿Ò°ø°£ÀÌ ¸ðÀÚ¶ö °æ¿ì ½Ã½ºÅÛÀÌ ÁߴܵǴøÁö ÀÀ´ä½Ã°£ÀÌ ´À·ÁÁö°Ô µÈ´Ù.
SQL Scripts
utlbstat ¿Í utlestat SQL Scripts
utlbstat ¿Í utlestat SQL scripts´Â ¿À¶óŬ µ¥ÀÌÅͺ£À̽º ÆÛÆ÷¸Õ½º¿Í, Shared Global Area (SGA) ÀڷᱸÁ¶¸¦ ¸ð´ÏÅÍ Çϴµ¥ ÀÌ¿ëµÇ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ÀÌ ½ºÅ©¸³Æ®¿¡ °üÇÑ Á¤º¸´Â Oracle8 Server Tuning¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù. ¸®´ª½º»ó¿¡¼, ÀÌ ½ºÅ©¸³Æ®´Â $ORACLE_HOME/rdbms/admin/¿¡ À§Ä¡ÇØ ÀÖ´Ù.
4. ¸Þ¸ð¸® °ü¸® Æ©´×Çϱâ (Tuning Memory Management)
¾ó¸¶³ª ¸¹Àº ¸Þ¸ð¸® °ø°£ÀÌ ÇÊ¿äÇÑÁö °áÁ¤Çϱâ À§Çؼ ½º¿ÍÇΰú ÆäÀÌ¡ °ø°£À» Æ©´×ÇÏ´Â °ÍÀ¸·Î ¸Þ¸ð¸® Æ©´×°úÁ¤À» ½ÃÀÛÇÑ´Ù.
¿À¶óŬ buffer manager´Â Á»´õ ÀÚÁÖ Á¢±ÙÇÏ´Â ÀÚ·á°¡ Á»´õ ¿À·§µ¿¾È ij½Ã µÇ¾î ÀÖµµ·Ï µÇ¾î ÀÖ´Ù. Buffer manager¿Í buffer cache¸¦ ¸ð´ÏÅ͸µ ÇÏ´Â °ÍÀº ¿À¶óŬ ÆÛÆ÷¸Õ½º¿¡ »ó´çÇÑ ¿µÇâÀ» ¹ÌÄ£´Ù. ¿©·¯ºÐµéÀÇ ½Ã½ºÅÛ¿¡¼ ÀûÀýÇÑ ¿À¶óŬ ¹öÆÛ »çÀÌÁî´Â Àü¹ÝÀûÀÎ ½Ã½ºÅÛÀÇ ºÎÇÏ¿Í ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥µé¿¡ ´ëÇÑ ¿À¶óŬÀÇ »ó´ëÀûÀÎ ¿ì¼±¼øÀ§ÀÇ Á¤µµ¿¡ ´Þ·Á ÀÖ´Ù.
ÃæºÐÇÑ ½º¿Ò °ø°£À» ÇÒ´çÇ϶ó
½º¿ÍÇÎÀº ¸®´ª½º¿¡¼ »ó´çÇÑ overheadÀÇ ¿øÀÎÀÌ µÇ±â ¶§¹®¿¡ ÃÖ¼ÒÈ ½ÃÄÑ¾ß ÇÑ´Ù. ½º¿ÍÇÎÀ» Á¡°ËÇϱâ À§ÇÏ¿© ´ÙÀ½ À¯Æ¿¸®Æ¼µéÀ» ÀÌ¿ëÇÑ´Ù.
free ¶Ç´Â vmstat -n
¸¸¾à ¿©·¯ºÐµéÀÇ ½Ã½ºÅÛÀÌ ½º¿ÍÇÎÀÌ ÀϾ°í ¸Þ¸ð¸®¸¦ À¯ÁöÇÒ ÇÊ¿ä°¡ ÀÖ´Ù¸é:
ºÒÇÊ¿äÇÑ ½Ã½ºÅÛ µ¥¸ó ÇÁ·Î¼¼½º ÀÀ¿ëÇÁ·Î¼¼½º µîÀ» ½ÇÇà½ÃÅ°Áö ¸¶¶ó.
¾î´ÀÁ¤µµ ºó ¸Þ¸ð¸®¸¦ È®º¸Çϱâ À§ÇÏ¿© µ¥ÀÌÅͺ£À̽º ¹öÆÛ Å©±â¸¦ ÁÙ¿©¶ó.
¸®´ª½º ÆÄÀÏ ¹öÆÛÀÇ ¼ö¸¦ ÁÙ¿©¶ó. ƯÈ÷ raw ÀåÄ¡¸¦ ÀÌ¿ëÇÏ°í ÀÖ´Ù¸é.
½º¿Ò°ø°£À» Ãß°¡ÇÏ´Â °ÍÀº ±¸ÇöµÈ ¸®´ª½º¿¡ µû¶ó Á¶±Ý¾¿ ´Ù¸£´Ù. ¸®´ª½º»ó¿¡¼ ¾ó¸¶³ª ¸¹Àº ½º¿Ò °ø°£ÀÌ ÇöÀç ³²¾Æ ÀÖ´ÂÁö¸¦ °áÁ¤ÇÏ·Á¸é free À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇÑ´Ù. º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Â ¸®´ª½º ¹®¼¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
½º¿Ò°ø°£ÀÇ Å©±â´Â ¿©·¯ºÐµéÀÇ RAM ¸Þ¸ð¸®ÀÇ 2-4¹è·Î ½ÃÀÛÇ϶ó. CASE, ¿À¶óŬ ÀÀ¿ë ÇÁ·Î±×·¥ ¶Ç´Â ¿À¶óŬ ¿ÀÇǽº¸¦ ÀÌ¿ëÇÏ·Á¸é Á»´õ ¸¹Àº °ø°£À» ÇÊ¿ä·Î ÇÑ´Ù. ½º¿Ò°ø°£ÀÇ »ç¿ëÀ» ¸ð´ÏÅÍ ÇÏ´Ù°¡ ÇÊ¿äÇÏ´Ù¸é ½º¿Ò°ø°£À» Áõ°¡½ÃÅ°µµ·Ï ÇÑ´Ù.
Control Paging
ÇÁ·Î±×·¥ÀÌ ½ÇÇàÇϱâ À§Çؼ Àüü ÇÁ·Î±×·¥ÀÌ ¸ðµÎ ´Ù ¸Þ¸ð¸®¿¡ »óÁÖÇÏÁö´Â ¾Ê±â ¶§¹®¿¡, ÆäÀÌ¡(Paging)Àº ½º¿ÍÇθ¸Å ½É°¢ÇÑ ¹®Á¦·Î ³ªÅ¸³ªÁö´Â ¾Ê´Â´Ù. ¾à°£ÀÇ page-outsÀº ¿©·¯ºÐµéÀÇ ½Ã½ºÅÛ ÆÛÆ÷¸Õ½º¿¡ À¯ÀÇÇÏ°Ô ¿µÇâÀ» ¹ÌÄ¡Áö´Â ¾Ê´Â´Ù.
°ú´ÙÇÑ ÆäÀÌ¡À» ¹ß°ßÇϱâ À§Çؼ, ¹ÝÀÀ¼Óµµ°¡ ºü¸¦¶§ measurements¸¦ ½ÇÇà½ÃÄÑ µÎ¾ú´Ù°¡ ¹ÝÀÀ¼Óµµ°¡ ´À·Á Á³À» ¶§¿Í ºñ±³Çϵµ·Ï ÇÑ´Ù.
ÆäÀÌ¡À» ¸ð´ÏÅÍÇϱâ À§Çؼ vmstat ¶Ç´Â free¸¦ ÀÌ¿ëÇϵµ·Ï Ç϶ó. vmstat Ãâ·Â Áß ´ÙÀ½ Ä÷³Àº Áß¿äÇÏ´Ù:
vflt/s´Â page fault°¡ ³ªÅ¸³ ÁÖ¼Òº¯È¯ÀÇ ¼ö¸¦ °¡¸£Å²´Ù. Address translation faults´Â ÇÁ·Î¼¼½º°¡ ÂüÁ¶ÇÏ°íÀÚ ÇÏ´Â ÁÖ¼ÒÆäÀÌÁö°¡ ¸Þ¸ð¸® ³»¿¡ ÀÖÁö ¾ÊÀ» ¶§ ¹ß»ýÇÑ´Ù.
rclm/s´Â page-out activity¿¡ ÀÇÇØ free list¿¡ Ãß°¡µÇ°í °³Á¤µÈ À¯È¿ÇÑ ÆäÀÌÁö¸¦ ¸»ÇÑ´Ù. ÀÌ °ªÀº ´ëü·Î 0ÀÌ µÈ´Ù.
¸¸¾à ¿©·¯ºÐµéÀÇ ½Ã½ºÅÛÀÌ ³Ê¹« ¸¹Àº page-out activity¸¦ º¸À̸é, ´ÙÀ½°ú °°Àº ÇØ°á¹ýÀ» »ý°¢ÇØ º¸¶ó:
¸Þ¸ð¸®¸¦ Áõ¼³Ç϶ó.
ÀϺΠÀÛ¾÷À» ´Ù¸¥ ½Ã½ºÅÛÀ¸·Î À̵¿Ç϶ó.
¿©·¯ºÐµéÀÇ Ä¿³ÎÀ» ¸Þ¸ð¸®¸¦ Àû°Ô »ç¿ëÇϵµ·Ï ¼³Á¤Ç϶ó.
SGA¸¦ ´ÜÀÏ °øÀ¯¸Þ¸ð¸® ¼¼±×¸ÕÆ®³»¿¡ À¯ÁöÇ϶ó.
ºñ·Ï ÆÛÆ÷¸Õ½º»óÀÇ À̵æÀº ¹Ì¹ÌÇÏÁö¸¸, ÃæºÐÇÑ °øÀ¯¸Þ¸ð¸®¸¦ È®º¸Çϵµ·Ï ¼³Á¤ÇÏÁö ¾Ê°í¼´Â µ¥ÀÌÅͺ£À̽º¸¦ ½ÃÀÛÇÒ ¼ö ¾ø´Ù.
¿©·¯ºÐµéÀº ¸®´ª½º Ä¿³ÎÀÇ °øÀ¯¸Þ¸ð¸®¸¦ Áõ°¡½ÃÅ°µµ·Ï ´Ù½Ã Àç¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. °øÀ¯¸Þ¸ð¸®¸¦ À§ÇÑ ¸®´ª½º Ä¿³Î ÀÎÀÚ´Â SHMMAX, SHMMNI, ±×¸®°í SHMSEGÀÌ´Ù. SGA°¡ ´ÜÀÏ °øÀ¯¸Þ¸ð¸® ¼¼±×¸ÕÆ®³»¿¡ »óÁÖÇϵµ·Ï ÇÏ·Á¸é SHMAX¸¦ 4294967295 (4 GB)·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù.
SGAÀÇ Å©±â´Â ´ÙÀ½°ú °°Àº ´Ü°è¸¦ °ÅÃļ ÃøÁ¤ÇÒ¼ö ÀÖ´Ù:
DB_BLOCK_BUFFERS °ú DB_BLOCK_SIZE¸¦ °öÇ϶ó.
Step 1ÀÇ °á°ú¸¦ SORT_AREA_SIZE¿¡ ´õÇ϶ó.
Step 2ÀÇ °á°ú¸¦ SHARED_POOL_SIZE¿¡ ´õÇ϶ó.
Step 3ÀÇ °á°ú¸¦ LOG_BUFFER¿¡ ´õÇ϶ó.
°øÀ¯¸Þ¸ð¸®ÀÇ »óŸ¦ ¸ð´ÏÅ͸µÇϱâ À§ÇÏ¿© ¸®´ª½º À¯Æ¿¸®Æ¼ÀÎ ipcs¸¦ ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù.
ÂüÁ¶ :
Oracle8 Installation Guide for LINUXÀÇ chapter 2¿¡ ÀÖ´Â "¿À¶óŬÀ» À§ÇÑ ¸®´ª½º Ä¿³ÎÀÇ ¼³Á¤".
5. µð½ºÅ© ÀÔÃâ·Â Æ©´×Çϱâ (Tuning Disk I/O)
I/O º´¸ñÇö»óÀº °¡Àå ½±°Ô ãÀ»¼ö ÀÖ´Â ½ÇÇà»óÀÇ ¹®Á¦Á¡ÀÌ´Ù. ±ÕÇüÀâÈù I/O´Â °á±¹ Àüü ¸ðµç ÀÌ¿ë°¡´ÉÇÑ µð½ºÅ©»ó¿¡¼ µð½ºÅ© Á¢±Ù ½Ã°£À» ÁÙÀÌ´Â °ÍÀÌ´Ù. ÀÛÀº µ¥ÀÌÅͺ£À̽º¿Í º´·Ä ÁúÀÇ ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾Ê´Â °÷¿¡¼´Â, µ¥ÀÌŸ ÆÄÀÏÀÌ ´Ù¸¦ °æ¿ì Å×ÀÌºí½ºÆäÀ̽º°¡ ÀÌ¿ë°¡´ÉÇÑ µð½ºÅ© °ø°£³»¿¡ ºÐ»êµÇ¾î ÀÖ´ÂÁö È®ÀÎÇϵµ·Ï ÇÑ´Ù.
¾²±â ´ë¿ªÆøÀ» ³ÐÈ÷±â À§ÇØ µ¥ÀÌÅͺ£À̽º Writer¸¦ Æ©´×Ç϶ó.
¿À¶óŬÀº database writer (DBWR)°¡ º´¸ñÇö»óÀ» °¡ÁöÁö ¾Êµµ·Ï ÇعýÀ» ¿ä±¸ÇÑ´Ù:
ºñµ¿±â ÀÔÃâ·Â(asynchronous I/O)À» ÀÌ¿ëÇ϶ó.
I/O slaves¸¦ ÀÌ¿ëÇ϶ó.
ºñµ¿±âÀû ÀÔÃâ·Â (Asynchronous I/O)
ºñµ¿±â ÀÔÃâ·Â (Asynchronous I/O)Àº ÇÁ·Î¼¼½ºµéÀÌ ¾²±â¸¦ ÇÏ°í ³ÈÄ ±â´Ù¸®Áö ¾Ê°í ¹Ù·Î ´ÙÀ½ ÀÛ¾÷À¸·Î ÁøÇàÇϵµ·Ï ÇØÁØ´Ù. ±×·¸±â ¶§¹®¿¡ ½Ã½ºÅÛ ÆÛÆ÷¸Õ½º¸¦ ³ôÀÌ°í idle timeÀ» ÁÙÀϼö ÀÖ°Ô ÇØ ÁØ´Ù. Solaris´Â Àú¼öÁØ (raw) ¶Ç´Â ÆÄÀÏ ½Ã½ºÅÛ (filesystem) µ¥ÀÌÅÍ ÆÄÀÏ µÑ´Ù¿¡ ´ëÇÑ ºñµ¿±â ÀÔÃâ·ÂÀ» Áö¿øÇØ ÁØ´Ù.
I/O Slaves
I/O Slaves´Â ±â´ÉÀÌ ÀÔÃâ·Â¸¸À» ¼öÇàÇÏ´Â ¾ÆÁÖ Æ¯ÀÌÈ µÇ¾î ÀÖ´Â ÇÁ·Î¼¼½ºÀÌ´Ù. Oracle8¿¡¼´Â óÀ½ µîÀåÇÏ´Â °ÍÀ̸ç, ´ÙÁß DBWRs (´Ù¸¥ ÇÁ·Î¼¼½ºµé »Ó¸¸ ¾Æ´Ï¶ó)¸¦ ´ëÄ¡ÇÒ¼ö ÀÖ´Ù. (»ç½Ç multiple DBWRsÀÇ ÀϹÝÀûÀÎ ÇüÅÂÀ̸ç, ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ÀÇÇؼ ÀÌ¿ëµÉ ¼öµµ ÀÖ´Ù) ±×¸®°í ºñµ¿±â ÀÔÃâ·ÂÀÌ ÀÌ¿ëÇÒ¼ö ÀÖµçÁö ¾øµçÁö°£¿¡ ÀÛµ¿ÇÑ´Ù. I/O Slaves´Â ±×µéÀÌ ¿î¿µÇÏ´Â Áß¿¡ Á¶ÀýÀ» Çã¿ëÇÏ´Â ÃʱâÈ ÀÎÀÚ¸¦ Á¦°øÇÑ´Ù. ±×µéÀº Table 3-1¿¡ ±â¼úµÇ¾î ÀÖ´Ù.
Table 3-1 I/O Slaves¸¦ À§ÇÑ ÃʱâÈ ÀÎÀÚ
Parameter Range of Values Default Value
DISK_ASYNCH_IO
TRUE/FALSE
TRUE
TAPE_ASYNCH_IO
TRUE/FALSE
TRUE
BACKUP_DISK_IO_SLAVES
TRUE/FALSE
FALSE
BACKUP_TAPE_IO_SLAVES
TRUE/FALSE
FALSE
DBWR_IO_SLAVES
0 - 999
0
LGWR_IO_SLAVES
0 - 999
0
ARCH_IO_SLAVES
0 - 999
0
DB_WRITER_PROCESSES
1-10
1
ºñµ¿±â ÀÔÃâ·ÂÀÌ ÇÊ¿äÇÏÁö ¾ÊµçÁö ¶Ç´Â ºÒ°¡´ÉÇÒ °æ¿ì°¡ ÀÖ´Ù. Table 3-1¿¡ Àִ óÀ½ µÎ°³ÀÇ ÀÎÀÚ, DISK_ASYNCH_IO ¿Í TAPE_ASYNCH_IOÀº µð½ºÅ©¿Í Å×ÀÌÇÁ µð¹ÙÀ̽º¿¡ ´ëÇؼ ºñµ¿±â ÀÔÃâ·ÂÀ» Çã¿ëÇÒ °ÍÀÎÁö¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ´Ù. °¢°¢ÀÇ ÇÁ·Î¼¼½º Çü¿¡ µû¶ó I/O SlavesÀÇ ¼ö´Â ±âº»ÀûÀ¸·Î 0À¸·Î ¼³Á¤µÇ±â ¶§¹®¿¡ Ưº°È÷ ¼³Á¤À» ÇÏÁö ¾ÊÀ¸¸é I/O Slaves¸¦ ÀÌ¿ëÇÏÁö ¾Ê´Â °ÍÀ¸·Î °£ÁÖÇÑ´Ù.
DBWR_IO_SLAVES´Â ASYNC I/O (Áï DISK_ASYNCH_IO ¶Ç´Â TAPE_ASYNCH_IO)°¡ ºñÈ°¼ºÈ µÇ¾î ÀÖ´Â °æ¿ì¿¡¸¸ 0º¸´Ù Å« °ªÀ¸·Î ¼³Á¤µÈ´Ù. ±×·¸Áö ¾ÊÀ» °æ¿ì DBWR¿¡ º´¸ñÇö»óÀÌ ³ªÅ¸³ª°Ô µÉ °ÍÀÌ´Ù. ÀÌ¿Í °°Àº °æ¿ì ¸®´ª½º¿¡¼ DBWR_IO_SLAVESÀÇ ÀûÀýÇÑ °ªÀº 4 Á¤µµ°¡ µÈ´Ù. LGWR_IO_SLAVES°¡ ¼³Á¤µÈ °æ¿ì 9 slaves ÀÌ»ó ¼³Á¤ÇÒ °ÍÀ» ±ÇÇÏÁö ¾Ê´Â´Ù.
DB_WRITER_PROCESSES´Â DB_WRITERÀÎÀÚ¸¦ ´ëÄ¡ÇÑ °ÍÀÌ´Ù. ±×¸®°í ÇϳªÀÇ ÀνºÅϽº¿¡ ´ëÇÏ¿© µ¥ÀÌÅͺ£À̽º writer processÀÇ Ãʱ⠰¹¼ö¸¦ ¸í½ÃÇϵµ·Ï ÇÑ´Ù. ¸¸¾à ¿©·¯ºÐµéÀÌ DBWR_IO_SLAVES¸¦ ÀÌ¿ëÇÑ´Ù¸é, DB_WRITER_PROCESSES°¡ ¾î¶»°Ô ¼³Á¤µÇ´øÁö °£¿¡ ´ÜÁö ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º writer process°¡ ÀÌ¿ëµÉ °ÍÀÌ´Ù.
6. Monitoring Disk Performance
µð½ºÅ© ÆÛÆ÷¸Õ½º¸¦ ¸ð´ÏÅÍ Çϱâ À§ÇÏ¿©, vmstat.¸¦ ÀÌ¿ëÇ϶ó.
µð½ºÅ© ÆÛÆ÷¸Õ½º¸¦ À§ÇØ ´«¿©°Ü ºÁ¾ß ÇÒ vmstat Ä÷³Àº, ºí·° ÀÔÃâ·Â(blocked I/O)À» À§ÇØ CPU°¡ ´ë±âÇÏ´Â ½Ã°£ÀÇ ÆÛ¼¾Æ¼Áö¸¦ ³ªÅ¸³»´Â %wioÀÌ´Ù.
ÁÖ¿ä ÀεðÄÉÀÌÅÍ´Â (Key indicators):
bread, bwrit, pread ¿Í pwritÀÇ ÇÕ°è´Â µð½ºÅ© ÀÔÃâ·Â ¼ºê½Ã½ºÅÛ(disk I/O subsystem)ÀÇ »óŸ¦ °¡¸£Å²´Ù. ÀÌ ÇÕ°è°¡ ´õ Ŭ ¼ö·Ï, µð½ºÅ© ÀÔÃâ·Â º´¸ñÇö»óÀÇ °¡´É¼ºÀº ´õ Ä¿Áø´Ù. ¹°¸®ÀûÀ¸·Î µð½ºÅ©ÀÇ °¹¼ö°¡ ¸¹À» ¼ö·Ï, ´õ Å« ¿ªÄ¡°ª(threshold number)À» °¡Áö°Ô µÉ °ÍÀÌ´Ù. Àû´çÇÑ °ªÀº µÎ°³ÀÇ µå¶óÀ̺꿡 ´ëÇؼ´Â 40À» ³ÑÁö ¾Êµµ·Ï ÇÏ°í, 4°³ ³»Áö 8°³ÀÇ µå¶óÀ̺êÀ϶§´Â ±âº»°ªÀÌ 60À» ³ÑÁö ¾Êµµ·Ï ÇØÁØ´Ù.
%rcache´Â 90º¸´Ù Å©¾ß Çϸç, %wcache´Â 60 º¸´Ù Å©¾ß ÇÑ´Ù ±×·¸Áö ¾ÊÀ» °æ¿ì ½Ã½ºÅÛÀÇ µð½ºÅ© ÀÔÃâ·ÂÀº ÇÑ°èÁ¡¿¡ ¿Â °ÍÀÌ´Ù.
¸¸¾à %wio´Â Áö¼ÓÀûÀ¸·Î 20ÀÌ»ó¶ó¸é ½Ã½ºÅÛÀÇ µð½ºÅ© ÀÔÃâ·ÂÀº ÇÑ°èÁ¡¿¡ ¿Â°ÍÀÌ´Ù.
µð½ºÅ© ÆÛÆ÷¸Õ½º ¹®Á¦Á¡ (Disk Performance Issues)
¿À¶óŬ ºí·° »çÀÌÁî´Â macht disk block size (?)ÀÌ´øÁö ¶Ç´Â multiple of disk block size ÀÏ °ÍÀÌ´Ù.
¸¸¾à °¡´ÉÇÏ´Ù¸é, µ¥ÀÌÅͺ£À̽º ÆÄÀÏ·Î ÀÌ¿ëÇϱâ Àü¿¡ ÆÄÀϽýºÅÛ Á¡°ËÀ» Ç϶ó. ±×·¯°í ³ª¼ ±ú²ýÇÏ°í ÀýÆí³ ºÎºÐÀÌ ¾ø´Ù´Â °ÍÀ» È®ÀÎÇÏ°í ³ª¼ »õ·Î¿î ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé¾î¶ó. ºÐ»ê µð½ºÅ© ÀÔÃâ·Â¿¡¼ µ¥ÀÌÅÍ º£À̽º ÆÄÀÏ°ú ºÐ¸®µÈ ·Î±× ÆÄÀÏÀ» ¸¸µé°í ±×¸®°í µÉ¼ö ÀÖ´Â ÇÑ °í¸£°Ô ÀÔÃâ·ÂÀÌ ÀϾµµ·Ï ºÐ¹èÇØ¾ß ÇÑ´Ù.
7. CPU ÀÌ¿ë·üÀÇ Æ©´× (Tuning CPU Usage)
¸ðµç ¿À¶óŬ »ç¿ëÀÚ/ÇÁ·Î¼¼½º µéÀ» °°Àº ¿ì¼±¼øÀ§¿¡ À¯ÁöÇ϶ó.
¿À¶óŬÀº ¸ðµç »ç¿ëÀÚµé°ú ¹é±×¶ó¿îµå ÇÁ·Î¼¼½ºµéÀÌ °°Àº ¿ì¼±¼øÀ§¿¡¼ µ¿ÀÛÇϵµ·Ï ¼³°èµÇ¾î ÀÖ´Ù. ¿ì¼± ¼øÀ§¸¦ º¯°æÇÒ °æ¿ì ³»¿ë°ú ¹ÝÀÀ½Ã°£¿¡ ¿øÄ¡¾Ê´Â È¿°ú¸¦ ÃÊ·¡ÇÒ ¼öµµ ÀÖ´Ù.
¿¹¸¦ µé¸é, ¸¸¾à log writer process (LGWR)¿¡ ³·Àº ¿ì¼±¼øÀ§¸¦ ºÎ¿©ÇÒ °æ¿ì, ÀÌ ÇÁ·Î¼¼½º´Â ÃæºÐÇÑ È½¼ö¸¸Å µ¿ÀÛÇÏÁö ¸øÇÏ°í LGWRÀº º´¸ñÇö»óÀ» ÀÏÀ¸Å°°Ô µÈ´Ù. ´Ù¸¥ ÇÑÆí, ¸¸¾à LGWRÀÌ ³ôÀº ¿ì¼±¼øÀ§¸¦ ºÎ¿©¹Þ°Ô µÇ¸é, »ç¿ëÀÚ ÇÁ·Î¼¼½ºµéÀº ´À¸° ¹ÝÀÀ½Ã°£¿¡ ½Ã´Þ¸®°Ô µÉ °ÍÀÌ´Ù.
´ÙÁß ÇÁ·Î¼¼¼ ½Ã½ºÅÛ¿¡¼ ÇÁ·Î¼¼½ºÀÇ °áÇÕ°ú ģȷ ÀÌ¿ëÇϱâ
(Use Processor Affinity/Binding on Multi-Processor Systems)
Multi-processor ȯ°æ¿¡¼´Â, ¸¸¾à ¿©·¯ºÐµéÀÇ ½Ã½ºÅÛ¿¡¼ ÀÌ¿ë°¡´ÉÇÏ´Ù¸é ÇÁ·Î¼¼½ºÀÇ affinity/bindingÀ» ÀÌ¿ëÇϵµ·Ï Ç϶ó. ÇÁ·Î¼¼½º ¹ÙÀεùÀº »ç¿ëÀÚ ÇÁ·Î¼¼½º(process)°¡ ÇÑ CPU¿¡¼ ´Ù¸¥ °÷À¸·Î À̵¿ÇØ °¡´Â °ÍÀ» ¹æÁöÇÑ´Ù. À̸®ÇÏ¿© CPU cache¸¦ ´õ¿Á ´õ È¿À²ÀûÀ¸·Î ÀÌ¿ëÇÒ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¼¹ö shadow processµéÀº Ç×»ó È°¼ºÈ µÇ¾î ÀÖÀ¸¸ç CPU »çÀ̸¦ ¶ß µ¹¾Æ ´Ù´Ï±â ¶§¹®¿¡ bind¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ¾î¶² Ç÷§Æû¿¡¼´Â process bindingÀ» ÀÚµ¿À¸·Î ½ÇÇàÇØ Áֱ⵵ ÇÑ´Ù.
´ëÇü Exports/Imports ¿Í SQL*Loader ÀÛ¾÷À» À§ÇØ Single-Task LinkingÀ» ÀÌ¿ëÇϱâ
(Use Single-Task Linking for Large Exports/Imports and SQL*Loader Jobs)
¸¸¾à ¿©·¯ºÐµéÀÌ »ç¿ëÀÚ¿Í Oracle8»çÀÌ¿¡ ´ëÇüÀÇ ÀڷḦ Àü´ÞÇÒ Çʿ伺ÀÌ ÀÖÀ» °æ¿ì (¿¹¸¦ µé¸é, export/import)¸¦ ÀÌ¿ëÇÒ ¶§), single-task architecture¸¦ ÀÌ¿ëÇÒ °æ¿ì ¾ÆÁÖ È¿À²ÀûÀÌ´Ù. Import (impst), export (expst), ±×¸®°í SQL*Loader (sqlldrst) ½ÇÇàÆÄÀÏÀ» single task·Î ¸¸µé±â À§Çؼ´Â ins_rdbms.mk makefileÀ» ÀÌ¿ëÇϵµ·Ï Ç϶ó. ÀÌ°ÍÀº $ORACLE_HOME/rdbms/lib directory¿¡¼ ãÀ» ¼ö ÀÖ´Ù.
´ÙÀ½ ¿¹Á¦´Â impst, expst ±×¸®°í sqlldrst ½ÇÇàÆÄÀÏÀ» ¸¸µç´Ù:
% cd $ORACLE_HOME/rdbms/lib
% make -f ins_rdbms.mk expst impst sqlldrst
----------------------------------------------------------------------
----------
ÁÖÀÇ:
Oracle ½ÇÇàÆÄÀÏÀ» single-task·Î ¿¬°áÇÏ¸é »ç¿ëÀÚ ÇÁ·Î¼¼½º°¡ ¹Ù·Î Àüü SGA·Î Á¢±ÙÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. °Ô´Ù°¡, single-task ½ÇÇàÀº oracle ½ÇÇà text°¡ frontend¿Í backend »çÀÌ¿¡¼ ´õ ÀÌ»ó °øÀ¯µÇÁö ¾Ê±â ¶§¹®¿¡ º¸´Ù ¸¹Àº ¸Þ¸ð¸®¸¦ ¿ä±¸ÇÑ´Ù.
----------------------------------------------------------------------
----------
8. ¿À¶óŬ ÀÚ¿ø °æÀïÀÇ Æ©´× (Tuning Oracle Resource Contention)
¸®´ª½º Ä¿³Î ÀÎÀÚÀÇ Æ©´× (Tune LINUX Kernel Parameters)
¿©·¯ºÐµéÀº µÉ ¼ö ÀÖ´Â ÇÑ ¸®´ª½º Ä¿³ÎÀ» ÀÛ°Ô À¯Áö ÇÔÀ¸·Î¼ ÆÛÆ÷¸Õ½º¸¦ Çâ»ó½Ãų¼ö ÀÖ´Ù. ¸®´ª½º Ä¿³ÎÀ» ÀϹÝÀûÀ¸·Î ¹°¸®Àû ¸Þ¸ð¸®¸¦ ¹Ì¸® ÇÒ´çÇÑ´Ù. ±×¸®°í ³ª¼ oracle°ú °°Àº ´Ù¸¥ ÇÁ·Î¼¼½ºµéÀÌ ¸Þ¸ð¸® »ç¿ëÀ» Á¦ÇÑÇÏ°Ô µÈ´Ù.
ÀüÅëÀûÀ¸·Î, NBUF, NFILE, ±×¸®°í NOFILES ¿Í °°Àº Ä¿³Î ÀÎÀÚµéÀÌ Ä¿³Î Å©±â¸¦ ¸ÂÃß±â À§ÇÏ¿© »ç¿ëµÇ¾ú´Ù. ±×·¯³ª ¸®´ª½º¿¡¼´Â À̵é ÀÎÀÚ¸¦ ½ÇÇà½Ã¿¡ µ¿ÀûÀ¸·Î Á¶ÀýÇϵµ·Ï µÇ¾î ÀÖÀ¸¸ç, ½ÉÁö¾î ¸®´ª½º ¼³Á¤ÆÄÀÏ¿¡µµ Á¸ÀçÇÑ´Ù.
¸Þ¸ð¸®¿¡ »ç»óµÇ¾îÁø video driver, network driver, disk driver¸¦ º¸ÀÚ. À̵éÀº Á¾Á¾ ¼³Ä¡µÇÁö ¾Ê¾Æµµ µÈ´Ù. ±×·² °æ¿ì ´Ù¸¥ ÇÁ·Î¼¼½ºµé¿¡°Ô º¸´Ù ¸¹Àº ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¼ö ÀÖ´Ù.
----------------------------------------------------------------------
----------
°æ°í:
¿©·¯ºÐµéÀÇ ¸®´ª½º Ä¿³Î º¹»çº» backupÀ» ¸¸µé¾î¶ó. º¸´Ù ÀÚ¼¼ÇÑ °ÍÀº ¿©·¯ºÐµéÀÇ Çϵå¿þ¾î ÆǸÅóÀÇ ¹®¼¸¦ ÂüÁ¶Ç϶ó.
----------------------------------------------------------------------
----------
ºí·° Å©±â¿Í ÆÄÀÏ Å©±âÀÇ Æ©´× (Tuning Block Size and File Size)
----------------------------------------------------------------------
----------
°æ°í:
ºí·° Å©±â¸¦ º¯°æÇϱâ À§Çؼ±, »õ·Î¿î µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. °¡Àå È¿À²ÀûÀÎ ¼³Á¤À» °áÁ¤Çϱâ À§ÇÏ¿©, ¿©·¯ºÐµéÀÇ µ¥ÀÌÅ͸¦ »õ·Î¿î µ¥ÀÌÅͺ£À̽º¸¦ Àü¼ÛÇÔÀ¸·Î¼ »õ·Î¿î ºí·° Å©±â¸¦ °¡Áö°í ½ÇÇèÇØ ºÁ¾ß ÇÑ´Ù.
----------------------------------------------------------------------
----------
¿À¶óŬ ºí·° Å©±âÀÇ ¸í½Ã (Specifying Oracle Block Size)
¸®´ª½º»ó¿¡¼, ±âº»ÀûÀÎ ¿À¶óŬ ºí·° »çÀÌÁî´Â 2 KBÀ̸ç ÃÖ´ë ºí·° Å©±â´Â 16 KBÀÌ´Ù.
¿©·¯ºÐµéÀº ½ÇÁ¦ÀûÀÎ ºí·° Å©±â¸¦ 2KB¿¡¼ ½ÃÀÛÇÏ¿© 2ÀÇ ¹è¼ö·Î 16KB±îÁö ¼³Á¤°¡´ÉÇÏ´Ù.
±âº»ÀûÀ¸·Î ÁÖ¾îÁø °ªÀº ÀϹÝÀûÀ¸·Î ÀûÀýÇÑ ºí·° Å©±â´Ù. ±×·¯³ª ÀÀ¿ëÇÁ·Î±×·¥¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖ´Ù. ´Ù¸¥ ¿À¶óŬ ºí·° »çÀÌÁ °¡Áø µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇϱâ À§Çؼ ´ÙÀ½ ÁÙÀ» initsid.ora file¿¡ Ãß°¡Ç϶ó:
db_block_size=new_block_size
9. ¸®´ª½º ¹öÆÛ Ä³½Ã »çÀÌÁî Æ©´× (Tuning the LINUX Buffer Cache Size)
Raw deviceÀÇ ÀÌÁ¡À» ÃÖ´ëÇÑ »ì¸®±â À§Çؼ, Oracle8 buffer ij½¬ÀÇ Å©±â¸¦ Á¶ÀýÇ϶ó. ¸¸¾à ¸Þ¸ð¸®°¡ Á¦ÇÑµÈ´Ù¸é ¸®´ª½º ¹öÆÛ Ä³½ÃÀÇ Å©±â¸¦ Á¶ÀýÇ϶ó.
¸®´ª½º ¹öÆÛ Ä³½Ã´Â ¿î¿µÃ¼°è¿¡ ÀÇÇؼ Á¦°øµÈ´Ù. ÀÌ°ÍÀº ÀÚ·á°¡ ¸Þ¸ð¸®¿¡¼ µð½ºÅ©·Î Àü¼ÛµÉ ¶§ ¶Ç´Â ±× ¿ª µ¿À۽à ¸Þ¸ð¸® ³»¿¡ data blockÀ» À¯ÁöÇÑ´Ù.
Oracle8 buffer cache´Â ¿À¶óŬ µ¥ÀÌÅͺ£À̽º ¹öÆÛ¸¦ ÀúÀåÇÏ´Â ¸Þ¸ð¸® ³»¿¡ ÀÖ´Ù. Oracle8ÀÌ raw device¸¦ ÀÌ¿ëÇϱ⠶§¹®¿¡, ¸®´ª½º ¹öÆÛ Ä³½Ã¸¦ ÀÌ¿ëÇÒ ÇÊ¿ä°¡ ¾ø´Ù.
Raw device·Î ¿Å±æ ¶§ Oracle8 buffer cacheÀÇ Å©±â°¡ Áõ°¡ÇÑ´Ù. ¸¸¾à ½Ã½ºÅÛÀÇ ¸Þ¸ð¸® ÃÑ·®ÀÌ Á¦ÇѵǾî ÀÖÀ¸¸é, ¸®´ª½º ¹öÆÛ Ä³½Ã Å©±â¸¦ ÀûÀýÇÏ°Ô ÁÙ¿© ÁØ´Ù.
¸®´ª½º ¸í·É¾î vmstat´Â ¹öÆÛ Ä³½ÃÀÇ Áõ°¨ °áÁ¤¿¡ µµ¿òÀ» ÁØ´Ù.
10. ij½Ã Å©±âÀÇ Á¶Àý (Adjusting Cache Size)
ij½Ã hit ratio°¡ Áõ°¡ ÇÏ´Â ÇÑ °è¼Ó ij½Ã »çÀÌÁ Áõ°¡ ½ÃŲ´Ù.
¸¸¾à swapping/paging activity°¡ ³ô¾Æ Áö¸é ij½Ã Å©±â¸¦ °¨¼Ò½ÃŲ´Ù.
Trace ±×¸®°í Alert ÆÄÀÏ ÀÌ¿ëÇϱâ (Using Trace and Alert Files)
À̹ø Àå¿¡¼´Â ¿î¿µ¹®Á¦¸¦ ÇØ°áÇÏ°í Áø´ÜÇϱâ À§Çؼ »ý¼ºÇÏ´Â trace (¶Ç´Â dump)¿Í alert ÆÄÀÏ¿¡ ´ëÇؼ ±â¼úÇÏ°íÀÚ ÇÑ´Ù.
Trace File Names
The format of a trace file name is processname_sid_pid.trc, ¿©±â¼:
Table 3-2 Format Key to Process Name
processname
ÀÌ°ÍÀº trace ÆÄÀÏÀÇ Oracle8ÀÇ ¾î´À ÇÁ·Î¼¼½º·Î ºÎÅÍ ¿Ô´ÂÁö¸¦ °¡¸£Å°´Â ¼¼±ÛÀÚ ¶Ç´Â ³×±ÛÀÚÀÇ ÇÁ·Î¼¼½º À̸§À» º¸¿©ÁØ´Ù. (¿¹¸¦ µé¸é, PMON, DBWR, ORA, or RECO)
sid
ÀνºÅϽº ½Ã½ºÅÛ È®ÀÎÀÚÀÌ´Ù.
pid
LINUX ÇÁ·Î¼¼½º ID ¹øÈ£
.trc
¸ðµç trace ÆÄÀÏ À̸§¿¡ ºÙÀ» È®ÀåÀÚ
»ùÇà Ʈ·¡À̽º ÆÄÀÏ À̸§Àº lgwr_TEST_1237.trc ÀÌ´Ù.
Alert Files
alert_sid.log fileÀº µ¥ÀÌÅͺ£À̽º¿Í ¿¬°üÀÌ ÀÖÀ¸¸ç, initsid.ora¿¡ ÀÖ´Â BACKGROUND_DUMP_DEST ÆĶó¸ÞÅÍ¿¡ ¸í½ÃµÈ µð·ºÅ丮¿¡ À§Ä¡ÇØ ÀÖ´Ù. ±âº»°ªÀº $ORACLE_HOME/rdbms/logÀÌ´Ù.
|