4.1 DB2 ¿£ÁøÀÇ ±¸Á¶
|
DB2¿¡¼ÀÇ ¾ÆÅ°ÅØÃ³ÀÇ ÁÖ¿ä Æ¯¼ºÀº µ¥ÀÌÅͺ£À̽º ¹«°á¼ºÀ» º¸ÀåÇÏ´Â ´É·ÂÀÌ´Ù. ÁÖ¿äÇÑ
µ¥ÀÌÅͺ£À̽º ¸®¼Ò½º(Resources)·ÎºÎÅÍ ¸ðµç µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥À» µ¶¸³½ÃŲ´Ù. ÀÌ ¸®¼Ò½ºµéÀº µ¥ÀÌÅͺ£À̽º Á¦¾î ºí·Ï°ú
ÁÖ¿äÇÑ µ¥ÀÌÅͺ£À̽º ÆÄÀϵéÀÌ´Ù.
¶ÇÇÑ, µ¥ÀÌÅͺ£À̽º ¿¬°á °úÁ¤µ¿¾È DB2 Á¶Á¤ ¿¡ÀÌÀüÆ®´Â °¢ µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÇÒ´çµÈ´Ù. °¢°¢ÀÇ DB2 ¿¡ÀÌÀüÆ®´Â µ¥ÀÌÅͺ£À̽º
ÀÀ¿ëÇÁ·Î±×·¥À» ´ë½ÅÇÏ¿© ÀÛ¾÷ÇÏ°í ¸ðµç SQL ¿äûµéÀ» ´Ù·é´Ù. ÀÀ¿ëÇÁ·Î±×·¥°ú µ¥ÀÌÅͺ£À̽º ¿¡ÀÌÀüÆ®´Â IPC(Inter Process
Communication) ±â¼ú(¸Þ½ÃÁö Å¥, °øÀ¯ ¸Þ¸ð¸®, ¼¼¸¶Æ÷¾Æ µî)À» ÀÌ¿ëÇÏ¿© Åë½ÅÇÑ´Ù. DB2 ÄÚµð³×ÀÌÅÍ ¿¡ÀÌÀüÆ®´Â ÆÄƼ¼Ç³»
º´·Ä 󸮰¡ °¡´ÉÇÏ´Ù¸é, DB2 ¼ºê ¿¡ÀÌÀüÆ®¿Í ÇÔ²² ÀÛ¾÷ÇÑ´Ù. ÀÌ ¾ÆÅ°ÅØÃ³´Â À߸øµÈ ÀÀ¿ëÇÁ·Î±×·¥À¸·ÎºÎÅÍ µ¥ÀÌÅͺ£À̽º ÀÚ¿øµéÀ» º¸È£Çϱâ
À§ÇØ ¹æÈº®À» Á¦°øÇÑ´Ù. |
|
|
±×¸² 1-1. DB2 ÇÁ·Î¼¼½º ¸ðµ¨
|
DB2 ¿¡ÀÌÀüÆ®´Â Windows¿Í OS/2¿¡¼´Â ¾²·¹µå(Thread)À̳ª, UNIX
¿î¿µÃ¼Á¦¿¡¼´Â ProcessÀÌ´Ù.
°¢ Ŭ¶óÀÌ¾ðÆ® ÀÀ¿ëÇÁ·Î±×·¥Àº DB2 UDB Ŭ¶óÀÌ¾ðÆ® ¶óÀ̺귯¸®¿Í ¸µÅ©µÇ¾î ÀÖ°í, °øÀ¯ ¸Þ¸ð¸®¿Í ¼¼¸¶Æ÷¾Æ (Áö¿ª Ŭ¶óÀ̾ðÆ®) ¶Ç´Â
TCP/IP¿Í APPC¿Í °°Àº Åë½Å ÇÁ·ÎÅäÄÝ (¿ø°Ý Ŭ¶óÀ̾ðÆ®)À» »ç¿ëÇÏ¿© DB2 UDB ¼¹ö¿Í Åë½ÅÇÑ´Ù.
¼¹ö ÂÊ¿¡¼´Â Ȱµ¿ÀÌ EDU(Engine Dispatchable Unit)¿¡ ÀÇÇØ Á¦¾îµÈ´Ù. EDU´Â AIX¸¦ Æ÷ÇÔÇÑ UNIX¿¡¼´Â
ÇÁ·Î¼¼½ºµé·Î ±¸ÇöµÈ´Ù.
|
| 1) DB2 ¿¡ÀÌÀüÆ® |
| ÄÚµð³×ÀÌÅÍ ¿¡ÀÌÀüÆ®¿Í ¼ºê ¿¡ÀÌÀüÆ®¸¦ Æ÷ÇÔÇÑ DB2
¿¡ÀÌÀüÆ®´Â ÀÀ¿ëÇÁ·Î±×·¥À» ´ë½ÅÇÏ¿© SQL ¹®ÀåµéÀÇ Ã³¸®¸¦ ¼öÇàÇÏ´Â DB2 UDB ÇÁ·Î¼¼½ºµéÀÇ °¡Àå ÀϹÝÀûÀÎ À¯ÇüÀÌ´Ù. UNIX¿¡¼´Â
ps ¸í·É¾î¸¦ »ç¿ëÇϸé ÄÚµð³×ÀÌÅÍ ¿¡ÀÌÀüÆ® ÇÁ·Î¼¼½º(db2agent)¿Í ¼ºê ¿¡ÀÌÀüÆ®(db2agntp)¸¦ °üÂûÇÒ ¼ö ÀÖ´Ù.
|
| 2) ¹öÆÛ Ç® |
| ¹öÆÛ Ç®Àº »ç¿ëÀÚ Å×ÀÌºí µ¥ÀÌÅÍ, À妽º µ¥ÀÌÅÍ, īŻ·Î±× µ¥ÀÌÅÍÀÇ µ¥ÀÌÅÍ ÆäÀÌÁöµéÀÌ µð½ºÅ© ÀúÀå °ø°£¿¡¼ Àӽ÷ΠÀ̵¿ÇÏ´Â
ÀúÀå ¸Þ¸ð¸® ¿µ¿ªÀÌ´Ù. DB2 ¿¡ÀÌÀüÆ®µéÀº ¹öÆÛ Ç®¿¡¼ µ¥ÀÌÅÍ ÆäÀÌÁöµéÀ» ÀÐ°í ¼öÁ¤ÇÑ´Ù. ¹öÆÛ Ç®Àº µ¥ÀÌÅͰ¡ µð½ºÅ©¿¡¼º¸´Ù ¸Þ¸ð¸®¿¡¼
Á» ´õ ºü¸£°Ô ¾×¼¼½ºµÇ±â ¶§¹®¿¡ µ¥ÀÌÅͺ£À̽º ¼º´ÉÀÇ ÁÖ¿äÇÑ ¿ä¼ÒÀÌ´Ù.
|
| 3) ÇÁ¸®Æäó |
| ÇÁ¸®Æäó´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅ͸¦ ÇÊ¿ä·Î Çϱâ ÀÌÀü¿¡ µð½ºÅ©¿¡¼ µ¥ÀÌÅ͸¦ ÃßÃâÇÏ¿© ¹öÆÛ Ç®·Î À̵¿ÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. ¿äûµÈ
ÆäÀÌÁöµéÀ» µð½ºÅ©¿¡¼ ¹öÆÛ Ç®·Î °¡Á®¿À±â À§ÇØ ÇÁ¸®Æäó´Â ´ëÇü ºí·Ï(Big-Block) ¶Ç´Â ½ºÄ³ÅÍ Àбâ ÀÔ·Â(Scatter
Read Input) ¿î¿µ¹æ¹ýÀ» »ç¿ëÇÔÀ¸·Î½á ¿äûµéÀ» ¼öÇàÇÑ´Ù. UNIX¿¡¼´Â ps ¸í·É¾î¸¦ »ç¿ëÇϸé ÇÁ¸®Æäó ÇÁ·Î¼¼½º(db2pfchr)¸¦
º¼ ¼ö ÀÖ´Ù.
|
| 4) ÆäÀÌÁö Á¤¸®ÀÚ |
| ÆäÀÌÁö Á¤¸®ÀÚ´Â ÇÁ¸®Æäó°¡ µð½ºÅ© ÀúÀå ¿µ¿ª¿¡¼ ÆäÀÌÁöµéÀ» ÀÐ¾î ¹öÆÛ Ç®·Î À̵¿Çϱâ Àü¿¡ ¹öÆÛ Ç®¿¡ ¹æÀ» ¸¸µé±â À§ÇÑ ¿ªÇÒÀ»
ÇÑ´Ù. ¿¹¸¦ µé¾î, Å×ÀÌºí³»¿¡ ´ë·®ÀÇ µ¥ÀÌÅ͸¦ °»½ÅÇÑ´Ù¸é, ¹öÆÛ Ç®ÀÇ µ¥ÀÌÅÍ ÆäÀÌÁö´Â º¯°æµÇ³ª µð½ºÅ© ÀúÀå ¿µ¿ª¿¡´Â ±â·ÏµÇÁö
¾Ê´Â´Ù (ÀÌ·¯ÇÑ ÆäÀÌÁöµéÀ» Dirty ÆäÀÌÁö¶ó°í ÇÔ). ÆäÀÌÁö Á¤¸®ÀÚ´Â ÀÀ¿ëÇÁ·Î±×·¥ ¿¡ÀÌÀüÆ®µé°ú´Â °ü°è¾øÀÌ ¹öÆÛ Ç®¿¡ ¹æÀÌ ÀÖ´Ù´Â
°ÍÀ» º¸ÀåÇϱâ À§ÇØ ¹öÆÛ Ç®¿¡¼ ÆäÀÌÁöµéÀ» ã¾Æ ±â·ÏÇÑ´Ù. UNIX¿¡¼´Â ps ¸í·É¾î¸¦ »ç¿ëÇÏ¸é ÆäÀÌÁö Á¤¸®ÀÚ ÇÁ·Î¼¼½º(db2pclnr)¸¦
º¼ ¼ö ÀÖ´Ù.
|
| 5) ·Î±× |
¹öÆÛ Ç®³»ÀÇ µ¥ÀÌÅÍ ÆäÀÌÁö¿¡ ´ëÇÑ º¯°æµéÀÌ ·Î±ëµÈ´Ù. µ¥ÀÌÅͺ£À̽º³»¿¡¼ µ¥ÀÌÅÍ ·¹Äڵ带 º¯°æÇÏ´Â ¿¡ÀÌÀüÆ® ÇÁ·Î¼¼½ºµéÀº ¹öÆÛ
Ç®³»¿¡ °ü·ÃµÈ ÆäÀÌÁö¸¦ º¯°æÇϰí, ·Î±× ·¹Äڵ带 ·Î±× ¹öÆÛ·Î ±â·ÏÇÑ´Ù. ·Î±× ¹öÆÛ¿¡ ±â·ÏµÈ ·Î±× ·¹ÄÚµåµéÀº ·Î°Å(Logger)¿¡
ÀÇÇØ ºñµ¿±âÀûÀ¸·Î ·Î±× ÆÄÀÏ·Î ±â·ÏµÈ´Ù. UNIX¿¡¼´Â ps ¸í·É¾î¸¦ »ç¿ëÇÏ¸é °¢ Ȱµ¿ÁßÀÎ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ¼ ·Î°Å ÇÁ·Î¼¼½º(db2loggr)¸¦
º¼ ¼ö ÀÖ´Ù.
µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ´Â º¯°æÀ» ´Ù½Ã Çϱâ(Redo) À§ÇØ °ü·ÃµÈ ·Î±× ·¹Äڵ忡¼ Redo Á¤º¸¸¦ »ç¿ëÇÑ´Ù. ÀÌ ¸ÅÄ«´ÏÁòÀ» ¼Õ»ó
º¹±¸(Crash Recovery)¶ó°í ÇÑ´Ù. µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ´Â µ¥ÀÌÅͺ£À̽º¸¦ Àç½ÃÀÛÇÒ ¶§ ¼Õ»ó º¹±¸¸¦ ¼öÇàÇÑ´Ù.
·Î±× ¹öÆÛ³»ÀÇ µ¥ÀÌÅÍ´Â ´ÙÀ½ÀÇ °æ¿ì¿¡ µð½ºÅ©¿¡ °Á¦·Î ±â·ÏµÈ´Ù.
• ÀÏÄ¡ÇÏ´Â µ¥ÀÌÅÍ ÆäÀÌÁö°¡ µð½ºÅ©¿¡ °Á¦·Î ±â·ÏµÇ±â Àü¿¡(Write-ahead ·Î±ë).
• COMMIT½Ã¿¡. ±×·ì È®¾à °³¼öÀÎ MINCOMMIT µ¥ÀÌÅͺ£À̽º ±¸¼º ¸Å°³º¯¼ö¿¡ µµ´ÞÇÑ ÈÄ¿¡.
• ·Î±× ¹öÆÛ°¡ °¡µæÂû ¶§. |
| 6) Fenced / Not Fenced ÀÚ¿ø |
µ¥ÀÌÅͺ£À̽º ½ºÅä¾îµå ÇÁ·Î½ÃÀú´Â CALL ¹®ÀåÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥¿¡¼ È£ÃâµÉ ¼ö ÀÖ´Â µ¿ÀûÀ¸·Î ·ÎµåµÇ´Â ¶óÀ̺귯¸®ÀÌ´Ù.
ÀÌ ¶óÀ̺귯¸®´Â DB2 µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡ ÀúÀåµÇ°í, Fenced ÀÚ¿ø ¶Ç´Â Not Fenced ÀÚ¿øÀ¸·Î½á ½ÇÇàµÉ ¼ö ÀÖ´Ù.
Fenced ÀÚ¿øÀº µ¥ÀÌÅͺ£À̽º ¿¡ÀÌÀüÆ®·ÎºÎÅÍ ºÐ¸®µÈ ÇÁ·Î¼¼½º¿¡¼ ½ÇÇàµÇ´Â °ÍÀ̰í, Not Fenced ÀÚ¿øÀº µ¥ÀÌÅͺ£À̽º ¿¡ÀÌÀüÆ®·Î½á
°°Àº ÇÁ·Î¼¼½º³»¿¡ ½ÇÇàµÈ´Ù.
Not Fenced ÀÚ¿øÀº ³»ºÎ-ÇÁ·Î¼¼½º Åë½Å ¿À¹öÇìµå°¡ Àû±â ¶§¹®¿¡ Fenced ÀÚ¿øº¸´Ù ´õ ³ªÀº ¼º´ÉÀ» °¡ÁöÁö¸¸, Not
Fenced ÀÚ¿øÀº ¸¸¾à Á¦´ë·Î Å×½ºÆ®µÇÁö ¾ÊÀ¸¸é DB2 Á¦¾î ºí·ÏÀ§¿¡ ´Ù½Ã ¾µ¼ö ÀÖ´Ù.
|
| 7) Äõ¸® º´·Ä ó¸® |
• Äõ¸®°£ º´·Ä ó¸®(Inter-Query Parallelism)´Â µ¿½Ã¿¡ º¹¼ö°³ÀÇ
ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¥ÀÌŸº£À̽º¸¦
Äõ¸® ÇÒ ¼ö ÀÖ´Â ´É·ÂÀ» ÀǹÌÇÑ´Ù. °¢ Äõ¸®´Â ´Ù¸¥ Äõ¸®µé°ú µ¶¸³ÀûÀ¸·Î ¼öÇàµÇ³ª, DB2´Â
µ¿½Ã¿¡ ¸ð
µç Äõ¸®µéÀ» ¼öÇàÇÑ´Ù. DB2´Â Ç×»ó ÀÌ·¯ÇÑ À¯ÇüÀÇ º´·Ä 󸮴 Áö¿øÇØ ¿Ô´Ù.
• Äõ¸®³» º´·Ä ó¸®(Intra-Query Parallelism)´Â ÆÄƼ¼Ç³» º´·Ä ó¸®(Intra-Partition Parallelism)
¶Ç´Â
ÆÄƼ¼Ç°£ º´·Ä ó¸®(Inter-Partition Parallelism) ¶Ç´Â ¸ðµÎ¸¦ »ç¿ëÇÏ¿©
µ¿½Ã¿¡ ´ÜÀÏ Äõ¸®ÀÇ ºÎºÐÀ»
ó¸®ÇÏ´Â °ÍÀ» ÀǹÌÇÑ´Ù. Äõ¸®³» º´·Ä 󸮸¦ °¡Áö°í, ´ÜÀÏ º¹ÀâÇÑ Äõ¸®´Â DB2 ¿ÉƼ¸¶ÀÌÀú¿¡
ÀÇÇØ
¼öÇà µÉ ¼ö ÀÖ°í, º´·Ä·Î ¼öÇàµÉ ¼ö ÀÖµµ·Ï ¿©·¯ Á¶°¢À¸·Î ³ª´©¾îÁú ¼ö ÀÖ´Ù.
• ÆÄƼ¼Ç³» º´·Ä ó¸®(Intra-Partition Parallelism)´Â ÇÑ Äõ¸®¸¦ º¹¼ö°³ÀÇ ºÎºÐÀ¸·Î Âɰ³´Â ´É·ÂÀ»
ÀǹÌÇÑ´Ù. Áï »öÀÎ »ý¼º, µ¥ÀÌÅͺ£À̽º ·Îµå, SQL Äõ¸®¿Í °°Àº ´ÜÀÏ µ¥ÀÌÅͺ£À̽º ÀÛ¾÷À»
º¹¼ö°³ÀÇ
ºÎºÐÀ¸·Î ¼¼ºÐÇÏ¿©, ´ÜÀÏ µ¥ÀÌÅͺ£À̽º ÆÄƼ¼Ç³»¿¡¼ º´·Ä·Î ½ÇÇàÇÑ´Ù. ÆÄƼ¼Ç³» º´·Ä 󸮴Â
SMP
½Ã½ºÅÛ¿¡ ¸Å¿ì ÀûÇÕÇÏ´Ù. |
|
|
±×¸² 1-2. ÆÄƼ¼Ç³» º´·Ä ó¸® (Intra-Partition Parallelism)
|
• ÆÄƼ¼Ç°£ º´·Ä ó¸®(Inter-Partition Parallelism)
ÆÄƼ¼Ç°£ º´·Ä 󸮴 Äõ¸®¸¦ ´ÜÀÏ ¸Ó½Å ¶Ç´Â º¹¼ö°³ÀÇ ¸Ó½Å¿¡¼ ºÐÇÒµÈ µ¥ÀÌÅͺ£À̽ºÀÇ º¹¼ö ÆÄƼ¼Ç
»çÀÌ·Î º¹¼ö°³ÀÇ ºÎºÐÀ¸·Î Âɰ³´Â ´É·ÂÀ» ÀǹÌÇÑ´Ù. Äõ¸®´Â º´·Ä·Î ¼öÇàµÈ´Ù. ÆÄƼ¼Ç°£ º´·Ä 󸮴Â
MPP ½Ã½ºÅÛ¿¡ ¸Å¿ì ÀûÇÕÇÏ´Ù. |
|
|
±×¸² 1-3. ÆÄƼ¼Ç°£ º´·Ä ó¸® (Inter-Partition Parallelism)
|
|
±×¸² 1-3¿¡¼´Â º´·Ä·Î ¼öÇàµÉ ¼ö ÀÖ´Â 4°³ÀÇ Á¶°¢À¸·Î Âɰ³ÂÇ °á°ú°¡ ´ÜÀÏ ÆÄƼ¼Ç¿¡¼ ¼øÂ÷ÀûÀÎ ¹æ½ÄÀ¸·Î ¼öÇàµÇ´Â °Íº¸´Ù ´õ »¡¸® ¸®ÅϵǴ Äõ¸®¸¦ º¼ ¼ö ÀÖ´Ù. º´·Ä ó¸®ÀÇ Á¤µµ´Â »ý¼ºÇÑ ÆÄƼ¼ÇÀÇ ¼ö¿Í ³ëµå ±×·ìÀ» Á¤ÀÇÇÏ´Â ¹æ¹ý¿¡ µû¶ó ´ë°³ °áÁ¤µÈ´Ù. ÆÄƼ¼Ç°£ º´·Ä ó¸® »Ó¸¸ ¾Æ´Ï¶ó ÆÄƼ¼Ç³» º´·Ä ó¸®¿Í ÆÄƼ¼Ç°£ º´·Äó¸®ÀÇ Á¶ÇÕÀÌ °¡´ÉÇϵµ·Ï DB2 EEE (Enterprise-Extended Edition)°¡ ¼³Ä¡µÉ Çʿ䰡 ÀÖ´Ù.
|
 |
|
|
4.2 Database Manager Configuration
Parameter
|
DBMS ±¸¼º ÆÄÀÏÀº ÀνºÅϽº(Database Manager) ´ÜÀ§·Î Á¸ÀçÇÏ¸ç ¾îÇø®ÄÉÀÌ¼Ç ¼öÇà ȯ°æ, Åë½Å ȯ°æ, ±ÇÇÑ ±×·ì µî°ú °°Àº ÀνºÅϽº¿¡ ´ëÇÑ ±¸¼º Á¤º¸¸¦ ´ã°í ÀÖ´Ù. DB2 °ü¸®ÀÚ´Â ÀÌ·¯ÇÑ DBMS ±¸¼º ÆÄÀÏÀÇ ¸Å°³º¯¼ö °ªµéÀ» Á¶Á¤ÇÔÀ¸·Î½á ¼º´ÉÀ» ÃÖÀûÈ ÇÒ ¼ö ÀÖ´Ù.
¢¹ DBM ±¸¼º ÆÄÀÏÀ» º¸´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
# login db2inst1
# db2 get database manager configuration
(¶Ç´Â)
# db2 get dbm cfg
¢¹ ¸Å°³º¯¼ö °»½Å ¹æ¹ý
# db2 update dbm cfg using '¸Å°³º¯¼ö_À̸§' '°ª'
<¿¹>
# db2 update dbm cfg using sysadm_group db2iadm1
¢¹ DBM ±¸¼º ÆÄÀÏÀ» º¯°æÇÑ °æ¿ì ÀνºÅϽº¸¦ Àç½ÃÀÛÇØ¾ß(db2stop & db2start) º¯°æµÈ °ªÀÌ À¯È¿ÇØ
Áø´Ù.
¢¹ DBM ±¸¼º ÆÄÀÏ ³»¿ë (¿¹)
µ¥ÀÌŸº£À̽º °ü¸® ÇÁ·Î±×·¥ ±¸¼º [AIX¿ë DB2 UDB]
³ëµå À¯Çü = ±¹Áö ¹× ¿ø°Ý Ŭ¶óÀÌ¾ðÆ®°¡ ÀÖ´Â µ¥ÀÌŸº£À̽º ¼¹ö
µ¥ÀÌŸº£À̽º °ü¸® ÇÁ·Î±×·¥ ±¸¼º ¸±¸®½º ·¹º§ = 0x0800
CPU ¼Óµµ(¹Ð¸®ÃÊ/¸í·É¾î) (CPUSPEED) = 1.006093e-05
ÇöÀç »ç¿ë ÁßÀÎ µ¥ÀÌŸº£À̽ºÀÇ ÃÖ´ë ¼ö (NUMDB) = 8
Æ®·£Àè¼Ç ÇÁ·Î¼¼¼ ¸ð´ÏÅ͸í (TP_MON_NAME) =
»ý·«½Ã Â÷Áö¹é °èÁ¤ (DFT_ACCOUNT_STR) =
Java Development Kit 1.1 ¼³Ä¡ °æ·Î (JDK11_PATH) =
Áø´Ü ¿À·ù ĸó ·¹º§ (DIAGLEVEL) =
3 Áø´Ü ÀÚ·á µð·ºÅ丮 °æ·Î (DIAGPATH) = /home/db2inst1/sqllib/db2dump
»ý·«½Ã µ¥ÀÌŸº£À̽º ¸ð´ÏÅÍ ½ºÀ§Ä¡
¹öÆÛ Ç® (DFT_MON_BUFPOOL) = OFF
Àá±Ý (DFT_MON_LOCK) = OFF
Á¤·Ä(sort) (DFT_MON_SORT) = OFF
¸í·É¹® (DFT_MON_STMT) = OFF
Å×À̺í (DFT_MON_TABLE) = OFF
ÀÛ¾÷ ´ÜÀ§(UOW) (DFT_MON_UOW) = OFF
SYSADM ±×·ì¸í (SYSADM_GROUP) = DB2IADM1
SYSCTRL ±×·ì¸í (SYSCTRL_GROUP) =
SYSMAINT ±×·ì¸í (SYSMAINT_GROUP) =
µ¥ÀÌŸº£À̽º °ü¸® ÇÁ·Î±×·¥ ÀÎÁõ (AUTHENTICATION) = SERVER
¸ðµç Ŭ¶óÀÌ¾ðÆ® ½ÅÀÓ (TRUST_ALLCLNTS) = YES
½ÅÀÓ Å¬¶óÀÌ¾ðÆ® ÀÎÁõ (TRUST_CLNTAUTH) = CLIENT
»ý·«½Ã µ¥ÀÌŸº£À̽º °æ·Î (DFTDBPATH) = /home/db2inst1
µ¥ÀÌŸº£À̽º ¸ð´ÏÅÍ Èü(heap) Å©±â(4KB) (MON_HEAP_SZ) = 48
UDF °øÀ¯ ¸Þ¸ð¸® ¼¼Æ® Å©±â(4KB) (UDF_MEM_SZ) = 256
¹é¾÷ ¹öÆÛ »ý·«½Ã Å©±â(4KB) (BACKBUFSZ) = 1024
º¹¿ø ¹öÆÛÀÇ »ý·«½Ã Å©±â(4KB) (RESTBUFSZ) = 1024
Á¤·Ä Èü(heap) ÀÓ°è°ª(4KB) (SHEAPTHRES) = 20000
µð·ºÅ丮 ij½¬ Áö¿ø (DIR_CACHE) = YES
Java °¡»ó ±â°è Èü(heap) Å©±â (4KB) (JAVA_HEAP_SZ) = 512
Àû¿ë¾÷¹« Áö¿ø °èÃþ Èü(heap) Å©±â(4KB) (ASLHEAPSZ) = 15
¸®Äù½ºÅÍ I/O ºí·ÏÀÇ ÃÖ´ë Å©±â(¹ÙÀÌÆ®) (RQRIOBLK) = 32767
Á¶È¸ Èü(heap) Å©±â(4KB) (QUERY_HEAP_SZ) = 1000
DRDA ¼ºñ½º Èü(heap) Å©±â(4KB) (DRDA_HEAP_SZ) = 128
¿¡ÀÌÀüÆ®ÀÇ ¿ì¼±¼øÀ§ (AGENTPRI) = SYSTEM
±âÁ¸ ¿¡ÀÌÀüÆ®ÀÇ ÃÖ´ë ¼ö (MAXAGENTS) = 200
¿¡ÀÌÀüÆ® Ç® Å©±â (NUM_POOLAGENTS) = 4 (°è»êµÊ)
Ç®¿¡ ÀÖ´Â Ãʱ⠿¡ÀÌÀüÆ® ¼ö (NUM_INITAGENTS) = 0
Á¶Á¤ ¿¡ÀÌÀüÆ®ÀÇ ÃÖ´ë ¼ö (MAX_COORDAGENTS) = MAXAGENTS
µ¿½Ã Á¶Á¤ ¿¡ÀÌÀüÆ®ÀÇ ÃÖ´ë ¼ö (MAXCAGENTS) = MAX_COORDAGENTS
DARI ÇÁ·Î¼¼½º À¯Áö (KEEPDARI) = YES
DARI ÇÁ·Î¼¼½ºÀÇ ÃÖ´ë ¼ö (MAXDARI) = MAX_COORDAGENTS
»öÀÎ ÀçÀÛ¼º ½Ã°£ (INDEXREC) = RESTART
Æ®·£Àè¼Ç °ü¸® ÇÁ·Î±×·¥ µ¥ÀÌŸº£À̽º¸í (TM_DATABASE) = 1ST_CONN
Æ®·£Àè¼Ç À絿±âÈ °£°Ý(ÃÊ) (RESYNC_INTERVAL) = 180
SPM¸í (SPM_NAME) =
SPM ·Î±× Å©±â (SPM_LOG_FILE_SZ) = 256
SPM À絿±âÈ ¿¡ÀÌÀüÆ® ÇѰè (SPM_MAX_RESYNC) = 20
TCP/IP ¼ºñ½º¸í (SVCENAME) = db2cdb2inst1
APPC Æ®·£Àè¼Ç ÇÁ·Î±×·¥¸í (TPNAME) =
IPX/SPX ÆÄÀÏ ¼¹ö¸í (FILESERVER) =
IPX/SPX DB2 ¼¹ö ¿ÀºêÁ§Æ®¸í (OBJECTNAME) =
IPX/SPX ¼ÒÄÏ ¹øÈ£ (IPX_SOCKET) = 879E
¹ß°ß ¸ðµå (DISCOVER) = SEARCH
¹ß°ß Åë½Å ÇÁ·ÎÅäÄÝ (DISCOVER_COMM) = TCPIP
¹ß°ß ¼¹ö ÀνºÅϽº (DISCOVER_INST) = ENABLE
µð·ºÅ丮 ¼ºñ½º À¯Çü (DIR_TYPE) = NONE
¢¹ DBM ±¸¼º ¸Å°³º¯¼ö Áß¿¡¼ ÀÚÁÖ ÂüÁ¶µÇ°í »ç¿ëµÇ´Â °ÍµéÀº ´ÙÀ½°ú °°´Ù.
|
(1) Application °ü·Ã
°¡. agentpri: dbm process and threads priority
def: -1
rem: UNIX : low value - high priority
OS/2 : high value - high priority
³ª. maxagents: ¸ðµç database¿¡ ¿¬°áÇÏ´Â applicationÀÇ ÃѼö
(the total number of applications that may connect to all database)
def: 200 (1 - 64000)
rem: concurrentÇÏ°Ô accessµÇ´Â °¢ dbÀÇ maxapplsÀÇ ÇÕ
´Ù. maxcagents: database manager°¡ Çѹø¿¡, µ¿½Ã¿¡ ó¸®ÇÏ´Â dbm agentsÀÇ Á¦ÇÑ
(ÇѰè)¼ö (limits the number of dbm agents that can be processed
concurrently by the dbm at any one time)
def: -1 (the limit is maxagents ÀǹÌ)
(2) Agent / Application com Memory
°¡. aslheapsz: application support layer heap size
(Àû¿ë¾÷¹«Áö¿ø °èÃþÈü Å©±â)
- comm buffer between local application and its associated agent
def: 15(1 - 524288)
rem: 1) 200
query_heap_sz¿Í °ü·Ã, query_heap_szÀÇ 1/5Á¤µµ
def: 1,000
2) asleapsz > = (size of (input sqlda) + size of
(each input sqlvar) + size of (output sqlda) + 250) / 4096
³ª. rqrioblk
- client I/O block size (ÃÖ´ë request I/O ºí·ÏÅ©±â)
- remote db¿¡ connectÇÒ ¶§ clientÀÇ comm buffer size
- server¿¡´Â initial·Î 32767 bytes allocateÇϰí, client¿¡ allocateÇÔ
´Ù. dos_ rqrioblk : dos requester I/O block
- dos clientÀÇ comm buffer size
- remote db accessÇÏ´Â dos/window client¿¡ ÇØ´ç
def : 4096(4096 - 65535)
(3) Agent Private Memory
°¡. sheapthres: sort heap threshold for dbm
de : UNIX : 4096(250 - 524288)
OS/2 : 2048(250 - 524288)
rem: °¢ db¿¡ ´ëÇÑ µ¿½Ã󸮵Ǵ agentsÀÇ ¼ö * °¢ db¿¡ ´ëÇÑ sortheap
¡æ ¸ðµç dbÀÇ ÇÕ°è
(4) Communication
°¡. TCP/IP ¼ºñ½º¸í (SVCENAME): TCP/IP service port À̸§. ÃÖÃÊ ÀνºÅϽº ÀÛ¼º½Ã
default °ªÀº port number 50,000, service name db2cdb2inst1.
³ª. ¹ß°ß ¸ðµå (DISCOVER): Default´Â 'SEARCH' À̸ç Ŭ¶óÀÌ¾ðÆ®¿¡¼ ³×Æ®¿÷ Ž»ö ±â´ÉÀ»
ÀÌ¿ëÇÏ¿© ÀÚµ¿À» ¼¹ö¸¦ ã¾Æ ±¸¼ºÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÔ
´Ù. ¹ß°ß Åë½Å ÇÁ·ÎÅäÄÝ (DISCOVER_COMM): ³×Æ®¿÷ Ž»ö½Ã »ç¿ëÇÏ´Â ÇÁ·ÎÅäÄÝ ¼³Á¤.
Default´Â TCP/IP ÀÓ
|
 |
|
|
4.3 Database Configuration Parameter
|
| Database ±¸¼º ÆÄÀÏÀº ÀνºÅϽº³»ÀÇ °¢ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ±¸¼º Á¤º¸¸¦ ´ã°í ÀÖ´Ù. ¹öÆÛ Ç®, ·Î±× ¹öÆÛ, ·Î±× ÆÄÀÏ, Circular/Archival logging µî µ¥ÀÌÅͺ£À̽º ¿î¿µ»óÀÇ Áß¿äÇÑ ³»¿ëµéÀ» Æ÷ÇÔÇϰí ÀÖÀ¸¸ç, ƯÈ÷ ¹öÆÛ Ç®°ú °ü·ÃµÈ ¸Å°³º¯¼ö °ªµéÀº µ¥ÀÌÅͺ£À̽ºÀÇ ¼º´É¿¡ Á÷Á¢ÀûÀÎ ¿µÇâÀ» ¹ÌÄ¡¹Ç·Î °ü¸®ÀÚ´Â Ç×»ó ÀÌ·¯ÇÑ °ªµéÀÌ ÀûÀýÈ÷ À¯ÁöµÉ ¼ö ÀÖµµ·Ï ½Å°æÀ» ½á¾ß ÇÑ´Ù. |
¢¹ Database ±¸¼º ÆÄÀÏÀ» º¸´Â ¹æ¹ý
# login db2inst1
# db2 get database configuration for 'db_name'(¶Ç´Â)
# db2 get db cfg for 'db_name'
¢¹ Database ±¸¼º ÆÄÀÏÀÇ ¸Å°³º¯¼ö °»½Å ¹æ¹ý
# db2 update db cfg for 'db_name' using '¸Å°³º¯¼ö_À̸§' '°ª'
<¿¹>
# db2 update db cfg for sample using logbufsiz 32
¢¹ º¯°æµÈ ¸Å°³º¯¼ö °ªÀº µ¥ÀÌÅͺ£À̽º°¡ ´Ù½Ã activateµÉ ¶§ À¯È¿ÇØ Áø´Ù. Áï ¸ðµç »ç¿ëÀÚÀÇ ¿¬°áÀÌ Á¾
·áµÈ ÈÄ ´Ù½Ã ¿¬°áµÇ´Â °æ¿ì¿¡ º¯°æµÈ ¸Å°³º¯¼ö °ªÀÌ Àû¿ëµÊ
µ¥ÀÌŸº£À̽º sample¿¡ ´ëÇÑ µ¥ÀÌŸº£À̽º ±¸¼º
µ¥ÀÌŸº£À̽º ±¸¼º ¸±¸®½º ·¹º§ = 0x0800
µ¥ÀÌŸº£À̽º ¸±¸®½º ·¹º§ = 0x0800
µ¥ÀÌŸº£À̽º Áö¿ª(territory) = ko_KR
µ¥ÀÌŸº£À̽º ÄÚµå ÆäÀÌÁö = 970
µ¥ÀÌŸº£À̽º ÄÚµå ¼¼Æ® = IBM-eucKR
µ¥ÀÌŸº£À̽º ±¹°¡ ÄÚµå = 82
µð·ºÅ丮 ¿ÀºêÁ§Æ®¸í (DIR_OBJ_NAME) =
ÀÌ µ¥ÀÌŸº£À̽º¿¡ ´ëÇÑ ¹ß°ß Áö¿ø (DISCOVER_DB) = ENABLE
º´·ÄÈ Á¤µµ (DFT_DEGREE) = 1
»ý·«½Ã Á¶È¸ ÃÖÀûÈ Å¬·¡½º (DFT_QUERYOPT) = 5
»ê¼ú¿¬»ê ¿¹¿Ü½Ã °è¼Ó (DFT_SQLMATHWARN) = NO
º¸À¯µÈ ÀÚÁÖ »ç¿ëµÇ´Â °ªÀÇ ¼ö (NUM_FREQVALUES) = 10
º¸À¯µÈ quantileÀÇ ¼ö (NUM_QUANTILES) = 20
¹é¾÷ º¸·ù = NO
µ¥ÀÌŸº£À̽º°¡ Àϰü¼ºÀÌ ÀÖÀ½ = YES
·Ñ Æ÷¿öµå(rollforward) º¸·ù = NO
º¹¿ø º¸·ùÁß = NO
´ÙÁß ÆäÀÌÁö ÆÄÀÏ ÇÒ´ç ÀÛµ¿ = NO
º¹±¸¸¦ À§ÇÑ ·Î±× º¸À¯ »óÅ = NO
·Î±ë¿¡ ´ëÇÑ »ç¿ëÀÚ ³ª°¨(user exit) »óÅ = NO
µ¥ÀÌŸº£À̽º Èü(heap)(4KB) (DBHEAP) = 1200
īŻ·Î±× ij½¬ Å©±â(4KB) (CATALOGCACHE_SZ) = 64
·Î±× ¹öÆÛ Å©±â(4KB) (LOGBUFSZ) = 8
À¯Æ¿¸®Æ¼ Èü(heap) Å©±â(4KB) (UTIL_HEAP_SZ) = 5000
¹öÆÛ Ç® Å©±â(4KB) (BUFFPAGE) = 1000
ÆÐŰÁö ij½¬ Å©±â(4KB) (PCKCACHESZ) = (MAXAPPLS*8)
Åë°è Èü(heap) Å©±â(4KB) (STAT_HEAP_SZ) = 4384
±³Âø »óÅ Á¡°Ë °£°Ý(ms) (DLCHKTIME) = 10000
Àû¿ë¾÷¹«´ç Àá±Ý ¸ñ·ÏÀÇ ¹éºÐÀ² (MAXLOCKS) = 10
Àá±Ý ½Ã°£Á¾·á(ÃÊ) (LOCKTIMEOUT) = -1
º¯°æµÈ ÆäÀÌÁö ÀÓ°è°ª (CHNGPGS_THRESH) = 60
ºñµ¿±â ÆäÀÌÁö Á¤¸®ÀÚ(cleaner)ÀÇ ¼ö (NUM_IOCLEANERS) = 1
I/O ¼¹öÀÇ ¼ö (NUM_IOSERVERS) = 3
»öÀÎ Á¤·Ä Ç÷¡±× (INDEXSORT) = YES
¼øÂ÷ °ËÃâ Ç÷¡±× (SEQDETECT) = YES
»ý·«½Ã ÇÁ¸®ÆäÄ¡ Å©±â(4KB) (DFT_PREFETCH_SZ) = 32
»ý·«½Ã ÄÁÅ×À̳ÊÀÇ ¼ö = 1
»ý·«½Ã Å×ÀÌºí°ø°£ Extent Å©±â(4KB) (DFT_EXTENT_SZ) = 32
½ÇÇàÁßÀÎ ÇÁ·Î±×·¥ÀÇ ÃÖ´ë ¼ö (MAXAPPLS) = 40
Æò±Õ ½ÇÇàÁßÀÎ Àû¿ë¾÷¹«ÀÇ ¼ö (AVG_APPLS) = 1
Àû¿ë¾÷¹«´ç ¿¸° DB ÆÄÀÏÀÇ ÃÖ´ë ¼ö (MAXFILOP) = 64
·Î±× ÆÄÀÏ Å©±â(4KB) (LOGFILSIZ) = 1000
±âº» ·Î±× ÆÄÀÏÀÇ ¼ö (LOGPRIMARY) = 3
2Â÷ ·Î±× ÆÄÀÏÀÇ ¼ö (LOGSECOND) = 2
·Î±× ÆÄÀÏ¿¡ ´ëÇÑ º¯°æµÈ °æ·Î (NEWLOGPATH) =
·Î±× ÆÄÀÏ¿¡ ´ëÇÑ °æ·Î = /home/db2inst1/db2inst1/ NODE0000/SQL00001/SQLOGDIR/
´ÙÀ½¿¡ »ç¿ëÇÒ ·Î±× ÆÄÀÏ =
óÀ½¿¡ »ç¿ëÇÒ ·Î±× ÆÄÀÏ =
±×·ì È®¾à °è¼ö (MINCOMMIT) = 1
¼ÒÇÁÆ® Á¡°ËÁ¡ Àü¿¡ ¼öÁ¤µÈ ·Î±× ÆÄÀÏÀÇ ¹éºÐÀ² (SOFTMAX) = 100
º¹±¸¸¦ À§ÇÑ ·Î±× º¸À¯ ÀÛµ¿ (LOGRETAIN) = OFF
·Î±ë¿¡ ´ëÇÑ »ç¿ëÀÚ ³ª°¨(user exit) ÀÛµ¿ (USEREXIT) = OFF
ÀÚµ¿ Àç½ÃÀÛ ÀÛµ¿ (AUTORESTART) = ON
»öÀÎ ÀçÀÛ¼º ½Ã°£ (INDEXREC) = SYSTEM (RESTART)
»ý·«½Ã loadrec ¼¼¼ÇÀÇ ¼ö (DFT_LOADREC_SES) = 1
|
| ¢¹ Database ±¸¼º ¸Å°³º¯¼öµé Áß¿¡¼ ÀÚÁÖ ÂüÁ¶µÇ°í »ç¿ëµÇ´Â °ÍµéÀº ´ÙÀ½°ú °°´Ù.
|
(1) DataBase Shared Memory
°¡. buffpage: buffer pool size
def: UNIX ¡æ 1000 (2 * maxappls - 524288)
OS/2 ¡æ 250 (2 * maxappls - 524288)
rem: multiple user
db server·Î¸¸ machine »ç¿ë => ȯ°æ¿¡¼ 75% »ç¿ë
large data
one db on the machine
³ª. logbufsz: log buffer size
- out buffer: update½Ã disk¿¡ log¸¦ writeÇϱâ Àü¿¡ »ç¿ë
- out buffer size
def: 8 (4 - 12)
rem: ÁÖ·Î read³ª disk»ç¿ë·ü(utilization)ÀÌ ³ôÀ¸¸é ¼ýÀÚ¸¦ ¿Ã·ÁÁÙ °Í
´Ù. locklist: maximum storage for lock lists
- ÇϳªÀÇ application¿¡ ÀÇÇØ »ç¿ëµÇ´Â locklistÀÇ ºñÀ²ÀÌ maxlocks¿¡ À̸¦¶§
db manager´Â lock escalation¿¡ µé¾î°£´Ù.
def: NIX -> 100(4 - 60000)
rem: (512 * 32(or 64) * maxappls) / 4 = 96
(2) Agent Private Memory
°¡. sortheap: sort heap size
def: 256(16 - 524288)
³ª. pakcachesz: package cache size
(hostÀÇ EDM pool°ú À¯»ç)
def: 36(1 - applheapsz (128(32 - 60000))
´Ù. maxlocks: lockÀÇ ¼öÀÇ Áõ°¡ Àü¿¡ locklistÀÇ ÃÖ´ëºñÀ²
(max percent of locklist before escalation)
def: UNIX 10(1-100), OS/2 22(1 - 100)
rem: 100 * (512 locks per appl * 32 bytes * 2) / (locklist * 4096 byte)
(3) I/O & Storage
°¡. chngpgs_thresh: changed pages threshold
- buffer°¡ ¸î % Â÷¸é buffer¿¡¼ disk·Î writeÇÒ °ÍÀΰ¡
def: 60 (5 - 80)
³ª. num_iocleaners: number of asynchronous page cleaners
- buffer¿¡¼ disk·Î writeÇÏ´Â ¿ªÇÒ (¸¶Ä¡ buffer manageró·³)
def: 1 (0 - 255)
rem: select only¸é 0µµ °¡´É (high update¸é ¼ýÀÚ¸¦ ´Ã¸°´Ù.)
´Ù. num_ioservers: number of I/O servers
- prefetch I/O, backup À̳ª restore utilityµî¿¡ »ç¿ëµÇ´Â asynchronous I/O¿¡ »ç¿ëµÊ
¶ó. seqdetect: sequential detection flag
- sequential detection
def: yes ¡²yes, no¡³
(4) Application
°¡. maxappls: max number of active applications
- concurrent applications connected (both local and remote) to a db
- locklist, maxlocks¿Í °ü·Ã
def: UNIX 40(1 - 5000)
³ª. arg_appls: average number of active applications
- sql optimizer°¡ access plan°áÁ¤ÇÒ ¶§ buffer poolÀÇ availability¸¦ ÀÎÁöÇÏ°Ô µÊ
- large volumnÀϼö·Ï ³ô¿©ÁÙ °Í
def: 1(1 - maxappls)
(5) Logging
°¡. logretain: Archival logging enabling
def: off
rem: 'on'À¸·Î µÇ¾î ÀÖÀ¸¸é Archival logging »ç¿ë
³ª. userexit: Archival logging °ú °ü·ÃÇÑ userexit ÇÁ·Î±×·¥ »ç¿ë ¿©ºÎ
def: off
rem: 'on'À¸·Î µÇ¸é userexit ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ¸ç,
Archival logging ¸ðµå·Î ÀüȯµÊ
´Ù. logfilsiz: ·Î±×ÆÄÀÏÀÇ Å©±â¸¦ 4K byte ´ÜÀ§·Î ÁöÁ¤
def: 1,000
¶ó. logprimary: Circular logging¿¡¼ primary ·Î±× ÆÄÀÏÀÇ ¼ö¸¦ ÁöÁ¤
def: 3
¸¶. logsecond: Circular logging¿¡¼ secondary ·Î±× ÆÄÀÏÀÇ ¼ö¸¦ ÁöÁ¤
def: 2
¹Ù. newlogpath: ·Î±× ÆÄÀÏ¿¡ ´ëÇÑ »õ·Î¿î µð·ºÅ丮¸¦ ÁöÁ¤
def: home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/
rem: ·Î±× µð·ºÅ丮´Â ·Î±× ÆÄÀÏÀÌ Á¸ÀçÇÏ´Â µð·ºÅ丮ÀÌ¸ç ¿î¿µÁß¿¡´Â µ¥ÀÌÅÍ
ÆÄÀÏÀÌ Á¸ÀçÇÏ´Â µð·ºÅ丮¿Í ¹°¸®ÀûÀ¸·Î ´Ù¸¥ µð½ºÅ©¸¦ ÇÒ´çÇÏ´Â °ÍÀÌ ¹Ù¶÷
Á÷ÇÏ´Ù.
|
 |
|
|
4.4 ½º³À¼¥ ¸ð´ÏÅ͸µ
|
| ½º³À¼¦ ¸ð´ÏÅ͸µÀº ƯÁ¤ ½ÃÁ¡¿¡¼ÀÇ µ¥ÀÌÅͺ£À̽º Ȱµ¿¿¡ °üÇÑ Á¤º¸¸¦ Á¦°øÇÑ´Ù. DB2 Ȱµ¿ÀÇ
ÇöÀç »óÅ¿¡ ´ëÇÑ ±×¸²ÀÌ´Ù. ½º³À¼¦À» ÃëÇßÀ» ¶§ »ç¿ëÀÚ¿¡°Ô ¸®ÅϵǴ Á¤º¸ÀÇ ¾çÀº »ç¿ëÇÏ´Â ¸ð´ÏÅÍ ½ºÀ§Ä¡¿¡ ÀÇÇØ °áÁ¤µÈ´Ù. ÀÌ ½ºÀ§Ä¡µéÀº
ÀνºÅϽº ¶Ç´Â ÀÀ¿ëÇÁ·Î±×·¥ ·¹º§¿¡¼ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. |
¢º Snapshop Monitor
$ db2 " get monitor switches"
$ db2 " update monitor switches using bufferpool on uow on "
$ db2 " get snapshot for all on db¸í " | more
$ db2 " get snapshot for locks on db¸í " | more
$ db2 " get snapshot for application agentid # " |more
( # Àº application handle IDÀÓ)
½º³À¼¦ ¸ð´ÏÅÍ¿¡ »ç¿ëµÇ´Â ¸ð´ÏÅ͸µ ·¹º§Àº ´ÙÀ½°ú °°´Ù.
• µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ - Ȱµ¿ÁßÀÎ ÀνºÅϽº¿¡ ´ëÇÑ Á¤º¸ ¼öÁý
• µ¥ÀÌÅͺ£À̽º - µ¥ÀÌÅͺ£À̽º Á¤º¸ ¼öÁý
• ÀÀ¿ëÇÁ·Î±×·¥ - ÀÀ¿ëÇÁ·Î±×·¥ Á¤º¸ ¼öÁý
• ¹öÆÛ Ç® - ¹öÆÛ Ç® Ȱµ¿ Á¤º¸ ¼öÁý
• Å×ÀÌºí °ø°£ - µ¥ÀÌÅͺ£À̽º³»ÀÇ Å×ÀÌºí °ø°£ Á¤º¸ ¼öÁý
• Å×À̺í - µ¥ÀÌÅͺ£À̽º³»ÀÇ Å×À̺í Á¤º¸ ¼öÁý
• Àá±Ý - µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÇÇØ °É¸° Àá±Ý Á¤º¸ ¼öÁý
• µ¿Àû SQL - µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ SQL ¹®Àå ij½¬·ÎºÎÅÍ Æ¯Á¤½ÃÁ¡ÀÇ ¹®Àå Á¤º¸ ¼öÁý |
 |
|
|
4.5 Event Monitor
|
| À̺¥Æ® ¸ð´ÏÅ͸µÀº DB2 À̺¥Æ®ÀÇ Æ¯Á¤ »ç°ÇÀÇ ¹ß»ýÀ» ±â·ÏÇÑ´Ù. À̰ÍÀº ±³Âø »óÅÂ, ¿¬°á, SQL¹®ÀåµéÀ» Æ÷ÇÔÇÑ ÀϽÃÀûÀÎ À̺¥Æ®¿¡ ´ëÇÑ Á¤º¸¸¦ ¼öÁýÇϵµ·Ï ÇÑ´Ù. |
¢º Event Monitor
$ db2 create event monitor testmon for statements
write to file --------- -------------
(event monitor À̸§) (database,transactions, tables,...)
'/home/rdb/int1hqd1/SQL00001/db2event' maxfiles 24
maxfilesize 1024 nonblocked append "
$ db2 "set event monitor testmon state 1"
$ db2 "select evmonname , event_mon_state(evmonname)
from syscat.eventmonitors "
$ db2evmon -db sample -evm testmon
$ db2evmon -path /home/rdb/int1hqd1/SQL00001/db2event
(ÀÌÀü ÀÛ¾÷ÀÇ ´ëü¿ë)
¸ð´ÏÅÍ ½ºÀ§Ä¡´Â ´ÙÀ½ÁßÀÇ Çϳª°¡ ¹ß»ýµÉ ¶§ Ãʱâȵǰųª Àç¼³Á¤µÈ´Ù.
• ÀÀ¿ëÇÁ·Î±×·¥ ·¹º§ ¸ð´ÏÅ͸µ - ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áµÉ ¶§
• µ¥ÀÌÅͺ£À̽º ·¹º§ ¸ð´ÏÅ͸µ - ù¹øÂ° ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¿¬°áµÉ ¶§
• Å×ÀÌºí ·¹º§ ¸ð´ÏÅ͸µ - Å×À̺íÀÌ Ã¹¹øÂ° ¾×¼¼½ºµÉ ¶§
• Å×ÀÌºí °ø°£ ·¹º§ ¸ð´ÏÅ͸µ - Å×ÀÌºí °ø°£ÀÌ Ã³À½ ¾×¼¼½ºµÉ ¶§
• RESET MONITOR ¸í·É¾î°¡ ¹ßÇàµÉ ¶§
• ƯÁ¤ ¸ð´ÏÅÍ ½ºÀ§Ä¡°¡ OnµÉ¶§ |
 |
|
|
4.6 Snap Shot ³»¿ë ºÐ¼®
|
4.6.1 Buffer Pool Size (buffpage)
|
¢¹ Buffer pool hit ratio´Â page request¸¦ À§ÇØ DBMS°¡
disk·ÎºÎÅÍ physical i/o¸¦ ÇÏÁö¾ÊÀº Ƚ¼ö
ÀÇ%¸¦ ³ªÅ¸³»´Â °ÍÀ¸·Î, hit ratio°¡ ³ôÀ»¼ö·Ï disk i/o°¡ Àû¾úÀ½À» ÀǹÌÇÑ´Ù.
¢¹ Buffer pool hit ratio »êÃâ°ø½Ä
1 - ((buffer
pool data physical reads + Buffer pool index physical reads)
/ (buffer pool data logical reads + Buffer pool index logical reads))
¡æ hit ratio°¡ ÀûÀ¸¸é (close to zero), buffer pool page °³¼ö¸¦ ´Ã·Á ÁØ´Ù.
¢¹ buffer pool data write ȤÀº buffer pool index write°¡
buffer pool data physical read ȤÀº buffer pool index
physical read¿Í ºñ±³ÇÒ ¶§ percentage°¡
³ôÀ¸¸é buffer pool page°³¼ö¸¦ ´Ã·Á ÁØ´Ù.
¢¹ 1Â÷ÀûÀ¸·Î database³»¿¡¼ buffer pool size¸¦ checkÇϰí application º°·Îµµ ƯÁ¤
applicationÀÌ Buffer pool hit ratio°¡ À¯³È÷ ³·Àº°¡µµ checkÇÑ´Ù.
¢¹ total buffer pool physical read time ȤÀº total buffer pool physical write
timeÀÇ ¼Ò¿ä½Ã°£ÀÌ
Å©´Ù¸é i/o wait¸¦ ¼ö¹ÝÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î data¸¦ ¼·Î ´Ù¸¥ device¿¡ µÎ´Â °Íµµ °í·ÁÇÒ¸¸ ÇÏ´Ù.
¢¹ maximun data file open °³¼ö´Â maxfilop configuration parameter¿¡ Á¶Á¤µÈ´Ù.
¢¹ async physical data page read´Â db manager prefetch¸¦ ÅëÇØ sync physical data
page
read´Âdb manager agent¿¡ ÀÇÇØ ÀϾÙ. sync i/o°¡ ÀϾ´Â µ¿¾È applicationÀº ´ë±âÇϰÔ
µÈ´Ù.
¢¹ sync read¿¡ ´ëÇÑ async readÀÇ ratio·Î prefetch°¡ ¾ó¸¶³ª Àß ÀÛµ¿Çϴ°¡¸¦ ¾Ë ¼ö ÀÖ°í,À̰ÍÀ»
¶ÇÇÑ num_ioservers configuration parameterÀÇ ±âÃʰ¡ µÈ´Ù. |
°¡. buffer pool data logical reads
- Á¤ÀÇ: buffer poolÀ» Åë°úÇÏ´Â data pageÀÇ logical read requests Ƚ¼ö
- buffer pool¿¡ Á¸ÀçÇÏ´ø page³ª buffer pool·Î Àоî¿Ã data page¸¦ ¸ðµÎ Æ÷ÇÔ
³ª. buffer pool data physical reads
- Á¤ÀÇ: buffer pool·Î data page¸¦ °®°í¿À±â À§ÇÏ¿© physical i/o¸¦ ¼ö¹ÝÇÑ read requset
Ƚ¼ö
´Ù. buffer pool data write
- Á¤ÀÇ: buffer pool data page°¡ physicalÇÏ°Ô disk¿¡ write µÈ Ƚ¼ö¸¦ ³ªÅ¸³¿
- buffer pool data page°¡ writeµÇ´Â ½ÃÁ¡Àº
¡æ ´Ù¸¥ data page¸¦ readÇϱâ À§ÇØ page¸¦ free½Ãų ¶§
¡æ buffer poolÀ» flush½Ãų ¶§
¶ó. buffer pool index logical reads
- Á¤ÀÇ: buffer pool data logical reads¿Í À¯»ç (index¸¸ ÇØ´çÇÔ)
¸¶. buffer pool index physical reads
- Á¤ÀÇ: buffer pool data physical reads¿Í À¯»ç (index¸¸ ÇØ´çÇÔ)
¹Ù. buffer pool index writes
- Á¤ÀÇ: buffer pool data writes¿Í À¯»ç (index¸¸ ÇØ´çÇÔ)
ȍ. total buffer pool physical read time
- Á¤ÀÇ: data ȤÀº index page°¡ disk·ÎºÎÅÍ buffer pool·Î physical i/o°¡ ÀÏ¾î³ read
request¿¡ ¼Ò¿äµÈ ½Ã°£
¾Æ. total buffer pool physical write time
- Á¤ÀÇ: data ȤÀº index page°¡ disk·ÎºÎÅÍ physicalÇÏ°Ô writeÇϴµ¥ ¼Ò¿äµÈ ½Ã°£
ÀÚ. database files closed
- Á¤ÀÇ: database fileÀÌ closeµÇ´Â Àüü Ƚ¼ö
Â÷. buffer pool asynchronous data reads
- Á¤ÀÇ: buffer pool·Î asyncÇÏ°Ô ÀÐÇôÁø page°¹¼ö
- synchronous physical read °³¼ö =
(buffer pool data physical reads - buffer pool async datal reads)
Ä«. buffer pool asynchronous read time
- Á¤ÀÇ: db manager prefetcher¿¡ ÀÇÇÑ reading¿¡ Àüü ¼Ò¿äµÈ ½Ã°£
- synchronous reading total elapsed time = total buffer physical read time
- buffer pool asynchronous read time
|
 |
|
|
4.6.2 Sort (sortheap, sortheap threshold)
|
¢¹ total sort heap allocated Àüü page¼ö·Î sheapthres configuration parameter¸¦ Á¶Á¤ÇÑ´Ù.
¢¹ post threshold sortsÀÇ ¼ýÀÚ°¡ ³ôÀ¸¸é
¡æ sortheap threshold¸¦ ³ôÀ̰ųª (ȤÀº sortheap size¸¦ ´Ã·ÁÁØ´Ù.)
¡æ sort°¡ Àû°Ô ÀϾµµ·Ï applicationÀ» Á¶Á¤ÇÑ´Ù.
¢¹ piped sort°¡ rejectµÇ¸é
¡æ (1) sortheapÀ» ÁÙÀ̰ųª
¡æ (2) sort µµ¸Þ threshold¸¦ ´Ã¸®´Â °ÍÀ» °í·ÁÇÒ ¼ö ÀÖ´Ù.
(2)Ç×ÀÇ °æ¿ì¿¡´Â Ãß°¡allocate·Î Áõ°¡µÇ´Â memory·Î ÀÎÇØ pagingÀÌ ¹ß»ýÇÒ ¼ö ÀÖ°í
(1)Ç×ÀÇ °æ¿ì¿¡´Â Ãß°¡ merge phase¸¦ ÇÊ¿ä·Î ÇϹǷΠsortÀÇ ¼Óµµ¸¦ ÀúÇϽÃų ¼ö ÀÖ´Ù.
¢¹ sort overflowÀÇ ºóµµ°¡ ³ôÀ¸¸é sortheap size¸¦ ´Ã·ÁÁØ´Ù.
°¡. total sort heap allocated
- Á¤ÀÇ: db manager³ª db Â÷¿ø¿¡¼ ¾î¶² ½ÃÁ¡¿¡ Sort¸¦ À§ÇØ sort heap space Áß¿¡¼
allocateµÇ´Â Àüü page °³¼ö
³ª. post threshold sorts
- Á¤ÀÇ: sort heap threshold¿¡ µµ´ÞÇÑ ÈÄ¿¡ Ãß°¡ heapÀ» requestÇÑ sort Ƚ¼ö
- db¸¶´Ù sortheap¿¡ allocated µÈ memory¾çÀÌ sort heap threshold¿¡ µµ´ÞÇϸé
db manager´Â sort heap parameter value º¸´Ù´Â Àû°Ô Ãß°¡ sort heapÀ» allocate ÇÑ´Ù.
´Ù. piped sorts requested
- Á¤ÀÇ: piped sorts¸¦ requestÇÑ È½¼ö
¡æ piped sort´Â disk i/o¸¦ ÁÙÀ̰í ÀüüÀûÀÎ system performance¸¦ Áõ´ë½ÃŲ´Ù.
¡æ piped sorts´Â sheapthres¿¡ ÃʰúÇÏÁö ¾ÊÀ¸¸é¼ Ãß°¡·Î sort heapÀ» allocate
ÇÒ ¼ö ÀÖÀ¸¸é sort initiate½Ã ÀϾÙ.
(piped sorts¸¦ À§Çؼ´Â sort heapÀ» Àû°ÔÇϰí, sort heap threshold¸¦ Å©°ÔÇÑ´Ù.)
¡æ sql explain outputÀ» º¸¸é optimizer°¡ piped sort¸¦ request Çß´ÂÁö ¾Ë ¼ö ÀÖ´Ù.
¶ó. piped sorts accepted
- Á¤ÀÇ: piped sorts accept µÈ Ƚ¼ö
¸¶. total sorts
- Á¤ÀÇ: sort°¡ ¼öÇàµÈ ÀüüȽ¼ö
¹Ù. total sort time
- Á¤ÀÇ: ¸ðµç sort°¡ ½ÇÇàµÇ´Âµ¥ ¼Ò¿äµÈ Àüü½Ã°£ (´ÜÀ§ : millisec)
ȍ. sort overflows
- Á¤ÀÇ: sort heap size°¡ ºÎÁ·ÇÏ¿© temporary storage¸¦ À§ÇØ Ãß°¡·Î disk space¸¦ ¿äû
Çß´ø sortÀÇ È½¼ö
¾Æ. active sorts
- Á¤ÀÇ: db³»¿¡¼ currentÇÏ°Ô sortheap¿¡ allocateµÈ sort °³¼ö
¡æ total sort heap allocate¿Í ºñ±³ÇÏ¿© °¢°¢ÀÇ sort¸¦ À§ÇÏ¿© ¼Ò¿äµÇ´Â Æò±Õ sort heap
space¸¦ °è»êÇÒ ¼ö ÀÖ´Ù.
|
 |
|
|
4.6.3 Lock
|
¢¹ total lock list memoty in use¸¦ Âü°íÇÏ¿© lock list configuration parameter¸¦
Á¶Á¤ÇÑ´Ù.
¢¹ lock escalationÀ» ¸·±âÀ§Çؼ´Â
¡æ lock list configuration parameter¸¦ Áõ°¡½ÃŲ´Ù.
¡æ maxlocks configuration parameter¸¦ Áõ°¡½ÃŲ´Ù.
¡æ lockÀÌ °ú´ÙÇÏ°Ô ÀϾ´Â applicationÀ» ÆÄ¾ÇÇÑ´Ù.
=> maximum number of locks held ÂüÁ¶
¢¹ number of lock timeoutÀ» Âü°í·Î locktimeout db configuration parameterÁ¶Á¤
¢¹ maximum number of locks held¸¦ ±âÃÊ·Î maxlocks configuration parameter¸¦ Á¶Á¤
|
°¡. lock held
- Á¤ÀÇ: current ÇÏ°Ô lockÀÌ °É¸° Ƚ¼ö
³ª. lock waits
- Á¤ÀÇ: applicationÀ̳ª connection¿¡¼ lockÀ» ´ë±âÇÏ´ø ÀüüȽ¼ö
(time waited on locks value¿Í ÇÔ²² °¢°¢ÀÇ lock¿¡ ¼Ò¿äµÇ´Â Æò±Õ wait time
»êÁ¤°¡´É)
´Ù. time waited on locks
- Á¤ÀÇ: lock´ë±â¿¡ ¼Ò¿äµÈ Àüü½Ã°£
¶ó. total lock list memoty in use
- Á¤ÀÇ: ÇöÀç »ç¿ëÁßÀÎ lock list¿¡ ¼Ò¿äµÈ Á¤Ã¼ memory (´ÜÀ§ : bytes)
¸¶. deadlocks detected
- Á¤ÀÇ: deadlockÀÌ ¹ß»ýÇÑ ÀüüȽ¼ö
¹Ù. lock escalations
- Á¤ÀÇ: row level lock¿¡¼ table level lockÀ¸·Î lockÀÌ escalateµÈ Ƚ¼ö
¡æ lock escalationÀº ÇϳªÀÇ application¿¡¼ °É¸° Àüü lockÀÇ °¹¼ö°¡ lock list
spaceÀÇ maximum°ª¿¡ µµ´ÞÇßÀ» °æ¿ì
(ÇϳªÀÇ application¿¡¼ »ç¿ëµÈ lock listÀÇ % °ªÀÌ maxlocks¿¡ µµ´ÞÇßÀ» °æ¿ì)
ȍ. number of lock timeouts
- Á¤ÀÇ: timeout µÈ lockÀÇ È½¼ö
¾Æ. maximum number of locks held
- Á¤ÀÇ: ÇÑ tx¿¡¼ °É¸° ÃÖ´ë lockÀÇ °³¼ö
|
¢º SnapShot ÀÚ·á (Agent-ID SnapShot ÀÚ·á)
=> db2 get snapshot for application agentid 26818
¡¼ Àû¿ë¾÷¹« ½º³À¼¦ ¡½
¿¡ÀÌÀüÆ® ID = 26818
Àû¿ë¾÷¹« »óÅ = ¿¬°á¿Ï·á
»óÅ º¯°æ ½Ã°£ = ¼öÁýµÇÁö ¾ÊÀ½
Àû¿ë¾÷¹«º°·Î »ç¿ëµÇ´Â ÄÚµå ÆäÀÌÁöÀÇ ID = 970
µ¥ÀÌÅͺ£À̽ºÀÇ ±¹°¡ ÄÚµå = *LOCAL.db2inst1.961224004005
Àû¿ë¾÷¹«¸í = brcm10
Àû¿ë¾÷¹« ID = *LOCAL.db2inst1.961224004005
¼øÂ÷¹øÈ£ = 0001
񀀥 ID = RDBBA
½ÇÇà ID = root
Ŭ¶óÀ̾ðÆ®ÀÇ ±¸¼º NNAME =
Ŭ¶óÀÌ¾ðÆ® db °ü¸® ÇÁ·Î±×·¥ Á¦Ç° ID = SQL02011
Ŭ¶óÀÌ¾ðÆ® Àû¿ë ¾÷¹«ÀÇ ÇÁ·Î¼¼½º ID = 33873
Ŭ¶óÀÌ¾ðÆ® Àû¿ë¾÷¹«ÀÇ Ç÷§Æû = AIX
Ŭ¶óÀÌ¾ðÆ® Åë½Å ÇÁ·ÎÅäÄÝ = ±¹Áö
Ŭ¶óÀÌ¾ðÆ®µ¥ÀÌÅͺ£À̽º¸í = LNID6DB0
µ¥ÀÌÅͺ£À̼ö °æ·Î = /home/db2inst1/SQL00003/
Ŭ¸®ÀÌ¾ðÆ® µ¥ÀÌÅͺ£À̽º º°¸í = LNID6DB0
¿¬°áµÈ ÀÌÈÄÀÇ Àá±Ý ½Ã°£Á¾·áÀÇ ¼ö = 0
Àá±Ý½Ã UOW°¡ ´ë±âÇÏ´Â ÃÑ ½Ã°£(¹Ð¸®ÃÊ) = ¼öÁýµÇÁö ¾ÊÀ½
Àá±ÝÀ» º¸À¯ÇÑ ¿¡ÀÌÀüÆ® ID =
Àá±ÝÀ» º¸À¯ÇÑ Àû¿ë¾÷¹« ID =
Àá±ÝÀ» º¸À¯ÇÑ ¼øÂ÷¹øÈ£ =
Àá±ÝÀ» º¸À¯ÇÑ Å×ÀÌºí °ø°£¸í =
Àá±ÝÀ» º¸À¯ÇÑ Å×À̺íÀÇ ½ºÄ«¸¶ =
Àá±ÝÀ» º¸À¯ÇÑ Å×À̺íÀÇ À̸§ =
Àá±Ý ¸ðµå =
Àá±Ý ¿ÀºêÁ§Æ® ¸í =
Àá±Ý ´ë±â ½ÃÀÛ ½Ã°£¼ÒÀÎ =
ÃÑ Á¤·Ä = 0
ÃÑ Á¤·Ä ½Ã°£(¹Ð¸®ÃÊ) = 0
ÃÑ Á¤·Ä ¿À¹öÇ÷οì = 0
¹öÆÛ Ç® ÀÚ·á ³í¸®Àû Àбâ = 0
¹öÆÛ Ç® ÀÚ·á ¹°¸®Àû Àбâ = 0
¹öÆÛ Ç® ÀÚ·á ¾²±â = 0
¹öÆÛ Ç® »öÀÎ ³í¸®Àû Àбâ = 0
¹öÆÛ Ç® »öÀÎ ¹°¸®Àû Àбâ = 0
¹öÆÛ Ç® »öÀÎ ¾²±â = 0
È®¾à ¸í·É¹® = 0
±¸°£ º¹¿ø(rollback) ¸í·É¹® = 0
½ÃµµµÈ µ¿Àû SQL¹® = 0
½ÃµµµÈ Á¤Àû SQL¹® = 0
½ÇÆÐÇÑ ¸í·É¹® Á¶ÀÛ = 0
½ÇÇàµÈ ¼±Åà SQL¹® = 0
½ÇÇàµÈ °»½Å/»ðÀÔ/»èÁ¦ ¸í·É¹® = 0
½ÇÇàµÈ DDL ¸í·É¹® = 0
³»ºÎ ÀÚµ¿ ¸®¹ÙÀεå = 0
»èÁ¦µÈ ³»ºÎ Çà = 0
»ðÀÔµÈ ³»ºÎ Çà = 0
°»½ÅµÈ ³»ºÎ Çà = 0
³»ºÎ È®¾à = 1
³»ºÎ ±¸°£ º¹¿ø(rollback) = 0
±³Âø »óÅ·ΠÀÎÇÑ ³»ºÎ ±¸°£ º¹¿ø(rollback) = 0
»èÁ¦µÈ Çà = 0
»ðÀÔµÈ Çà = 0
°»½ÅµÈ Çà = 0
¼±ÅÃµÈ Çà = 0
ÀÐÀº Çà = 4
±â·ÏµÈ Çà = 0½Ã
µµµÈ ¹ÙÀεå/»çÀü ó¸® ÄÄÆÄÀÏ·¯ = 0
»ç¿ëµÈ UOW ·Î±× °ø°£ (¹ÙÀÌÆ®) = ¼öÁýµÇÁö ¾ÊÀ½
ÀÌÀüÀÇ UOW ¿Ï·á ½Ã°£¼ÒÀÎ = ¼öÁýµÇÁö ¾ÊÀ½
ÇöÀç Åë½Å Èü(heap) Å©±â(¹ÙÀÌÆ®) = 0
ÃÖ´ë Åë½Å Èü(heap) Å©±â(¹ÙÀÌÆ®) = 0
¿¬°á ¿äû ½ÃÀÛ ½Ã°£¼ÒÀÎ = 06/24/1996 09:40:05.267537
¿¬°á ¿äû ¿Ï·á ½Ã°£¼ÒÀÎ = 06/24/1996 09:40:05.289663
ÃÖÁ¾ Àç¼³Á¤ ½Ã°£¼ÒÀÎ =
½º³À¼¦ ½Ã°£¼ÒÀÎ = 06/24/1996 13:16:29.320610
¸í·É¹® À¯Çü =
¸í·É¹® Á¶ÀÛ =
¼½¼Ç ¹øÈ£ =
Àû¿ë¾÷¹« ÀÛ¼ºÀÚ =
ÆÐŰÁö¸í =
Ä¿¼¸í =
¸í·É¹® Á¤·Ä(sort) = 0
¸í·É¹® Á¶ÀÛ ½ÃÀÛ ½Ã°£¼ÒÀÎ =
¸í·É¹® Á¶ÀÛ Áß´Ü ½Ã°£¼ÒÀÎ =
¸í·É¹®ÀÌ »ç¿ëÇÏ´Â ÃÑ »ç¿ëÀÚ CPU ½Ã°£ = 0.000000
¸í·É¹®ÀÌ »ç¿ëÇÏ´Â ÃÑ »ç¿ëÀÚ CPU ½Ã°£ = 0.000000
¿¡ÀÌÀüÆ®°¡ »ç¿ëÇÏ´Â ÃÑ »ç¿ëÀÚ CPU ½Ã°£ = 0.000000
|
¢º SnapShot ÀÚ·á (DataBase SnapShot ÀÚ·á)
=> db2 get snapshot for database on LNID6DB0
¡¼ µ¥ÀÌÅͺ£À̽º ½º³À¼¦ ¡½
µ¥ÀÌÅͺ£À̽º¸í = LNID6DB0
µ¥ÀÌÅͺ£À̽º °æ·Î = /home/db2inst1/db2inst1/SQL00003/
ÀÔ·Â µ¥ÀÌÅͺ£À̽º º°¸í = LNID6DB0
µ¥ÀÌÅͺ£À̽º »óÅ = »ç¿ëÁß
ÇöÀç º¸À¯µÈ Àá±Ý = 0
Àá±Ý ´ë±â ¼ö = 0
Àá±Ý½Ã µ¥ÀÌÅͺ£À̽º ´ë±â ½Ã°£(¹Ð¸®ÃÊ) = 0
»ç¿ë ÁßÀÎ Àá±Ý À϶÷Ç¥ ¸Þ¸ð¸®(¹ÙÀÌÆ®) = 2052
°ËÃâµÈ ±³Âø»óÅ = 0
Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å(escalation) = 0
µ¶Á¡ Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å(escalation) = 0
Àá±Ý½Ã ´ë±âÇÏ´Â ÇöÀç Àû¿ë¾÷¹« = 0
Àá±Ý ½Ã°£Á¾·á = 0
ÇÒ´çµÈ ÃÑ Á¤·Ä Èü(heap) = 0
ÃÑ Á¤·Ä(sort) = 8
ÃÑ Á¤·Ä(sort) ½Ã°£(¹Ð¸®ÃÊ) = 361
Á¤·Ä(sort) ¿À¹öÇ÷οì = 3
ºñµ¿±â Ç® »öÀÎ ÆäÀÌÁö ¾²±â = 0
ÃÑ ¹öÆÛ Ç® Àб⠽ð£(¹Ð¸®ÃÊ) = 104
ÃÑ ¹öÆÛ Ç® ¾²±â ½Ã°£(¹Ð¸®ÃÊ) = 6
LSN °£°Ý Á¤¸®ÀÚ(Cleaner) Æ®¸®°Å = 0
Dirty page steal Á¤¸®ÀÚ(Cleaner) Æ®¸®°Å = 0
Dirty page ÀÓ°è°ª Á¤¸®ÀÚ(Cleaner) Æ®¸®°Å = 0
Á÷Á¢ Àбâ = 2
Á÷Á¢ ¾²±â = 4
Á÷Á¢ Àб⠿äû = 1
Á÷Á¢ ¾²±â ¿äû = 2
Á÷Á¢ ÀÐ±â ¼Ò¿ä ½Ã°£(¹Ð¸®ÃÊ) = 17
Á÷Á¢ ¾²±â ¼Ò¿ä ½Ã°£(¹Ð¸®ÃÊ) = 36
´ÝÈù µ¥ÀÌÅͺ£À̽º ÆÄÀÏ = 0
½ÃµµµÈ È®¾à ¸í·É¹® = 118
½ÃµµµÈ ±¸°£ º¹¿ø(roll back) ¸í·É¹® = 10
½ÃµµµÈ µ¿Àû ¸í·É¹® = 628
½ÃµµµÈ Á¤Àû ¸í·É¹® = 1477
½ÇÆÐÇÑ ¸í·É¹® Á¶ÀÛ = 0
½ÇÇàµÈ ¼±Åà SQL¹® = 105
½ÇÇàµÈ °»½Å/»ðÀÔ/»èÁ¦ ¸í·É¹® = 118
½ÇÇàµÈ DDL ¸í·É¹® = 6³»
ºÎ ÀÚµ¿ ¸®¹ÙÀεå = 1
»èÁ¦µÈ ³»ºÎ Çà = 0
»ðÀÔµÈ ³»ºÎ Çà = 0
°»½ÅµÈ ³»ºÎ Çà = 0
³»ºÎ È®¾à = 104
³»ºÎ ±¸°£ º¹¿ø(roll back) = 31
±³Âø »óÅ·ΠÀÎÇÑ ³»ºÎ ±¸°£ º¹¿ø(roll back) = 0
»èÁ¦µÈ Çà = 0
»ðÀÔµÈ Çà = 0
°»½ÅµÈ Çà = 0
ù ¹øÂ° µ¥ÀÌÅͺ£À̽º ¿¬°á ½Ã°£¼ÒÀÎ = 06/24/1996 09:39:52.659789
ÃÖÁ¾ Àç¼³Á¤ ½Ã°£¼ÒÀÎ =
ºñµ¿±â½Ä ¸¯±âÀÇ ÃÑ ¼Ò¿ä½Ã°£ = 18
ºñµ¿±â½Ä ¾²±âÀÇ ÃÑ ¼Ò¿ä½Ã°£ = 0
ºñµ¿±â Àб⠿äû = 1
ÃÖÁ¾ ¹é¾÷ ½Ã°£¼ÒÀÎ = 05/09/1996 17:10:44.661623
½º³À¼¦ ½Ã°£¼ÒÀÎ = 06/24/1996 13:16:56.073865
¿¬°á¿¡ ÇÒ´çµÈ ÃÖ´ë ÆäÀÌÁö(high water mark) = 6
µ¥ÀÌÅͺ£À̽º Èü(heap)À» À§ÇÑ ÃÖ´ëÄ¡ = 787991
Àû¿ë¾÷¹« ¿¬°á = 45
ÇöÀç ¿¬°áµÈ Àû¿ë¾÷¹« = 5
ÇöÀç db °ü¸® ÇÁ·Î±×·¥¿¡¼ ½ÇÇàÁßÀÎ Àû¿ë¾÷¹« = 0
ÃÖ´ë »ç¿ëµÈ 2Â÷ ·Î±× °ø°£(¹ÙÀÌÆ®) = 0
ÃÖ´ë »ç¿ëµÈ ÃÑ ·Î±× °ø°£(¹ÙÀÌÆ®) = 2113731
ÇöÀç ÇÒ´çµÈ 2Â÷ ·Î±× = 0
ÀÐÀº ·Î±× ÆäÀÌÁö = 65
±â·ÏÇÑ ·Î±× ÆäÀÌÁö = 573
ÆÐŰÁö ij½¬ ã¾Æº¸±â = 244
|
 |
|
|
4.7 ¼º´É ¸ð´ÏÅÍ
|
| ¼º´É ¸ð´ÏÅÍ´Â ¹Ì¸® Á¤ÀÇÇÑ °£°Ý(±âº» °£°Ý : 30ÃÊ)À¸·Î ½º³À¼¦ Á¤º¸¸¦ º¸¿©ÁÖ±â À§ÇØ »ç¿ëµÇ´Â ±×·¡ÇÈ À¯Æ¿¸®Æ¼ÀÌ´Ù. ÀνºÅϽº, µ¥ÀÌÅͺ£À̽º, Å×ÀÌºí °ø°£, Å×À̺í, ¿¬°á µî°ú °°Àº DB2 ¿ÀºêÁ§Æ®µéÀ» ¸ð´ÏÅÍÇÒ ¼ö ÀÖ´Ù. ¼º´É ¸ð´ÏÅÍ¿¡¼ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ °æ¿ì¿¡ »ç¿ëµÈ´Ù.
|
• ¼º´É ¹®Á¦ °¨Áö
• ÃÖÀûÀÇ ¼º´ÉÀ» À§ÇÑ µ¥ÀÌÅͺ£À̽º Á¶Á¤
• ¼º´É °æÇ⠺м®
• µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ¼º´É ºÐ¼®
• ¹®Á¦ÀÇ ¹ß»ý ¹æÁö
|
¼º´É ¸ð´ÏÅÍ´Â Á¦¾î ¼¾ÅÍ ÀÎÅÍÆäÀ̽º¿¡¼ ÃʱâȵȴÙ.
À©µµ¿ì Ç÷§Æû¿¡¼´Â DB2 ¼º´É ¸ð´ÏÅÍ´Â À©µµ¿ì ȯ°æ¿¡¼ DB2 Ȱµ¿À» ¸ð´ÏÅÍÇϴµ¥ »ç¿ëµÇ¾îÁú ¼ö ÀÖµµ·Ï À©µµ¿ì ¼º´É ¸ð´ÏÅÍ¿Í ¹ÐÁ¢ÇϰÔ
ÅëÇյǾî ÀÖ´Ù.
¿ÀºêÁ§Æ®°¡ ¸ð´ÏÅ굃 ¶§, ¾ÆÀÌÄÜÀÇ »ö±òÀº ¸ð´ÏÅÍÀÇ »óŸ¦ °¡¸®Å°±â À§ÇØ, ³ì»ö, Ȳ»ö, Àû»öÀ¸·Î ³ªÅ¸³´Ù. »ö±òÀº ¼³Á¤ÇÑ ÀÓ°è°ª¿¡ µû¶ó ¹®Á¦ÀÇ ½É°¢µµ¸¦ ÀǹÌÇÑ´Ù. ³ì»öÀº ¸ð´ÏÅͰ¡ ¼öÇàµÇ°í, ¸ðµç °ÍÀÌ ÁÁ´Ù´Â °ÍÀ» ³ªÅ¸³½´Ù. Ȳ»öÀº ¸ð´ÏÅͰ¡ ¼³Á¤ÇÑ ÀÓ°è°ª¿¡ µµ´ÞÇϰí ÀÖ´Ù´Â °æ°í¸¦ ³ªÅ¸³½´Ù. Àû»öÀº ¸ð´ÏÅͰ¡ ÀÓ°è°ª¿¡ µµ´ÞÇß´Ù´Â °æº¸¸¦ ³ªÅ¸³½´Ù.
¼º´É ¸ð´ÏÅÍ´Â ±âÁ¸ ¹®Á¦¸¦ ¸ð´ÏÅÍÇÒ Çʿ䰡 ÀÖÀ» ¶§ ¶Ç´Â ½Ã½ºÅÛÀÇ ¼º´ÉÀ» °üÂûÇϰíÀÚ ÇÒ ¶§ »ç¿ëÇÑ´Ù. ƯÁ¤ ½ÃÁ¡¿¡¼ µ¥ÀÌÅͺ£À̽º Ȱµ¿°ú ¼º´É µ¥ÀÌÅÍÀÇ ½º³À¼¦À» ¼öÇàÇÑ´Ù. ÀÌ ½º³À¼¦Àº ½Ã°£ °æ°ú¿¡ µû¸¥ ºñ±³½Ã¿¡ »ç¿ëµÈ´Ù. ¼º´É ±×·¡ÇÁ¿¡¼ÀÇ °¢ Á¡Àº µ¥ÀÌÅÍ °ªÀ» Ç¥ÇöÇÑ´Ù.
DB2¿¡¼ÀÇ ¼º´É ¸ð´ÏÅ͸µÀº DB2°¡ ¼³Ä¡µÉ ¶§ Á¦°øÇÑ ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅ͵éÀ» »ç¿ëÇÏ¿© ÀÌ·ç¾îÁö°Å³ª, ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅ͵éÀ» º¹»ç, ¼öÁ¤ÇÏ¿© ¼öÇàµÈ´Ù. DB2¿Í ÇÔ²² Á¦°øµÇ´Â ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅ͵éÀº ´ÙÀ½°ú °°´Ù.
|
• Capacity - ½Ã½ºÅÛ ¿ë·®¿¡ ´ëÇÑ Á¤º¸ ¼öÁý½Ã »ç¿ëµÊ.
• Sort - Á¤·Ä Èü°ú Á¤·Ä Èü ÀÓ°è°ª ¸Å°³º¯¼ö°¡ ÀûÀýÇÏ°Ô ¼³Á¤µÈ °¡¸¦ È®ÀÎÇϱâ À§ÇØ, ½Ã½ºÅÛ ½ÃÀÛ½Ã, Ȱµ¿ ÀýÁ¤±â ¶§, ÀÀ¿ëÇÁ·Î±×·¥ÀÌ º¯°æµÉ ¶§ ¼öÇàÇÔ.
• Locking - Àá±ÝÀÌ ½Ã½ºÅÛ¿¡ ¾ó¸¶³ª ¹ß»ýµÇ´Â°¡¿Í Àá±Ý ¸ñ·Ï ¸Å°³º¯¼ö°¡ ÀûÀýÇÏ°Ô ¼³Á¤µÇ´ÂÁö¸¦ °á
Á¤Çϱâ À§ÇØ »ç¿ëµÊ.
• Cache - ij½¬ »ç¿ëÀ» ÃÖÀûÈÇϱâ À§ÇØ »ç¿ëµÊ.
• Deadlocks - ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ±³Âø»óÅ¿¡ ÀÖ´ÂÁö¸¦ °áÁ¤Çϱâ À§ÇØ »ç¿ëµÊ.
• Prefetchers - ½Ã½ºÅÛ¿¡ Á¤ÀÇµÈ ÇÁ¸®Æäó°¡ ÃæºÐÇÑÁö¸¦ °áÁ¤Çϱâ À§ÇØ »ç¿ëµÊ.
• Disk Performance - µ¥ÀÌÅͺ£À̽º¿Í Å×ÀÌºí °ø°£ ·¹º§¿¡¼ µð½ºÅ© ¼º´É¿¡ ÃÐÁ¡À» ¸ÂÃß¾î ¼º´É º¯
¼ö¸¦ ¸ð´ÏÅ͸µÇÔ.
• Global Memory - ÀÀ¿ëÇÁ·Î±×·¥ ¸Þ¸ð¸® »ç¿ëÀ» º¸±âÀ§ÇØ »ç¿ëµÊ.
• Long Running Query - Äõ¸®°¡ ¿Ï·áÇϱâ À§ÇØ ¿À·£ ½Ã°£ÀÌ °É¸®´Â ¿øÀÎÀ» ÆÄ¾ÇÇϴµ¥ »ç¿ëµÊ.
|
| ÀÌ¿ë °¡´ÉÇÑ ¸ð´ÏÅÍÀÇ ¸ñ·ÏÀ» º¸±âÀ§Çؼ´Â Á¦¾î ¼¾ÅÍ¿¡¼ ½Ã½ºÅÛ Æú´õ¿¡ ¿À¸¥ÂÊ ¸¶¿ì½º ¹öưÀ» Ŭ¸¯ÇÏ°í ÆË¾÷ ¸Þ´º¿¡¼ ¸ð´ÏÅÍ ¸ñ·ÏÀ» ¼±ÅÃÇÑ´Ù. ¸ð´ÏÅÍ ¸ñ·Ï âÀº ´ÙÀ½°ú °°´Ù. |
|
| ±×¸² 4-7-1. ¼º´É ¸ð´ÏÅÍ ¸ñ·Ï â |
±×¸² 4-7-1Àº ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅ͵éÀ» º¸¿©ÁØ´Ù. âÀÇ ¿À¸¥ÂÊ¿¡´Â ¸ð´ÏÅÍ¿¡ ´ëÇÑ ´Ù¾çÇÑ ÀÛ¾÷À» ¼öÇàÇϵµ·Ï ¹öưµéÀÌ Æ÷ÇԵǾî ÀÖ´Ù. ÀÌ Ã¢¿¡¼ ¸ð´ÏÅ͵éÀ» ÀÛ¼º, º¯°æ, Á¦°Å, º¹»ç, À̸§ ¹Ù²Ù±â¸¦ ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸, ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅÍ¿¡ ´ëÇÏ¿©, À̸§, °ø½Ä, ÅØ½ºÆ® ¼³¸íÀ» º¯°æÇÒ ¼ö ¾ø´Ù. ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅÍ¿¡ ´ëÇØ ÇÒ ¼ö ÀÖ´Â °ÍÀº ÀÓ°è°ªÀ» º¯°æÇϰųª, °æº¸ Ȱµ¿À» º¯°æÇϰųª, º¹»çÇÏ´Â °ÍÀÌ´Ù.
¸ð´ÏÅÍ ¸ñ·Ï â¿¡¼ ¸ð´ÏÅ͸¦ ¼±ÅÃÇϰí, º¹»ç ¹öưÀ» Ŭ¸¯ÇÑ ´ÙÀ½, º¹»ç â¿¡¼ »õ·Î¿î ¸ð´ÏÅÍ À̸§À» ÀÔ·ÂÇÑ´Ù. ¸ð´ÏÅÍ ¸ñ·Ï â¿¡¼´Â »õ·Î¿î ¸ð´ÏÅÍ À̸§À» º¼ ¼ö ÀÖ´Ù. ±×¸®°í ³ª¼ »õ·Î¿î ¸ð´ÏÅ͸¦ ¼±ÅÃÇÏ°í º¯°æ ¹öưÀ» Ŭ¸¯ÇÑ´Ù. ±×¸² 4-7-2´Â ¸ð´ÏÅÍ º¯°æ âÀ» º¸¿©ÁØ´Ù. ¿¹¿¡¼ÀÇ »õ·Î¿î ¸ð´ÏÅÍ´Â ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅÍÁßÀÇ ÇϳªÀÎ Default_for_database_level ¸ð´ÏÅÍ¿¡¼ º¹»çÇϰí, Database_New ¸ð´ÏÅͶó´Â À̸§À¸·Î ÀúÀåÇÑ´Ù.
ÀÌ Ã¢¿¡¼´Â ¸ð´ÏÅͰ¡ Æ÷ÇÔÇÑ ¼º´É º¯¼öµéÀ» º¸¿©ÁØ´Ù. ´õ ¸¹Àº ¼º´É º¯¼öµéÀ» ÀÌ ¸ð´ÏÅÍ¿¡ Ãß°¡Çϱ⠿øÇÑ´Ù¸é, Ãß°¡ ¹öưÀ» Ŭ¸¯ÇÑ´Ù. À̿밡´ÉÇÑ ¸ðµç ¼º´É º¯¼öµéÀÌ È¸é¿¡ º¸¿©Áö°í, ±× Áß¿¡¼ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù (±×¸² 4-7-3).
±×¸² 4-7-2ÀÇ ÇÏ´ÜÀº ±×·¡ÇÁ ¼³Á¤°ªÀ» º¸¿©ÁØ´Ù. ¶ÇÇÑ °¢ ¼º´É º¯¼ö¿¡ ´ëÇÑ ÀÓ°è°ªÀ» ¼³Á¤ÇÒ
¼ö ÀÖ´Ù. ¼±ÅÃµÈ ¼º´É º¯¼öcµé¿¡ ´ëÇÑ °æ°í¿Í °æº¸ Áö´ë °æ°èµéÀ» Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. |
 |
| ±×¸² 4-7-2. ¼º´É ¸ð´ÏÅÍ º¯°æ â |
 |
| ±×¸² 4-7-3. ¼º´É ¸ð´ÏÅÍ¿¡ ¼º´É º¯¼ö Ãß°¡ |
| ÀÓ°è°ªÀ» Á¤ÀÇÇÒ ¶§, °ªÀÌ ÀÌ ÀÓ°è°ªÀ» ÃʰúÇÒ ¶§ DB2°¡ ÀÀ´äÇÏ´Â ¹æ¹ýÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. °¡´ÉÇÑ ÀÀ´äÀ¸·Î´Â ´ÙÀ½°ú °°´Ù. |
• ¿£Æ®¸®¸¦ °æº¸ ¼¾ÅÍ¿¡ Ãß°¡ÇÑ´Ù.
• °æ°íÀ½À» ¹ßÇàÇÑ´Ù.
• ÇÁ·Î±×·¥ ¶Ç´Â ½ºÅ©¸³Æ®¸¦ ½ÃÀÛÇÑ´Ù.
• ÆË¾÷ ¸Þ´º¸¦ ¶ç¿òÀ¸·Î½á »ç¿ëÀÚ¿¡°Ô ¸Þ½ÃÁö¸¦ º¸³½´Ù.
|
µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ® SAMPLEÀº ¹Ì¸® Á¤ÀÇµÈ Default_for_database_level ¸ð´ÏÅÍ¿¡¼ º¹»çÇÑ Database_New ¸ð´ÏÅ͸¦ »ç¿ëÇÏ¿© ¸ð´ÏÅ͵ȴÙ. SAMPLE µ¥ÀÌÅͺ£À̽º ¾ÆÀÌÄÜ¿¡ ¿À¸¥ÂÊ Å¬¸¯ÇÏ°í³ª¼, ¼º´É ¸ð´ÏÅ͸µ°ú ¸ð´ÏÅÍ ½ÃÀÛÀ» ¼±ÅÃÇÑ´Ù. ±×¸² 4-7-4Àº ¸ð´ÏÅÍ ½ÃÀÛ Ã¢À» º¸¿©ÁØ´Ù. ½ÃÀÛÇϰíÀÚ ÇÏ´Â ¸ð´ÏÅÍ(¿¹¿¡¼´Â Database_New)¸¦ ¼±ÅÃÇϰí, È®ÀÎ ¹öưÀ» Ŭ¸¯ÇÑ´Ù. Á¦¾î ¼¾ÅÍ Ã¢¿¡¼, ¸ð´ÏÅ͵Ǵ µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ® SAMPLE ¾ÆÀÌÄÜÀÌ ³ì»öÀ¸·Î º¯ÇÑ´Ù.
ÀνºÅϽº ·¹º§, µ¥ÀÌÅͺ£À̽º ·¹º§, Å×ÀÌºí °ø°£ ·¹º§, Å×ÀÌºí ·¹º§, ¿¬°á ·¹º§¿¡ ´ëÇØ ±âº» ¸ð´ÏÅÍ·Î½á ¾î´À ¸ð´ÏÅ͸¦ »ç¿ëÇÒ Áö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ¸¸¾à µ¥ÀÌÅͺ£À̽º ·¹º§À» ±âº» ¸ð´ÏÅÍ·Î º¯°æÇϰíÀÚ ÇÑ´Ù¸é, Á¦¾î ¼¾ÅÍ¿¡¼ µ¥ÀÌÅͺ£À̽º Æú´õ¿¡ ¿À¸¥ÂÊ Å¬¸¯À» ÇÏ°í ¼º´É ¸ð´ÏÅ͸µ, ±âº» ¸ð´ÏÅÍ º¯°æÀ» ¼±ÅÃÇÑ ÈÄ, ȸéÀÌ º¸¿©Áö´Â ¸ð´ÏÅ͵é Áß¿¡¼ ±âº» ¸ð´ÏÅÍ·Î ÁöÁ¤Çϱ⸦ ¿øÇÏ´Â ¸ð´ÏÅ͸¦ ¼±ÅÃÇÑ´Ù.
¼º´É ¸ð´ÏÅ͸¦ ½ÃÀÛÇÒ ¶§¿¡´Â ±×¸² 4-7-4¿¡¼ º¸µíÀÌ ½ÃÀÛ ¸ð´ÏÅÍ Ã¢¿¡¼ ¸ð´ÏÅ͸¦ ¼±ÅÃÇÒ ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó, ¹Ì¸® ±âº» ¸ð´ÏÅ͸¦ Á¤ÀÇÇÏ¿© ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. µ¥ÀÌÅͺ£À̽º ·¹º§ÀÇ ±âº» ¸ð´ÏÅ͸¦ ½ÃÀÛÇϱâ À§Çؼ´Â µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®¿¡ ¿À¸¥ÂÊ Å¬¸¯À» ÇÑ ÈÄ ¼º´É ¸ð´ÏÅ͸µ, ½ÃÀÛ ±âº» ¸ð´ÏÅ͸¦ ¼±ÅÃÇÑ´Ù.
|
|
| ±×¸² 4-7-4. ¸ð´ÏÅÍ ½ÃÀÛ Ã¢ |
| ¸ð´ÏÅ͸µÀÌ ½ÃÀ۵Ǹé, ¼º´É ¸ð´ÏÅͰ¡ ¼öÁýÇÏ´Â Á¤º¸µéÀÌ È¸é¿¡ º¸¿©Áø´Ù. Database_New ¸ð´ÏÅͰ¡ ¼öÁýÇÏ´Â Á¤º¸µéÀ» º¸±â À§Çؼ´Â SAMPLE µ¥ÀÌÅͺ£À̽º ¾ÆÀÌÄÜ¿¡ ¿À¸¥ÂÊ Å¬¸¯À» Çϰí, ¼º´É ¸ð´ÏÅ͸µ, ¸ð´ÏÅÍ È°µ¿ Ç¥½Ã¸¦ ¼±ÅÃÇÑ´Ù. ±×¸² 4-7-5´Â ¸ðµç ¼º´É º¯¼öµéÀÇ °ªÀÌ ¸ð´ÏÅ͵Ǵ °ÍÀÌ º¸¿©Áø´Ù. ±×¸² 4-7-5¿¡¼´Â âÀÇ »ó´ÜÀº °¢ ¼º´É º¯¼öÀÇ ÀÚ¼¼ÇÑ µ¥ÀÌÅͰ¡ º¸¿©Áø´Ù. ¶ÇÇÑ µ¥ÀÌÅͺ£À̽º ¿ä¾àÀ̳ª Á¤º¸¸¦ Ŭ¸¯Çϸé, ¼º´É º¯¼öÀÇ ¿ä¾à µ¥ÀÌÅͳª °¢ ¼º´É º¯¼öÀÇ ¼³¸íÀ» º¼ ¼ö ÀÖ´Ù. âÀÇ ÇÏ´ÜÀÇ ±×·¡ÇÁ´Â Á¤ÀÇÇÑ ÀÓ°è°ªÀ» ±âÁØÀ¸·Î ±×·ÁÁø´Ù. ¸¸¾à ¼º´É º¯¼öÀÇ °ªÀÌ »óÀ§ °æ°í °ª°ú ÇÏÀ§ °æ°í °ª »çÀ̶ó¸é, ±×·¡ÇÁ´Â ³ì»ö ¹êµå¿¡¼ ±×·ÁÁø´Ù |
|
| ±×¸² 4-7-5. ¸ð´ÏÅÍ Ç¥½Ã â |
 |
|
|
4.8 ¼º´É ±¸¼º ½º¸¶Æ® °¡À̵å
|
¼º´É ±¸¼º ¸¶¹ý»ç´Â »õ·Î¿î DBAÀ̰ųª °¡²û¾¿ µ¥ÀÌÅͺ£À̽º¸¦ °ü¸®ÇÏ´Â »ç¶÷¿¡°Ô´Â ±¸¼º ¸Å°³º¯¼öµéÀ» Á¶Á¤Çϱâ À§ÇÑ ¸Å¿ì À¯¿ëÇÑ ÅøÀÌ´Ù. °æÇèÀÖ´Â DBA¶ó ÇÏ´õ¶óµµ »õ·Î¿î µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÒ ¶§ ÀÌ ÅøÀ» »ç¿ëÇÒ °ÍÀ» ÃßõÇÑ´Ù. Áï µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ¿Í µ¥ÀÌÅͺ£À̽º ±¸¼º ¸Å°³º¯¼öµéÀÇ ±âº» °ª ´ë½Å ±ÇÀå °ªÀ» °¡Áö°í ½ÃÀÛÇÒ ¼ö ÀÖ´Ù.
¼º´É ±¸¼º ¸¶¹ý»ç¿¡¼´Â ÀνºÅϽº´ç ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º°¡ ÇÊ¿ä·Î ÇÏ´Â ¸Þ¸ð¸® ÇÒ´ç°ú ¼º´É Á¶Á¤À» ±¸ÇöÇÏ¿© ¸ðµç ±¸¼º ¸Å°³º¯¼ö°ªµéÀ» ÃÖ´ë ¼º´ÉÀ» À§ÇÑ ÃÖÀûÀÇ °ªÀ¸·Î Á÷Á¢ º¯°æÇϰųª º¯°æÀ» À§ÇÑ °ªµéÀ» Á¦½ÃÇÑ´Ù. ´Ù¼öÀÇ ±¸¼º ¸Å°³º¯¼öµéÀº ±âº» °ªÀ» °¡Á®µµ ¹«¹æÇÏÁö¸¸, µ¥ÀÌÅͺ£À̽ºÀÇ ÃÖÀûÀÇ ¼º´ÉÀ» º¸ÀåÇÏ·Á¸é ¼º´É Á¶Á¤À» ÅëÇÑ ÇØ´ç ¸Å°³º¯¼öµéÀÇ °»½ÅÀÌ ºÒ°¡ÇÇÇÏ´Ù. ´ëü·Î ¼º´É ±¸¼º ¸¶¹ý»ç¿¡¼ ÃßõµÇ´Â °ªµéÀº ÀÛ¾÷ÀÇ ¿öÅ©·Îµå¿Í ƯÁ¤ ¼¹ö¿¡ ´ëÇÑ Á¤º¸¸¦ ÅëÇÑ ¼º´É Á¶Á¤À̹ǷΠ±¸¼º ¸Å°³º¯¼öµéÀÌ ±âº» °ªÀÏ ¶§º¸´Ù º¸´Ù Çâ»óµÈ ¼º´ÉÀ» Á¦°øÇÑ´Ù. ±×·¯³ª ÀÌ °ªµéÀº µ¥ÀÌÅͺ£À̽º ¼º´ÉÀ» ÃÖÀûÀ¸·Î ¸¸µå´Â °ªÀ̶ó±â º¸´Ù´Â ÃÖÀûÀÇ ¼º´ÉÀ» ±¸ÇöÇϱâ À§ÇÑ Ãâ¹ßÁ¡ÀÌ µÇ´Â °ªµéÀ̶ó°í º¼ ¼ö ÀÖ´Ù.
¼º´É ±¸¼º ¸¶¹ý»ç¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
1. Á¦¾î¼¾ÅÍ¿¡¼ ¼º´É ±¸¼ºÀ» ÇϰíÀÚ ÇÏ´Â µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇÑ ´ÙÀ½ ¸¶¿ì½ºÀÇ ¿À¸¥ÂÊ ¹öưÀ» ´©¸£
¸é ÆË¾÷ ¸Þ´º°¡ ³ªÅ¸³´Ù. ÀÌ ÆË¾÷¸Þ´º¿¡¼ "¸¶¹ý»ç¸¦ »ç¿ëÇÑ ¼º´É ±¸¼º"À» ¼±ÅÃÇÑ´Ù. ¼º´É ±¸¼º ¸¶¹ý»ç
¼Ò°³ ÆäÀÌÁö(±×¸² 1)¿¡¼´Â ±¸¼ºÇϰíÀÚ ÇÏ´Â µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Á¤º¸¸¦ º¸¿©ÁØ´Ù. |
|
| ±×¸² 1. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¼Ò°³ ÆäÀÌÁö |
2. °¢ ÆäÀÌÁö¸¦ ÅëÇØ, ÇÊ¿äÇÑ Á¤º¸¸¦ º¯°æÇÑ´Ù. ¼º´É ±¸¼º ¸¶¹ý»ç´Â Á¦°øÇÑ °¢°¢ÀÇ °ªÀ»
±â¹ÝÀ¸·Î µ¥ÀÌ
Åͺ£À̽º °ü¸®ÀÚ¿Í µ¥ÀÌÅͺ£À̽º ±¸¼º ¸Å°³º¯¼öÀÇ °ªÀ» °è»êÇϰí Àû´çÇÑ °ªÀ» Á¦°øÇÑ´Ù. ¼º´É
±¸¼º
¸¶¹ý»ç´Â 7 ÆäÀÌÁö·Î ±¸¼ºµÈ´Ù. °¢ ÆäÀÌÁö¿¡¼ °ªÀ» ÀÔ·ÂÇϰųª ¼±ÅÃÇÑ´Ù. ¼¹ö ÆäÀÌÁö(±×¸² 2)¿¡¼
µ¥ÀÌÅͺ£À̽º¿¡¼ »ç¿ëµÉ(¿î¿µÃ¼Á¦¿¡¼ »ç¿ëµÇ´Â ºÎºÐÀº Á¦¿Ü)¼¹öÀÇ ¸Þ¸ð¸®(RAM)ÀÇ ¾çÀ»
½½¶óÀÌ´õ
¸¦ ÀÌ¿ëÇÏ¿© ÁöÁ¤ÇÑ´Ù. ¸¸¾à ´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ¼¹ö¿¡¼ ¼öÇàµÈ´Ù¸é, µ¥ÀÌÅͺ£À̽º¿¡¼
»ç¿ëµÉ
¼¹öÀÇ ¸Þ¸ð¸®(RAM)ÀÇ ¾çÀ» ³ªÅ¸³»´Â ½½¶óÀÌ´õ¸¦ 100%ÀÌÇÏÀ̾î¾ß ÇÑ´Ù. |
|
| ±×¸² 2. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¼¹ö ÆäÀÌÁö |
| 3. ¿öÅ©·Îµå ÆäÀÌÁö(±×¸² 3)¿¡¼ µ¥ÀÌÅͺ£À̽º ¿öÅ©·Îµå À¯Çü¿¡ ´ëÇÑ ¿É¼ÇÀ» ¼±ÅÃÇÑ´Ù. |
|
| ±×¸² 3. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¿öÅ©·Îµå ÆäÀÌÁö |
4. Æ®·£Àè¼Ç ÆäÀÌÁö(±×¸² 4)¿¡¼ µ¥ÀÌÅͺ£À̽º¿¡ ÃÖ´ë·Î ¹Ý¿µµÇ´Â ÇϳªÀÇ UOW ¿¡¼ÀÇ SQL¹®
°¹¼öÀÇ
±Ù»çÄ¡¸¦ ÁöÁ¤ÇÑ´Ù. ¶ÇÇÑ µ¥ÀÌÅͺ£À̽º³»ÀÇ ºÐ´ç Æ®·£Àè¼ÇÀÇ ¼ö¸¦ Ãß»êÇÑ´Ù. ¸¸¾à Á¤È®ÇÑ
°ªÀ» ¸ð¸¥´Ù
¸é ¸¶¹ý»ç¿¡¼ Á¦°øÇÏ´Â ±âº» °ªÀ» »ç¿ëÇÑ´Ù. |
|
| ±×¸² 4. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ Æ®·£Àè¼Ç ÆäÀÌÁö |
5. ¿ì¼±¼øÀ§ ÆäÀÌÁö(±×¸² 5)¿¡¼ µ¥ÀÌÅͺ£À̽º¸¦ º¹±¸ÇÏ´Â µ¥ ÇÊ¿äÇÑ ½Ã°£ ¶Ç´Â Æ®·£Àè¼Ç
¼º´É Áß ¾î´À
°ÍÀ» ÃÖÀûȽÃŰ´Â °ÍÀÌ Áß¿äÇÑ Áö¸¦ °áÁ¤ÇÑ´Ù. |
|
| ±×¸² 5. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¿ì¼±¼øÀ§ ÆäÀÌÁö |
6. µ¥ÀÌÅÍ »óÁÖÈ ÆäÀÌÁö(±×¸² 6)¿¡¼ µ¥ÀÌÅͺ£À̽º´Â ½ÇÁ¦ »ç¿ëÁßÀÎ µ¥ÀÌÅÍÀÎÁö ¾Æ´ÑÁö¸¦
³ªÅ¸³½´Ù.
¸¸¾à ÇØ´ç µ¥ÀÌÅͺ£À̽º°¡ ½Å±Ô µ¥ÀÌÅͺ£À̽ºÀ̸é, µ¥ÀÌÅ͸¦ »ðÀÔÇÑ ´ÙÀ½ ¸¶¹ý»ç¸¦ Àç¼öÇàÇÑ´Ù. |
|
| ±×¸² 6. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ µ¥ÀÌÅÍ »óÁÖÈ ÆäÀÌÁö |
7. ¿¬°á ÆäÀÌÁö(±×¸² 7)¿¡¼ ÇØ´ç µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áµÇ¾î »ç¿ëµÇ´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ
¼ö¸¦ Ãß»êÇÑ´Ù.
±¹Áö ¹× ¿ø°Ý ÀÀ¿ë ÇÁ·Î±×·¥µéÀÇ ¼ö¿¡ ´ëÇÑ ±Ù»çÄ¡¸¦ ÁöÁ¤ÇÑ´Ù. |
|
| ±×¸² 7. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¿¬°á ÆäÀÌÁö |
8. ºÐ¸® ·¹º§ ÆäÀÌÁö(Isolation Level, ±×¸² 8)¿¡¼ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ
ÃÖ´ë·Î ¹Ý¿µÇÏ´Â ºÐ¸® ·¹º§À» ¼±ÅÃ
ÇÑ´Ù. ÀÌ·¯ÇÑ ºÐ¸® ·¹º§Àº »ç¿ëÀÚ°¡ µ¥ÀÌÅ͸¦ Àаųª °»½ÅÇÒ ¶§ Àá±ä Çà(Locked Row)ÀÇ
¼ö¿Í Àá±ä ±â
°£(Lock Duration)À» °áÁ¤ÇÑ´Ù. DB2´Â µ¥ÀÌÅͺ£À̽º¸¦ µ¿½Ã »ç¿ëÁßÀÎ Æ®·£Àè¼Çµé¿¡
´ëÇØ µ¥ÀÌÅÍ ¹«°á
¼º(Çö½Ç¼¼°è¿Í µ¥ÀÌÅͺ£À̽º¿¡ ÀÔ·ÂµÈ µ¥ÀÌÅÍÀÇ ÀÏÄ¡¼º)À» º¸ÀåÇϱâ À§ÇØ Àá±Ý(Locking)À»
»ç¿ëÇÑ´Ù.
ÀÌ Àá±Ý(Locking)Àº ÇÑ Æ®·£Àè¼ÇÀÌ ¿ÏÀüÈ÷ ³¡³¯ ¶§±îÁö ÇØ´ç µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ
Á¦¾î¸¦ À¯ÁöÇÒ ¼ö
ÀÖµµ·Ï ÇÑ´Ù. Áï ÁøÇàÁßÀÎ °»½Å Æ®·£Àè¼ÇÀÌ ¿ÏÀüÈ÷ ³¡³ª±â Àü¿¡ ´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÇØ´ç
ÇàÀ» º¯°æ
ÇÏ´Â °ÍÀ» ¹æÁöÇÑ´Ù.
´ÙÀ½ÀÇ ºÐ¸® ·¹º§µé Áß Çϳª¸¦ ¼±ÅÃÇÑ´Ù.
• ¸¸¾à ´Ù¼öÀÇ ±ä Àá±ÝÀ» °®´Â´Ù¸é, "¹Ýº¹°¡´É Àбâ(Repeatable Read)"¸¦ ¼±ÅÃÇÑ´Ù.
• ¸¸¾à ¼Ò¼öÀÇ ±ä Àá±ÝÀ» °®´Â´Ù¸é, "Àб⠾ÈÁ¤¼º(Read Stabiity)"¸¦ ¼±ÅÃÇÑ´Ù.
• ¸¸¾à ´Ù¼öÀÇ ÂªÀº Àá±ÝÀ» °®´Â´Ù¸é, "Ä¿¼ ¾ÈÁ¤¼º(Cursor Stability)"¸¦ ¼±ÅÃÇÑ´Ù.
• ¸¸¾à Àá±ÝÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é, "¹ÌÈ®¾à Àбâ(Uncommitted Read)"¸¦ ¼±ÅÃÇÑ´Ù. |
|
| ±×¸² 8. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ºÐ¸®·¹º§ ÆäÀÌÁö |
9. °á°ú ÆäÀÌÁö(±×¸² 9)¿¡¼ ¼º´É±¸¼º¿¡ ´ëÇÑ Ãßõ°ªÀ» °ËÅäÇÒ ¼ö ÀÖ´Ù. ÀÓÀÇÀÇ °ªÀ» º¯°æÇÏ·Á¸é
º¯°æ
ÇÒ ÀÌÀü ÆäÀÌÁö·Î µÇµ¹¾Æ°¡¾ß ÇÑ´Ù. °á°ú ÆäÀÌÁö¿¡¼ º¯°æµÈ °ªÀ» Á÷Á¢ Àû¿ë½ÃŰ°Å³ª ³ªÁß¿¡
½ºÅ©¸³Æ®
¼¾ÅÍ¿¡¼ ¼öÇàÇÒ ½ºÅ©¸³Æ® ÆÄÀÏ·Î ÀúÀåÇÒ ¼ö ÀÖ´Ù. ±¸¼º ¸Å°³º¯¼ö¿¡ º¯°æµÉ °ªµéÀÌ ÀûÀýÇÏ´Ù°í
»ý°¢µÇ
¸é "¿Ï·á" ¹öưÀ» Ŭ¸¯ÇÑ´Ù. À̶§ ¼º´É ±¸¼º ¸¶¹ý»ç´Â µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ¿Í µ¥ÀÌÅͺ£À̽º
±¸¼º ¸Å°³
º¯¼ö¿¡ ÀûÀýÇÑ °ªÀ» °è»êÇÑ´Ù. ±×¸² 9´Â °¢ ±¸¼º ¸Å°³º¯¼öÀÇ ÇöÀç °ª°ú Á¦¾ÈµÈ °ªµéÀ» º¸¿©ÁØ´Ù.
ÀÌ ±Ç
Àå °ªµéÀº Áï½Ã Àû¿ëÇϰųª ÃßÈÄ Àû¿ëÇϱâ À§ÇØ ½ºÅ©¸³Æ® ¼¾ÅÍ·Î ÀúÀåÇÒ ¼ö ÀÖ´Ù. |
|
| ±×¸² 9. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ °á°ú ÆäÀÌÁö |
µ¥ÀÌÅͺ£À̽º ±¸¼º ¸Å°³º¯¼öÀÇ °»½ÅÀ» Àû¿ë½ÃŰ·Á¸é, ¸ðµç ÀÀ¿ë ÇÁ·Î±×·¥À» ÇØ´ç µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ ²÷¾î ¹ö¸®°í, ±× µ¥ÀÌÅͺ£À̽º·ÎÀÇ ÃÖÃÊÀÇ À翬°áÇÒ ¶§ºÎÅÍ ±¸¼º ¸Å°³º¯¼öÀÇ º¯°æµÈ °ªÀÌ Àû¿ëµÈ´Ù. µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ ±¸¼º ¸Å°³º¯¼ö(DB2 ÀνºÅϽºÀÇ ±¸¼ºº¯¼ö)ÀÇ °»½ÅµÈ °ªÀ» Àû¿ë½ÃŰ·Á¸é DB2 ÀνºÅϽº¸¦ Á¤ÁöÇϰí Àç½ÃÀÛÇØ¾ß ÇÑ´Ù.
µ¥ÀÌÅͺ£À̽º Å©±â°¡ »ó´çÈ÷ Áõ°¡(¿¹¸¦ µé¸é, 20% ÀÌ»óÀÇ µ¥ÀÌÅͺ£À̽ºÀÇ Å©±âÀÇ Áõ°¡)Çϰųª ±â°è Ư¼ºÀÌ º¯°æ(¿¹¸¦ µé¸é, ´õ ¸¹Àº ¸Þ¸ð¸®ÀÇ »ç¿ëÀÌ °¡´É)µÇ¸é ¼º´É ±¸¼º ¸¶¹ý»ç¸¦ Àç¼öÇàÇÑ´Ù. ±× ÀÌÀ¯´Â ÀÌ·¯ÇÑ µ¥ÀÌÅͺ£À̽º Å©±âÀÇ Áõ°¡³ª ½Ã½ºÅÛ¿¡ ¸Þ¸ð¸®¸¦ Ãß°¡ÇÏ´Â °ÍÀº ¼º´É º¯¼öÀÇ °ªÀÇ ±ÇÀå °ªÀ» »ó´çÈ÷ º¯È½Ã۱⠶§¹®ÀÌ´Ù. |
 |
|
|
4.9 SQL Access Plan ºÐ¼® Åø
|
| ¢º db2expln |
¢¹ db2expln ÅøÀº ½Ã½ºÅÛ Ä«Å»·Î±× Å×ÀÌºí¿¡ ÀúÀåµÇ¾î ÀÖ´Â ÆÐŰÁöÀÇ Á¤Àû SQL¿¡
´ëÇÑ ¼±ÅõÈ
¾×¼¼½º Ç÷£À» ±â¼úÇÑ´Ù.
# db2expln -d (db ¸í) -c (user¸í) -p (package¸í)
-s (section ¹øÈ£) -o (outfile À̸§)
¢¹ Interactive SQL¿¡ ´ëÇØ¼´Â
export DYNEXPLN_OPTIONS = 'blocking all isolation ur queryopt 3' dynexpln <dbname> "<SQL statement>"
|
| ¢º EXPLAIN |
¢¹ EXPLAIN¹®Àº Á¦°øµÈ ¼³¸í °¡´ÉÇÑ ¸í·É¹®¿¡ ¼±ÅÃµÈ ¾×¼¼½º Ç÷£¿¡ °üÇÑ Á¤º¸¸¦
º¸°üÇϰí,
ÀÌ Á¤º¸¸¦ Explain Å×ÀÌºí¿¡ µÐ´Ù.
¢¹ ¼³¸í°¡´É ¸í·É¹®Àº DELETE, INSERT, SELECT, SELECT INTO, UPDATE, VALUES ¶Ç´Â
VALUES INTO SQL¹®ÀÌ´Ù.
¢¹ ÀÌ ¸í·É¹®Àº Àû¿ë ¾÷¹« ÇÁ·Î±×·¥¿¡ Æ÷ÇԵǰųª ´ëȽÄÀ¸·Î ¹ßÇàµÉ ¼ö ÀÖ´Ù.
¢¹ ÀÌ ¸í·É¹®Àº µ¿ÀûÀ¸·Î ÁغñµÉ ¼ö ÀÖ´Â ½ÇÇà °¡´ÉÇÑ ¸í·É¹®ÀÌ´Ù.
ex1> °£´ÜÇÑ SELECT¹®À» ¼³¸íÇϰí QUERYNO = 13À̶ó´Â ű׸¦ Ç¥½ÃÇÑ´Ù.
EXPLAIN PLAN SET QUERYNO = 13 FOR SELECT C1 FROM T1
ex2> °£´ÜÇÑ SELECT¹®À» ¼³¸íÇϰí QUERYTAG = 'TEST13' Ç¥½Ã¸¦ ÇÑ´Ù.
EXPLAIN PLAN SELECTION SET QUERYTAG = 'TEST13'
FOR SELECT C1 FROM T1
ex3> °£´ÜÇÑ SELECT¹®À» ¼³¸íÇϰí QUERYNO = 13°ú QUERYTAG = 'TEST13'À¸·Î ű׸¦ ºÙÀδÙ.
EXPLAIN PLAN SELECTION SET QUERYNO = 13 SET QUERYTAG =
'TEST13' FOR SELECT C1 FROM T1
ex4> Explain Å×À̺íÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é Explain Á¤º¸¸¦ È®º¸ÇÑ´Ù.
EXPLAIN ALL FOR SELECT C1 FROM T1
|
| ¢º Visual Explain |
¢¹ Visual ExplainÀ» ½ÇÇàÇϱâ À§ÇØ ´ÙÀ½°ú °°ÀÌ explain Á¤º¸¸¦
ÀúÀåÇÒ Å×À̺íÀ» »ý¼ºÇØ¾ß ÇÑ´Ù.
/$HOME/sqllib/misc> db2 connect to sample
/$HOME/sqllib/misc> db2 -tf EXPLAIN.DDL
¢¹ ÇöÀçÀÇ explain snapshotÀ» º¯°æ
db2 set current explain snapshot yes
¢¹ bindfile ³»ÀÇ source ¸¦ º¸±â À§ÇØ ´ÙÀ½À» ¼öÇàÇÑ´Ù.
db2bfd bindfile_name
Visual ExplainÀº µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ³ª ÀÀ¿ëÇÁ·Î±×·¥ °³¹ßÀÚ¿¡°Ô ¿ÉƼ¸¶ÀÌÀú°¡ °áÁ¤ÇÏ´Â ¾×¼¼½º Ç÷£À» Á¶»çÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â GUI À¯Æ¿¸®Æ¼ÀÌ´Ù. Visual ExplainÀº ½º³À¼¦ ¿É¼ÇÀ» ÀÌ¿ëÇÏ¿© »ý¼ºÇÑ ¾×¼¼½º Ç÷£¸¸À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
Visual ExplainÀº ÀÌ¹Ì »ý¼ºÇÑ Explain ½º³À¼¦À» ºÐ¼®Çϰųª Explain µ¥ÀÌÅÍ¿Í Explain µ¿Àû SQL ¹®ÀåµéÀ» ¼öÁýÇϱâ À§ÇØ »ç¿ëµÉ ¼ö ÀÖ´Ù. ¸¸¾à Explain Å×À̺íÀÌ Visual ExplainÀ» ½ÃÀÛÇÒ ¶§ »ý¼ºµÇ¾î ÀÖÁö ¾Ê´Ù¸é, ½ÃÀ۽ÿ¡ »ý¼ºµÈ´Ù. Visual ExplainÀº ¸í·É ¼¾ÅÍ ¶Ç´Â Á¦¾î ¼¾ÅÍ¿¡¼ È£ÃâÇÒ ¼ö ÀÖ´Ù.
Á¦¾î ¼¾ÅÍ ÀÎÅÍÆäÀ̽º¿¡¼, Explain ½º³À¼¦ÀÌ ÀúÀåµÇ´Â µ¥ÀÌÅͺ£À̽º¿¡ ¿À¸¥ÂÊ Å¬¸¯À» ÇÑ´Ù. ExplainµÈ ¸í·É¹® ½ÇÇà±â·Ï Ç¥½Ã¶ó°í ºÒ¸®¿ì´Â ¿É¼ÇÀº Explain µ¥ÀÌÅ͸¦ ¼öÁýÇÏ°í µ¿Àû SQL ¹®ÀåÀÇ ±×·¡ÇÈ Ç¥ÇöÀ» º¸¿©ÁØ´Ù. À̰ÍÀº ´ÜÀÏ SQL ¹®ÀåÀ» ExplainÇϱâ À§ÇÑ °¡Àå ½¬¿î ¹æ¹ýÀÌ´Ù.
ExplainµÈ ¸í·É¹® ½ÇÇà±â·Ï Ç¥½Ã âÀÌ ¿¸®¸é, ¸ðµç ExplainµÈ ¹®ÀåµéÀÌ Ç¥½ÃµÈ´Ù. Àüü ºñ¿ë°ú SQL ¹®ÀåÀÌ º¸¿©Áø´Ù.
|
|
| ±×¸² 1. ExplainµÈ ¸í·É¹® ½ÇÇà±â·Ï â |
¾×¼¼½º Ç÷£À» ÀÚ¼¼È÷ Á¶»çÇϱâ À§Çؼ, ExplainµÈ ¹®Àå¿¡ ´Ü¼øÈ÷ ´õºí Ŭ¸¯Çϰųª °ü½ÉÀÖ´Â Ç׸ñÀ» ¼±ÅÃÇÑ ÈÄ, ÆÇ³Ú ¸Þ´º¿¡¼ ¸í·É¹® -> ¾×¼¼½º Ç÷£ Ç¥½Ã¸¦ ¼±ÅÃÇÑ´Ù. ¸ðµç Expalin ¹®ÀåµéÀÌ ExplainµÈ ¸í·É¹® ½ÇÇà±â·Ï Ç¥½Ã¿¡ º¸¿©Áö³ª, EXPLAIN SNAPSHOT Á¤º¸¸¦ °¡Áø ExplainµÈ ¹®Àåµé¸¸ Visual ExplainÀ» »ç¿ëÇÏ¿© Á¶»çÇÒ ¼ö ÀÖ´Ù.
ExplainµÈ ¸í·É¹® ½ÇÇà±â·Ï Ç¥½Ã â¿¡¼ ³ª¿µÈ Explain ½º³À¼¦¿¡ ÁÖ¼®À» Ãß°¡ÇÒ ¼ö ÀÖ´Ù. Äõ¸®¸¦ ¼³¸íÇÏ´Â ÁÖ¼®À» Ãß°¡Çϱâ À§Çؼ Äõ¸®¸¦ ¼±ÅÃÇÑ ÈÄ, ¸í·É¹® -> º¯°æÀ» ¼±ÅÃÇÑ´Ù. Explain ½º³À¼¦Àº Á¦°ÅÇϰíÀÚ ÇÏ´Â ¿£Æ®¸®¸¦ ¼±ÅÃÇÑ ÈÄ, ¸í·É¹® -> Á¦°Å¸¦ ¼±ÅÃÇϸé, Explain Å×ÀÌºí¿¡¼ Á¦°ÅµÉ ¼ö ÀÖ´Ù.
Visual Explain Ãâ·Â¹°Àº SQL ¹®ÀåÀÇ ±¸¼º¿ä¼Ò¸¦ Ç¥ÇöÇÏ´Â °èÃþÀûÀÎ ±×·¡ÇÁ¸¦ º¸¿©ÁØ´Ù. °¢ Äõ¸®ÀÇ ºÎºÐÀº ±×·¡ÇÈ ¿ÀºêÁ§Æ®·Î½á Ç¥ÇöµÈ´Ù. ÀÌµé ¿ÀºêÁ§Æ®µéÀº ³ëµå¶ó ÇÑ´Ù. ³ëµå¿¡´Â µÎ°¡Áö ±âº» À¯ÇüÀÌ ÀÖ´Ù.
• OPERATOR ³ëµå´Â µ¥ÀÌÅÍÀÇ ±×·ì¿¡¼ ¼öÇàµÇ´Â ÇàÀ§¸¦ °¡¸®Å²´Ù.
• OPERAND ³ëµå´Â Operator ÇàÀ§°¡ ¹ß»ýÇÏ´Â µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®¸¦ º¸¿©ÁØ´Ù. Operand´Â
Operator¿¡ µû¸¥ ¿ÀºêÁ§Æ®ÀÌ´Ù. ÀÌµé µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®µéÀº ´ë°³ Å×À̺í°ú »öÀεéÀÌ´Ù.
ÃÖÀûÀÇ ¾×¼¼½º Ç÷£À» °áÁ¤Çϱâ À§ÇØ DB2 ¿ÉƼ¸¶ÀÌÀú°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â Operator´Â ¸¹Àºµ¥, Visual Explain¿¡ ÀÇÇØ
»ç¿ëµÇ´Â ¸î¸îÀÇ Operator´Â ´ÙÀ½ ±×¸² 2¿Í °°´Ù. |
|
| ±×¸² 2. Visual Explain¿¡ º¸¿©Áö´Â Operator¿Í Operand |
À̵é Operator´Â µ¥ÀÌÅͰ¡ ¾×¼¼½ºÇÏ´Â ¹æ¹ý(IXSCAN, TBSCAN, RIDSCN, IXAND), Å×À̺íÀÌ ³»ºÎÀûÀ¸·Î Á¶ÀÎÇÏ´Â ¹æ¹ý(MSJOIN, NLJOIN), Á¤·ÄÀÌ ÇÊ¿äÇÏ´ÂÁö(SORT)¿Í °°Àº ¿ä¼ÒµéÀ» °¡¸®Å²´Ù.
Visual Explain ±×·¡ÇÈ Ãâ·Â¿¡¼ º¸¿©Áö´Â ¿ÀºêÁ§Æ®µéÀº ÇÑ ³ëµå¿¡¼ ´Ù¸¥ ³ëµå·Î µ¥ÀÌÅÍÀÇ È帧À» º¸ÀÌ´Â È»ìÇ¥¿¡ ÀÇÇØ ¿¬°áµÈ´Ù. ¾×¼¼½º Ç÷£ÀÇ ¸¶Áö¸·Àº Ç×»ó RETURN OperatorÀÌ´Ù.
±×¸² 3ÀÇ ¾×¼¼½º Ç÷£Àº ´Ü¼øÇÑ SQL ¹®ÀåÀÌ´Ù : SELECT * FROM DB2ADMIN. EMPLOYEE. ÀÌ ¿¹¿¡¼´Â µÎ°¡Áö Operator¿Í ÇϳªÀÇ Operand°¡ ÀÖ´Ù. Operand´Â DB2ADMIN.EMPLOYEE Å×À̺íÀ̰í, Operator´Â Å×ÀÌºí ½ºÄµ(TBSCAN)°ú RETURN Operator¸¦ Æ÷ÇÔÇÑ´Ù.
SQL ¹®Àå¿¡ ´ëÇÑ Explain µ¥ÀÌÅ͸¦ ¼öÁýÇÏ´Â °ÍÀº DB2 ¿ÉƼ¸¶ÀÌÀú°¡ °áÁ¤ÇÑ ¾×¼¼½º Ç÷£À» ºÐ¼®Çϱâ À§ÇÑ ´Ü ÇϳªÀÇ ¹æ¹ýÀÌ´Ù. ¾×¼¼½º Ç÷£ ±×·¡ÇÁ¿¡¼ º¸¿©ÁöµíÀÌ, °¢ ³ëµå´Â ³ëµå¿¡¼ ´õºí Ŭ¸¯À» Çϰųª ³ëµå ¸Þ´º Ç׸ñ¿¡¼ ¼¼ºÎ»çÇ× Ç¥½Ã ¿É¼ÇÀ» ¼±ÅÃÇϸé, ÀÚ¼¼ÇÑ Á¤º¸¸¦ º¼ ¼ö ÀÖ´Ù.
|
|
| ±×¸² 3. Visual Explain : SQL ¹®Àå¿¡ ´ëÇÑ ±×·¡ÇÈ ¾×¼¼½º Ç÷£ |
| Å×ÀÌºí ½ºÄµ ¿î¿µÀÇ ÀÚ¼¼ÇÑ ³»¿ëÀ» º¸±â À§Çؼ, TBSCAN Operator ³ëµå¸¦ ¼±ÅÃÇÑ ÈÄ, ³ëµå ¸Þ´º Ç׸ñ¿¡¼ ¼¼ºÎ»çÇ× Ç¥½Ã¸¦ ¼±ÅÃÇÑ´Ù. ¾×¼¼½º Ç÷£¿¡¼ TBSCAN ¿î¿µ¿¡ ´ëÇÑ Á¤º¸´Â ´ÙÀ½ ±×¸² 4¿Í °°´Ù.
|
|
| ±×¸² 4. Visual Explain : ¿¬»êÀÚ(Operator) ¼¼ºÎ»çÇ× |
ÀÌ Ã¢Àº ¸î °³ÀÇ ´Ù¸¥ ¼½¼ÇÀ» Æ÷ÇÔÇÑ´Ù.
• ´©Àû ºñ¿ë - ½Ã½ºÅÛ Ä«Å»·Î±× Å×ÀÌºí¿¡ ÀúÀåµÈ Åë°èÄ¡¸¦ »ç¿ëÇÏ¿© °è»êµÈ ¿¹ÃøµÈ ´©Àûºñ¿ë
• ´©Àû µî·Ï Á¤º¸ - Äõ¸®¸¦ ¸¸Á·ÇÏ´Â Å×À̺í, Ä÷³ µî¿¡ ´ëÇÑ Á¤º¸
• ÀÔ·Â Àμö - ¿¬»êÀÚÀÇ ÇàÀ§¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ÀÔ·Â Àμö¿¡ ´ëÇÑ Á¤º¸
Operand¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ Á¶»çÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. Operand ³ëµå¸¦ ¼±ÅÃÇÑ ÈÄ, ³ëµå ¸Þ´º Ç׸ñ¿¡¼ Åë°è Ç¥½Ã¸¦ ¼±ÅÃÇÑ´Ù.
±×¸² 5´Â DB2ADMIN.EMPLOYEE Å×ÀÌºí¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Operand ³»¿ëÀ» º¸¿©ÁØ´Ù. |
|
| ±×¸² 5. Visual Explain : Operand¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ
Åë°è Á¤º¸ |
Operand ³ëµå¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â Å×ÀÌºí °ø°£ Á¤º¸, ¿ÀºêÁ§Æ®ÀÇ Ä÷³ °¹¼ö, ÇàÀÇ °¹¼ö¸¦ Æ÷ÇÔÇÑ Å×ÀÌºí ¶Ç´Â »öÀÎ Åë°è¸¦ º¸¿©ÁØ´Ù. ±×¸² 5´Â ½Ã½ºÅÛ Ä«Å»·Î±× Å×ÀÌºí¿¡¼ Explain°ú ÇöÀçÀÇ Åë°èÄ¡¸¦ º¸¿©ÁØ´Ù. À̵é Åë°èÄ¡´Â DB2 ¿ÉƼ¸¶ÀÌÀú°¡ ¾×¼¼½º Ç÷£À» °áÁ¤Çϱâ À§ÇØ »ç¿ëÇÑ´Ù. ±×¸² 5¿¡¼´Â DB2ADMIN.EMPLOYEE Å×ÀÌºí¿¡ ´ëÇØ ¼öÁýµÈ Åë°è°ªÀÌ ¾ø½¿À» º¸¿©ÁØ´Ù.
¿ÉƼ¸¶ÀÌÀú´Â Å×ÀÌºí¿¡ ´ëÇÑ Åë°èÄ¡¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ» ¶§³ª ¸¸¾à Å×ÀÌºí¿¡ ´ëÇÑ Åë°èÄ¡°¡ Å×À̺íÀÇ ÇàÀÇ °¹¼ö(Cardinality)°¡ »ó´ëÀûÀ¸·Î ÀÛ´Ù°í °¡¸®Å°¸é, ¿ÉƼ¸¶ÀÌÀú ÀÚü°¡ Å×À̺íÀÇ ÇàÀÇ °¹¼ö(Cardinality)¸¦ °è»êÇϰíÀÚ ÇÑ´Ù. ¿ÉƼ¸¶ÀÌÀú´Â Å×À̺íÀÇ Æò±Õ Ä÷³ ±æÀÌ¿Í Å×À̺íÀÌ »ç¿ëÇÏ´Â ÆäÀÌÁö¼ö¸¦ Æ÷ÇÔÇÑ ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© À̸¦ ¼öÇàÇÑ´Ù.
ÇöÀçÀÇ Åë°èÄ¡´Â ÁÁÀº ¾×¼¼½º Ç÷£¿¡¼ÀÇ ÁÖ¿äÇÑ ¿¼è°¡ µÈ´Ù. ¸¸¾à DB2°¡ Äõ¸®¿¡ Æ÷ÇÔµÈ ¿ÀºêÁ§Æ®µéÀÇ Æ¯¼ºµéÀ» ¾ËÁö ¸øÇÑ´Ù¸é, ÁÁÀº ¾×¼¼½º Ç÷£À» »ý¼ºÇÏÁö ¸øÇÒ ¼öµµ ÀÖ´Ù. °¡Àå ÃÖ±ÙÀÇ Åë°èÄ¡¸¦ ¿ÉƼ¸¶ÀÌÀú°¡ »ç¿ëÇÏ·Á¸é, DB2 À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇØ¾ß¸¸ ÇÑ´Ù. ÀÌ À¯Æ¿¸®Æ¼¸¦ RUNSTATS¶ó°í ºÒ¸®¿î´Ù. ´ÙÀ½Àº DB2ADMIN.EMPLOYEE Å×ÀÌºí¿¡ ´ëÇÑ Åë°èÄ¡¸¦ ¼öÁýÇÏ´Â ¿¹ÀÌ´Ù.
• l RUNSTATS ON TABLE DB2ADMIN.EMPLOYE
WITH
DISTRIBUTION AND DETAILED INDEXES ALL
DB2ADMIN.EMPLOYEE Å×ÀÌºí¿¡ ´ëÇÑ Åë°èÄ¡´Â ½Ã½ºÅÛ Ä«Å»·Î±× Å×ÀÌºí¿¡ ÀúÀåµÈ´Ù. RUNSTATS À¯Æ¿¸®Æ¼¸¦ ¼öÇàÇÑ ÈÄ,
µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ÆÐŰÁö¸¦ ¸®¹ÙÀεå(Rebind)Çϰí SQL ¹®ÀåÀÇ ExplainÀ» ´Ù½Ã ÇØ¾ß ÇÑ´Ù. ÇöÀçÀÇ Åë°èÄ¡¿¡ ´ëÇÑ °ªÀÌ
º¯°æµÇ°í, »ý¼ºµÈ ¾×¼¼½º Ç÷£ÀÇ Àüü ºñ¿ëµµ º¯°æµÈ´Ù. ±×¸² 6Àº °»½ÅÇÑ DB2ADMIN.EMPLOYEE Åë°èÄ¡°¡ º¯°æµÇ¾ú½¿À» º¸¿©ÁØ´Ù.
|
|
| ±×¸² 6. Visual Explain : RUNSTATS ¼öÇàÈÄÀÇ Å×À̺í Åë°è |
| µ¿Àû SQL ¹®Àå¿¡ ´ëÇÑ ¾×¼¼½º Ç÷£À» °áÁ¤ÇÒ ¶§, DB2 ¿ÉƼ¸¶ÀÌÀú´Â Ç×»ó ÇöÀçÀÇ Åë°èÄ¡¸¦ »ç¿ëÇÑ´Ù. Á¤Àû SQL ¹®Àå¿¡ ´ëÇØ¼´Â, DB2´Â BIND ½Ã¿¡ Åë°èÄ¡¸¦ »ç¿ëÇÑ´Ù. Åë°èÄ¡°¡ °»½ÅµÇ±â Àü¿¡ ÄÄÆÄÀϵǾú´ø Á¤Àû SQL ¹®Àåµé¿¡ ´ëÇØ ÇöÀçÀÇ Åë°èÄ¡¸¦ »ç¿ëÇϱâ À§Çؼ´Â ÆÐŰÁö´Â Àç»ý¼ºµÇ¾î¾ß ÇÑ´Ù. À̰ÍÀº REBIND ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ¼öÇàµÉ ¼ö ÀÖ´Ù. |
 |
|
|
4.10 Index Adivisor
|
| Index Advisor´Â Å×ÀÌºí¿¡ »öÀÎÀ» µðÀÚÀÎÇÏ´Â µ¥ µµ¿òÀ» Á¦°øÇÏ´Â °ü¸® ÅøÀÌ´Ù. À̰ÍÀº ´ÙÀ½ÀÇ »óȲ¿¡ À¯¿ëÇÏ´Ù. |
• ¹®Á¦ÀÇ Äõ¸®¿¡ ´ëÇØ ÃÖÀûÀÇ »öÀεéÀ» ã°íÀÚ ÇÒ ¶§
• ¼±ÅÃÀûÀ¸·Î Àû¿ëÇÏ´Â ÀÚ¿ø ÇѰ迡 Á¾¼ÓµÈ Äõ¸®ÀÇ ÁýÇÕ(¿öÅ© ·Îµå)¿¡ ´ëÇÑ ÃÖÀûÀÇ »öÀεéÀ» ã°íÀÚ
ÇÒ ¶§
• »öÀÎÀ» »ý¼ºÇÏÁö ¾Ê°í ¿öÅ© ·Îµå¿¡¼ »öÀÎÀ» Å×½ºÆ®ÇϰíÀÚ ÇÒ ¶§ |
ÀÌ Åø°ú °ü·ÃµÇ¾î µÎ°¡Áö °³³äÀÌ ÀÖ´Ù. : ¿öÅ© ·Îµå¿Í °¡»ó »öÀÎ
¿öÅ© ·Îµå´Â DB2°¡ ÁÖ¾îÁø ½Ã°£¿¡ ó¸®ÇØ¾ß ÇÏ´Â SQL ¹®Àåµé (SELECT, INSERT, UPDATE, DELETE)ÀÇ ÁýÇÕÀÌ´Ù. ¿öÅ© ·ÎµåÀÇ Á¤º¸´Â ÁÖ¾îÁø ½Ã°£¿¡¼ÀÇ SQL ¹®ÀåµéÀÇ À¯Çü°ú ºóµµ¼ö¿Í °ü·ÃµÇ¾î ÀÖ´Ù. Index Advisor´Â »öÀÎÀ» ÃßõÇϱâ À§Çؼ µ¥ÀÌÅͺ£À̽º Á¤º¸¿Í ÇÔ²² ¿öÅ© ·Îµå Á¤º¸¸¦ »ç¿ëÇÑ´Ù. °¡»ó »öÀÎÀº ÇöÀçÀÇ µ¥ÀÌÅͺ£À̽º ½ºÅ°¸¶¿¡ Á¸ÀçÇÏÁö ¾Ê´Â »öÀÎÀÌ´Ù.
Index Advisor ÅøÀº EXPLAIN Å×À̺íÀÇ È®ÀåÀÎ µÎ°³ÀÇ Å×À̺íµéÀ» »ç¿ëÇÑ´Ù.
|
• ADVISE_WORKLOAD
ÀÌ Å×À̺íÀº ¿öÅ© ·Îµå¸¦ ¼³¸íÇÑ´Ù. Å×ÀÌºí³»ÀÇ °¢ ÇàÀº SQL ¹®ÀåÀ» ³ªÅ¸³»°í, °ü·ÃµÈ ºóµµ¼ö¿¡ ÀÇÇØ ¼³¸íµÈ´Ù. WORKLOAD_NAMEÀ̶ó
ºÒ¸®¿ì´Â Å×À̺íÀÇ Çʵ忡´Â °¢ ¿öÅ© ·Îµå¿¡ ´ëÇÑ ½Äº°ÀÚ°¡ Á¸ÀçÇÑ´Ù. °°Àº ¿öÅ© ·Îµå¿¡ ¼ÓÇÏ´Â ¸ðµç SQL ¹®ÀåµéÀº °°Àº WORKLOAD_NAMEÀ»
°¡Á®¾ß ÇÑ´Ù.
• ADVISE_INDEX
ÀÌ Å×À̺íÀº ±ÇÀåÇÏ´Â »öÀε鿡 ´ëÇÑ Á¤º¸¸¦ ÀúÀåÇÑ´Ù. SQL ÄÄÆÄÀÏ·¯, »öÀÎ ÀÛ¼º ¸¶¹ý»ç, db2advis Åø(Index Advisor),
SQL ¹®ÀåÀ» »ç¿ëÇÏ¿© ¸Å´º¾ó ¹æ½ÄÀ¸·Î Á¤º¸°¡ ÀÌ Å×ÀÌºí¿¡ ³õ¿©Áø´Ù. |
CURRENT EXPLAIN MODE Ư¼ö ·¹Áö½ºÅÍ¿¡ RECOMMEND INDEXES¸¦ ¼³Á¤ÇÔÀ¸·Î½á,
EXPLAIN ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§, ADVISE_INDEX Å×À̺íÀÌ »ý¼ºµÈ´Ù.
CURRENT EXPLAIN MODE Ư¼ö ·¹Áö½ºÅÍ¿¡ EVALUATE INDEXES¸¦ ¼³Á¤Çϸé, EXPLAIN °úÁ¤¿¡¼´Â ADVISE_INDEX
Å×À̺íÀÌ ÀԷ°ªÀ¸·Î »ç¿ëµÇ¾î, °¡»ó »öÀÎ Á¤ÀǸ¦ ÀÐ°í ¸¶Ä¡ ½ÇÁ¦ »öÀÎÀÌ ÀÖ´Â °Íó·³ »ç¿ëµÈ´Ù.
Index Advisor´Â db2advis À¯Æ¿¸®Æ¼³ª Á¦¾î ¼¾ÅÍ¿¡¼ ¸¶¹ý»ç¸¦ »ç¿ëÇÑ »öÀÎÀ» ¼±ÅÃÇÔÀ¸·Î½á È£ÃâµÉ ¼ö ÀÖÀ¸¸ç,
±× ȸéÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÀÌ È¸é¿¡ »ç¿ëÇÒ SQL¹®°ú ±× ºóµµ¼ö¸¦ ÀÔ·ÂÇϸé, DB2 ¿ÉƼ¸¶ÀÌÀú°¡ ÃÖÀûÀÇ À妽º¸¦ ¼±ÅÃÇÏ¿©
º¸¿©ÁÙ °ÍÀÌ´Ù.
|
|
 |
|
|
4.11 DB2 Á¶Á¤ÀÚ(governor)
|
DB2¸¦ ¸ð´ÏÅ͸µÇÒ ¶§, º´¸ñÇö»óÀÌ ½Ã½ºÅÛÀÇ ¾îµð¿¡¼ ¹ß»ýÇÏ´ÂÁö, µ¥ÀÌÅͺ£À̽º Ȱµ¿ÀÇ ¾î¶² À¯ÇüÀÌ ¹ß»ýµÇ´ÂÁö µîÀ» °¨ÁöÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ¾î¶² ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¸¹Àº ÀÚ¿øµéÀ» ÇÊ¿ä·Î ÇÏ´ÂÁö µîÀ» ¾Ë±â À§Çؼ´Â µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥ÀÇ Çൿ¹æ½ÄÀ» ºÐ¼®ÇØ¾ß ÇÑ´Ù. µû¶ó¼DBA´Â ¸ÕÀú ¸ð´ÏÅ͸µ ±â¼úÀ» »ç¿ëÇÏ¿© ÀÀ¿ëÇÁ·Î±×·¥À» °¨ÁöÇÏ°í ³ª¼ ÀÀ¿ëÇÁ·Î±×·¥ÀÇ Çൿ¹æ½ÄÀ» º¯°æÇϰųª, ½Ã½ºÅÛ¿¡¼ ÀÀ¿ëÇÁ·Î±×·¥À» ÁßÁöÇØ¾ß ÇÑ´Ù.
DB2 Á¶Á¤ÀÚ´Â ÀÚµ¿ÀûÀ¸·Î ±×·¯ÇÑ È®ÀÎÀ» ¼öÇàÇÏ´Â ¼¹ö ÀÀ¿ëÇÁ·Î±×·¥ÀÌ´Ù. ¶ÇÇÑ Á¶Á¤ÀÚ´Â ¼¹ö¿¡¼ ¸Å¿ì ¸¹Àº ÀÚ¿øµéÀ» »ç¿ëÇÑ´Ù°í »ý°¢µÇ´Â ÀÀ¿ëÇÁ·Î±×·¥À» ÁßÁöÇÒ ¼ö ÀÖ´Ù. (ÀνºÅϽº¿¡¼ Çϳª ¶Ç´Â ¸ðµç ÀÀ¿ëÇÁ·Î±×·¥À» ÁßÁöÇϱâ À§ÇØ DB2ÀÇ FORCE APPLICATION ¸í·É¾î¸¦ »ç¿ëÇÑ´Ù.)
Á¶Á¤ÀÚ´Â µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ¼öÇàÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥µé¿¡ ´ëÇÑ Åë°èÄ¡¸¦ ¼öÁýÇÑ´Ù. ±×¸®°í ³ª¼ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ÁöÁ¤ÇÑ ±ÔÄ¢¿¡ ´ëÇØ ÀÌ Åë°èÄ¡µéÀ» È®ÀÎÇÑ´Ù. ÁöÁ¤ÇÑ ±ÔÄ¢µéÀÇ ¿¹´Â ´ÙÀ½°ú °°´Ù. |
• Ç×»ó ºü¸¥ ½Ã°£¿¡ ¿Ï·áµÇµµ·Ï ÀÀ¿ëÇÁ·Î±×·¥ XÀÇ ¿ì¼±¼øÀ§¸¦ Áõ°¡ÇÑ´Ù.
• ÀÀ¿ëÇÁ·Î±×·¥µéÀÇ ºÎºÐÁýÇÕ Áï A, B, CÀÇ ¼Óµµ¸¦ ´ÊÃá´Ù.
• 15ºÐ ÀÌ»óÀÇ ÀÛ¾÷´ÜÀ§(UOW)¸¦ ¼öÇàÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.
|
|
Á¶Á¤ÀÚ´Â ÁöÁ¤ÇÑ ÀÀ¿ëÇÁ·Î±×·¥µé¿¡ ´ëÇØ ¸Å°³º¯¼öµéÀ» º¯°æÇϰųª ½Ã½ºÅÛ¿¡¼ ÀÀ¿ëÇÁ·Î±×·¥À» ÁßÁöÇÔÀ¸·Î½á ÀÌµé ±ÔÄ¢µéÀ» Àû¿ë½ÃŲ´Ù. DB2 ¸ð´ÏÅ͸µÀÇ ½ÃÀÛ°ú ÁßÁöÇÏ´Â °°Àº ¹æ¹ýÀ¸·Î DB2 Á¶Á¤ÀÚ¸¦ ½ÃÀÛ, ÁßÁöÇÑ´Ù. ¿¹¸¦ µé¾î, mygov.cfg¶ó ºÒ¸®¿ì´Â Á¶Á¤ÀÚ ±¸¼º ÆÄÀÏ(Á¶Á¤ÀÚ ±ÔÄ¢µéÀ» Æ÷ÇÔÇÏ´Â)À» °¡Áö°í ¿î¿µÃ¼Á¦ ¸í·É¾î â¿¡¼ db2gov À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¿©, SAMPLE µ¥ÀÌÅͺ£À̽º¸¦ ¸ð´ÏÅ͸µÇÏ´Â Á¶Á¤ÀÚ¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù.
|
|
• db2gov START SAMPLE mygov.cfg mygov.log
|
|
ÁöÁ¤ÇÑ ÆÄÀÏ À̸§, mygov.log´Â DB2 Á¶Á¤ÀÚ°¡ ¼öÇàÇϴ Ȱµ¿µéÀ» ·Î±ëÇÏ´Â ÆÄÀÏÀÌ´Ù. ¶ÇÇÑ SAMPLE µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ¼öÇàÇÏ´Â Á¶Á¤ÀÚ´Â ´ÙÀ½°ú °°ÀÌ ÁßÁöÇÒ ¼ö ÀÖ´Ù. |
|
• db2gov STOP SAMPLE |
|
º¹¼öÀÇ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ, ¼öÇàÇÏ´Â DB2 Á¶Á¤ÀÚÀÇ º¹¼ö ÀνºÅϽºµéÀ» °¡Áú ¼ö ÀÖ´Ù. DB2 Á¶Á¤ÀÚ´Â ÀÏÁ¤ °£°ÝÀ¸·Î Åë°èÄ¡¸¦ ¼öÁýÇÏ°í µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥ÀÇ È°µ¿À» ¸ð´ÏÅÍÇϱ⠶§¹®¿¡ ¼öÇà½ÃDB2 µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ¼º´É¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ´Ù. db2govlg ÅøÀ» »ç¿ëÇÏ¿© DB2 Á¶Á¤ÀÚ¿¡ ÀÇÇØ »ý¼ºµÇ´Â ·Î±×µéÀ» Á¶»çÇÒ ¼ö ÀÖ´Ù.
|
 |
|
|