[Áöµð³ÝÄÚ¸®¾Æ]¿¬Àç °¡À̵å¿î¿µÃ¼Á¦ | AIX 5.2 64ºñÆ®, À©µµ¿ì XP ÇÁ·Î
°³¹ßµµ±¸ | MS ¿ÀÇǽº 2000 VBA, ¿À¶óŬ PL/SQL
±âÃÊÁö½Ä | ¿À¶óŬ SQL ¹× PL/SQL, ºñÁÖ¾ó º£ÀÌÁ÷ DB ÇÁ·Î±×·¥ ÀÛ¼º¿¡ ¿ä±¸µÇ´Â ±âº» Áö½Ä
ÀÀ¿ëºÐ¾ß | DB ÇÁ·Î±×·¥ ÀϹÝ
µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÇØ Äõ¸®¸¦ ¼öÇàÇÏ°í ±× °á°ú¸¦ Àü´Þ¹Þ´Âµ¥ »ç¿ëÇÏ´Â ±â¼úÀ» DAT(Data Access Technology)¶ó°í ÇÑ´Ù. DAT´Â º¥´õº°·Î ´Ù¾çÇÑ ±â¼úÀ» ¼±º¸¿´´Âµ¥, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®(ÀÌÇÏ MS)´Â ODBC(Open DataBase Connectivity), ADO(ActiveX Data Objects) µîÀ» Æ÷ÇÔÇÏ´Â MDAC(Microsoft Data Access Components), ADO .NET µîÀÇ ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇϸç, ¿À¶óŬÀº OO4O(Oracle Objects for OLE)¸¦ Á¦°øÇÑ´Ù(ÆíÀÇ»ó À̹ø ¿¬Àç¿¡¼´Â À̵éÀ» DAC(Data Access Component)·Î ÁöĪÇÑ´Ù). À̹ø ±Û¿¡¼´Â Áö³ È£¿Í ¸¶Âù°¡Áö·Î ¿¢¼¿ÀÇ VBA(Visual Basic for Applications) ȯ°æÀ» ÅëÇØ ¿À¶óŬ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù·ïº¸¸ç, MSÀÇ MDAC ÄÄÆ÷³ÍÆ®ÀÎ ADO¿Í ¿À¶óŬÀÇ OO4O¸¦ »ç¿ëÇØ ½ÇÁ¦ Å×½ºÆ®¸¦ ÇØº»´Ù.
ADO´Â OLE(Object Linking and Embedding) DB¸¦ ÀÌ¿ëÇØ °ü°èÇü µ¥ÀÌÅͺ£À̽º»Ó¸¸ ¾Æ´Ï¶ó ÆÄÀϰú °°Àº ºñ°ü°èÇü µ¥ÀÌÅÍ ¼Ò½º¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. OLE DB´Â ÇÁ·Î¹ÙÀÌ´õ(provider)¶ó´Â ÄÄÆ÷³ÍÆ®¸¦ ÅëÇØ µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ ÀڷḦ Á¦°øÇÏ´Â ¿ªÇÒÀ» ¼öÇàÇϴµ¥ ¼Ò½ºº°·Î ¼·Î ´Ù¸¥ ÇÁ·Î¹ÙÀÌ´õ°¡ »ç¿ëµÈ´Ù. Áö³ ¿¬Àç¿¡¼´Â MSÀÇ DAC·Î ADO¸¦ »ç¿ëÇßÀ¸¸ç ÇÁ·Î¹ÙÀÌ´õ·Î´Â ¿À¶óŬÀÇ OraOLEDB(Oracle Provider for OLE DB)¸¦ »ç¿ëÇß´Ù. À̹ø¿¡´Â MSDORA(Microsoft Oracle ODBC Driver and OLEDB) ÇÁ·Î¹ÙÀÌ´õµµ ÇÔ²² »ç¿ëÇØ µ¿ÀÏÇÑ È¯°æ, µ¿ÀÏÇÑ ¼öÇà¹æ½Ä¿¡¼ ÇÁ·Î¹ÙÀÌ´õ°¡ ´Ù¸¥ °æ¿ìÀÇ ¼º´ÉÀÌ ¾î¶»°Ô Â÷À̰¡ ³ª´ÂÁö¸¦ »ìÆìº»´Ù.
ÇÁ·Î¹ÙÀÌ´õÀÇ Á¦°øÀÚ°¡ MSµç ¿À¶óŬÀÌµç ¸ðµÎ ADOÀÇ ÀÏÁ¾À̹ǷΠÀÚ·á 󸮸¦ À§ÇÑ ¼Ò½º´Â µ¿ÀÏÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹Ý¸é ¿À¶óŬ¿¡¼´Â À©µµ¿ì °³¹ßȯ°æ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â º°µµÀÇ DAC, Áï OO4O¸¦ Á¦°øÇϴµ¥ ¹®¹ýµµ ADO¿Í ´Ù¼Ò Â÷À̰¡ ÀÖ´Ù. µû¶ó¼ ADO¸¦ »ç¿ëÇϸé ÇÁ·Î¹ÙÀÌ´õ°¡ º¯°æµÇ´õ¶óµµ ÇÁ·Î±×·¥ ÀÚü¿¡ ¿µÇâÀÌ ¾øÁö¸¸, ADO¸¦ »ç¿ëÇÏ´Ù°¡ OO4O·Î º¯°æÇϰųª ±× ¹Ý´ëÀÇ °æ¿ì¿¡´Â µ¥ÀÌÅͺ£À̽º ¾×¼¼½º¸¦ ´ã´çÇÏ´Â ºÎºÐÀ» ¾Ë¸Â°Ô ¼öÁ¤ÇØ¾ß ÇÑ´Ù.
OO4O´Â ADO¿Í´Â ´Þ¸® ¿À¶óŬ µ¥ÀÌÅͺ£À̽º¸¸À» À§ÇØ °³¹ßµÆ±â ¶§¹®¿¡ ADOº¸´Ù ´õ ¸¹Àº ±â´ÉÀ» Áö¿øÇÏ¸ç ¿À¶óŬ¿¡¼ ´õ ÁÁÀº ¼º´ÉÀ» ³»´Â °ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖ´Ù. ÀÌ¿¡ ´ëÇØ¼´Â ½ÇÁ¦ Å×½ºÆ®¸¦ ÅëÇØ ADO¸¦ »ç¿ëÇÏ´Â °æ¿ì¿Í OO4O¸¦ »ç¿ëÇÏ´Â °æ¿ì ¾î¶² ¼º´É Â÷À̸¦ º¸¿©ÁÖ´ÂÁö »ìÆìº¼ °ÍÀÌ´Ù.
Å×½ºÆ® ȯ°æ°ú ¹æ¹ý
À̹ø Å×½ºÆ®´Â ´ÙÀ½°ú °°Àº ȯ°æ¿¡¼ ¼öÇàÇß´Ù.
DB ¼¹ö
CPU : 1.7Hz ¡¿ 8EA
¸Þ¸ð¸® : 16GB
¿À¶óŬ ¼¹ö : ¿À¶óŬ 9i ¿£ÅÍÇÁ¶óÀÌÁî ¿¡µð¼Ç ¸±¸®Áî 9.2.0.4.0 64ºñÆ®
¿î¿µÃ¼Á¦ : AIX 5.2 64ºñÆ®
Ŭ¶óÀ̾ðÆ®
CPU : ÀÎÅÚ ÆæÆ¼¾ö M 1.5GHz ¡¿ 1EA
¸Þ¸ð¸® : 1GB
¿À¶óŬ Ŭ¶óÀÌ¾ðÆ® : ¿À¶óŬ 10g 10.1.0.2
¿î¿µÃ¼Á¦ : À©µµ¿ì XP ÇÁ·ÎÆä¼Å³Î
Å×½ºÆ®´Â 2¸¸ °ÇÀÇ ÀڷḦ Å×ÀÌºí¿¡ InsertÇÏ´Â ÀÛ¾÷À¸·Î Å×½ºÆ®¸¦ À§ÇØ Number TypeÀ» °®´Â 2°³ÀÇ Ä÷³°ú Varchar2 TypeÀ» °®´Â 1°³ÀÇ Ä÷³¿¡ Á¤ÇØÁø ±ÔÄ¢À¸·Î 2¸¸ °ÇÀ» ÀÔ·ÂÇÏ´Â ¹æ½ÄÀ¸·Î ¼öÇàÇß´Ù. »ç¿ëµÇ´Â DAC º°·Î °¢°¢ <ÄÉÀ̽º 1>ºÎÅÍ <ÄÉÀ̽º 3>±îÁö´Â Áö³ È£¿Í µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î Å×½ºÆ®ÇßÀ¸¸ç OO4O¸¦ »ç¿ëÇÑ <ÄÉÀ̽º 4>°¡ Ãß°¡µÆ´Ù.
<ÄÉÀ̽º 1> Ŭ¶óÀÌ¾ðÆ®¿¡¼ 2¸¸ °ÇÀÇ ÀڷḦ µ¥ÀÌÅͺ£À̽º·Î Loop ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 2> µ¥ÀÌÅͺ£À̽º¿¡¼ 2¸¸ °ÇÀÇ ÀڷḦ Loop ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 3> µ¥ÀÌÅͺ£À̽º¿¡¼ 2¸¸ °ÇÀÇ ÀڷḦ Array ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 4> Ŭ¶óÀÌ¾ðÆ®¿¡¼ 2¸¸ °ÇÀÇ ÀڷḦ »ý¼ºÇÑ ÈÄ µ¥ÀÌÅͺ£À̽º¿¡ Array ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 4>¸¦ À§ÇØ <ȸé 1>ó·³ ¿¢¼¿ ºñÁÖ¾ó º£ÀÌÁ÷ ¿¡µðÅÍÀÇ µµ±¸ ¸Þ´ºÀÇ ÂüÁ¶ ȸ鿡¼ ¡®Oracle InProc Server 5.0 Type Library¡¯¸¦ ¼±ÅÃÇÑ´Ù. Å×½ºÆ®¿¡ »ç¿ëµÈ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥°ú ÃøÁ¤ ¹æ½ÄÀº ¸ðµÎ µ¿ÀÏÇϹǷΠ¿©±â¼´Â ¹Ù·Î °¢ DACº° Å×½ºÆ® °á°ú¸¦ ºÐ¼®Çغ¸ÀÚ.
 |
| <ȸé 1> VBA ȯ°æ¿¡¼ ADO¸¦ »ç¿ëÇϱâ À§ÇÑ ¼³Á¤ |
ÄÉÀ̽º 1, Ŭ¶óÀÌ¾ðÆ®¿¡¼ DB·Î Loop ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 1>Àº Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÀڷḦ »ý¼ºÇØ »ý¼º ½ÃÁ¡¿¡¼ µ¥ÀÌÅͺ£À̽º¿¡ ÀÛ¾÷ ¿äûÀ» ÇÏ´Â ¹æ½ÄÀ¸·Î ÀÌ·ç¾îÁø´Ù. Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÚ·á°¡ ¹Ýº¹ÀûÀ¸·Î »ý¼ºµÇ¸é µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ¿äûµµ ¹Ýº¹ÀûÀ¸·Î ÀÌ·ç¾îÁö°í ±×¸¦ ÅëÇØ ³×Æ®¿öÅ© I/O ¹× µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ¼öÇà ¿äûÀÌ ¸¹ÀÌ ¹ß»ýÇÏ´Â ±¸Á¶ÀÌ´Ù. <ÄÉÀ̽º 1> Å×½ºÆ®¿¡ ÇÊ¿äÇÑ ¼Ò½º´Â ¡®ÀÌ´ÞÀÇ µð½ºÄÏ¡¯À¸·Î Á¦°øÇÑ´Ù. °¢°¢ MSDORA, OraOLEDB, OO4OÀÇ ¼øÀ¸·Î Ç¥½ÃÇß´Ù.
 |
| <±×¸² 1> <ÄÉÀ̽º 1>ÀÇ ¼öÇà¹æ½Ä |
¸ÕÀú <Ç¥ 1>°ú °°ÀÌ ¼Ò¿ä½Ã°£À» ºñ±³Çغ¸ÀÚ. ¿©±â¼ CPU Ç׸ñÀº ¼ø¼öÇÏ°Ô ÀÚ·á 󸮿¡ »ç¿ëµÈ ½Ã°£À̸ç, Elapsed Ç׸ñÀº CPU °ª¿¡ µ¥ÀÌÅͺ£À̽º Wait °ªÀÌ Ãß°¡µÈ °ªÀÌ´Ù(ÀÌ ¶§ µ¥ÀÌÅͺ£À̽º Wait °ªÀº µ¥ÀÌÅͺ£À̽º¿¡¼ ÀÚ·á ó¸® °úÁ¤¿¡¼ ¹ß»ýÇÏ´Â Wait·Î <Ç¥ 1>ÀÇ Wait Ç׸ñ°ú´Â ´Ù¸¥ °ÍÀÌ´Ù). Wait Ç׸ñÀº Level 8ÀÇ Æ®·¹À̽º °á°ú·Î Ãâ·ÂµÈ Wait ½Ã°£ÀÇ ÇÕÀÌ´Ù.
 |
| <Ç¥ 1> <ÄÉÀ̽º 1>ÀÇ ¼Ò¿ä½Ã°£ ºñ±³ |
<ÄÉÀ̽º 1>ÀÇ °æ¿ì ¹Ýº¹µÇ´Â ³×Æ®¿öÅ© I/O·Î ÀÎÇÑ Áö¿¬½Ã°£ÀÌ °¡Àå Áß¿äÇÑ ¿ä¼ÒÀ̹ǷΠÀÌ ½Ã°£À» ÃøÁ¤Çϱâ À§ÇØ ÀϹÝÀûÀ¸·Î ´ë±â½Ã°£À¸·Î °£ÁÖµÇÁö ¾Ê´Â Wait(¿¹¸¦ µé¸é SQL*Net message from client)°¡ Áß¿äÇÏ°Ô »ç¿ëµÆÀ¸¸ç Àüü ¼öÇà½Ã°£Àº CPU Ç׸ñ°ú Wait Ç׸ñÀÇ ÇÕÀ¸·Î Ç¥½ÃÇß´Ù. Å×½ºÆ® ½ÃÀÛ ½ÃÁ¡¿¡¼ µ¥ÀÌÅͺ£À̽º¿Í ¿¬°áµÇ°í Á¾·á ½ÃÁ¡¿¡ ¿¬°áÀÌ ²÷¾îÁö¹Ç·Î ÀϹÝÀûÀ¸·Î SQL*Net message from client, Áï »ç¿ëÀÚ¿¡ ÀÇÇÑ À¯È޽ð£Àº ¹ß»ýÇÏÁö ¾Ê¾Ò´Ù.
ÀÌÁ¦ <Ç¥ 1>ÀÇ °á°úÄ¡¸¦ ÇØ¼®Çغ¸ÀÚ. µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î ¼öÇàÇßÀ½¿¡µµ ºÒ±¸ÇÏ°í »ç¿ëÇÑ µå¶óÀ̹öÀÇ Á¾·ù¿¡ µû¶ó ÃÖ°í 4.5¹èÀÇ Â÷À̰¡ ³ª°í ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ¼ø¼ö ó¸® ½Ã°£¿¡¼´Â ¾à 2¹è Á¤µµ ¹Û¿¡ Â÷À̰¡ ³ªÁö ¾Ê¾ÒÁö¸¸ SQL*Net message from client¶ó´Â Wait °ªÀÌ ÀǹÌÀÖ´Â Wait ½Ã°£À¸·Î °£ÁÖµÇ¸é¼ Àüü ¼öÇà½Ã°£¿¡¼ Å« Â÷À̸¦ ³ªÅ¸³Â´Ù.
 |
| <ȸé 2> <ÄÉÀ̽º 1> Æ®·¹À̽º ÆÄÀÏÀÇ Wait ½Ã°£ ºñ±³ |
<ȸé 2>´Â Æ®·¹À̽º ÆÄÀÏ ³»¿ë Áß Àüü Wait Ç׸ñ ºÎºÐÀÌ´Ù. Times Waited´Â Wait À̺¥Æ®°¡ ¹ß»ýÇÑ È½¼öÀ̸ç Max. Wait´Â ¹ß»ýµÈ À̺¥Æ® Áß ÃÖ´ë ´ë±â½Ã°£ÀÌ´Ù. Total Waited´Â ÃÑ ´ë±â½Ã°£À» ÀǹÌÇÑ´Ù. <ȸé 2>¸¦ º¸¸é SQL*Net message to client¿Í SQL*Net message from client¿¡¼¸¸ Wait°¡ ¹ß»ýÇÑ °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. SQL*Net message to client´Â µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡¼ ¸Þ½ÃÁö¸¦ º¸³»´Âµ¥±îÁö ¼Ò¿äµÈ ½Ã°£À̸ç, SQL*Net message from client´Â SQL*Net message to client ÀÌÈÄ Å¬¶óÀÌ¾ðÆ®·ÎºÎÅÍ ¸Þ½ÃÁö°¡ ¿À±â±îÁöÀÇ ¼Ò¿ä½Ã°£ÀÌ´Ù.
¿©±â¿¡´Â µ¥ÀÌÅͺ£À̽ºÀÇ ¸Þ½ÃÁö°¡ ³×Æ®¿öÅ©¸¦ ÅëÇØ Ŭ¶óÀÌ¾ðÆ®¿¡ µµÂøÇϱâ±îÁöÀÇ ¼Ò¿ä½Ã°£, Ŭ¶óÀÌ¾ðÆ®¿¡¼ÀÇ Ã³¸®½Ã°£ ¹× ´ë±â½Ã°£, Ŭ¶óÀ̾ðÆ®ÀÇ ¸Þ½ÃÁö°¡ ³×Æ®¿öÅ©¸¦ ÅëÇØ µ¥ÀÌÅͺ£À̽º ¼¹ö·Î µµÂøÇÏ´Â ½Ã°£ µîÀÌ Æ÷ÇԵȴÙ.
<ȸé 2>¸¦ º¸¸é SQL*Net message from client¿¡ µû¸¥ Wait ½Ã°£ÀÌ SQL*Net message to clientº¸´Ù ¿ùµîÈ÷ Å©°Ô ³ªÅ¸³ °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. MSDORAÀÇ °æ¿ì Times Waited°¡ OraOLEDB, OO4O¿¡ ºñÇØ 5¹è°¡ ¸¹±â ¶§¹®¿¡ ½Ã°£µµ ¾à 5¹è °¡·® ´õ ¸¹ÀÌ ¼Ò¿äµÆ´Ù.
 |
| <ȸé 3> <ÄÉÀ̽º 1>ÀÇ µ¥ÀÌÅͺ£À̽º ³»ºÎ ÀÛ¾÷ ³»¿ë |
´ÙÀ½À¸·Î <ȸé 3>°ú °°ÀÌ µ¥ÀÌÅͺ£À̽º ³»ºÎÀÇ ÀÛ¾÷ ³»¿ëÀ» ¾Ë¾Æº¸ÀÚ. ¼öÇà½Ã°£ ºñ±³¸¦ ÅëÇØ Wait °ª ƯÈ÷ SQL*Net message from client °ª¿¡¼ ¸¹Àº Â÷À̸¦ º¸¿´À¸¹Ç·Î ³×Æ®¿öÅ© °ü·Ã ÁöÇ¥¸¦ ÅëÇØ ¿øÀÎÀ» ã¾Æº¸ÀÚ. <ȸé 3>ÀÇ SQL*Net roundtrips to/from client ÁöÇ¥¸¦ º¸¸é MSDORA°¡ OraOLEDB, OO4Oº¸´Ù 5¹è ¸¹Àº ³×Æ®¿öÅ© I/O Ƚ¼ö¸¦ º¸À̰í ÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ³×Æ®¿öÅ©¸¦ ÅëÇÑ ÀÚ·á À̵¿·®µµ 2¹è °¡·® ³ô´Ù. °á·ÐÀûÀ¸·Î ³×Æ®¿öÅ©¸¦ ÅëÇØ ¾ó¸¶³ª ¸¹Àº ÀÚ·á°¡ À̵¿Çߴ°¡ º¸´Ù´Â ¾ó¸¶³ª ¸¹Àº Ƚ¼ö·Î À̵¿Çߴ°¡°¡ Àüü ¼öÇà½Ã°£¿¡ °áÁ¤ÀûÀÎ ¿µÇâÀ» ³¢ÃÆÀ½À» ¾Ë ¼ö ÀÖ´Ù.
 |
| <±×¸² 2> <ÄÉÀ̽º 2>ÀÇ ¼öÇà¹æ½Ä |
OraOLEDB¿Í OO4O´Â °¡Àå ¸¹Àº ½Ã°£À» ¼Ò¿äÇÑ ³×Æ®¿öÅ© I/O¸é¿¡¼ °ÅÀÇ ºñ½ÁÇØ Å« Â÷À̰¡ ¾ø´Ù. ÇÏÁö¸¸ <ȸé 3>ÀÇ ¼Ò¿ä½Ã°£ ºñ±³ Ç׸ñÀ» ÀÚ¼¼È÷ º¸¸é OraOLEDB°¡ OO4Oº¸´Ù Á¶±Ý ´õ ºü¸£°Ô 󸮵ÆÀ½À» ¾Ë ¼ö ÀÖ´Ù. ¿©±â¿£ ¸î °¡Áö ÀÌÀ¯°¡ Àִµ¥ Parse Ƚ¼ö, Cur sor Open Ƚ¼ö¿¡¼ OraOLEDB°¡ ´õ È¿À²ÀûÀ¸·Î ÀÛ¾÷Ç߱⠶§¹®ÀÌ´Ù. Parse Ƚ¼ö°¡ Àû´Ù´Â °ÍÀº library cache, shared pool µîÀÇ ÀÚ¿øÀ» Àû°Ô »ç¿ëÇØ ½ÇÇà ½Ã°£À» ´ÜÃàÇÏ´Â È¿°ú°¡ ÀÖ´Ù.
¶ÇÇÑ OraOLEDB, OO4O°¡ MSDORAº¸´Ù recursive calls ÁöÇ¥ Ãø¸é¿¡¼ ´õ ¸¹Àº ÀÚ¿øÀ» »ç¿ëÇÑ °ÍÀ¸·Î ³ªÅ¸³µÀ¸¸ç ±×·Î ÀÎÇØ CPU »ç¿ë ½Ã°£(recursive cpu usage)µµ ´õ ¸¹Àº °ÍÀ¸·Î ³ªÅ¸³µ´Ù.
ÄÉÀ̽º 2, DB¿¡¼ Loop ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 2>´Â Å×ÀÌºí¿¡ InsertÇÒ ÀڷḦ µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡¼ »ý¼ºÇϸç, Ŭ¶óÀÌ¾ðÆ®´Â µ¥ÀÌÅͺ£À̽º ¼¹öÀÇ Stored Procedure¸¦ È£ÃâÇÏ´Â ¹æ½ÄÀ¸·Î ½ÇÇàµÈ´Ù(<±×¸² 2>). µ¥ÀÌÅͺ£À̽º ¼¹ö°¡ ¾÷¹« ·ÎÁ÷À» ó¸®Çϸç, ÀÛ¾÷ÀÌ ³¡³¯ ¶§¸¶´Ù µ¥ÀÌÅͺ£À̽º¿¡ ÀÛ¾÷ ¼öÇàÀ» ¿äûÇÏ´Â ¹æ½ÄÀÌ´Ù. <ÄÉÀ̽º 2>¿¡ »ç¿ëµÈ ¼Ò½º´Â Áö¸é °ü°è»ó ¡®ÀÌ´ÞÀÇ µð½ºÄÏ¡¯À¸·Î Á¦°øÇÑ´Ù.
 |
| <Ç¥ 2> <ÄÉÀ̽º 2>ÀÇ ¼Ò¿ä½Ã°£ ºñ±³ |
<Ç¥ 2>¸¦ º¸¸é <ÄÉÀ̽º 2>´Â <ÄÉÀ̽º 1>°ú ´Þ¸® µå¶óÀ̹ö°£ ÆíÂ÷°¡ Å©Áö ¾ÊÀ½À» ¾Ë ¼ö ÀÖ´Ù. Ŭ¶óÀÌ¾ðÆ®´Â µ¥ÀÌÅͺ£À̽ºÀÇ ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÏ°í µ¥ÀÌÅͺ£À̽º¿¡¼ ÀÚ·á »ý¼º°ú Å×ÀÌºí¿¡ »ðÀÔ ÀÛ¾÷ÀÌ ³¡³ ÈÄ Å¬¶óÀÌ¾ðÆ®¿¡°Ô ±× °á°ú¸¸À» ¾Ë·ÁÁֹǷΠ³×Æ®¿öÅ© ÀÚ¿øÀ» ¸Å¿ì Àû°Ô »ç¿ëÇϰí ÀÌ ¶§¹®¿¡ ¼·Î °£ÀÇ ½Ã°£ Â÷À̰¡ °ÅÀÇ ³ªÅ¸³ªÁö ¾Ê¾Ò´Ù.
 |
| <ȸé 4> <ÄÉÀ̽º 2> Æ®·¹À̽º ÆÄÀÏÀÇ Wait ½Ã°£ ºñ±³ |
<ÄÉÀ̽º 1>ÀÇ °æ¿ì ³×Æ®¿öÅ© °ü·Ã ÁöÇ¥¿¡¼ Å« Â÷À̰¡ ÀÖ¾úÁö¸¸ <ÄÉÀ̽º 2>ó·³ ½ÇÇà¹æ½ÄÀ» º¯°æÇÏÀÚ ÀÌ·± Â÷À̰¡ ¾ø¾îÁ³´Ù. ƯÀÌÇÑ °ÍÀº log file sync¶ó´Â »õ·Î¿î Wait À̺¥Æ®°¡ 1ȸ ³ªÅ¸³ °ÍÀÌ´Ù. À̰ÍÀº º¯°æµÈ ÀÚ·á°¡ ·Î±× ¹öÆÛ¿¡ ¹Ý¿µµÇ´Â °úÁ¤¿¡¼ ¹ß»ýÇÑ °ÍÀ¸·Î, <ÄÉÀ̽º 1>¿¡ ºñÇØ ÈξÀ ªÀº ½Ã°£¿¡ µ¿ÀÏÇÑ ÀÚ·á·®ÀÇ º¯°æÀÌ ÀÖ¾ú±â ¶§¹®ÀÌ´Ù. ±×·¯³ª ÀÌ ºÎºÐµµ DACº° Â÷ÀÌ´Â ¹Ì¹ÌÇÑ ¼öÁØÀÌ´Ù.
ÇÑÆí CPU 󸮽ð£À» º¸¸é MSDORA¿Í OraOLEDB, OO4O °£¿¡ 0.2ÃÊ Á¤µµÀÇ ÆíÂ÷°¡ Á¸ÀçÇÑ´Ù. ¼Ò¿ä½Ã°£Àº ½Ã½ºÅÛ »óȲ¿¡ µû¶ó ¾à°£ÀÇ ÆíÂ÷°¡ ¹ß»ýÇϹǷΠÀ̰͸¸À¸·Î ´Ü¼øÇÏ°Ô ¿ì¿À» °¡¸± ¼ö ¾ø´Â °æ¿ì°¡ ÀÖÀ¸¸ç, <ÄÉÀ̽º 2>ÀÇ °æ¿ì¿¡µµ Å« Àǹ̴ ¾ø´Â °ÍÀ¸·Î º¸ÀδÙ.
 |
| <ȸé 5> <ÄÉÀ̽º 2>ÀÇ ÁÖ¿ä µ¥ÀÌÅͺ£À̽º |
<ȸé 5>´Â <ÄÉÀ̽º 2>ÀÇ ÁÖ¿ä µ¥ÀÌÅͺ£À̽º Ȱµ¿ ÁöÇ¥´Ù. SQL* Net roundtrips to/from client¸¦ ±âÁØÀ¸·Î <ÄÉÀ̽º 1>°ú ºñ±³ÇÏ¸é ³×Æ®¿öÅ© I/O·®ÀÌ Å©°Ô ÁÙ¾îµé¾úÀ½À» ¾Ë ¼ö ÀÖ´Ù. MSDORA°¡ OraOLEDBº¸´Ù ¿©ÀüÈ÷ 5¹è Á¤µµ ³×Å©¿öÅ© I/O¸¦ ´õ ¸¹ÀÌ ¼öÇàÇßÁö¸¸ ÀÌ Á¤µµ ¼öÄ¡°¡ µÇ¸é ÀüÇô ¿µÇâÀÌ ¾ø´Ù°í ºÁµµ ¹«¹æÇÏ´Ù.
³»ºÎÀûÀ¸·Î »ç¿ëÇÑ µ¥ÀÌÅͺ£À̽º ÀÚ¿ø »ç¿ë·®¿¡¼´Â µ¿ÀÏÇÑ µ¥ÀÌÅͺ£À̽ºÀÇ ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇ߱⠶§¹®¿¡ °ÅÀÇ Â÷À̰¡ ¾ø´Ù. ´Ù¸¸ ¸Þ¸ð¸® »ç¿ë·®¿¡¼´Â MSDORA°¡ OraOLEDB, OO4Oº¸´Ù ´õ ÀûÀº ·®ÀÇ ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î ³ªÅ¸³µ´Ù. ÀÌ´Â <ÄÉÀ̽º 1>ÀÇ °æ¿ì¿¡µµ ¸¶Âù°¡Áö¿´À¸³ª <ÄÉÀ̽º 2>´Â <ÄÉÀ̽º 1>º¸´Ù ÀüüÀûÀ¸·Î ÀÚ¿øÀ» ´õ Àû°Ô »ç¿ëÇϸ鼵µ ´õ ºü¸¥ 󸮽ð£À» º¸¿´´Ù(ÀÌ ºÎºÐÀº Áö³ È£¿¡¼ ÀÚ¼¼È÷ »ìÆìºÃ´Ù).
 |
| <±×¸² 3> <ÄÉÀ̽º 3>ÀÇ ¼öÇà¹æ½Ä |
ÄÉÀ̽º 3, DB¿¡¼ Array ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 3>Àº Å×ÀÌºí¿¡ InsertÇÒ ÀڷḦ µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡¼ »ý¼ºÇϰí Ŭ¶óÀÌ¾ðÆ®´Â µ¥ÀÌÅͺ£À̽º ¼¹öÀÇ Stored Procedure¸¦ È£ÃâÇÏ´Â ¹æ½ÄÀÌ´Ù(<±×¸² 3>). µ¥ÀÌÅͺ£À̽º ¼¹ö ºÎºÐ¿¡¼ ¾÷¹« ·ÎÁ÷À» ó¸®ÇÏ°í µ¥ÀÌÅ͸¦ Å×ÀÌºí¿¡ InsertÇÑ´Ù´Â Á¡±îÁö´Â <ÄÉÀ̽º 2>¿Í µ¿ÀÏÇÏÁö¸¸ <ÄÉÀ̽º 2>°¡ ¾÷¹« ·ÎÁ÷ÀÌ Ã³¸®µÉ ¶§¸¶´Ù µ¥ÀÌÅͺ£À̽º¿¡ ¼öÇà ¿äûÀ» ÇÏ´Â ¹Ý¸é <ÄÉÀ̽º 3>Àº ó¸®ÇÒ µ¥ÀÌÅ͸¦ °¢ °Ç º°·Î ó¸®ÇÏÁö ¾Ê°í Array ¹æ½ÄÀ¸·Î ¸ð¾Æ¼ ó¸®ÇÑ´Ù.
Áï ¾÷¹« ·ÎÁ÷À» ´ã´çÇÏ´Â TEST_PROC ÇÁ·Î½ÃÀú¸¦ µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡ »ý¼ºÇÑ ÈÄ Å¬¶óÀÌ¾ðÆ®¿¡¼ µ¥ÀÌÅͺ£À̽º ¼¹öÀÇ ÇÁ·Î½ÃÀú¸¦ ¼öÇàÇÏ´Â ¹æ½ÄÀÌ´Ù(°ü·Ã ½ºÆ®¸³Æ®´Â ¡®ÀÌ´ÞÀÇ µð½ºÄÏ¡¯À¸·Î Á¦°øÇÑ´Ù. VBA¿¡¼ ¼öÇàµÇ´Â °ÍÀ¸·Î ½ÇÁ¦ 󸮸¦ ´ã´çÇÏ´Â ºÎºÐ¸¸ ±â¼úÇÏ¿´À¸¸ç Ŭ¶óÀÌ¾ðÆ® ºÎºÐÀº <ÄÉÀ̽º 2>¿Í µ¿ÀÏÇÏ´Ù).
 |
| <Ç¥ 3> <ÄÉÀ̽º 3>ÀÇ ¼Ò¿ä½Ã°£ ºñ±³ |
<Ç¥ 3>À» º¸¸é <ÄÉÀ̽º 3>µµ <ÄÉÀ̽º 2>ó·³ °¢ ÇÁ·Î¹ÙÀÌ´õ º°·Î ÀǹÌÀÖ´Â Â÷À̰¡ ¹ß»ýÇÏÁö ¾Ê¾ÒÀ½À» ¾Ë ¼ö ÀÖ´Ù. Ŭ¶óÀÌ¾ðÆ®´Â µ¥ÀÌÅͺ£À̽ºÀÇ ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÏ°í ±× °á°ú¸¦ ¹Þ´Â ¿ªÇÒ¸¸À» ¼öÇàÇÏ¸ç ½ÇÁ¦ ÀÚ·á »ý¼ºÀ̳ª Å×ÀÌºí¿¡ Insert ÀÛ¾÷Àº µ¥ÀÌÅͺ£À̽º¿¡¼ ¹ß»ýÇϹǷΠÂ÷À̰¡ ¹ß»ýÇÒ ¿©Áö°¡ ¾ø¾ú´ø °ÍÀÌ´Ù. ´Ù¸¸ MSDORAÀÇ °æ¿ì Wait ½Ã°£ÀÌ ´Ù¸¥ ÇÁ·Î¹ÙÀÌ´õº¸´Ù ´õ ±æ¾ú´Ù.
<ȸé 6>À» º¸¸é MSDORAÀÇ °æ¿ì log file switch completionÀ̶ó´Â Wait Event°¡ ¹ß»ýÇØ 0.05ÃÊÀÇ ½Ã°£ÀÌ ¼Ò¿äµÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. À̰ÍÀº µ¥ÀÌÅͺ£À̽º°¡ »ç¿ëÇÏ´Â online redo log fileÀÌ ¹Ù²î´Â °æ¿ì ¹ß»ýÇϴµ¥, º¯°æµÈ ÀÚ·á°¡ online redo log file¿¡ ´©Àû ±â·ÏµÇ¸é ¾î´À ¼ø°£ ÇØ´ç ÆÄÀÏ¿¡ º¯°æµÈ ³»¿ëÀÌ °¡µæ Â÷°í ´ÙÀ½ ·Î±× ÆÄÀÏ¿¡ ±â·ÏÇϱâ À§ÇØ ÁغñÇÏ´Â °úÁ¤¿¡¼ ³ªÅ¸³´Ù. µ¥ÀÌÅͺ£À̽º ¿î¿µ Áß ¹ß»ýÇÑ Á¤»óÀûÀÎ Wait À̺¥Æ®À̹ǷΠ¿©±â¼´Â ¹«½ÃÇÑ´Ù.
 |
| <ȸé 6> <ÄÉÀ̽º 3> Æ®·¹À̽º ÆÄÀÏÀÇ Wait ½Ã°£ ºñ±³ |
<ÄÉÀ̽º 3>ÀÇ °æ¿ì <ȸé 7>ó·³ ³×Æ®¿öÅ© °ü·Ã ÁöÇ¥¿¡¼µµ MSDORA°¡ Á¶±Ý Å« °ªÀ» ³ªÅ¸³¾ »Ó °¢ DAC º°·Î µÎµå·¯Áö´Â Â÷ÀÌÁ¡Àº ¾ø¾ú´Ù.
 |
| <ȸé 7> <ÄÉÀ̽º 3>ÀÇ ³×Æ®¿öÅ© °ü·Ã ÁöÇ¥ |
ÄÉÀ̽º 4, Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÀÚ·á»ý¼º ÈÄ Array ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 4>´Â À̹ø È£¿¡ »õ·Ó°Ô Ãß°¡µÆ´Ù. <ÄÉÀ̽º 1>°ú ¸¶Âù°¡Áö·Î ÀڷḦ »ý¼ºÇÏ´Â ºÎºÐÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ À§Ä¡ÇÏÁö¸¸ <ÄÉÀ̽º 1>ÀÌ ÀÚ·á »ý¼º ½Ã¸¶´Ù Insert¸¦ ¼öÇàÇÑ ¹Ý¸é <ÄÉÀ̽º 4>´Â Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÀڷḦ ¸ðµÎ »ý¼ºÇÑ ÈÄ Array ¹æ½ÄÀ¸·Î µ¥ÀÌÅͺ£À̽º¿¡ ÀڷḦ Àü¼ÛÇØ ´Ü 1ȸ Insert ÀÛ¾÷À» ¼öÇàÇÑ´Ù(<±×¸² 4>). ¾ðµí º¸¸é <ÄÉÀ̽º 3>°ú µ¿ÀÏÇØ º¸ÀÌÁö¸¸ <ÄÉÀ̽º 3>ÀÌ ´Ü¼øÇÏ°Ô µ¥ÀÌÅͺ£À̽ºÀÇ ÇÁ·Î½ÃÀú ¼öÇàÀ» ¿äûÇß´Ù¸é <ÄÉÀ̽º 4>´Â Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÀڷḦ »ý¼ºÇØ ±× ÀÚ·á ÀÚü¸¦ 1ȸÀÇ ¿äûÀ¸·Î ó¸®ÇÑ´Ù.
 |
| <±×¸² 4> <ÄÉÀ̽º 4>ÀÇ ¼öÇà¹æ½Ä |
<ÄÉÀ̽º 4>´Â OO4O¸¦ ÅëÇØ ±¸ÇöµÇ¸ç ±¸Ã¼ÀûÀÎ ¹æ½ÄÀº µû¶ó ´Ù½Ã µÎ °¡Áö·Î ³ª´¶´Ù. ÇÑ °¡Áö´Â Ŭ¶óÀÌ¾ðÆ® ºÎºÐ¿¡¼ ¿ÏÀüÇÏ°Ô Ã³¸®¸¦ ¸¶Ä£ ÈÄ Array ¹æ½ÄÀ¸·Î Å×ÀÌºí¿¡ Insert¸¦ ½ÃŰ´Â ¹æ¹ýÀ¸·Î, ÀÚ¿ø »ç¿ë·®ÀÌ ¸Å¿ì Àû°í ¼Óµµµµ ºü¸£´Ù. ´Ù¸¥ Çϳª´Â Ŭ¶óÀÌ¾ðÆ®¿¡¼ ó¸®ÇÑ ÈÄ µ¥ÀÌÅͺ£À̽º·Î ÀڷḦ Àü¼ÛÇØ µ¥ÀÌÅͺ£À̽º¿¡¼ Å×À̺í·Î InsertÇÏ´Â ¹æ¹ýÀÌ´Ù.
ÀÌ ¹æ¹ýÀº ¡®ÇöÀç½Ã°£¡¯Ã³·³ ½±°Ô ±¸ÇÒ ¼ö ÀÖ´Â Àڷᳪ ÀÚ·á »ý¼º °úÁ¤¿¡¼ ¼¹ö¿¡ Á¸ÀçÇÏ´Â ¸ðµâÀ» ¹Ýº¹ È£ÃâÇÒ Çʿ䰡 ÀÖÀ» °æ¿ì¿¡ »ç¿ëÇÏ¸é ¸Å¿ì È¿°úÀûÀÌ´Ù. ¿©±â¼´Â ÆíÀÇ»ó ù ¹øÂ° ¹æ½ÄÀº <ÄÉÀ̽º 4-1>·Î, µÎ ¹øÂ° ¹æ½ÄÀº <ÄÉÀ̽º 4-2>·Î ĪÇÑ´Ù. ¾çÂÊÀ» ¸ðµÎ ÁöĪÇÒ ¶§´Â <ÄÉÀ̽º 4>·Î ĪÇÑ´Ù. <ÄÉÀ̽º 4>¿¡ ÇÊ¿äÇÑ ¼Ò½ºµµ ¡®ÀÌ´ÞÀÇ µð½ºÄÏ¡¯À¸·Î Á¦°øÇÑ´Ù. <ÄÉÀ̽º 4-2>ÀÇ °æ¿ì Array ¹æ½ÄÀ¸·Î Àü´Þ¹ÞÀº ÀڷḦ ó¸®Çϱâ À§ÇØ º°µµÀÇ ÆÐŰÁö°¡ ÇÊ¿äÇϸç ÀÌ ºÎºÐÀº ¼Ò½º¸¦ ´Ù¿î·ÎµåÇØ È®ÀÎÇϱ⠹ٶõ´Ù.
<ÄÉÀ̽º 4>´Â ±âÁ¸ÀÇ °æ¿ì¿Í ´Þ¸® OO4O·Î¸¸ ±¸ÇöµÈ´Ù. ¿©±â¼´Â OO4O¸¦ ÀÌ¿ëÇÑ °¢ ÄÉÀ̽º¿¡ ´ëÇØ ¼Ò¿ä½Ã°£°ú ÀÚ¿ø »ç¿ë·®À» ºñ±³Çغ¸ÀÚ. <ÄÉÀ̽º 4> ÀÌÀü¿¡´Â µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡¼ ÀڷḦ »ý¼ºÇÏ°í »ý¼ºµÈ ÀڷḦ Array ¹æ½ÄÀ¸·Î Å×ÀÌºí¿¡ Insert¸¦ ÇÏ´Â <ÄÉÀ̽º 3>ÀÌ °¡Àå ÁÁÀº ¼º´ÉÀ» ³ªÅ¸³ÂÀ¸¸ç, Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÀڷḦ »ý¼ºÇØ Å×ÀÌºí¿¡ Insert¸¦ ÇÏ´Â <ÄÉÀ̽º 1>ÀÇ ¼Óµµ°¡ °¡Àå ¶³¾îÁ³´Ù.
 |
| <Ç¥ 4> <ÄÉÀ̽º 4>ÀÇ ¼Ò¿ä½Ã°£ ºñ±³ |
<ÄÉÀ̽º 4>´Â <ÄÉÀ̽º 1>°ú ¸¶Âù°¡Áö·Î Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÀڷḦ »ý¼ºÇÏÁö¸¸ ÀÚ·á 󸮸¦ ¿Ï·áÇÑ ÈÄ µ¥ÀÌÅͺ£À̽º¿¡ ±× ÀÚ·áµéÀ» ÇÑ ¹ø¿¡ Àü¼ÛÇϱ⠶§¹®¿¡ <Ç¥ 4>¿Í °°ÀÌ ºü¸¥ 󸮰¡ °¡´ÉÇß´Ù(¹°·Ð ÀÌ ½Ã°£Àº µ¥ÀÌÅͺ£À̽ºÀÇ ¼Ò¿ä½Ã°£À¸·Î Ŭ¶óÀ̾ðÆ®ÀÇ Ã³¸® ½Ã°£Àº Æ÷ÇÔµÇÁö ¾Ê¾Ò´Ù).
<ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>´Â <ÄÉÀ̽º 1>¿¡ ºñÇØ Àüü ¼Ò¿ä½Ã°£ÀÌ ´ÜÃàµÇ°í ³×Æ®¿öÅ© »ç¿ë·®ÀÌ ÁÙ¾îµå´Â ±àÁ¤ÀûÀÎ È¿°ú°¡ ÀÖ¾úÁö¸¸ µ¥ÀÌÅͺ£À̽º ¼¹öÀÇ ÀÚ¿ø »ç¿ë·®ÀÌ Áõ°¡ÇÏ´Â ¹®Á¦°¡ ¹ß»ýÇß´Ù. ¹Ý¸é <ÄÉÀ̽º 4>´Â ÀÚ·á 󸮴 Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÀÌ·ç¾îÁö°í µ¥ÀÌÅÍ ÀúÀåÀº µ¥ÀÌÅͺ£À̽º ¼¹ö ºÎºÐ¿¡¼ ó¸®Çϸ鼵µ »ó´çÈ÷ ºü¸¥ ½Ã°£¿¡ ÀÛ¾÷ÀÌ ¿Ï·áµÆ´Ù. ¹°·Ð <ÄÉÀ̽º 4>¿¡µµ ´ÜÁ¡Àº ÀÖ´Ù.
<Ç¥ 4>¿¡¼´Â ÀÚ·á 󸮰¡ ÀÌ·ç¾îÁö´Â Ŭ¶óÀÌ¾ðÆ® ºÎºÐÀÇ ¼Ò¿ä½Ã°£°ú ÀÚ¿ø »ç¿ë·®ÀÌ Ç¥½ÃµÇÁö ¾Ê¾ÒÁö¸¸ ½ÇÁ¦·Î´Â À̺¸´Ù ´Ù¼Ò ¸¹Àº ½Ã°£À» »ç¿ëÇÑ´Ù. ±×·¯³ª <ÄÉÀ̽º 3>¿¡ ºñÇØ ºÎÇÏ ºÐ»ê°ú ³ôÀº ¼º´ÉÀ̶ó´Â µÎ Á¶°ÇÀ» ¸ðµÎ ¸¸Á·ÇÏ´Â °ÍÀÌ »ç½ÇÀÌ´Ù.
<ÄÉÀ̽º 4>´Â ÀÚ·á°¡ Ŭ¶óÀÌ¾ðÆ®¿¡¼ »ý¼ºµÇ¹Ç·Î ³×Æ®¿öÅ©¸¦ ÅëÇØ µ¥ÀÌÅͺ£À̽º¿¡ Àü¼ÛÇØ¾ß ÇÑ´Ù. µû¶ó¼ ÀÚ·á°¡ µ¥ÀÌÅͺ£À̽º¿¡¼ »ý¼ºµÇ´Â <ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>º¸´Ù´Â ³×Æ®¿öÅ© I/O¸¦ ¸¹ÀÌ »ç¿ëÇÒ ¼ö¹Û¿¡ ¾ø´Ù. ÇÏÁö¸¸ ÀÚ·á 1°ÇÀ» »ý¼ºÇÒ ¶§¸¶´Ù ³×Æ®¿öÅ© I/O¸¦ ¼öÇàÇØ¾ß ÇÏ´Â <ÄÉÀ̽º 1>º¸´Ù´Â ºÎ´ãÀÌ ÈξÀ Àû´Ù. ÀÌ´Â <ȸé 8>ÀÇ Wait ½Ã°£ÀÇ Â÷ÀÌ¿¡¼µµ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
 |
| <ȸé 8> <ÄÉÀ̽º 4> Trace ÆÄÀÏÀÇ Wait ½Ã°£ ºñ±³ |
¾Õ¼ »ìÆìº» ¹Ù¿Í °°ÀÌ <ÄÉÀ̽º 1>Àº ³×Æ®¿öÅ© I/O¸¦ ¼öÇàÇϸç 27.59ÃÊÀÇ ½Ã°£À» ¼Ò¿äÇÑ ¹Ý¸é <ÄÉÀ̽º 4>´Â ä 1Ãʰ¡ µÇÁö ¾Ê¾Ò´Ù. ÀÚ·á°¡ »ý¼ºµÇ´Â °üÁ¡¿¡¼ <ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>´Â µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡¼ ÀÚ·á°¡ »ý¼ºµÆÀ¸¸ç Ŭ¶óÀÌ¾ðÆ®´Â µ¥ÀÌÅͺ£À̽º ¼¹öÀÇ ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÏ´Â ¿ªÇÒ¸¸ Ç߱⠶§¹®¿¡ ³×Æ®¿öÅ© I/OÀÇ »ç¿ë·®À» µûÁö´Â °ÍÀº Àǹ̰¡ ¾ø´Ù.
ÇÑÆí <ȸé 8>À» º¸¸é <ÄÉÀ̽º 1>°ú <ÄÉÀ̽º 4>ÀÇ SQL*Net mess age to client, SQL*Net message from clientÀÇ ¹ß»ý Ƚ¼ö´Â Å« Â÷À̸¦ ³ªÅ¸³½´Ù. ÀÌµé °ªÀº Ŭ¶óÀÌ¾ðÆ®¿¡¼ µ¥ÀÌÅͺ£À̽º ¼¹ö °£¿¡ ³×Æ®¿öÅ© I/O°¡ ¸î ¹øÀ̳ª ÀϾ´ÂÁö¸¦ ³ªÅ¸³»´Â ÁöÇ¥·Î, <ÄÉÀ̽º 1>Àº 2¸¸ ¹øÀÌ ³ÑÁö¸¸ <ÄÉÀ̽º 4>´Â ´Ü 3ȸ¿¡ ºÒ°úÇß´Ù. À̰ÍÀº Ŭ¶óÀÌ¾ðÆ®¿¡¼ µ¥ÀÌÅͺ£À̽º ¼¹öÀÇ ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÑ <ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>°ú µ¿ÀÏÇÑ ¼öÄ¡´Ù.
ÇÑ °¡Áö Â÷ÀÌÁ¡Àº SQL*Net more data from client°¡ ´Ù¼ö ¹ß»ýÇß´Ù´Â »ç½ÇÀÌ´Ù. À̰ÍÀº Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ µ¥ÀÌÅͺ£À̽º ¼¹ö·Î ´ë·®ÀÇ ÀÚ·á°¡ ÀԷµǴ °úÁ¤¿¡¼ ¹ß»ýÇÑ °ÍÀ¸·Î, <ÄÉÀ̽º 1>Àº Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÀÚ·á°¡ ¹ß»ýÇÒ ¶§¸¶´Ù µ¥ÀÌÅͺ£À̽º ¼¹ö·ÎÀÇ Àü¼ÛÀ» ¹Ýº¹Çϰí ÀÚ·á·® ÀÚüº¸´Ù´Â ³×Æ®¿öÅ© I/O¿¡ µû¸£´Â ¿À¹öÇìµå ¶§¹®¿¡ »ó´çÇÑ ½Ã°£ÀÌ ¼Ò¿äµÆÀ¸³ª, <ÄÉÀ̽º 4>´Â »ý¼ºµÈ ÀڷḦ 1ȸ¿¡ Àü¼ÛÇØ È¿À²ÀûÀ¸·Î ÀÛ¾÷ÇÒ ¼ö ÀÖ¾ú´Ù. ¹°·Ð ÀÚ·á·®ÀÌ Ä¿¼ Àü¼Û °úÁ¤¿¡¼ SQL*Net more data from client¶ó´Â Wait Event°¡ ¹ß»ýÇßÁö¸¸ ±× ½Ã°£Àº ¹«½ÃÇØµµ µÉ ¸¸Å ªÀº ½Ã°£ÀÌ´Ù.
 |
| <Ç¥ 5> µ¥ÀÌÅͺ£À̽º ³»ºÎÀÇ Ã³¸®·® ºñ±³ |
ÀÌÁ¦ µ¥ÀÌÅͺ£À̽º ³»ºÎÀÇ Ã³¸®·®À» »ìÆìº¸ÀÚ. Áö³ È£¿¡¼´Â OraOLEDB¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î °¡Á¤ÇØ <ÄÉÀ̽º 1>, <ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>¸¦ ºñ±³Çß¾ú´Ù. À̹øÈ£¿¡ Ãß°¡µÈ OO4O¸¦ »ç¿ëÇÏ´Â °æ¿ìµµ <ÄÉÀ̽º 1>¿¡¼ºÎÅÍ <ÄÉÀ̽º 3>±îÁö´Â ºñ½ÁÇÑ ¸Æ¶ôÀÌ´Ù. °ü½ÉÀÖ°Ô º¼ ºÎºÐÀº <ÄÉÀ̽º 4>´Ù. <Ç¥ 5>¸¦ º¸¸é ³×Æ®¿öÅ© »ç¿ë·®Àº SQL*Net roundtrips to/from client ÁöÇ¥³ª bytes received via SQL*Net from client ÁöÇ¥¸¦ ÅëÇØ <ÄÉÀ̽º 2>ºÎÅÍ <ÄÉÀ̽º 4>±îÁö <ÄÉÀ̽º 1>¿¡ ºñÇØ ¸Å¿ì ÀÛÀº °ªÀ» ³ªÅ¸³½´Ù.
ƯÈ÷ <ÄÉÀ̽º 1>°ú <ÄÉÀ̽º 4>´Â µ¿ÀÏÇÏ°Ô Å¬¶óÀÌ¾ðÆ®¿¡¼ ÀڷḦ »ý¼ºÇÏ°í µ¥ÀÌÅͺ£À̽º ¼¹öÀÇ Å×À̺í·Î ÀڷḦ InsertÇÏ´Â ÀÛ¾÷À» ¼öÇàÇÏÁö¸¸, »ó´ëÀûÀ¸·Î <ÄÉÀ̽º 4>´Â <ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>°ú ¸¶Âù°¡Áö·Î ¾ÆÁÖ ÀûÀº Ƚ¼ö·Î ³×Æ®¿öÅ© ¸Þ½ÃÁö¸¦ ÁÖ°í ¹Þ¾ÒÀ¸¸ç(SQL*Net roundtrips to/from client ÂüÁ¶), <ÄÉÀ̽º 1>¿¡ ºñÇØ ¾à 1/10 ¼öÁØÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾ÒÀ½À» ¾Ë ¼ö ÀÖ´Ù(bytes received via SQL*Net from client ÂüÁ¶).
¼¹ö ÀÚ¿ø »ç¿ë·ü Ãø¸é¿¡¼´Â <ÄÉÀ̽º 4-1>ÀÌ redo size, redo entries, session logical reads, session pga memoryÀÇ »ç¿ë·®ÀÌ °¨¼ÒµÆ´Ù´Â Á¡ÀÌ °¡Àå Å« Ư¡ÀÌ´Ù. ƯÈ÷ redo °ü·Ã ÁöÇ¥µéÀÌ Å©°Ô °¨¼ÒÇߴµ¥, À̰ÍÀº ±×µ¿¾È ¾î¶² ¹æ½ÄÀÇ Å×½ºÆ®¿¡¼µµ º¯È°¡ ¾ø¾ú´ø ¼öÄ¡¿´´Ù. ¸Þ¸ð¸® I/O ÀÛ¾÷°ú ÀÚ·á º¯°æ ÀÛ¾÷ÀÇ Á¤µµ¸¦ ³ªÅ¸³»´Â session logical reads ¿ª½Ã 1/40 Á¤µµ·Î »ç¿ë·®ÀÌ ¶³¾îÁ³´Âµ¥, À̰ÍÀº ³»ºÎÀûÀ¸·Î ±Ùº»ÀûÀΠó¸® ¹æ¹ý¿¡ °³¼±ÀÌ ÀÖ¾úÀ½À» ÀǹÌÇÑ´Ù. session pga memoryµµ <ÄÉÀ̽º 4-1>ÀÌ <ÄÉÀ̽º 3>¿¡ ºñÇØ 1/10 Á¤µµ·Î °¨¼ÒµÆ´Ù.
¹Ý¸é ¸Þ¸ð¸® »ç¿ë·®¿¡¼´Â <ÄÉÀ̽º 4-2>°¡ ó¸® °úÁ¤¿¡¼ ³»ºÎ º¯¼ö¿¡ °ªÀ» 1ȸ ´õ ÇÒ´çÇØ¾ß Çϱ⠶§¹®¿¡ ¿ÀÈ÷·Á Áõ°¡Çß´Ù. <ÄÉÀ̽º 3>Àº ó¸® ½Ã°£ÀÌ »¡¶óÁ³Áö¸¸ »ç¿ëÇÏ´Â ¸Þ¸ð¸® ·®ÀÌ ¸¹ÀÌ Áõ°¡Çß¾ú´Âµ¥, <ÄÉÀ̽º 4-1>Àº ÀÌ ¹®Á¦±îÁö ÇØ¼ÒÇÑ ¹æ¾ÈÀ̾ú´Ù.
DB ¼º´É, ¿¬À庸´Ù´Â »ç¿ë¹æ¹ýÀÌ °áÁ¤
Áö±Ý±îÁö 2ȸ¿¡ °ÉÃÄ MS °³¹ß ȯ°æ¿¡¼ ¿À¶óŬ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù·ç´Â »óȲÀ» °¡Á¤ÇØ DACº°·Î ¼¼ °¡Áö ¹æ½ÄÀ¸·Î ½ÇÁ¦ ¼öÇà ¼Ò¿ä½Ã°£°ú µ¥ÀÌÅͺ£À̽º ³»ºÎÀÇ ÀÚ¿ø »ç¿ë·®À» ºñ±³ÇغôÙ.
µ¥ÀÌÅͺ£À̽ºÀÇ ¼º´É°ú °ü·ÃµÈ ÁöÇ¥µéÀº ¿©·¯ °¡Áö°¡ ÀÖÁö¸¸ ¿©±â¼´Â ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö¿Í µ¥ÀÌÅͺ£À̽º ¼¹ö ¶Ç´Â Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥°ú µ¥ÀÌÅͺ£À̽º ¼¹ö ÇÁ·Î±×·¥À» °³¹ßÇÒ ¶§ ³×Æ®¿öÅ© I/O¿Í ¼öÇà¹æ½ÄÀÌ ¼º´É¿¡ ¾î´À Á¤µµÀÇ ¿µÇâÀ» ¹ÌÄ¡´Â Áö¿¡ ´ëÇØ »ìÆìºÃ´Ù.
°á±¹ Áß¿äÇÑ °ÍÀº ¿¬ÀåÀÌ ¾Æ´Ï¶ó À̸¦ ¾î¶»°Ô »ç¿ëÇÏ´À³Ä ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ±ÛÀÌ µ¥ÀÌÅͺ£À̽º ¼º´É ¹®Á¦·Î °í¹ÎÇÏ´Â °³¹ßÀڵ鿡°Ô µµ¿òÀÌ µÆ±â¸¦ ¹Ù¶õ´Ù.@
* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.