2009³â 1¿ù 6ÀÏ DB ±¸Ãࡤ¿î¿µ Á¾ÇÕÁ¤º¸ »çÀÌÆ®¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù.
Çà»çÀÏÁ¤()
 
 
Home >DB2 ¿î¿µ °¡À̵å
 
 
     

4.1 DB2 ¿£ÁøÀÇ ±¸Á¶

   DB2¿¡¼­ÀÇ ¾ÆÅ°ÅØÃ³ÀÇ ÁÖ¿ä Æ¯¼ºÀº µ¥ÀÌÅͺ£À̽º ¹«°á¼ºÀ» º¸ÀåÇÏ´Â ´É·ÂÀÌ´Ù. ÁÖ¿äÇÑ µ¥ÀÌÅͺ£À̽º ¸®¼Ò½º(Resources)·ÎºÎÅÍ ¸ðµç µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥À» µ¶¸³½ÃŲ´Ù. ÀÌ ¸®¼Ò½ºµéÀº µ¥ÀÌÅͺ£À̽º Á¦¾î ºí·Ï°ú ÁÖ¿äÇÑ µ¥ÀÌÅͺ£À̽º ÆÄÀϵéÀÌ´Ù.

   ¶ÇÇÑ, µ¥ÀÌÅͺ£À̽º ¿¬°á °úÁ¤µ¿¾È DB2 Á¶Á¤ ¿¡ÀÌÀüÆ®´Â °¢ µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÇÒ´çµÈ´Ù. °¢°¢ÀÇ DB2 ¿¡ÀÌÀüÆ®´Â µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥À» ´ë½ÅÇÏ¿© ÀÛ¾÷ÇÏ°í ¸ðµç SQL ¿äûµéÀ» ´Ù·é´Ù. ÀÀ¿ëÇÁ·Î±×·¥°ú µ¥ÀÌÅͺ£À̽º ¿¡ÀÌÀüÆ®´Â IPC(Inter Process Communication) ±â¼ú(¸Þ½ÃÁö Å¥, °øÀ¯ ¸Þ¸ð¸®, ¼¼¸¶Æ÷¾Æ µî)À» ÀÌ¿ëÇÏ¿© Åë½ÅÇÑ´Ù. DB2 ÄÚµð³×ÀÌÅÍ ¿¡ÀÌÀüÆ®´Â ÆÄƼ¼Ç³» º´·Ä 󸮰¡ °¡´ÉÇÏ´Ù¸é, DB2 ¼­ºê ¿¡ÀÌÀüÆ®¿Í ÇÔ²² ÀÛ¾÷ÇÑ´Ù. ÀÌ ¾ÆÅ°ÅØÃ³´Â À߸øµÈ ÀÀ¿ëÇÁ·Î±×·¥À¸·ÎºÎÅÍ µ¥ÀÌÅͺ£À̽º ÀÚ¿øµéÀ» º¸È£Çϱâ À§ÇØ ¹æÈ­º®À» Á¦°øÇÑ´Ù.
±×¸² 1-1. 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)
±×¸² 1-2. ÆÄƼ¼Ç³» º´·Ä ó¸® (Intra-Partition Parallelism)
• ÆÄƼ¼Ç°£ º´·Ä ó¸®(Inter-Partition Parallelism)
  ÆÄƼ¼Ç°£ º´·Ä 󸮴 Äõ¸®¸¦ ´ÜÀÏ ¸Ó½Å ¶Ç´Â º¹¼ö°³ÀÇ ¸Ó½Å¿¡¼­ ºÐÇÒµÈ µ¥ÀÌÅͺ£À̽ºÀÇ º¹¼ö ÆÄƼ¼Ç
  »çÀÌ·Î º¹¼ö°³ÀÇ ºÎºÐÀ¸·Î Âɰ³´Â ´É·ÂÀ» ÀǹÌÇÑ´Ù. Äõ¸®´Â º´·Ä·Î ¼öÇàµÈ´Ù. ÆÄƼ¼Ç°£ º´·Ä 󸮴Â
  MPP ½Ã½ºÅÛ¿¡ ¸Å¿ì ÀûÇÕÇÏ´Ù.
±×¸² 1-3. ÆÄƼ¼Ç°£ º´·Ä ó¸® (Inter-Partition Parallelism)
±×¸² 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-1Àº ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅ͵éÀ» º¸¿©ÁØ´Ù. âÀÇ ¿À¸¥ÂÊ¿¡´Â ¸ð´ÏÅÍ¿¡ ´ëÇÑ ´Ù¾çÇÑ ÀÛ¾÷À» ¼öÇàÇϵµ·Ï ¹öưµéÀÌ Æ÷ÇԵǾî ÀÖ´Ù. ÀÌ Ã¢¿¡¼­ ¸ð´ÏÅ͵éÀ» ÀÛ¼º, º¯°æ, Á¦°Å, º¹»ç, À̸§ ¹Ù²Ù±â¸¦ ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸, ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅÍ¿¡ ´ëÇÏ¿©, À̸§, °ø½Ä, ÅØ½ºÆ® ¼³¸íÀ» º¯°æÇÒ ¼ö ¾ø´Ù. ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅÍ¿¡ ´ëÇØ ÇÒ ¼ö ÀÖ´Â °ÍÀº ÀÓ°è°ªÀ» º¯°æÇϰųª, °æº¸ Ȱµ¿À» º¯°æÇϰųª, º¹»çÇÏ´Â °ÍÀÌ´Ù.

   ¸ð´ÏÅÍ ¸ñ·Ï â¿¡¼­ ¸ð´ÏÅ͸¦ ¼±ÅÃÇϰí, º¹»ç ¹öưÀ» Ŭ¸¯ÇÑ ´ÙÀ½, º¹»ç â¿¡¼­ »õ·Î¿î ¸ð´ÏÅÍ À̸§À» ÀÔ·ÂÇÑ´Ù. ¸ð´ÏÅÍ ¸ñ·Ï â¿¡¼­´Â »õ·Î¿î ¸ð´ÏÅÍ À̸§À» º¼ ¼ö ÀÖ´Ù. ±×¸®°í ³ª¼­ »õ·Î¿î ¸ð´ÏÅ͸¦ ¼±ÅÃÇÏ°í º¯°æ ¹öưÀ» Ŭ¸¯ÇÑ´Ù. ±×¸² 4-7-2´Â ¸ð´ÏÅÍ º¯°æ âÀ» º¸¿©ÁØ´Ù. ¿¹¿¡¼­ÀÇ »õ·Î¿î ¸ð´ÏÅÍ´Â ¹Ì¸® Á¤ÀÇµÈ ¸ð´ÏÅÍÁßÀÇ ÇϳªÀÎ Default_for_database_level ¸ð´ÏÅÍ¿¡¼­ º¹»çÇϰí, Database_New ¸ð´ÏÅͶó´Â À̸§À¸·Î ÀúÀåÇÑ´Ù.

   ÀÌ Ã¢¿¡¼­´Â ¸ð´ÏÅͰ¡ Æ÷ÇÔÇÑ ¼º´É º¯¼öµéÀ» º¸¿©ÁØ´Ù. ´õ ¸¹Àº ¼º´É º¯¼öµéÀ» ÀÌ ¸ð´ÏÅÍ¿¡ Ãß°¡Çϱ⠿øÇÑ´Ù¸é, Ãß°¡ ¹öưÀ» Ŭ¸¯ÇÑ´Ù. À̿밡´ÉÇÑ ¸ðµç ¼º´É º¯¼öµéÀÌ È­¸é¿¡ º¸¿©Áö°í, ±× Áß¿¡¼­ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù (±×¸² 4-7-3).

    ±×¸² 4-7-2ÀÇ ÇÏ´ÜÀº ±×·¡ÇÁ ¼³Á¤°ªÀ» º¸¿©ÁØ´Ù. ¶ÇÇÑ °¢ ¼º´É º¯¼ö¿¡ ´ëÇÑ ÀÓ°è°ªÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¼±ÅÃµÈ ¼º´É º¯¼öcµé¿¡ ´ëÇÑ °æ°í¿Í °æº¸ Áö´ë °æ°èµéÀ» Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.
±×¸² 4-7-2. ¼º´É ¸ð´ÏÅÍ º¯°æ â
±×¸² 4-7-2. ¼º´É ¸ð´ÏÅÍ º¯°æ â
±×¸² 4-7-3. ¼º´É ¸ð´ÏÅÍ¿¡ ¼º´É º¯¼ö Ãß°¡
±×¸² 4-7-3. ¼º´É ¸ð´ÏÅÍ¿¡ ¼º´É º¯¼ö Ãß°¡
ÀÓ°è°ªÀ» Á¤ÀÇÇÒ ¶§, °ªÀÌ ÀÌ ÀÓ°è°ªÀ» ÃʰúÇÒ ¶§ DB2°¡ ÀÀ´äÇÏ´Â ¹æ¹ýÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. °¡´ÉÇÑ ÀÀ´äÀ¸·Î´Â ´ÙÀ½°ú °°´Ù.
• ¿£Æ®¸®¸¦ °æº¸ ¼¾ÅÍ¿¡ Ãß°¡ÇÑ´Ù.
• °æ°íÀ½À» ¹ßÇàÇÑ´Ù.
• ÇÁ·Î±×·¥ ¶Ç´Â ½ºÅ©¸³Æ®¸¦ ½ÃÀÛÇÑ´Ù.
• ÆË¾÷ ¸Þ´º¸¦ ¶ç¿òÀ¸·Î½á »ç¿ëÀÚ¿¡°Ô ¸Þ½ÃÁö¸¦ º¸³½´Ù.
   µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ® SAMPLEÀº ¹Ì¸® Á¤ÀÇµÈ Default_for_database_level ¸ð´ÏÅÍ¿¡¼­ º¹»çÇÑ Database_New ¸ð´ÏÅ͸¦ »ç¿ëÇÏ¿© ¸ð´ÏÅ͵ȴÙ. SAMPLE µ¥ÀÌÅͺ£À̽º ¾ÆÀÌÄÜ¿¡ ¿À¸¥ÂÊ Å¬¸¯ÇÏ°í³ª¼­, ¼º´É ¸ð´ÏÅ͸µ°ú ¸ð´ÏÅÍ ½ÃÀÛÀ» ¼±ÅÃÇÑ´Ù. ±×¸² 4-7-4Àº ¸ð´ÏÅÍ ½ÃÀÛ Ã¢À» º¸¿©ÁØ´Ù. ½ÃÀÛÇϰíÀÚ ÇÏ´Â ¸ð´ÏÅÍ(¿¹¿¡¼­´Â Database_New)¸¦ ¼±ÅÃÇϰí, È®ÀÎ ¹öưÀ» Ŭ¸¯ÇÑ´Ù. Á¦¾î ¼¾ÅÍ Ã¢¿¡¼­, ¸ð´ÏÅ͵Ǵ µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ® SAMPLE ¾ÆÀÌÄÜÀÌ ³ì»öÀ¸·Î º¯ÇÑ´Ù.

  ÀνºÅϽº ·¹º§, µ¥ÀÌÅͺ£À̽º ·¹º§, Å×ÀÌºí °ø°£ ·¹º§, Å×ÀÌºí ·¹º§, ¿¬°á ·¹º§¿¡ ´ëÇØ ±âº» ¸ð´ÏÅÍ·Î½á ¾î´À ¸ð´ÏÅ͸¦ »ç¿ëÇÒ Áö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ¸¸¾à µ¥ÀÌÅͺ£À̽º ·¹º§À» ±âº» ¸ð´ÏÅÍ·Î º¯°æÇϰíÀÚ ÇÑ´Ù¸é, Á¦¾î ¼¾ÅÍ¿¡¼­ µ¥ÀÌÅͺ£À̽º Æú´õ¿¡ ¿À¸¥ÂÊ Å¬¸¯À» ÇÏ°í ¼º´É ¸ð´ÏÅ͸µ, ±âº» ¸ð´ÏÅÍ º¯°æÀ» ¼±ÅÃÇÑ ÈÄ, È­¸éÀÌ º¸¿©Áö´Â ¸ð´ÏÅ͵é Áß¿¡¼­ ±âº» ¸ð´ÏÅÍ·Î ÁöÁ¤Çϱ⸦ ¿øÇÏ´Â ¸ð´ÏÅ͸¦ ¼±ÅÃÇÑ´Ù.

  ¼º´É ¸ð´ÏÅ͸¦ ½ÃÀÛÇÒ ¶§¿¡´Â ±×¸² 4-7-4¿¡¼­ º¸µíÀÌ ½ÃÀÛ ¸ð´ÏÅÍ Ã¢¿¡¼­ ¸ð´ÏÅ͸¦ ¼±ÅÃÇÒ ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó, ¹Ì¸® ±âº» ¸ð´ÏÅ͸¦ Á¤ÀÇÇÏ¿© ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. µ¥ÀÌÅͺ£À̽º ·¹º§ÀÇ ±âº» ¸ð´ÏÅ͸¦ ½ÃÀÛÇϱâ À§Çؼ­´Â µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®¿¡ ¿À¸¥ÂÊ Å¬¸¯À» ÇÑ ÈÄ ¼º´É ¸ð´ÏÅ͸µ, ½ÃÀÛ ±âº» ¸ð´ÏÅ͸¦ ¼±ÅÃÇÑ´Ù.
±×¸² 4-7-4. ¸ð´ÏÅÍ ½ÃÀÛ Ã¢
±×¸² 4-7-4. ¸ð´ÏÅÍ ½ÃÀÛ Ã¢
   ¸ð´ÏÅ͸µÀÌ ½ÃÀ۵Ǹé, ¼º´É ¸ð´ÏÅͰ¡ ¼öÁýÇÏ´Â Á¤º¸µéÀÌ È­¸é¿¡ º¸¿©Áø´Ù. Database_New ¸ð´ÏÅͰ¡ ¼öÁýÇÏ´Â Á¤º¸µéÀ» º¸±â À§Çؼ­´Â SAMPLE µ¥ÀÌÅͺ£À̽º ¾ÆÀÌÄÜ¿¡ ¿À¸¥ÂÊ Å¬¸¯À» Çϰí, ¼º´É ¸ð´ÏÅ͸µ, ¸ð´ÏÅÍ È°µ¿ Ç¥½Ã¸¦ ¼±ÅÃÇÑ´Ù. ±×¸² 4-7-5´Â ¸ðµç ¼º´É º¯¼öµéÀÇ °ªÀÌ ¸ð´ÏÅ͵Ǵ °ÍÀÌ º¸¿©Áø´Ù. ±×¸² 4-7-5¿¡¼­´Â âÀÇ »ó´ÜÀº °¢ ¼º´É º¯¼öÀÇ ÀÚ¼¼ÇÑ µ¥ÀÌÅͰ¡ º¸¿©Áø´Ù. ¶ÇÇÑ µ¥ÀÌÅͺ£À̽º ¿ä¾àÀ̳ª Á¤º¸¸¦ Ŭ¸¯Çϸé, ¼º´É º¯¼öÀÇ ¿ä¾à µ¥ÀÌÅͳª °¢ ¼º´É º¯¼öÀÇ ¼³¸íÀ» º¼ ¼ö ÀÖ´Ù. âÀÇ ÇÏ´ÜÀÇ ±×·¡ÇÁ´Â Á¤ÀÇÇÑ ÀÓ°è°ªÀ» ±âÁØÀ¸·Î ±×·ÁÁø´Ù. ¸¸¾à ¼º´É º¯¼öÀÇ °ªÀÌ »óÀ§ °æ°í °ª°ú ÇÏÀ§ °æ°í °ª »çÀ̶ó¸é, ±×·¡ÇÁ´Â ³ì»ö ¹êµå¿¡¼­ ±×·ÁÁø´Ù
±×¸² 4-7-5. ¸ð´ÏÅÍ Ç¥½Ã â
±×¸² 4-7-5. ¸ð´ÏÅÍ Ç¥½Ã â

4.8 ¼º´É ±¸¼º ½º¸¶Æ® °¡À̵å

   ¼º´É ±¸¼º ¸¶¹ý»ç´Â »õ·Î¿î DBAÀ̰ųª °¡²û¾¿ µ¥ÀÌÅͺ£À̽º¸¦ °ü¸®ÇÏ´Â »ç¶÷¿¡°Ô´Â ±¸¼º ¸Å°³º¯¼öµéÀ» Á¶Á¤Çϱâ À§ÇÑ ¸Å¿ì À¯¿ëÇÑ ÅøÀÌ´Ù. °æÇèÀÖ´Â DBA¶ó ÇÏ´õ¶óµµ »õ·Î¿î µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÒ ¶§ ÀÌ ÅøÀ» »ç¿ëÇÒ °ÍÀ» ÃßõÇÑ´Ù. Áï µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ¿Í µ¥ÀÌÅͺ£À̽º ±¸¼º ¸Å°³º¯¼öµéÀÇ ±âº» °ª ´ë½Å ±ÇÀå °ªÀ» °¡Áö°í ½ÃÀÛÇÒ ¼ö ÀÖ´Ù.
   ¼º´É ±¸¼º ¸¶¹ý»ç¿¡¼­´Â ÀνºÅϽº´ç ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º°¡ ÇÊ¿ä·Î ÇÏ´Â ¸Þ¸ð¸® ÇÒ´ç°ú ¼º´É Á¶Á¤À» ±¸ÇöÇÏ¿© ¸ðµç ±¸¼º ¸Å°³º¯¼ö°ªµéÀ» ÃÖ´ë ¼º´ÉÀ» À§ÇÑ ÃÖÀûÀÇ °ªÀ¸·Î Á÷Á¢ º¯°æÇϰųª º¯°æÀ» À§ÇÑ °ªµéÀ» Á¦½ÃÇÑ´Ù. ´Ù¼öÀÇ ±¸¼º ¸Å°³º¯¼öµéÀº ±âº» °ªÀ» °¡Á®µµ ¹«¹æÇÏÁö¸¸, µ¥ÀÌÅͺ£À̽ºÀÇ ÃÖÀûÀÇ ¼º´ÉÀ» º¸ÀåÇÏ·Á¸é ¼º´É Á¶Á¤À» ÅëÇÑ ÇØ´ç ¸Å°³º¯¼öµéÀÇ °»½ÅÀÌ ºÒ°¡ÇÇÇÏ´Ù. ´ëü·Î ¼º´É ±¸¼º ¸¶¹ý»ç¿¡¼­ ÃßõµÇ´Â °ªµéÀº ÀÛ¾÷ÀÇ ¿öÅ©·Îµå¿Í ƯÁ¤ ¼­¹ö¿¡ ´ëÇÑ Á¤º¸¸¦ ÅëÇÑ ¼º´É Á¶Á¤À̹ǷΠ±¸¼º ¸Å°³º¯¼öµéÀÌ ±âº» °ªÀÏ ¶§º¸´Ù º¸´Ù Çâ»óµÈ ¼º´ÉÀ» Á¦°øÇÑ´Ù. ±×·¯³ª ÀÌ °ªµéÀº µ¥ÀÌÅͺ£À̽º ¼º´ÉÀ» ÃÖÀûÀ¸·Î ¸¸µå´Â °ªÀ̶ó±â º¸´Ù´Â ÃÖÀûÀÇ ¼º´ÉÀ» ±¸ÇöÇϱâ À§ÇÑ Ãâ¹ßÁ¡ÀÌ µÇ´Â °ªµéÀ̶ó°í º¼ ¼ö ÀÖ´Ù.

   ¼º´É ±¸¼º ¸¶¹ý»ç¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
1. Á¦¾î¼¾ÅÍ¿¡¼­ ¼º´É ±¸¼ºÀ» ÇϰíÀÚ ÇÏ´Â µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇÑ ´ÙÀ½ ¸¶¿ì½ºÀÇ ¿À¸¥ÂÊ ¹öưÀ» ´©¸£
   ¸é ÆË¾÷ ¸Þ´º°¡ ³ªÅ¸³­´Ù. ÀÌ ÆË¾÷¸Þ´º¿¡¼­ "¸¶¹ý»ç¸¦ »ç¿ëÇÑ ¼º´É ±¸¼º"À» ¼±ÅÃÇÑ´Ù. ¼º´É ±¸¼º ¸¶¹ý»ç
   ¼Ò°³ ÆäÀÌÁö(±×¸² 1)¿¡¼­´Â ±¸¼ºÇϰíÀÚ ÇÏ´Â µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Á¤º¸¸¦ º¸¿©ÁØ´Ù.
±×¸² 1. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¼Ò°³ ÆäÀÌÁö
±×¸² 1. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¼Ò°³ ÆäÀÌÁö
2. °¢ ÆäÀÌÁö¸¦ ÅëÇØ, ÇÊ¿äÇÑ Á¤º¸¸¦ º¯°æÇÑ´Ù. ¼º´É ±¸¼º ¸¶¹ý»ç´Â Á¦°øÇÑ °¢°¢ÀÇ °ªÀ» ±â¹ÝÀ¸·Î µ¥ÀÌ
    Åͺ£À̽º °ü¸®ÀÚ¿Í µ¥ÀÌÅͺ£À̽º ±¸¼º ¸Å°³º¯¼öÀÇ °ªÀ» °è»êÇϰí Àû´çÇÑ °ªÀ» Á¦°øÇÑ´Ù. ¼º´É ±¸¼º
    ¸¶¹ý»ç´Â 7 ÆäÀÌÁö·Î ±¸¼ºµÈ´Ù. °¢ ÆäÀÌÁö¿¡¼­ °ªÀ» ÀÔ·ÂÇϰųª ¼±ÅÃÇÑ´Ù. ¼­¹ö ÆäÀÌÁö(±×¸² 2)¿¡¼­
    µ¥ÀÌÅͺ£À̽º¿¡¼­ »ç¿ëµÉ(¿î¿µÃ¼Á¦¿¡¼­ »ç¿ëµÇ´Â ºÎºÐÀº Á¦¿Ü)¼­¹öÀÇ ¸Þ¸ð¸®(RAM)ÀÇ ¾çÀ» ½½¶óÀÌ´õ
    ¸¦ ÀÌ¿ëÇÏ¿© ÁöÁ¤ÇÑ´Ù. ¸¸¾à ´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ¼­¹ö¿¡¼­ ¼öÇàµÈ´Ù¸é, µ¥ÀÌÅͺ£À̽º¿¡¼­ »ç¿ëµÉ
    ¼­¹öÀÇ ¸Þ¸ð¸®(RAM)ÀÇ ¾çÀ» ³ªÅ¸³»´Â ½½¶óÀÌ´õ¸¦ 100%ÀÌÇÏÀ̾î¾ß ÇÑ´Ù.
±×¸² 2. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¼­¹ö ÆäÀÌÁö
±×¸² 2. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¼­¹ö ÆäÀÌÁö
3. ¿öÅ©·Îµå ÆäÀÌÁö(±×¸² 3)¿¡¼­ µ¥ÀÌÅͺ£À̽º ¿öÅ©·Îµå À¯Çü¿¡ ´ëÇÑ ¿É¼ÇÀ» ¼±ÅÃÇÑ´Ù.
±×¸² 3. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¿öÅ©·Îµå ÆäÀÌÁö
±×¸² 3. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¿öÅ©·Îµå ÆäÀÌÁö
4. Æ®·£Àè¼Ç ÆäÀÌÁö(±×¸² 4)¿¡¼­ µ¥ÀÌÅͺ£À̽º¿¡ ÃÖ´ë·Î ¹Ý¿µµÇ´Â ÇϳªÀÇ UOW ¿¡¼­ÀÇ SQL¹® °¹¼öÀÇ
    ±Ù»çÄ¡¸¦ ÁöÁ¤ÇÑ´Ù. ¶ÇÇÑ µ¥ÀÌÅͺ£À̽º³»ÀÇ ºÐ´ç Æ®·£Àè¼ÇÀÇ ¼ö¸¦ Ãß»êÇÑ´Ù. ¸¸¾à Á¤È®ÇÑ °ªÀ» ¸ð¸¥´Ù
    ¸é ¸¶¹ý»ç¿¡¼­ Á¦°øÇÏ´Â ±âº» °ªÀ» »ç¿ëÇÑ´Ù.
±×¸² 4. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ Æ®·£Àè¼Ç ÆäÀÌÁö
±×¸² 4. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ Æ®·£Àè¼Ç ÆäÀÌÁö
5. ¿ì¼±¼øÀ§ ÆäÀÌÁö(±×¸² 5)¿¡¼­ µ¥ÀÌÅͺ£À̽º¸¦ º¹±¸ÇÏ´Â µ¥ ÇÊ¿äÇÑ ½Ã°£ ¶Ç´Â Æ®·£Àè¼Ç ¼º´É Áß ¾î´À
    °ÍÀ» ÃÖÀûÈ­½ÃŰ´Â °ÍÀÌ Áß¿äÇÑ Áö¸¦ °áÁ¤ÇÑ´Ù.
±×¸² 5.  ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¿ì¼±¼øÀ§ ÆäÀÌÁö
±×¸² 5. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¿ì¼±¼øÀ§ ÆäÀÌÁö
6. µ¥ÀÌÅÍ »óÁÖÈ­ ÆäÀÌÁö(±×¸² 6)¿¡¼­ µ¥ÀÌÅͺ£À̽º´Â ½ÇÁ¦ »ç¿ëÁßÀÎ µ¥ÀÌÅÍÀÎÁö ¾Æ´ÑÁö¸¦ ³ªÅ¸³½´Ù.
    ¸¸¾à ÇØ´ç µ¥ÀÌÅͺ£À̽º°¡ ½Å±Ô µ¥ÀÌÅͺ£À̽ºÀ̸é, µ¥ÀÌÅ͸¦ »ðÀÔÇÑ ´ÙÀ½ ¸¶¹ý»ç¸¦ Àç¼öÇàÇÑ´Ù.
±×¸² 6.  ¼º´É ±¸¼º ¸¶¹ý»çÀÇ µ¥ÀÌÅÍ »óÁÖÈ­ ÆäÀÌÁö
±×¸² 6. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ µ¥ÀÌÅÍ »óÁÖÈ­ ÆäÀÌÁö
7. ¿¬°á ÆäÀÌÁö(±×¸² 7)¿¡¼­ ÇØ´ç µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áµÇ¾î »ç¿ëµÇ´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¼ö¸¦ Ãß»êÇÑ´Ù.
    ±¹Áö ¹× ¿ø°Ý ÀÀ¿ë ÇÁ·Î±×·¥µéÀÇ ¼ö¿¡ ´ëÇÑ ±Ù»çÄ¡¸¦ ÁöÁ¤ÇÑ´Ù.
±×¸² 7.  ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¿¬°á ÆäÀÌÁö
±×¸² 7. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ¿¬°á ÆäÀÌÁö
8. ºÐ¸® ·¹º§ ÆäÀÌÁö(Isolation Level, ±×¸² 8)¿¡¼­ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÃÖ´ë·Î ¹Ý¿µÇÏ´Â ºÐ¸® ·¹º§À» ¼±ÅÃ
    ÇÑ´Ù. ÀÌ·¯ÇÑ ºÐ¸® ·¹º§Àº »ç¿ëÀÚ°¡ µ¥ÀÌÅ͸¦ Àаųª °»½ÅÇÒ ¶§ Àá±ä Çà(Locked Row)ÀÇ ¼ö¿Í Àá±ä ±â
    °£(Lock Duration)À» °áÁ¤ÇÑ´Ù. DB2´Â µ¥ÀÌÅͺ£À̽º¸¦ µ¿½Ã »ç¿ëÁßÀÎ Æ®·£Àè¼Çµé¿¡ ´ëÇØ µ¥ÀÌÅÍ ¹«°á
    ¼º(Çö½Ç¼¼°è¿Í µ¥ÀÌÅͺ£À̽º¿¡ ÀÔ·ÂµÈ µ¥ÀÌÅÍÀÇ ÀÏÄ¡¼º)À» º¸ÀåÇϱâ À§ÇØ Àá±Ý(Locking)À» »ç¿ëÇÑ´Ù.
    ÀÌ Àá±Ý(Locking)Àº ÇÑ Æ®·£Àè¼ÇÀÌ ¿ÏÀüÈ÷ ³¡³¯ ¶§±îÁö ÇØ´ç µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Á¦¾î¸¦ À¯ÁöÇÒ ¼ö
    ÀÖµµ·Ï ÇÑ´Ù. Áï ÁøÇàÁßÀÎ °»½Å Æ®·£Àè¼ÇÀÌ ¿ÏÀüÈ÷ ³¡³ª±â Àü¿¡ ´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÇØ´ç ÇàÀ» º¯°æ
    ÇÏ´Â °ÍÀ» ¹æÁöÇÑ´Ù.

    ´ÙÀ½ÀÇ ºÐ¸® ·¹º§µé Áß Çϳª¸¦ ¼±ÅÃÇÑ´Ù.
    • ¸¸¾à ´Ù¼öÀÇ ±ä Àá±ÝÀ» °®´Â´Ù¸é, "¹Ýº¹°¡´É Àбâ(Repeatable Read)"¸¦ ¼±ÅÃÇÑ´Ù.
    • ¸¸¾à ¼Ò¼öÀÇ ±ä Àá±ÝÀ» °®´Â´Ù¸é, "Àб⠾ÈÁ¤¼º(Read Stabiity)"¸¦ ¼±ÅÃÇÑ´Ù.
    • ¸¸¾à ´Ù¼öÀÇ ÂªÀº Àá±ÝÀ» °®´Â´Ù¸é, "Ä¿¼­ ¾ÈÁ¤¼º(Cursor Stability)"¸¦ ¼±ÅÃÇÑ´Ù.
    • ¸¸¾à Àá±ÝÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é, "¹ÌÈ®¾à Àбâ(Uncommitted Read)"¸¦ ¼±ÅÃÇÑ´Ù.
±×¸² 8.  ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ºÐ¸®·¹º§ ÆäÀÌÁö
±×¸² 8. ¼º´É ±¸¼º ¸¶¹ý»çÀÇ ºÐ¸®·¹º§ ÆäÀÌÁö
9. °á°ú ÆäÀÌÁö(±×¸² 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µÈ ¸í·É¹® ½ÇÇà±â·Ï â
±×¸² 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
±×¸² 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 ¹®Àå¿¡ ´ëÇÑ ±×·¡ÇÈ ¾×¼¼½º Ç÷£
±×¸² 3. Visual Explain : SQL ¹®Àå¿¡ ´ëÇÑ ±×·¡ÇÈ ¾×¼¼½º Ç÷£
Å×ÀÌºí ½ºÄµ ¿î¿µÀÇ ÀÚ¼¼ÇÑ ³»¿ëÀ» º¸±â À§Çؼ­, TBSCAN Operator ³ëµå¸¦ ¼±ÅÃÇÑ ÈÄ, ³ëµå ¸Þ´º Ç׸ñ¿¡¼­ ¼¼ºÎ»çÇ× Ç¥½Ã¸¦ ¼±ÅÃÇÑ´Ù. ¾×¼¼½º Ç÷£¿¡¼­ TBSCAN ¿î¿µ¿¡ ´ëÇÑ Á¤º¸´Â ´ÙÀ½ ±×¸² 4¿Í °°´Ù.
±×¸² 4. Visual Explain : ¿¬»êÀÚ(Operator) ¼¼ºÎ»çÇ×
±×¸² 4. Visual Explain : ¿¬»êÀÚ(Operator) ¼¼ºÎ»çÇ×
ÀÌ Ã¢Àº ¸î °³ÀÇ ´Ù¸¥ ¼½¼ÇÀ» Æ÷ÇÔÇÑ´Ù.
• ´©Àû ºñ¿ë - ½Ã½ºÅÛ Ä«Å»·Î±× Å×ÀÌºí¿¡ ÀúÀåµÈ Åë°èÄ¡¸¦ »ç¿ëÇÏ¿© °è»êµÈ ¿¹ÃøµÈ ´©Àûºñ¿ë
• ´©Àû µî·Ï Á¤º¸ - Äõ¸®¸¦ ¸¸Á·ÇÏ´Â Å×À̺í, Ä÷³ µî¿¡ ´ëÇÑ Á¤º¸
• ÀÔ·Â Àμö - ¿¬»êÀÚÀÇ ÇàÀ§¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ÀÔ·Â Àμö¿¡ ´ëÇÑ Á¤º¸

Operand¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ Á¶»çÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. Operand ³ëµå¸¦ ¼±ÅÃÇÑ ÈÄ, ³ëµå ¸Þ´º Ç׸ñ¿¡¼­ Åë°è Ç¥½Ã¸¦ ¼±ÅÃÇÑ´Ù. ±×¸² 5´Â DB2ADMIN.EMPLOYEE Å×ÀÌºí¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Operand ³»¿ëÀ» º¸¿©ÁØ´Ù.
±×¸² 5. Visual Explain : 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 ¼öÇàÈÄÀÇ Å×À̺í Åë°è
±×¸² 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 ¿ÉƼ¸¶ÀÌÀú°¡ ÃÖÀûÀÇ À妽º¸¦ ¼±ÅÃÇÏ¿© º¸¿©ÁÙ °ÍÀÌ´Ù.
±×¸² 6. Visual Explain : RUNSTATS ¼öÇàÈÄÀÇ Å×À̺í Åë°è

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 Á¶Á¤ÀÚ¿¡ ÀÇÇØ »ý¼ºµÇ´Â ·Î±×µéÀ» Á¶»çÇÒ ¼ö ÀÖ´Ù.