DB2 for LUW¿¡¼ ¼º´É°³¼±À» À§ÇØ Snapshot È°¿ëÇϱâ
¾È³çÇϼ¼¿ä. DB2 ¹× XpertMon »ç¿ëÀÚ ¿©·¯ºÐ! ¢ß ¾ÆÀÌƼ¿¢½ºÆÛÆ®±×·ì DB»ç¾÷ºÎÀÔ´Ï´Ù.
ÇöÀç ÀúÈñ XpertMon °³¹ßºÎ¼´Â °í°´ ºÐµéÀÌ ¿øÇϽô »çÇ×µéÀ» Á» ´õ ¼ö·ÅÇÏ°í ¹Þ¾Æµå¸®±â À§ÇØ ¸¹Àº ³ë·ÂÀ» ÇÏ°í ÀÖÀ¸¸ç, XpertMonÀÇ ½Ç½Ã°£ ¸ð´ÏÅ͸µÀ» ÅëÇØ ¾ò¾îÁö´Â History¸¦ ¾÷¹«¼Ó¼º(DPF, OLTP, Batch …) ¿¡ µû¶ó ÀûÀýÇÑ KPI¸¦ Àû¿ëÇÏ¿© º¸´Ù ³ªÀº ¼º´É°ü¸® ¹× Æ©´×¿¡ Èû¾²°í ÀÖ½À´Ï´Ù. Â÷ÈÄ Ãß°¡µÇ´Â ±â´Éµé¿¡ ´ëÇؼ´Â ´º½º·¹Å͸¦ ÅëÇؼ ÀÚ¼¼ÇÏ°Ô ¸»¾¸ µå¸®µµ·Ï ÇÏ°Ú½À´Ï´Ù.
À̹ø ÁÖ´Â “DB2 for LUW¿¡¼ ¼º´É°³¼±À» À§ÇÑ ¹æ¹ý ÁßÀÇ Çϳª·Î Snapshot Á¤º¸È°µ¿” ¿¡ ´ëÇØ ¼Ò°³Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù.
¾Æ¹«ÂÉ·Ï ¸¹Àº µµ¿òµÇ½Ã±æ ¹Ù¶ó¸ç, ±âÁ¸ ´º½º·¹Å͵éÀº ȸ»ç ȨÆäÀÌÁö ( www.iteg.co.kr) °Ô½ÃÆÇ¿¡ µé¾î¿À½Ã¸é º¸½Ç ¼ö ÀÖ½À´Ï´Ù. Ȥ½Ã¶óµµ ¾Ë°í ½ÍÀº ³»¿ëÀ̳ª ÁÖÁ¦°¡ ÀÖ´Ù¸é ¸ÞÀÏ·Î º¸³»ÁֽʽÿÀ. ÂüÁ¶ÇÏ¿© ¹Ý¿µÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù.
AGENDA
1. ¼º´É°³¼± Tuning À§ÇÑ Focus
2. Snapshot Monitor SQL Table Function
A. Snapshot Monitor SQL Table Function À̶õ
B. Snapshot Monitor SQL Table FunctionÀ» ÀÌ¿ëÇÑ Á¤º¸ ¼±Åðú ¼öÁý
3. SnapshotÀ» ÀÌ¿ëÇÑ Æ©´×»ç·Ê
4. V9¿¡¼ Á¦°ø µÇ´Â SQL administrative view
Point, Click and Run: Using snapshots to Improve Performance in DB2 for LUW
1. ¼º´É°³¼± Tuning
Tuning in a vacuum
Ø ¿äÁòÀÇ Database ÀÌ¿ëÃß¼¼´Â OLTP¼º°ú Batch JobÀÌ ÇÔ²² ¿î¿µµÇ´Â °æ¿ì°¡ ¸¹½À´Ï´Ù. OLTP¸¦ ºü¸£°Ô Æ©´× Çϸé Batch Process°¡ ´À·ÁÁö°Å³ª, ±× ¹Ý´ë·Î Batch process¸¦ Æ©´× Çϸé OLTP°¡ ´À·ÁÁö´Â °æ¿ì°¡ Á¾Á¾ ÀÖ½À´Ï´Ù. ÇϳªÀÇ Process ¶Ç´Â SQL ¹®ÀåÀ» Æ©´× ÇÏ¸é ´Ù¸¥ »ç¿ëÀÚ¿Í ÀÀ¿ëÇÁ·Î±×·¥¿¡ ¿øÄ¡ ¾Ê´Â °á°ú¸¦ °¡Á®¿Ã ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù.
ÀÌó·³ localized tuningÀº ÁÁÀº ÀÌÁ¡µµ ÀÖÁö¸¸ ´Ù¸¥ °Í¿¡ ºÎÁ¤ÀûÀÎ ¿µÇâÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù. (ex ƯÁ¤ ApplicationÀÌ ÁÖ·Î select ÀÛ¾÷À» ¼öÇàÇÏ¿© À妽º¸¦ »ý¼º ÇÏ°Ô µÇ¸é ºü¸£°Ô ÀÐ°Ô µÇÁö¸¸, ´Ù¸¥ Application Áï Insert, update ÀÛ¾÷À» ÁÖ·Î ÇÏ´Â Application´Â ´õ ¸¹Àº ÀÏÀ» ÇØ¾ß ÇϹǷΠ´À·ÁÁú ¼öµµ ÀÖ½À´Ï´Ù.)
±×·¯¹Ç·Î, ¼º´É°³¼± TuningÀ̶õ ÀüüÀûÀÎ ¸ð´ÏÅ͸µ°ú Áö¼ÓÀûÀÎ Application±¸¼º¿ä¼Ò¿¡ ´ëÇØ °³¼±ÇÏ´Â °ÍÀÌ¶ó ¸»ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ø Çѹø ´õ °Á¶Çϸé, Hardware, OS, CPU, I/O bound, Application (¼³°è¿Í SQL) ¹× Network ¹®Á¦¸¦ Àü¹ÝÀûÀ¸·Î °üÂûÇÏ¿© ¼º´É°³¼± Tuning À» ÇØ¾ß ÇÕ´Ï´Ù..
u Æ©´× »ç·Ê¿¡ °ü·ÃÇÏ¿© ½º³À¼¦Àº ÇϳªÀÇ ¹æ¹ý·ÐÀû ±â¹ýÀÔ´Ï´Ù.
2. Snapshot Monitor SQL Table Function
A. Snapshot Monitor SQL Table Function À̶õ
Ø Get Snapshot¸í·É¾îÀÇ ½ÇÇà °á°ú¿Í µ¿ÀÏÇÑ Snapshot Á¤º¸¸¦ Å×À̺íÀÇ ÇüÅ·ΠÁ¶È¸ÇÏ´Â Å×À̺í ÇÔ¼ö¸¦ ¸»Çϸç ÇØ´ç Á¤º¸¿¡ °ü·Ã µÈ monitor switch ¸¦ on ½ÃÄѾ߸¸ ÇØ´ç Á¤º¸°¡ ¼öÁýµË´Ï´Ù.
Ø Å×À̺í ÇÔ¼ö´Â ¸í·É¹®ÀÇ From Àý¿¡¼¸¸ »ç¿ë °¡´ÉÇϹǷÎ, DB¸íÀ» ÀÔ·Â ÇÏÁö ¾ÊÀ¸·Á¸é ‘’ ¶Ç´Â cast (null as char) °ªÀ» »ç¿ëÇÏ¸é µÇ¸ç, ÀÔ·ÂÇÏÁö ¾Ê¾ÒÀ» ½Ã¿¡´Â ÇöÀç Á¢¼ÓÁßÀÎ DBÀÇ Á¤º¸¸¦ ¸®ÅÏ ÇÕ´Ï´Ù.
Ø ÇöÀç Partition No. ¿¡¼ Á¶È¸ÇÏ°í ½ÍÀ» ¶§´Â -1 ¶Ç´Â null·Î ÀÔ·ÂÇϸç, ¸ðµç Partition ¿¡ °üÇØ Á¶È¸ÇÏ°í ½ÍÀ» ¶§´Â -2¸¦ partitionnum ÀÚ¸®¿¡ ´ëüÇÕ´Ï´Ù.
Ø DB2 LUW 8.2¿¡¼´Â 21°³ÀÇ Å×À̺í ÇÔ¼ö°¡ Á¦°øµË´Ï´Ù
u ¸í·É¾î
u »ç¿ë ¿¹Á¦
u °á°ú (XpertmonÀ» ÀÌ¿ëÇÏ¿© º¸´Ù ½±°Ô °á°ú °ªÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.)
B. Snapshot Monitor SQL Table Function¸¦ ÀÌ¿ë ÇÑ Á¤º¸ ¼±Åðú ¼öÁý
Ø Å×À̺í ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ¿µ±¸ÀûÀÎ tableÀ» »ý¼º°¡´ÉÇϸç, ÀÌ·² °æ¿ì µ¥ÀÌÅÍ°¡ ³²¾Æ ÀÖ°Ô µË´Ï´Ù. Å×ÀÌºí »ý¼º½Ã ¸ñÇ¥°¡ ¹«¾ùÀ̸ç, ¾î¶² µ¥ÀÌÅ͸¦ ÃøÁ¤ÇÏ¿© ¼öÁý ÇÒ °ÍÀΰ¡¿¡ ´ëÇÑ PlanÀ» °èȹÇÑ ÈÄ, insert into ~~ (select ~) ¹®ÀåÀ» »ç¿ë ÇÏ¿© ƯÁ¤ µ¥ÀÌÅ͸¦ ¼öÁýÇÏ¿© Å×ÀÌºí¿¡ ÀúÀåÇÏ¸é µË´Ï´Ù. À̶§, AT ¸í·É¾î ȤÀº crontab¸í·É¾î¸¦ »ç¿ëÇÏ¿© ½ºÄÉÁÙÀ» ¿¹¾àÇÏ¿© ƯÁ¤ ½Ã°£ ¶Ç´Â ƯÁ¤ ±â°£ µ¿¾È Á¤º¸ ¼öÁýÀÌ °¡´ÉÇÏ°Ô ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
u »ç¿ë ¿¹Á¦
3. SnapshotÀ» ÀÌ¿ë ÇÑ Æ©´×»ç·Ê
A. ½º³À¼¦À» ÀÌ¿ëÇÑ unused À妽º»èÁ¦ »ç·Ê 1
Ø ¾Ë·ÁÁø ¹®Á¦Á¡À» ÆľÇÇÏ¿© Á¤È®ÇÑ Tuning ¸ñÇ¥°¡ ¹«¾ùÀ̸ç, ¾î¶² °ÍÀ» ÃøÁ¤ ÇÒ °Í ÀÎÁö¿¡ ´ëÇØ ¿ì¼± °áÁ¤ÇÕ´Ï´Ù.
Ø »ç¿ë ÇÏÁö ¾Ê´Â indexes°¡ ¼º´É¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖÀ¸¹Ç·Î, »ç¿ëµÇÁö ¾Ê´Â À妽º¸¦ »èÁ¦ ÇÏ¿© ¼º´ÉÀ» ³ôÀÏ ¼ö ÀÖ½À´Ï´Ù.
Ø ÀÚ¼¼È÷ ¾î¶² Á¤º¸¸¦ ¼öÁý ÇÒ °Í ÀÎÁö¸¦ °áÁ¤ÇÏ°í, ¼öÁýÀ» À§Çؼ´Â ¾î¶² SnapshotÀ» ÀÌ¿ëÇØ¾ß Çϸç, ¼öÁýµÈ ÃøÁ¤°ªÀ» ÀúÀåÇÒ Å×À̺íÀ» ¸¸µé¾î µ¥ÀÌÅ͸¦ ³ÖÀ» ÇÁ·Î¼¼½º¸¦ ¸¸µé¾î ÁÝ´Ï´Ù.
i. ÇØ´ç Snapshot TableÀ» »ý¼ºÇÕ´Ï´Ù. (Create TBLSNP table)
ii. ƯÁ¤±â°£ µ¿¾È ƯÁ¤±â°£ µ¿¾È ROWS_WRITTENÈ°µ¿ÀÌ ³ôÀº Top 10ÀÇ TableÀ» ã½À´Ï´Ù.
(ROWS_WRITTENÀÇ »ç¿ë·®ÀÌ ¸¹Àº Å×À̺íÀ» ¼±ÅÃÇÕ´Ï´Ù.
iii. Top 10ÀÇ Å×ÀÌºí¿¡ ´ëÇØ SnapshotÀ» ÀÌ¿ëÇÏ¿© dynamic SQL ±¸¹®À» ¼öÁýÇÏ¿©, ¼º´É¿¡ ¹ÌÄ¡´Â ¿µÇâ°ú »óÀÀÇÏ´ÂÁö È®ÀÎÇÕ´Ï´Ù.
iv. SQL±¸¹®À» ÀúÀåÇÒ Å×À̺íÀ» ¸¸µç ÈÄ Top 10 ÀÇ SQL ±¸¹®À» ¼öÁýÇÕ´Ï´Ù.
Ø µ¥ÀÌÅͺ£À̽º ȯ°æÀ» ÆÄ¾Ç ÇÒ Á¤µµÀÇ ÀÏÁ¤±â°£ µ¿¾È ½ÇÇàÇÏ¿© µ¥ÀÌÅÍ ¼öÁýÇÕ´Ï´Ù.
u Cron job, AT process¸¦ ÀÌ¿ë
u ȯ°æÀÌ ÆÄ¾ÇµÉ ¼ö ÀÖÀ» Á¤µµÀÇ ÇÊ¿ä µ¥ÀÌÅ͸¦ ±â°£À» µÎ¾î ¼öÁý
u db2explain ¹× ¼Õ½±°Ô ExcelÀ» ÀÌ¿ëÇØ Áø´Ü ¹× ºÒÇÊ¿äÇÑ À妽º¸¦ ½Äº°ÇØ ³¿.
ü ÇöÀç explainÀ» ¹é¾÷ ¹ÞÀº ÈÄ ÇöÀç explain Å×À̺íÀ» »èÁ¦ ÇÑ´Ù. (explain Å×À̺íÀº ´©Àû °ªÀ» °¡Áø´Ù. µû¶ó¼ ExplainÅ×À̺íÀ» »õ·Î ¸¸µé¾î µ¥ÀÌÅ͸¦ ÃʱâÈ ÇÑ´Ù. »ç¿ëÀÚ ID¸¦ ½ºÅ°¸¶ ¸íÀ¸·Î ÇÏ´Â explain Å×À̺í ÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù. )
ü db2explain±â´ÉÀ» ÅëÇØ Çϳª·Î ¼öÇà½ÃÄÑ Explain table¿¡ ÀúÀåÇÕ´Ï´Ù.
ü ¿ù¸» ÀÛ¾÷À̳ª ºÐ±â ÀÛ¾÷¿¡ ¾²´Â Äõ¸®µéµµ ÇÔ²² ¼öÇàÇÏ¿© ÁÝ´Ï´Ù.
ü access planÀ» ÅëÇØ »ç¿ëµÇÁö ¾Ê´Â À妽º¸¦ È®ÀÎÇÕ´Ï´Ù.
ü Explain Å×À̺íÀÇ °ªÀº ´©Àû °ªÀ̹ǷΠƯÁ¤ °ªÀ» ºñ±³ ÇÒ ¶§´Â µ¨Å¸ °ªÀ» ÀÌ¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù. ExcelÀº ODBC¸¦ ÀÌ¿ëÇÏ¿© Database¿¡¼ µ¥ÀÌÅ͸¦ °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù.
è ODBC µî·Ï: Á¦¾îÆÇ –°ü¸®µµ±¸-µ¥ÀÌÅÍ ¿øº»(ODBC) - ½Ã½ºÅÛ DSN ¼±ÅÃ-Ãß°¡ (D)
è Excel ºÒ·¯ ¿À±â: MS Excel ½ÇÇà – µ¥ÀÌÅÍ – ±âŸ¿øº» – Microsoft Query – µ¥ÀÌÅÍ¿øº» ¼±ÅÃ
è ´ëºÎºÐÀÇ Á¶Á÷Àº ¿î¿µ ȯ°æ DB Object¿¡ ´ëÇØ ¾ö°ÝÇÑ º¯°æ °ü¸® ÀýÂ÷¸¦ È®ÀÎÇÕ´Ï´Ù.
ü Object »èÁ¦ ÀýÂ÷¸¦ È®ÀÎ ÈÄ ÇØ´ç À妽ºÀÇ DDLÀ» ÃàÃâ ÈÄ À妽º¸¦ »èÁ¦ ÇØÁÖ¸é µË´Ï´Ù.
B. ½º³À¼¦À» ÀÌ¿ëÇÑ »ç·Ê 2
Ø Table Ư¼ºÀ» ºÐ¼®ÇÏ¿© ¾÷¹« Àû¿ëÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
snapshot_table¿¡ ÀÖ´Â Rows_read, Rows_Written µÎ µ¥ÀÌÅÍ °ªÀ» ¼öÁýÇÕ´Ï´Ù..
read ÀÛ¾÷ÀÌ ¸¹ÀÌ ÀϾ°í write ÀÛ¾÷ÀÌ °ÅÀÇ ¾ø°Å³ª ¾øÀ» °æ¿ì¿¡´Â Replicated Table ¸¸µé¾î »ç¿ëÇÏ¸é ¾÷¹«¸¦ ºÐ»êÇÒ ¼ö ÀÖ¾î ¼º´É°³¼±¿¡ ¸¹ÀÌ µµ¿òÀ» ÁÝ´Ï´Ù.
Ø Explain Å×À̺íÀÇ °ªÀº ´©Àû °ªÀ̹ǷΠ°ªÀ» ºñ±³ ÇÒ ¶§´Â Delta °ªÀ» ÀÌ¿ëÇϵµ·Ï ÇÕ´Ï´Ù. ExcelÀº ODBC¸¦ ÀÌ¿ëÇÏ¿© Database¿¡¼ µ¥ÀÌÅ͸¦ °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù.
C. À§ »ç·Ê¸¦ ÅëÇÑ °á·Ð
Ø 1ÁÖÀÏ Á¤µµÀÇ ¾÷¹« ±â°£ Áß SnapshotÀ» ÅëÇØ ¼öÁýµÈ µ¥ÀÌÅ͸¦ ÀÌ¿ëÇØ »èÁ¦ µÈ À妽º´Â ad-hoc °°Àº Äõ¸® ¶§¹®¿¡ »ý¼ºµÇ¾úÀ» ¼öµµ ÀÖ°í ÇÁ·Î¼¼½ºÀÇ º¯°æ¿¡ ÀÇÇØ »ç¿ëµÇÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù.
±×·¯¹Ç·Î, ÀÌ·¯ÇÑ À妽ºÀÇ »èÁ¦´Â Batch ¶Ç´Â USER ÇÁ·Î¼¼½º¿¡´Â ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. À妽º¸¦ »èÁ¦ÇÔÀ¸·Î½á À妽º¿¡ ±â·ÏÇÏ´Â ¾çÀÌ Àû¾îÁö°í, ½ºÅ丮Áö »ç¿ëÀÌ ÁÙ¾î µé°Ô µÇ¸ç, Runstats ¹× Backup ¼öÇà½Ã°£µµ ´ÜÃàµË´Ï´Ù.
Ø ±×·¯³ª À§ÀÇ ³»¿ëÀº UNIQUE INDEX´Â Á¦¿Ü ´ë»óÀÔ´Ï´Ù. UNIQUE INDEX´Â ¼Óµµ¸¦ ³ôÀ̱â À§ÇÏ¿© »ý¼ºÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó µ¥ÀÌÅÍÀÇ À¯´ÏÅ© »óŸ¦ À¯Áö Çϴµ¥ ±× ¸ñÀûÀÌ ÀÖÀ¸¹Ç·Î, access plan¿¡ Á÷Á¢ÀûÀÎ ¿µÇâÀ» ÁÖÁö´Â ¾Ê´Â´Ù. ÇÊ¿äÇÏÁö ¾Ê´Â À妽º¸¦ »èÁ¦ ÇÏ´Â °ÍÀº resource¸¦ ¹ÝȯÇØÁÖ°í Insert/update¿¡¼ ¹ß»ýÇÏ´Â ¿À¹öÇìµå¸¦ ÁÙÀ̴µ¥ »ó´çÇÑ È¿°ú°¡ ÀÖ½À´Ï´Ù.
Ø ¾÷¹« ½Ã°£¿¡ read ÀÛ¾÷ÀÌ ¸¹ÀÌ ÀϾ°í write ÀÛ¾÷ÀÌ °ÅÀÇ ¾ø°Å³ª ¾øÀ» ¶§, Áï High read /row write ÀÏ °æ¿ì¿¡´Â Table CronÀ» ¸¸µé¾î »ç¿ë ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¾î¶² Table¿¡¼´Â »õ·Î¿î JobÀÌ ÁÖ·Î Àб⸸ ÇÏ°í refresh´Â ÇÏ·ç¿¡ Çѹø¸¸ Çصµ µÈ´Ù¸é. CronÀ» ¸¸µé¾î¼ Cron Table¿¡¼ JobÀ» ¼öÇà Çϵµ·Ï ÇÑ´Ù¸é ºÐ»ê󸮰¡ µÉ ¼ö ÀÖ½À´Ï´Ù.
Ø Snapshot Á¤º¸¼öÁýÀ» ÅëÇØ Object¿Í ¿¬°üµÈ Application¿¡ °üÇØ ¾Ë ¼ö ÀÖÀ¸¸ç, DB¹®Á¦°¡ ¾Æ´Ñ Application ¼³°è¹®Á¦¸¦ ¾Ë·Á ÁÙ ¼ö ÀÖ°í, ½Ã½ºÅÛ Àü¹ÝÀûÀÎ °ÍÀ¸·Î °üÂûÇϱ⠶§¹®¿¡ ¿¹»óÄ¡ ¸øÇÑ ºÎÀÛ¿ëÀ» ÃÖ¼ÒÈ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
4. V9¿¡¼ Á¦°ø µÇ´Â SQL administrative view
Ø DB2 V9 for LUW¿¡¼ºÎÅÍ´Â administrative view°¡ Áö¿øµÇ¾î, Å×À̺í ÇÔ¼öº¸´Ù ´õ ¸¹Àº Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù. °¢ ViewµéÀÇ SYSIBMADM ½ºÅ°¸¶·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù..
Ø ºÐ·ù±âÁØ¿¡ µû¸¥ Administrative View
Ø Âü°í»çÀÌÆ®
http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/d
oc/r0006117.htm?resultof=%22%53%4e%41%50%42%50%5f%50%41%52%54%22%20
|