33@32.com
jdbc´ÔÀÇ ±Û
------------------------------------
JDBC ¹®Á¦ Á¶»ç
¹®Á¦ ¼³¸í
JDBC Ä¿³Ø¼Ç Ç®À» ±¸¼ºÇϰųª ±ÇÀåµÇÁö ¾Ê´Â ÇÁ·Î±×·¡¹Ö ±â¹ýÀ» »ç¿ëÇϸé JDBC Ç® Ä¿³Ø¼Ç, °ü·Ã µ¥ÀÌÅͺ£À̽º ¶Ç´Â WebLogic Server ÀνºÅϽº¿Í °ü·ÃµÈ ¸¹Àº ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ±âº» µ¥ÀÌÅͺ£À̽º¿Í ³×Æ®¿öÅ© ±¸¼º ¹× ¾ÆÅ°ÅØóµµ JDBC Ä¿³Ø¼Ç°ú °ü·ÃµÈ ¹®Á¦¸¦ ÃÊ·¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¹®Á¦ ÇØ°á
ÀÌ ÆÐÅÏÀº ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â À¯¿ëÇÑ Á¤º¸¿Í JDBC ¹®Á¦¸¦ ÀÚ¼¼È÷ Á¶»çÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. ´ÙÀ½ Ç׸ñÀ» ¸ðµÎ ¼öÇàÇØ¾ß ÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ¾î¶² °æ¿ì¿¡´Â ´ÙÀ½ Áß ÀϺθ¸ ¼öÇàÇÏ¿©µµ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù.
JDBC Ä¿³Ø¼Ç Ç® ¹®Á¦
JDBC Ä¿³Ø¼Ç Ç® ±¸¼º ¹× Á¶Á¤Àº ÀÀ¿ë ÇÁ·Î±×·¥ ¼¹ö¿Í ÀÀ¿ë ÇÁ·Î±×·¥ ÀÚüÀÇ ¼º´É°ú ¾ÈÁ¤¼ºÀ» º¸ÀåÇϱâ À§ÇÑ ¾ÆÁÖ Áß¿äÇÑ °ü¸® ÀÛ¾÷ÀÔ´Ï´Ù. Ç®À» À߸ø ±¸¼ºÇÏ¸é ´ÙÀ½°ú °°Àº ´Ù¾çÇÑ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
JDBCDataSource.getConnection() ½ÇÇà Áß ResourceException(weblogic.common.ResourceException: No resources available)ÀÌ ¹ß»ýÇÕ´Ï´Ù.
RDBMS ¶Ç´Â ³×Æ®¿öÅ©ÀÇ Ãë¾àÇÑ ¼º´ÉÀ¸·Î ÀÎÇØ ±âº» µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Ä¿³Ø¼Ç ¿äû ½Ã WebLogic ServerÀÇ ½ÃÀÛ ½Ã°£ÀÌ ¾ÆÁÖ ±æ¾îÁý´Ï´Ù.
JDBC µå¶óÀ̹ö ±¸¼º ¹®Á¦ ¶§¹®¿¡ JDBC Ç® Ä¿³Ø¼ÇÀ» »ý¼ºÇÏ´Â µ¿¾È ¿À·ù³ª ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù.
µ¥ÀÌÅͺ£À̽º°¡ ´Ù¿îµÈ ÈÄ ¿¬°á »õ·Î °íħ/´Ù½Ã ¿¬°á ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù.
µ¥ÀÌÅͺ£À̽º ¹®Á¦
JDBC Ç® Ä¿³Ø¼ÇÀº µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áµÈ ¼¼¼ÇÀ» ³ªÅ¸³À´Ï´Ù. JDBC Ç® ±¸¼ºÀº µ¥ÀÌÅͺ£À̽º ÀÚü¿¡ ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ WebLogic Server¿Í µ¥ÀÌÅͺ£À̽º °£ ³×Æ®¿öÅ© ¿¬°áÀº ´ÙÀ½°ú °°Àº ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ½À´Ï´Ù.
Oracle µ¥ÀÌÅͺ£À̽º¿¡ ¿¸° Ä¿¼°¡ ³Ê¹« ¸¹½À´Ï´Ù.
¹æȺ®ÀÌ µ¥ÀÌÅͺ£À̽º¿Í WebLogic Server °£ À¯ÈÞ Ä¿³Ø¼ÇÀ» ´Ý½À´Ï´Ù.
getVendorConnection()ÀÌ ±âº» Ä¿³Ø¼ÇÀ» ¼ö½ÅÇÏ´Â µ¥ »ç¿ëµÇ´Â °æ¿ì RemoveInfectedConnectionsEnabled ¼Ó¼º ¼³Á¤À» ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù.
WebLogic Server ¹®Á¦
JDBC Ç®Àº WebLogic Server ¸®¼Ò½º¸¦ »ç¿ëÇÏ¿© ÇÒ´çµÈ ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù. µû¶ó¼ JDBC ¹®Á¦´Â WebLogic Server¿¡¼ ´ÙÀ½°ú °°Àº ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ½À´Ï´Ù.
WebLogic Server°¡ native JDBC µå¶óÀÌºê ¶óÀ̺귯¸®·Î ÀÎÇØ Å©·¡½ÃµË´Ï´Ù.
WebLogic Server³ª ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ JDBC µå¶óÀ̹ö ¸Þ½îµå ¶Ç´Â function¿¡¼ Hang(Á¤Áö)µË´Ï´Ù.
JDBC ObjectÀÇ ¸Þ¸ð¸® leak ¶§¹®¿¡ OutOfMemoryError°¡ ¹ß»ýÇϰųª ÇÁ·Î¼¼½º Å©±â°¡ Ä¿Áý´Ï´Ù.
ÀÏ¹Ý Ç׸ñ
ÀÌ Àý¿¡¼´Â ÀÏ¹Ý JDBC Ä¿³Ø¼Ç Ç® Ç׸ñ¿¡ ´ëÇÑ Á¶Á¤ ¹× ¹®Á¦ ÇØ°á Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.
JDBC ¹®Á¦ ÇØ°á, µð¹ö±ë ¶Ç´Â ÃßÀû
WebLogic Server ¸ÖƼ Ç® ÆäÀÏ¿À¹ö(failover) ¶Ç´Â ·Îµå ¹ë·±½Ì ÀÌÇØ
¿î¿µ ȯ°æ¿¡ ´ëÇÑ JDBC Ä¿³Ø¼Ç Ç®À» Á¶Á¤ÇÏ´Â ¹æ¹ý
WebLogic Server ¹× Oracle RAC/TAF
Oracle ORA-01591 ¿¹¿Ü
JDBC Ä¿³Ø¼Ç Ç® ¹®Á¦
JDBCDataSource.getConnection() ½ÇÇà Áß ResourceException(weblogic.common.ResourceException: No resources available)ÀÌ ¹ß»ýÇÕ´Ï´Ù.
DataSource¸¦ ÅëÇØ JDBC Ä¿³Ø¼Ç Ç®¿¡ ´ëÇÑ getConnection() ¿äûÀÌ ÇØ´ç Ç®¿¡ Ä¿³Ø¼ÇÀÌ ¾ø°Å³ª Ä¿³Ø¼Ç ¿äûÀ» ó¸®ÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â ½º·¹µå°¡ ¾ø±â ¶§¹®¿¡ ÃæÁ·µÉ ¼ö ¾ø´Â °æ¿ì ResourceExceptionÀÌ ¹ß»ýÇÕ´Ï´Ù. ¸®¼Ò½º°¡ ¾ø´Â °æ¿ì ´ÙÀ½ Áß Çϳª°¡ ¿øÀÎÀÏ ¼ö ÀÖ½À´Ï´Ù.
ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ Ä¿³Ø¼Ç leakÀÌ ¹ß»ýÇß½À´Ï´Ù.
JDBC Ç®¿¡¼ »ç¿ëµÈ Ä¿³Ø¼ÇÀº ÀÀ¿ë ÇÁ·Î±×·¥ Äڵ忡¼ »ç¿ëÇÑ ÈÄ ´Ý¾Æ¾ß ÇÕ´Ï´Ù. close()°¡ È£ÃâµÇÁö ¾ÊÀ¸¸é Ä¿³Ø¼ÇÀÌ ÇØÁ¦µÇÁö ¾Ê°í Àç»ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
ORA-00020 - maximum number of processes (600) exceeded ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³ª¸é Oracle JDBC Ä¿³Ø¼Ç Ç®¿¡¼ Ä¿³Ø¼Ç leakÀÌ ¹ß»ýÇß´Ù´Â ½ÅÈ£ÀÏ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ÁÖÁ¦´Â ÁغñµÇ´Â´ë·Î º°µµÀÇ ÆÐÅÏÀ¸·Î ó¸®ÇÏ¿© ´õ ÀÚ¼¼È÷ ¼³¸íÇÏ°Ú½À´Ï´Ù.
WebLogic Server´Â Ä¿³Ø¼Ç leak °¨Áö ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ¸ðµç JDBC Ç® Ä¿³Ø¼ÇÀ» Á¦´ë·Î ´ÝÁö ¾Ê´Â °Í °°À¸¸é ÀÌ ±â´ÉÀ» È°¼ºÈÇÏ¿© ÇØ´ç »óȲÀ» ºÐ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¼Ó¼ºÀº Ä¿³Ø¼Ç Ç® ´ÜÀ§·Î ¼³Á¤µÉ ¼ö ÀÖ½À´Ï´Ù. ConnLeakProfilingEnabled ¼Ó¼º¿¡ ´ëÇÑ ¼³¸í¼´Â
http://e-docs.bea.com/wls/docs81/config_xml/JDBCConnectionPool.html#ConnLeakProfilingEnabled¿¡¼ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¼Ó¼ºÀº ÄܼÖÀ» ÅëÇØ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. °ü·Ã Á¤º¸´Â http://e-docs.bea.com/wls/docs81/ConsoleHelp/domain_jdbcconnectionpool_config_connections.html#1104722¸¦ ÂüÁ¶ÇϽʽÿÀ.
³Ê¹« ÀûÀº ¼öÀÇ ½º·¹µå ¶Ç´Â ³Ê¹« ÀûÀº ¼öÀÇ Ä¿³Ø¼Ç(MaxCapacity)ÀÌ ±¸¼ºµÇ¾î ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ¿ä±¸ÇÏ´Â µ¿½Ã È°¼º µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼Ç ¼ö¸¦ ÃæÁ·½Ãų ¼ö ¾ø½À´Ï´Ù.
ÀÌ °æ¿ì ÀϹÝÀûÀÎ ±ÔÄ¢Àº JDBC Ç®ÀÇ µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼Ç ¼ö(MaxCapacity)¸¦ ½ÇÇà ½º·¹µå ¼ö¿Í °°°Ô ±¸¼ºÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ °ªÀº µ¿½Ã¿¡ È°¼ºÈµÉ ¼ö ÀÖ´Â, Áï Æ®·£Àè¼Ç¿¡ Âü°¡ÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼Ç ¼ö¸¦ Á¦ÇÑÇϹǷΠ¿ë·® °èȹ ½Ã ÀÌ·¯ÇÑ Á¡À» °í·ÁÇØ¾ß ÇÕ´Ï´Ù.
ÃÖ´Ù Ä¿³Ø¼ÇÀº ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Ç®¿¡ »ç¿ë °¡´ÉÇÑ Ä¿³Ø¼ÇÀÌ ¾øÀ½À» ÀǹÌÇÏ´Â ResourceExceptionÀ» ¹Þ´Â µ¿¾È¿¡µµ ¹ß»ýÇÕ´Ï´Ù.
ÇÁ·Î±×·¥À» ºÐ¼®ÇÑ °á°ú ÀÀ¿ë ÇÁ·Î±×·¥ Äڵ忡¼ ½ÇÁ¦·Î »ç¿ëµÈ °Íº¸´Ù ´õ ¸¹Àº Ä¿³Ø¼ÇÀÌ ¿¹¾àµÇ¾ú°í Ä¿³Ø¼Ç leakÀ» ¹èÁ¦ÇÑ °æ¿ì RefreshMinutes °£°Ý ¼Ó¼ºÀÌ ³Ê¹« ºó¹øÇÏ°Ô ¼³Á¤µÇ¾úÀ» °¡´É¼ºÀÌ ³ô½À´Ï´Ù. »õ·Î °íħ ±â´ÉÀ» ÇØÁ¦ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
WLS 8.1 ÀÌ»óÀÎ °æ¿ì TestFrequencySeconds¸¦ 0À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
WLS 7.0ÀÎ °æ¿ì RefreshMinutes¸¦ 0À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
ÀÌÀü ¹öÀüÀÇ °æ¿ì RefreshMinutes¸¦ 99999999(ÃÖ´ë°ª: 35791394)·Î ¼³Á¤ÇÕ´Ï´Ù. 0À¸·Î ¼³Á¤ÇÏ¸é µðÆúÆ®°ª 5ºÐÀ¸·Î ȯ¿øµË´Ï´Ù.
»õ·Î °íħ ±â´ÉÀº Ç®¿¡¼ ÇöÀç »ç¿ëµÇÁö ¾Ê´Â ¸ðµç Ä¿³Ø¼ÇÀ» Å×½ºÆ® Å×À̺íÀ» »ç¿ëÇÏ¿© Å×½ºÆ®ÇÑ ´ÙÀ½ ÇÊ¿äÇÑ °æ¿ì(Å×½ºÆ®°¡ ½ÇÆÐÇÑ °æ¿ì) ¿¬°áÀ» »õ·Î °íÄ¡±â À§ÇÑ °ÍÀÔ´Ï´Ù. ÀÌ ±â´ÉÀ» ¼³Á¤ÇÏ·Á¸é Å×½ºÆ® Å×À̺íÀ» Á¤ÀÇÇÏ°í JDBCConnectionPool¿¡¼ RefreshMinutes ¼Ó¼ºÀ» Á¤ÀÇÇÕ´Ï´Ù.
»õ·Î °íħÀº Ŭ¶óÀ̾ðÆ® ÀÀ¿ë ÇÁ·Î±×·¥ Äڵ忡 ´ëÇØ ºñµ¿±âÀûÀ¸·Î ½ÇÇàµÇ°í Å×½ºÆ®¸¦ À§ÇØ ÇöÀç »ç¿ëµÇÁö ¾ÊÀº ¸ðµç Ç® Ä¿³Ø¼ÇÀ» ÀϽÃÀûÀ¸·Î À¯ÁöÇÕ´Ï´Ù. Àüü Å×½ºÆ® ½Ã°£ µ¿¾È ¸ðµç Ä¿³Ø¼ÇÀ» À¯ÁöÇÕ´Ï´Ù. ÀÌ ±â°£ µ¿¾È »õ·Î¿î ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ Ä¿³Ø¼Ç ¿äûÀÌ µé¾î¿À¸é ´ÙÀ½°ú °°Àº »óȲÀÌ ¹ß»ýÇÕ´Ï´Ù.
InitialCapacity°¡ MaxCapacityº¸´Ù ÀÛ°í ÇöÀç ¿·ÁÀÖ´Â MaxCapacity Ä¿³Ø¼Çº¸´Ù ÀÛÀº °æ¿ì µé¾î¿À´Â ¸ðµç Ä¿³Ø¼Ç ¿äûÀº Ç®¿¡¼ Çã¿ëµÇ´Â ÃÖ´ë Ä¿³Ø¼Ç¿¡ µµ´ÞÇÒ ¶§±îÁö CapacityIncrementÀÇ »õ Ä¿³Ø¼ÇÀ» ¿±´Ï´Ù. ±× °á°ú ½ÇÁ¦·Î µ¿½Ã¿¡ »ç¿ëµÇ´Â °Íº¸´Ù ¸¹Àº Ä¿³Ø¼ÇÀÌ ¿¸± ¼ö Àֱ⠶§¹®¿¡ ÃÖ´Ù Ä¿³Ø¼ÇÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÃÖ´ë Ä¿³Ø¼Ç ¼ö°¡ ÀÌ¹Ì ¿·Á ÀÖÀ¸¸é ResourceExceptionÀÌ ¹ß»ýÇÕ´Ï´Ù.
JDBC Ç®¿¡ ´ëÇØ ½ÇÁ¦·Î »õ·Î °íħ ±â´ÉÀÌ ÇÊ¿äÇÑÁö ¿©ºÎ¸¦ ½ÅÁßÇÏ°Ô °í·ÁÇØ¾ß ÇÕ´Ï´Ù. WebLogic Server¿Í µ¥ÀÌÅͺ£À̽º °£¿¡ ½ÇÁ¦·Î À¯ÈÞ ¼ÒÄÏ Ä¿³Ø¼ÇÀ» ´Ý´Â ¹æȺ®ÀÌ ÀÖ´Â °æ¿ì »õ·Î °íħ ±â´ÉÀº ¾ÆÁÖ À¯¿ëÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ¹æȺ®ÀÌ À¯ÈÞ Ä¿³Ø¼ÇÀ» ´Ý½À´Ï´Ù¸¦ ÂüÁ¶ÇϽʽÿÀ.
ÇÊ¿äÇÑ °æ¿ì ´ÙÀ½°ú °°ÀÌ ´Ù¸¥ Ä¿³Ø¼Ç Å×½ºÆ® ¹× »õ·Î °íħ ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
TestConnectionsOnReserve ¼Ó¼ºÀ» true·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÌ·¸°Ô Çϸé Ç®¿¡¼ ¿äûµÇ´Â ¸ðµç Ä¿³Ø¼ÇÀº ÀÀ¿ë ÇÁ·Î±×·¥ ÄÚµå·Î Àü¼ÛµÇ±â Àü¿¡ Å×½ºÆ®µË´Ï´Ù. Å×½ºÆ®°¡ ½ÇÆÐÇÒ °æ¿ì ÀÚµ¿À¸·Î ´Ù½Ã ¿¸³´Ï´Ù.
µ¥ÀÌÅͺ£À̽º°¡ ÀϽÃÀûÀ¸·Î »ç¿ë °¡´ÉÇÏÁö ¾Ê°Å³ª ´Ù¿îµÈ °æ¿ì weblogic.Admin RESET_POOLÀ» »ç¿ëÇÏ¿© Ä¿³Ø¼Ç Ç®À» ¿ÏÀüÈ÷ »õ·Î °íÄ¥ ¼ö ÀÖ½À´Ï´Ù. »õ·Î °íħ ±â´ÉÀº »ç¿ëµÇÁö ¾ÊÀº Ä¿³Ø¼Ç¸¸ »õ·Î °íÄ¡Áö¸¸ ÀÌ·¸°Ô ÇÏ¸é ¸ðµç Ä¿³Ø¼ÇÀÌ »õ·Î °íÃÄÁý´Ï´Ù.
RDBMS ¶Ç´Â ³×Æ®¿öÅ©ÀÇ Ãë¾àÇÑ ¼º´ÉÀ¸·Î ÀÎÇØ ±âº» µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Ä¿³Ø¼Ç ¿äû ½Ã WebLogic ServerÀÇ ½ÃÀÛ ½Ã°£ÀÌ ¾ÆÁÖ ±æ¾îÁý´Ï´Ù.
WebLogic Server ½ÃÀÛ ½Ã JDBCConnectionPoolÀÇ InitialCapacity ¼Ó¼ºÀº Áï½Ã »ý¼ºµÇ´Â Ä¿³Ø¼ÇÀÇ ¼ö·®À» Á¤ÀÇÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ±âº» Ä¿³Ø¼ÇÀ» »ý¼ºÇÏ°í ÃʱâÈÇÏ´Â µ¥ ¿À·£ ½Ã°£ÀÌ °É¸®¸é WebLogic Server ÀνºÅϽº¸¦ ½ÃÀÛÇÏ´Â ½Ã°£µµ ¾ÆÁÖ ¿À·¡ °É¸³´Ï´Ù.
ÀϹÝÀûÀ¸·Î µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Ä¿³Ø¼Ç ¿äûÀÌ ¿À·£ ½Ã°£ÀÌ °É¸®´Â °æ¿ì WebLogic Server¸¦ ½ÃÀÛÇÏ´Â ½Ã°£ÀÌ ÀÌó·³ ¿À·¡ °É¸®Áö ¾Êµµ·Ï ÇÏ·Á¸é InitialCapacity¸¦ 0À¸·Î ¼³Á¤ÇÏ¸é µË´Ï´Ù. ÀÌ·¸°Ô Çϸé WebLogic Server ½ÃÀÛ ½Ã Ä¿³Ø¼Ç ¾øÀÌ Ç®ÀÌ »ý¼ºµË´Ï´Ù. ù ¹ø° Ä¿³Ø¼Ç ¿äû ½Ã ¸ðµç Ä¿³Ø¼ÇÀÌ »ý¼ºµÇµµ·Ï ÇÏ·Á¸é CapacityIncrement¸¦ Ç®¿¡¼ »ç¿ë °¡´ÉÇÑ ÃÑ Ä¿³Ø¼Ç ¼ö·Î ¼³Á¤ÇÕ´Ï´Ù. ù ¹ø° ¿äûÀº ¾ÆÁÖ ¿À·¡ °É¸®Áö¸¸ ±× ÈÄ¿¡´Â Ä¿³Ø¼Ç Ç®ÀÌ ¿ÏÀüÈ÷ ½ÇÇà °¡´ÉÇÑ »óÅ°¡ µË´Ï´Ù.
WLS 8.1 SP2 À̻󿡼 Á¦°øµÇ´Â Oracle type-4 µå¶óÀ̹ö¿Í °°Àº ÀϺΠJDBC µå¶óÀ̹ö´Â Ä¿³Ø¼Ç ¿äûÀÌ ±â´Ù¸®´Â ÃÖ´ë ½Ã°£À» Á¦ÇÑÇÏ´Â ¼Ó¼ºÀ» °®°í ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ µå¶óÀ̹öÀÇ °æ¿ì config.xml¿¡¼ JDBCConnectionPool¿¡ ´ëÇÑ Properties Ư¼º¿¡ LoginTimeout ¼Ó¼ºÀ» ÁöÁ¤ÇϽʽÿÀ. ÀÌ °ªÀº WebLogic Server¿¡ ÀÇÇØ JDBC µå¶óÀ̹ö·Î Àü´ÞµË´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº Áö¿ø ¼Ö·ç¼Ç S-06615¸¦ ÂüÁ¶ÇϽʽÿÀ.
JDBC µå¶óÀ̹ö ±¸¼º ¹®Á¦ ¶§¹®¿¡ JDBC Ç® Ä¿³Ø¼ÇÀ» »ý¼ºÇÏ´Â µ¿¾È ¿À·ù³ª ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù.
À§¿¡¼ ¾ð±ÞÇßµíÀÌ WebLogic Server´Â ½ÃÀÛ ½Ã InitialCapacity ¼ö ¸¸ÅÀÇ Ä¿³Ø¼ÇÀ» »ý¼ºÇÏ·Á°í ½ÃµµÇÕ´Ï´Ù. JDBC Ç®ÀÌ Á¦´ë·Î ±¸¼ºµÇÁö ¾Ê°Å³ª WebLogic Server¸¦ ½ÃÀÛÇÏ´Â µ¿¾È µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÒ ¼ö ¾øÀ¸¸é Ä¿³Ø¼ÇÀÌ ÃʱâȵÇÁö ¸øÇÕ´Ï´Ù. µû¶ó¼ WLS 8.1 ÀÌÀüÀÇ ¹öÀü¿¡¼´Â JDBC Ä¿³Ø¼Ç Ç®ÀÌ »ý¼ºµÇÁö ¾Ê°í Â÷ÈÄ¿¡ »ç¿ëÇÒ ¼ö ¾ø¾ú½À´Ï´Ù. ¶ÇÇÑ Ç®À» »õ·Î °íÄ¡°Å³ª »èÁ¦Çϰųª ´Ù½Ã »ý¼ºÇÒ ¼öµµ ¾ø¾ú½À´Ï´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é ½ÃÀÛÇÏ´Â µ¿¾È¿¡´Â ¾î¶² Ä¿³Ø¼Çµµ ¿Áö ¾Ê´Â JDBC Ç®À» ±¸¼ºÇØ¾ß ÇÕ´Ï´Ù(InitialCapacity="0"). µ¥ÀÌÅͺ£À̽º¸¦ ´Ù½Ã »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¸é ¿¸° Ä¿³Ø¼ÇÀÌ ¾ø´Â Ä¿³Ø¼Ç Ç®ÀÌ »ý¼ºµÇ°í ÇØ´ç Ç®¿¡ ´ëÇÑ ¸ðµç Ä¿³Ø¼Ç ¿äûÀº CapacityIncrement Ä¿³Ø¼ÇÀ» ¿±´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì µ¥ÀÌÅͺ£À̽º°¡ °è¼Ó ´Ù¿îµÇ¸é ¿À·ù ¸Þ½ÃÁö°¡ ¹ß»ýÇÕ´Ï´Ù.
ÀÌ ±â´ÉÀº WLS 8.1¿¡¼ º¯°æµÇ¾ú½À´Ï´Ù. JDBC Ç®À» ¸¸µå´Â µ¿¾È ¹®Á¦°¡ ÀÖÀ¸¸é Ãʱâ Ä¿³Ø¼Ç ¼ö°¡ 0ÀÎ JDBC Ç®ÀÌ »ý¼ºµË´Ï´Ù. WebLogic Server°¡ ½ÇÇà ÁßÀÎ µ¿¾È ±¸¼ºÀÌ º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù. Ç®ÀÌ Á¤È®È÷ ±¸¼ºµÇ°Å³ª µ¥ÀÌÅͺ£À̽º°¡ ¹é¾÷µÈ ÈÄ ÇØ´ç Ç®¿¡ Ä¿³Ø¼ÇÀÌ »ý¼ºµÉ ¼ö ÀÖ°í ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ÇØ´ç Ç®À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ÿ»ç µå¶óÀ̹ö¸¦ Æ÷ÇÔÇÏ¿© ¿©·¯ µå¶óÀ̹ö¿¡ ´ëÇÑ JDBC Ä¿³Ø¼Ç Ç®À» ±¸¼ºÇÏ´Â ¹æ¹ýÀº http://e-docs.bea.com/wls/docs81/jdrivers.htmlÀ» ÂüÁ¶ÇϽʽÿÀ.
JDBC Ç®À» À߸ø ±¸¼ºÇÏ¿© ¹ß»ýÇÏ´Â ÀϹÝÀûÀÎ ¿À·ù ¸Þ½ÃÁö´Â ´ÙÀ½°ú °°½À´Ï´Ù.
´ÙÀ½°ú À¯»çÇÑ ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³ª¸é ÁöÁ¤ÇÑ »ç¿ëÀÚ/¾ÏÈ£¸¦ ¼öÁ¤ÇϽʽÿÀ.
<05.11.2003 11.38 Uhr CET> <Error> <JDBC> <BEA-001150> <Connection Pool "myPool" deployment failed with the following error: 0:
Could not connect to £§oracle.jdbc.driver.OracleDriver£§.
The returned message is: ORA-01017: invalid username/password; logon denied
·Î±×ÀÎ ¶Ç´Â ¾ÏÈ£°¡ À߸øµÇ¾úÀ» ¼ö ÀÖ½À´Ï´Ù.
±¸¼º¿¡ ¿Ã¹Ù¸£Áö ¾ÊÀº Ç׸ñÀÌ Àְųª µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÒ ¼ö ¾øÀ» °¡´É¼ºµµ ÀÖ½À´Ï´Ù.
´ÙÀ½°ú À¯»çÇÑ ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³ª¸é µ¥ÀÌÅͺ£À̽º À̸§À» ¼öÁ¤ÇϽʽÿÀ.
<06.11.2003 14.21 Uhr CET> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "myPool": E/A-Exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153092352)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=125
05)(EMFI=4))))>
<06.11.2003 14.21 Uhr CET> <Error> <JDBC> <BEA-001150> <Connection Pool "myPool" deployment failed with the following error:
0:Could not create pool connection. The DBMS driver exception was: E/A-Exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153092352)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))).>
´ÙÀ½°ú À¯»çÇÑ ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³ª¸é tns Ç׸ñÀ̳ª PATH ¶Ç´Â LD_LIBRARY_PATH °°Àº ȯ°æ ¼³Á¤À» È®ÀÎÇϽʽÿÀ. WindowsÀÇ °æ¿ì PATH´Â Ŭ¶óÀ̾ðÆ® ¹× OCI ¶óÀ̺귯¸®¸¦ °¡¸®ÄÑ¾ß ÇÏ°í, Unix ȯ°æÀÇ °æ¿ì LD_LIBRARY_PATH´Â Ŭ¶óÀ̾ðÆ® ¼³Ä¡ ÇÁ·Î±×·¥ÀÌ Å¬¶óÀ̾ðÆ®¿Í oci ¶óÀ̺귯¸®¸¦ º¹»çÇÑ µð·ºÅ͸®¸¦ °¡¸®ÄÑ¾ß ÇÕ´Ï´Ù.
####<Apr 17, 2003 1:58:44 PM CEST> <Error> <JDBC> <mydomain> <myserver> <main> <kernel identity> <> <001060> <Cannot startup connection pool "myPool" weblogic.common.ResourceException:
weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
tnsnames.ora ÆÄÀÏ ¶Ç´Â ORACLE_HOMEÀÌ Á¦´ë·Î ¼³Á¤µÇÁö ¾ÊÀ¸¸é ´ÙÀ½°ú °°Àº Oracle ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù.
ORA-12154: TNS could not resolve service name
ORACLE_HOME ȯ°æ º¯¼ö°¡ ÇØ´ç µð·ºÅ͸®¸¦ °¡¸®Å°°í tnsnames.ora ÆÄÀÏÀÌ ÇØ´ç µð·ºÅ͸®¿¡ ÀúÀåµÇ¾î ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ. sql-plus¸¦ ÅëÇØ ÀÌ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ¿¬°áÀÌ ¼º°øÀûÀÎÁö È®ÀÎÇϽʽÿÀ. ORA-12154 ¹× °ü·Ã Oracle SQL ¿À·ù¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Áö¿ø ¼Ö·ç¼Ç S-08804¸¦ ÂüÁ¶ÇϽʽÿÀ.
°ü·ÃµÈ ¿À·ù ¸Þ½ÃÁö´Â ORA-24327·Î ¿øÀÎÀº ´ëºÎºÐ ±¸¼º ¹®Á¦ÀÔ´Ï´Ù.
LOGIN ERROR CODE: 24327
<Error> <JDBC Connection Pool> Cannot startup connection pool "xxxPool" weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was: java.sql.SQLException: ORA-24327: need explicit attach before authenticating a user .
ORA-24327 ¹× °ü·Ã Oracle SQL ¿À·ù¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Áö¿ø ¼Ö·ç¼Ç S-08804¸¦ ÂüÁ¶ÇϽʽÿÀ.
·ÎÄÉÀÏÀ» À߸ø ¼³Á¤Çصµ ´ÙÀ½°ú À¯»çÇÑ ¿À·ù ¸Þ½ÃÁö°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
weblogic.management.DeploymentException: Error creating connection pool myConnectionPool:
0:Unable to load locale categories
WebLogic Server¸¦ ½ÃÀÛÇϱâ Àü¿¡ ¿Ã¹Ù¸¥ ·ÎÄÉÀÏ È¯°æÀ» ¼³Á¤Çß´ÂÁö È®ÀÎÇϽʽÿÀ. µ¿ÀÏÇÑ È¯°æ¿¡¼ µ¥ÀÌÅͺ£À̽º Ŭ¶óÀ̾ðÆ®¸¦ ½ÃÀÛÇÏ¿© ·ÎÄÉÀÏÀÌ Á¦´ë·Î ÀÛµ¿ÇÏ´ÂÁö È®ÀÎÇϽʽÿÀ.
µ¥ÀÌÅͺ£À̽º°¡ ´Ù¿îµÈ ÈÄ ¿¬°á »õ·Î °íħ/´Ù½Ã ¿¬°á ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù.
µ¥ÀÌÅͺ£À̽º°¡ ÁÖ±âÀûÀ¸·Î ´Ù¿îµÇ´Â °æ¿ì TestConnectionsOnReserve ¼Ó¼ºÀÌ true·Î ¼³Á¤µÇ¾î ÀÖ°í Ä¿³Ø¼Ç Å×½ºÆ® Äõ¸®°¡ ½ÇÆÐÇϸé Ä¿³Ø¼ÇÀÌ Àç¼³Á¤µÇ°Å³ª »õ·Î °íÃÄÁý´Ï´Ù. WebLogic Server ·Î±× ÆÄÀÏ¿¡¼ ´ÙÀ½°ú À¯»çÇÑ °ü·Ã ¸Þ½ÃÁö¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù.
ORA-03113 end-of-file on communication channel ¹×/¶Ç´Â ORA-01012 not logged on
<Jan 31, 2002 2:20:17 PM PST> <Info> <JDBC Pool oraclePool> <null> <This connection will now be refreshed.>
<Jan 31, 2002 2:20:18 PM PST> <Info> <JDBC> <001067> <Connection for pool "oraclePool" refreshed.>
<Jan 31, 2002 2:20:18 PM PST> <Info> <JDBC Pool oraclePool> <null> <A connection from pool oraclePool was tested during reserve with a select count(*) from dual and failed:>
<Jan 31, 2002 2:20:18 PM PST> <Info> <JDBC Pool oraclePool> <null>
<java.sql.SQL
Exception: ORA-03113: end-of-file on communication channel
at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:240)
at weblogic.jdbc.oci.Statement.execute(Statement.java:534)
at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:961)
at weblogic.jdbc.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:651)
at weblogic.jdbc.common.internal.ResourceAllocator.reserveUnused(ResourceAllocator.java:575)
at weblogic.jdbc.common.internal.ResourceAllocator.trigger(ResourceAllocator.java:1296)
at weblogic.time.common.internal.ScheduledTrigger$1.run(ScheduledTrigger.java:171)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:807)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:168)
at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:158)
at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:38)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:156)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:137)
ÀÌ ¸Þ½ÃÁö´Â Á¤º¸¿ëÀ̹ǷΠ±× ÈÄ¿¡ Ä¿³Ø¼ÇÀÌ ¼º°øÀûÀ¸·Î »ý¼ºµÉ ¼ö ÀÖÀ¸¸é ¹«½ÃÇصµ µË´Ï´Ù.
µ¥ÀÌÅͺ£À̽º ¹®Á¦
Oracle µ¥ÀÌÅͺ£À̽º¿¡ ¿¸° Ä¿¼°¡ ³Ê¹« ¸¹½À´Ï´Ù.
Oracle µ¥ÀÌÅͺ£À̽º¿¡¼ Çã¿ëµÈ ¿¸° Ä¿¼ ¼ö·Î ÁöÁ¤µÈ °ªÀ» ÃÊ°úÇÒ °æ¿ì ´ÙÀ½ ¿À·ù ¸Þ½ÃÁö°¡ ¹ß»ýÇÕ´Ï´Ù.
java.sql.SQLException: ORA-01000: maximum open cursors exceeded
ÀÌ ¸Þ½ÃÁö´Â ´ÙÀ½ ¿øÀÎÀ¸·Î ÀÎÇØ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
Prepared Statement ij½Ã¿Í °ü·ÃµÈ JDBC Ç® ±¸¼ºÀ» È®ÀÎÇϽʽÿÀ. ¸ðµç Prepared Statement´Â Oracle µ¥ÀÌÅͺ£À̽º¿¡¼ ÇϳªÀÇ ¿¸° Ä¿¼¸¦ »ç¿ëÇÕ´Ï´Ù. Statement ij½Ã´Â Prepared Statement¸¦ Ä¿³Ø¼Çº°·Î º¸À¯ÇÕ´Ï´Ù. µû¶ó¼ Oracle µ¥ÀÌÅͺ£À̽º´Â ±¸¼ºµÈ ¸ðµç Ç®¿¡ ´ëÇØ ÃÖ´ë
(StatementCacheSize) x(MaxCapacity)°³ÀÇ ¿¸° Ä¿¼¸¦ »ç¿ëÇÕ´Ï´Ù. ¿¸° Ä¿¼´Â ´Ù¸¥ Object(¿¹: ÀúÀå ÇÁ·Î½ÃÀú ¶Ç´Â °á°ú ÁýÇÕ)¿¡ ´ëÇؼµµ »ç¿ëµÇ¹Ç·Î ¿¸° Ä¿¼ÀÇ ¼ö´Â ¸í·É¹® ij½Ã¿¡ ÀÖ´Â ¸ðµç ¸í·É¹®À» º¸À¯ÇÒ Á¤µµ·Î Å©°Ô ±¸¼ºµÇ¾î¾ß ÇÕ´Ï´Ù. OPEN_CURSORS´Â ¼¼¼Ç/Ä¿³Ø¼Çº°·Î ¼³Á¤µË´Ï´Ù.
¸í·É¹® ij½Ã ±¸¼º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº http://e-docs.bea.com/wls/docs81/config_xml/JDBCConnectionPool.html#StatementCacheSize¸¦ ÂüÁ¶ÇϽʽÿÀ.
ÀϺΠOracle µå¶óÀ̹ö ¹öÀü(thin ¶Ç´Â oci)¿¡´Â XA µå¶óÀ̹ö Ŭ·¡½º(oracle.jdbc.xa.client.OracleXADataSource)¿¡ ³ªÁß¿¡ ORA-01000 ¿À·ù ¸Þ½ÃÁö¸¦ ¹ß»ý½ÃÅ°´Â Ä¿¼ leakÀÌ ÀÖ½À´Ï´Ù. µ¥ÀÌÅͺ£À̽º Ãø¸é¿¡¼ DBA_PENDING_TRANSACTION º¸±â¿¡ ¿Ã¹Ù¸¥ »ç¿ë ±ÇÇÑÀÌ ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ.
grant DBA_PENDING_TRANSACTIONS to public
grant DBA_PENDING_NEIGHBORS to public
grant DBA_2PC_PENDING to public
Oracle ¹öÀü 9.2.0.5 ¹× 10g¿¡¼´Â Ä¿¼ leakÀÌ ¼öÁ¤µÇ¾ú½À´Ï´Ù. ÀÌ ¾Ë·ÁÁø ¹®Á¦´Â Oracle Metalink Case 3151681¿¡ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù(Oracle Metalink ·Î±×ÀÎ ÇÊ¿ä).
ÀÚ¼¼ÇÑ ³»¿ëÀº ORA-01000: Maximum open cursors exceeded" Á¶»ç ÆÐÅÏÀ» ÂüÁ¶ÇϽʽÿÀ.
¹æȺ®ÀÌ µ¥ÀÌÅͺ£À̽º¿Í WebLogic Server °£ À¯ÈÞ Ä¿³Ø¼ÇÀ» ´Ý½À´Ï´Ù.
µ¥ÀÌÅͺ£À̽º¿Í WebLogic Server °£¿¡ ¹æȺ®ÀÌ ±¸¼ºµÇ°í ÀÌ ¹æȺ®ÀÌ ÀÏÁ¤ ½Ã°£ ÈÄ À¯ÈÞ Ä¿³Ø¼ÇÀ» ´Ý´Â °æ¿ì JDBC Ç® »õ·Î °íħ ±â´ÉÀ» »ç¿ëÇÏ¿© ÇØ´ç Ç®ÀÇ Ä¿³Ø¼ÇÀÌ ¹æȺ®¿¡ ÀÇÇØ ´ÝÈ÷Áö ¾Êµµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ´ÝÈù Ä¿³Ø¼ÇÀÌ »ç¿ëµÈ ÈÄ ¹ß»ýÇÏ´Â ÀϹÝÀûÀÎ ¿À·ù ¸Þ½ÃÁö´Â ´ÙÀ½°ú °°½À´Ï´Ù.
java.sql.SQLException: ORA-03113: end-of-file on communication channel
at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:240)
at weblogic.jdbc.oci.Statement.executeQuery(Statement.java:916)
at ...
¼ÒÄÏ Ä¿³Ø¼ÇÀÌ WebLogic Server Ãø°ú µ¥ÀÌÅͺ£À̽º Ãø ¸ðµÎ¿¡¼ Á¤»óÀ¸·Î °£ÁֵǹǷΠÀÌ ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù. µû¶ó¼ ¾çÂÊ ¸ðµÎ ÀÌ ¼ÒÄÏ Ä¿³Ø¼Ç¿¡ ¾²·Á°í ½ÃµµÇϸé Âü¿©ÇÏ´Â ÂÊ¿¡ ¾Ë¸² ¶Ç´Â ¿À·ù ¸Þ½ÃÁö¸¦ º¸³»Áö ¾Ê°í ¼ÒÄÏ Ä¿³Ø¼ÇÀÌ ¹æȺ®¿¡ ÀÇÇØ ´ÝÈ÷±â ¶§¹®¿¡ ½ÇÆÐÇÕ´Ï´Ù. »õ·Î °íħ ±â´ÉÀ» »ç¿ëÇÏ¿© ¹æȺ®ÀÌ Ä¿³Ø¼ÇÀ» ´ÝÀ» Á¤µµ·Î ¿À·§µ¿¾È Ä¿³Ø¼ÇÀ» À¯ÈÞ »óÅ·ΠµÎÁö ¸¶½Ê½Ã¿À.
´ÙÀ½ ¼³Á¤À» ÅëÇØ »õ·Î °íħ ±â´ÉÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
À¯ÈÞ ±â°£ µ¿¾È ÃÖ¼ÒÇÑ ÇÑ ¹ø ÀÌ»ó Ä¿³Ø¼ÇÀ» Å×½ºÆ®Çϵµ·Ï RefreshMinutes ¼Ó¼ºÀ» ¼³Á¤ÇÕ´Ï´Ù. »õ·Î °íħ ±â´ÉÀ» È°¼ºÈÇÏ·Á¸é TestTableName ¼Ó¼ºµµ ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº http://e-docs.bea.com/wls/docs81/config_xml/JDBCConnectionPool.html#RefreshMinutes¸¦ ÂüÁ¶ÇϽʽÿÀ.
±×·¯³ª ¸ðµç JMS ¼¹ö´Â JDBC ÀúÀå¼Ò°¡ Á¤ÀÇµÈ °æ¿ì JDBC Ç®¿¡¼ ÇϳªÀÇ Ä¿³Ø¼ÇÀ» °¡Á®¿É´Ï´Ù. ÀÌ Ä¿³Ø¼ÇÀº Ç®¿¡ ÀÇÇØ ¿¹¾àµÈ °ÍÀ¸·Î °£ÁֵǹǷΠ»õ·Î °íħ ±â´ÉÀº ÇØ´ç Ä¿³Ø¼ÇÀ» Å×½ºÆ®Çϰųª »õ·Î °íÄ¡Áö ¾Ê½À´Ï´Ù. ÀϹÝÀûÀÎ ¿À·ù ¸Þ½ÃÁö´Â ´ÙÀ½°ú °°½À´Ï´Ù.
JMSServer "myJMSServer", store failure while writing message for queue myQueue, java.io.IOException
ÀÌ·¯ÇÑ »óȲÀº ´ÙÀ½ ¿É¼Ç Áß Çϳª¸¦ »ç¿ëÇÏ¿© ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù.
¹æȺ®ÀÌ Ä¿³Ø¼ÇÀ» ´ÝÁö ¾Êµµ·Ï À¯ÈÞ ±â°£ Áß¿¡ ÃÖ¼ÒÇÑ Çϳª ÀÌ»óÀÇ Çü½ÄÀûÀÎ JMS ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù.
¹æȺ®ÀÇ Ä¿³Ø¼Ç ´Ý±â ±â´ÉÀ» ºñÈ°¼ºÈÇÕ´Ï´Ù.
JMS ¼¹ö¿¡ ´ëÇØ JDBC ÀúÀå¼Ò·Î »ç¿ëÇÒ º°µµÀÇ JDBC Ç®À» Á¤ÀÇÇÏ°í weblogic.Admin RESET_POOLÀ» »ç¿ëÇÏ¿© À¯ÈÞ ±â°£ Áß¿¡µµ ÃÖ¼ÒÇÑ ÇÑ ¹ø ÀÌ»ó Ä¿³Ø¼ÇÀ» ´Ù½Ã ¿±´Ï´Ù.
ÀÌÈÄÀÇ WebLogic Server ¹öÀü(WLS 6.1 SP7, WLS 7.0 SP3 ¹× WLS 8.1 SP1)¿¡¼´Â JMS°¡ À¯ÈÞ »óÅÂÀÎ °æ¿ì µ¥ÀÌÅͺ£À̽º°¡ 5ºÐ¸¶´Ù ping Å×½ºÆ®¸¦ ¼öÇàÇÏ¿© Ä¿³Ø¼ÇÀ» »õ·Î °íÄ¡°í ¹æȺ®ÀÌ ÀÌ·¯ÇÑ Ä¿³Ø¼ÇÀ» ´ÝÁö ¸øÇϵµ·Ï ÇÔÀ¸·Î½á ÀÌ ¹®Á¦¸¦ ÇØ°áÇß½À´Ï´Ù.
getVendorConnection()ÀÌ ±âº» Ä¿³Ø¼ÇÀ» ¼ö½ÅÇÏ´Â µ¥ »ç¿ëµÇ´Â °æ¿ì RemoveInfectedConnectionsEnabled ¼Ó¼º ¼³Á¤À» ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù.
ÀϺΠ°í±Þ JDBC ¸í·É¿¡¼´Â Ä¿³Ø¼ÇÀ» Àμö·Î »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¸°Ô Çϱâ À§ÇØ getVendorConnection()À» È£ÃâÇÏ¿© Ä¿³Ø¼Ç Ç®ÀÌ »ç¿ëÇÏ´Â Ä¿³Ø¼ÇÀ» °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù.
±×·¯³ª Ä¿³Ø¼ÇÀ» »ç¿ëÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥ ÄÚµå´Â ÈÄ¼Ó ¹®Á¦¸¦ ÇÇÇϱâ À§ÇØ Á¶½É½º·´°Ô ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. JDBC Ä¿³Ø¼Ç Ç®Àº °¡´ÉÇÏ¸é º¸¾È ¹× °¡¿ë¼ºÀ» ³ôÀ̵µ·Ï ±¸ÇöµÇ±â ¶§¹®¿¡ getVendorConnection()À» È£ÃâÇÑ ¸ðµç Ä¿³Ø¼ÇÀº ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ÀÇÇØ »ç¿ëµÈ ÈÄ ÀÚµ¿À¸·Î »õ·Î °íÃÄÁý´Ï´Ù(RemoveInfectedConnectionsEnabled="true").
ÀÌ°ÍÀº Ä¿³Ø¼Ç Ç®ÀÇ È¿°ú¸¦ ÀÒ´Â °ÍÀ» ÀǹÌÇϹǷÎ(Áï, »ç¿ë ÈÄ ¸ðµç Ä¿³Ø¼ÇÀÌ ´ÝÇû´Ù ´Ù½Ã ¿¸®¹Ç·Î) ÀÀ¿ë ÇÁ·Î±×·¥ Äڵ忡¼ ´Ù½Ã ¿¾î¾ß ÇÏ´Â Ä¿³Ø¼ÇÀÇ Æ¯Á¤ Ç׸ñÀ» º¯°æÇϰųª Á¦°ÅÇÒ °æ¿ì ½ÅÁßÇÏ°Ô ÆÇ´ÜÇϽʽÿÀ. ÀÌ·¯ÇÑ °æ¿ì¿¡ ÇØ´çÇÏÁö ¾Ê´Â °æ¿ì¿¡¸¸ RemoveInfectedConnectionsEnabled ¼Ó¼ºÀ» false·Î ¼³Á¤ÇϽʽÿÀ.
ÀÌ ¼Ó¼º¿¡ ´ëÇÑ ³»¿ëÀº
http://e-docs.bea.com/wls/docs81/config_xml/JDBCConnectionPool.html#RemoveInfectedConnectionsEnabled¸¦ ÂüÁ¶ÇϽʽÿÀ.
WebLogic Server ¹®Á¦
native JDBC µå¶óÀ̹ö ¶óÀ̺귯¸® ¶§¹®¿¡ WebLogic Server°¡ Å©·¡½ÃµË´Ï´Ù.
type-2 JDBC µå¶óÀ̹ö´Â native Äڵ带 »ç¿ëÇϹǷΠÀÌ·¯ÇÑ µå¶óÀ̹ö¿¡¼ ¹®Á¦°¡ ¹ß»ýÇϸé JVM ¹× WebLogic Server°¡ Å©·¡½ÃµÉ ¼ö ÀÖ½À´Ï´Ù. ¼¹ö°¡ Å©·¡½ÃµÈ °æ¿ì ¹ÙÀ̳ʸ® ÄÚ¾î ÆÄÀÏ ºÐ¼® ÆÐÅÏ¿¡¼ Á¦°øÇÏ´Â Á¤º¸¸¦ ÂüÁ¶ÇϽʽÿÀ. ÀÌ Á¤º¸´Â Å©·¡½ÃÀÇ ¿øÀÎÀÌ µÇ´Â native ¶óÀ̺귯¸®¸¦ ÃßÀûÇÏ´Â µ¥ µµ¿òÀÌ µÇ°í ¹®Á¦¸¦ ÇØ°áÇÏ´Â µ¥ ÇÊ¿äÇÑ À¯¿ëÇÑ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.
WebLogic Server ¶Ç´Â ÀÀ¿ë ÇÁ·Î±×·¥Àº JDBC µå¶óÀ̹ö ¸Þ½îµå ¶Ç´Â function¿¡¼ Hang(Á¤Áö)µË´Ï´Ù.
JDBC Ä¿³Ø¼ÇÀº WebLogic Server¿¡¼ ½ÇÇà ½º·¹µå¸¦ »ç¿ëÇÏ¿© ÇØ´ç ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù. Áï, µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Hang(Á¤Áö) ¿äûÀº WebLogic Server¿¡¼ ÇϳªÀÇ ½º·¹µå¸¦ Â÷´ÜÇÕ´Ï´Ù. JDBC Ä¿³Ø¼Ç ¶Ç´Â µ¥ÀÌÅÍ ÀÎÇÁ¶ó¿¡ ¹®Á¦°¡ ÀÖÀ¸¸é WebLogic Server ¶Ç´Â ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ Hang(Á¤Áö)ÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¹®Á¦ÀÇ ºÐ¼®¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº JDBC·Î ÀÎÇÑ ¼¹ö Hang(Á¤Áö) ÆÐÅÏÀ» Âü°íÇϽʽÿÀ. WebLogic Server¿¡¼ Hang(Á¤Áö) »óȲÀ» ÃßÀûÇÏ´Â ¹æ¹ýÀº ÀϹÝÀûÀÎ ¼¹ö Hang(Á¤Áö) ÆÐÅÏÀ» ÂüÁ¶ÇϽʽÿÀ.
JDBC ObjectÀÇ ¸Þ¸ð¸® leakÀÌ ÀÖÀ¸¸é OutOfMemoryError°¡ ¹ß»ýÇϰųª ÇÁ·Î¼¼½º Å©±â°¡ Ä¿Áý´Ï´Ù.
JDBC Ä¿³Ø¼Ç Ç®ÀÇ Ä¿³Ø¼ÇÀ̳ª ÀÀ¿ë ÇÁ·Î±×·¥ Äڵ忡¼ »ç¿ëµÇ¸ç Á÷Á¢ µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áµÇ´Â JDBC Object´Â ÇÁ·Î¼¼½ºÀÇ Èü ¶Ç´Â native ¸Þ¸ð¸® ºÎºÐÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Object°¡ Á¦´ë·Î ´ÝÈ÷Áö ¾Ê°í ÇØÁ¦µÇÁö ¾ÊÀº °æ¿ì ¸Þ¸ð¸® leakÀÌ ¹ß»ýÇÏ°í ÀÌ·Î ÀÎÇØ Èü »ç¿ë·®ÀÌ Áõ°¡Çϰųª ÇÁ·Î¼¼½º Å©±â°¡ ´Ã¾î³ª JVM ¶Ç´Â ¿î¿µ üÁ¦°¡ ´õ ÀÌ»ó »ç¿ë °¡´ÉÇÑ ¸Þ¸ð¸®¸¦ Á¦°øÇÒ ¼ö ¾ø°Ô µÇ¸é OutOfMemoryError°¡ ¹ß»ýÇÕ´Ï´Ù.
½Ã½ºÅÛ¿¡¼ OutOfMemoryErrors°¡ ¹ß»ýÇÑ °æ¿ì JDBC °³Ã¼°¡ ¹®Á¦ÀÇ ¿øÀÎÀ¸·Î Àǽɵȴٸé OutOfMemory/¸Þ¸ð¸® Leak ¹®Á¦ Á¶»ç ÆÐÅÏ¿¡¼ ¸Þ¸ð¸® leak ¹®Á¦ ºÐ¼® ¹æ¹ý¿¡ ´ëÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ. WebLogic Server ·Î±× ÆÄÀÏÀ̳ª °ü¸® Äֿܼ¡¼ JDBC Ç® ¸ð´ÏÅ͸µÀ» ÅëÇØ Ä¿³Ø¼Ç leak ¿À·ù ¸Þ½ÃÁö¸¦ °Ë»öÇÑ °æ¿ì ¾ÕÀ¸·Î ¹ßÇ¥µÉ JDBC Ä¿³Ø¼Ç Leak Á¶»ç ÆÐÅÏ¿¡¼ ÀÌ ¹®Á¦¿¡ ´ëÇÑ ÇØ°á ¹æ¹ýÀ» Á¦°øÇÒ °ÍÀÔ´Ï´Ù. ¸µÅ©´Â ¹ßÇ¥µÇ´Â ´ë·Î Á¦°øµÉ °ÍÀÔ´Ï´Ù.
ÀÏ¹Ý Ç׸ñ
JDBC µð¹ö±ë ¶Ç´Â ÃßÀûÀ» ÅëÇÑ JDBC ¹®Á¦ ÇØ°á
JDBC µð¹ö±ë ¹× ÃßÀûÀº ÇöÀç ÁøÇà ÁßÀÎ ÀÛ¾÷À» ã¾Æ³»°í ½ÇÁ¦·Î µ¥ÀÌÅͺ£À̽º·Î º¸³»Áö´Â SQL ¹®À» ºÐ¼®Çϱâ À§ÇÑ Áß¿äÇÑ ¼ö´ÜÀ¸·Î Á¾Á¾ »ç¿ëµË´Ï´Ù. ±×·¯³ª JDBC´Â ¿©·¯ °èÃþÀ¸·Î ÀÌ·ç¾îÁø ÇÏÀ§ ½Ã½ºÅÛÀÌ¸ç ±× Áß ÀϺθ¸ WebLogic Server ³»¿¡ ÀÖ½À´Ï´Ù. JDBC µå¶óÀ̹ö °èÃþÀÇ µð¹ö±ë ¹× ÃßÀûÀº µå¶óÀ̹ö¿¡ Å©°Ô Á¿ìµË´Ï´Ù. µå¶óÀ̹ö¿¡ ´ëÇÑ µð¹ö±× ¹× ÃßÀû Ç÷¡±× °ü·Ã Á¤º¸´Â µå¶óÀ̹ö °ø±Þ¾÷ü·ÎºÎÅÍ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
WebLogic Server Ãø¿¡¼ ´ÙÀ½°ú °°Àº ¿©·¯ °¡Áö JDBC µð¹ö±× Ç÷¡±×¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
°ü¸® ÄܼÖÀ» ÅëÇØ ¶Ç´Â config.xml¿¡¼ Á÷Á¢ Server ű׿¡ <JDBCLoggingEnabled>¸¦ ¼³Á¤ÇÏ¿© jDriver JDBC ÃßÀûÀ» ÀüȯÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº http://e-docs.bea.com/wls/docs81/config_xml/Server.html#JDBCLogFileNameÀ» ÂüÁ¶ÇϽʽÿÀ.
ServerDebugMBean¿¡´Â config.xml¿¡¼ ¼³Á¤ÇÒ ¼ö ÀÖ´Â ¸î °¡Áö JDBC °ü·Ã Ç÷¡±×°¡ ÀÖ½À´Ï´Ù. »õ <ServerDebug> ű׸¦ µð¹ö±×ÇÒ WebLogic Server ÀνºÅϽºÀÇ <Server> ű׿¡ ³ÖÀ¸½Ê½Ã¿À. ¾Æ·¡ÀÇ ¿¹¸¦ ÂüÁ¶ÇϽʽÿÀ.
<Server Name="myserver" >
....
<ServerDebug Name="myserver" JDBCConn="true" JDBCSQL="true" JTAJDBC="true" />
</Server>
¶ÇÇÑ WebLogic Server ½ÃÀÛ ½Ã ½Ã½ºÅÛ ¼Ó¼ºÀ¸·Î ÀÌ·¯ÇÑ µð¹ö±× Ç÷¡±×¸¦ ¼³Á¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
-Dweblogic.Debug=weblogic.JDBCConn,weblogic.JDBCSQL,weblogic.JTAJDBC
ÀÌ·¯ÇÑ µð¹ö±× Ç÷¡±× ¹× ÃßÀûÀº ¸Å¿ì º¹ÀâÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î ÇØ´ç Ç÷¡±×¸¦ ¼³Á¤ÇÒ À§Ä¡¸¦ ¾ÆÁÖ ½ÅÁßÇÏ°Ô ÆÇ´ÜÇØ¾ß ÇÕ´Ï´Ù. µð¹ö±× Ç÷¡±×¿Í ÃßÀûÀ» »ç¿ëÇÏ¸é ¸¹Àº Ãâ·ÂÀÌ »ý¼ºµÇ°í ½Ã½ºÅÛ ¼º´É¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖÀ¸¹Ç·Î ¿î¿µ ½Ã½ºÅÛ¿¡¼´Â ¼³Á¤ÇÏÁö ¸¶½Ê½Ã¿À.
JDBC µð¹ö±ë ¼³Á¤À» Çã¿ëÇÏÁö ¾Ê°Å³ª ÃæºÐÇÑ Á¤º¸¸¦ Ãâ·ÂÇÏÁö ¾Ê´Â µå¶óÀ̹öÀÇ °æ¿ì P6Spy µå¶óÀ̹ö¸¦ ¼³Ä¡Çϸé JDBC µå¶óÀ̹ö¿Í µ¥ÀÌÅͺ£À̽º »çÀÌÀÇ ¸ðµç SQL ¹®À» µð¹ö±×ÇÏ´Â µ¥ µµ¿òÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é µð¹ö±× Á¤º¸¸¦ ·Î±× ÆÄÀÏ¿¡ Ãâ·ÂÇÏ´Â Ãß°¡ °èÃþÀÌ ±¸ÇöµË´Ï´Ù. ÇØ´ç µå¶óÀ̹ö´Â ´ÙÀ½ À¥ »çÀÌÆ®¿¡¼ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù.
http://www.p6spy.com/
¼³¸í¼¿Í ¼³Ä¡ ÁöħÀº http://www.p6spy.com/documentation/index.htm¿¡¼ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù.
WebLogic ServerÀÇ ¸ÖƼ Ç® ÆäÀÏ¿À¹ö(failover) ¶Ç´Â ·Îµå ¹ë·±½Ì ÀÌÇØ
WebLogic Server ¸ÖƼ Ç®Àº °í°¡¿ë¼º ¶Ç´Â ·Îµå ¹ë·±½Ì ¸ñÀûÀ¸·Î »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ±¸¼º¿¡ µû¶ó ¸ÖƼ Ç® µ¿ÀÛÀÌ ´Þ¶óÁý´Ï´Ù. ¸ÖƼ Ç® ÆäÀÏ¿À¹ö(failover) ¹× ·Îµå ¹ë·±½Ì¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº JDBC ¸ÖƼ Ç® ¹®Á¦ Á¶»ç ÆÐÅÏÀ» ÂüÁ¶ÇϽʽÿÀ.
¿î¿µ ȯ°æ¿¡ ´ëÇÑ JDBC Ä¿³Ø¼Ç Ç®À» Á¶Á¤ÇÏ´Â ¹æ¹ý
¿î¿µ ½Ã½ºÅÛ¿¡ ´ëÇÑ JDBC Ä¿³Ø¼Ç Ç®À» ±¸¼ºÇÏ´Â °ÍÀº ¾ÈÁ¤¼º°ú ¼º´ÉÀ» º¸ÀåÇϱâ À§ÇØ ÇʼöÀûÀÎ Áß¿äÇÑ ÀÛ¾÷ÀÔ´Ï´Ù. ´ÙÀ½Àº °ü¸®ÀÚ°¡ óÀ½ ½ÃÀÛÇÒ ¶§ µµ¿òÀÌ µÉ ¼ö ÀÖ´Â ¸î °¡Áö ÀϹÝÀûÀÎ ±ÇÀå »çÇ×ÀÔ´Ï´Ù.
InitialCapacity¸¦ MaxCapacity·Î ¼³Á¤
ÀÌ·¸°Ô Çϸé WebLogic Server¸¦ ½ÃÀÛÇÒ ¶§ ¸ðµç Ä¿³Ø¼ÇÀÌ ¿¸³´Ï´Ù. ½ÇÁ¦ µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» »ý¼ºÇÏ·Á¸é ¸¹Àº ºñ¿ëÀÌ µé±â ¶§¹®¿¡ ÇÊ¿äÇÑ Ä¿³Ø¼ÇÀº ¸ðµÎ Áï½Ã ¿°í °è¼Ó ¿¸° »óÅ·ΠÀ¯ÁöÇØ¾ß ÇÕ´Ï´Ù.
ShrinkingEnabled¸¦ false·Î ¼³Á¤ÇÏ¿© Ãà¼Ò ±â´É ºñÈ°¼ºÈ
À§¿¡¼ ¾ð±ÞÇßµíÀÌ ½ÇÁ¦ µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» »ý¼ºÇÏ·Á¸é ºñ¿ëÀÌ ¸¹ÀÌ µé±â ¶§¹®¿¡ Ä¿³Ø¼ÇÀ» ÇÑ ¹ø ¼³Á¤ÇÑ ÈÄ WebLogic Server ÀνºÅϽºÀÇ Àüü ¼ö¸í µ¿¾È ¿¸° »óÅ·ΠÀ¯ÁöÇØ¾ß ÇÕ´Ï´Ù.
ÇÊ¿äÇÏÁö ¾ÊÀº °æ¿ì »õ·Î °íħ ±â´É ÇØÁ¦ - ÀÚ¼¼ÇÑ ³»¿ëÀº À§ÀÇ JDBC Ä¿³Ø¼Ç Ç® ¹®Á¦ ¹× µ¥ÀÌÅͺ£À̽º¿Í WebLogic Server »çÀÌÀÇ ¹æȺ®À» ÂüÁ¶ÇϽʽÿÀ.
TestConnectionsOnReserve¸¦ true·Î ¼³Á¤
ÀÌ·¸°Ô Çϸé ÇÊ¿äÇÑ °æ¿ì ÀÀ¿ë ÇÁ·Î±×·¥À¸·Î Ä¿³Ø¼ÇÀ» º¸³» ´Ù½Ã ¿±â Àü¿¡ Å×½ºÆ®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
TestConnectionsOnRelease¸¦ false·Î ¼³Á¤
Ä¿³Ø¼Ç Å×½ºÆ®´Â °¡´ÉÇϸé ÇÇÇØ¾ß ÇÏ´Â ¿À¹öÇìµåÀ̹ǷΠÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Ç®·Î µ¹·Áº¸³»´Â Ä¿³Ø¼Ç¿¡ ´ëÇØ Ä¿³Ø¼Ç Å×½ºÆ®¸¦ ¼öÇàÇÏ´Â °ÍÀº ºÒÇÊ¿äÇÑ ÀÛ¾÷ÀÔ´Ï´Ù. getConnection µ¿¾È Ä¿³Ø¼ÇÀ» Å×½ºÆ®Çϸé ÀÌ·¯ÇÑ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.
JDBC Ç®ÀÇ Ä¿³Ø¼Ç ¼ö¸¦ Ä¿³Ø¼ÇÀ» »ç¿ëÇÏ´Â execute ½º·¹µåÀÇ ¼ö¿Í °°°Ô ¼³Á¤
ÀÌ·¸°Ô Çϸé ResourceExceptions¸¦ ÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
WebLogic Server ¹× Oracle RAC/TAF
Oracle RAC/TAF¿¡ ´ëÇÑ JDBC Ä¿³Ø¼Ç Ç®À» ±¸¼ºÇÒ °æ¿ì ¸î °¡Áö ¼¼ºÎ »çÇ×À» °í·ÁÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº Oracle RAC(Real Application Clusters) ±¸¼º ¹× Å×½ºÆ® ÆÐÅÏÀ» ÂüÁ¶ÇϽʽÿÀ. ÀÌ ÆÐÅÏ¿¡´Â Oracle RAC ¼³Ä¡ ¹× ±¸¼º ¹æ¹ý, ¸î °¡Áö ÀϹÝÀûÀÎ Oracle RAC/TAF ¹®Á¦¿¡ ´ëÇÑ Á¤º¸, ±âº» µð¹ö±ë ÆÁ ¹× ¿ÜºÎ ¸®¼Ò½º¿¡ ´ëÇÑ Á¤º¸°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
Oracle ORA-01591
ºÐ»ê Æ®·£Àè¼Ç¿¡¼ »ç¿ëµÇ´Â µ¥ÀÌÅͺ£À̽º³ª ±âŸ ¸®¼Ò½º¿¡ ¹®Á¦°¡ ÀÖÀ¸¸é Oracle µ¥ÀÌÅͺ£À̽º¿¡¼ ORA-01591 ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù. ¾ÕÀ¸·Î ¹ßÇ¥µÉ ORA-01591 ¿À·ù ¸Þ½ÃÁö Á¶»ç ÆÐÅÏ¿¡¼ ÀÌ ¹®Á¦¸¦ ºÐ¼®ÇÑ Á¤º¸¸¦ Á¦°øÇÒ °ÍÀÔ´Ï´Ù. ¸µÅ©´Â ¹ßÇ¥µÇ´Â ´ë·Î Á¦°øµÉ °ÍÀÔ´Ï´Ù.
°ü·Ã ÀÚ·á
´Ù¾çÇÑ JDBC µå¶óÀ̹ö ¹× ÇØ´ç µå¶óÀ̹ö ±¸¼º¿¡ ´ëÇÑ ³»¿ëÀº http://e-docs.bea.com/wls/docs81/jdrivers.htmlÀ» ÂüÁ¶ÇϽʽÿÀ. XA ¹× ºÐ»ê Æ®·£Àè¼ÇÀ» »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ƯÈ÷ µ¥ÀÌÅͺ£À̽º °ü·Ã ¼³Á¤À» È®ÀÎÇϽʽÿÀ.
Æ®·£Àè¼Ç °ü·Ã ¹®Á¦ ÇØ°á ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Æ®·£Àè¼Ç ¹®Á¦ Á¶»ç ÆÐÅÏÀ» ÂüÁ¶ÇϽʽÿÀ.
http://e-docs.bea.com/wls/docs81/jdbc/index.htmlÀÇ JDBC ÇÁ·Î±×·¡¹Ö ¼³¸í¼¿¡´Â ´Ù¾çÇÑ Á¾·ùÀÇ JDBC µå¶óÀ̹ö ¹× ÇØ´ç ·¡ÆÛ¿¡ ´ëÇÑ Á¤º¸¿Í ÀÀ¿ë ÇÁ·Î±×·¥ Äڵ忡¼ À̵éÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù. ÀÌ ¸µÅ©¿¡¼ ¼º´É Á¶Á¤¿¡ ´ëÇÑ À¯¿ëÇÑ Á¤º¸µµ ãÀ» ¼ö ÀÖ½À´Ï´Ù.
»ç¿ë °¡´ÉÇÑ JDBCConnectionPool ¼Ó¼ºÀÇ Àüü ¸ñ·ÏÀ» º¸·Á¸é http://e-docs.bea.com/wls/docs81/config_xml/JDBCConnectionPool.html#252800À» ÂüÁ¶ÇϽʽÿÀ.
------------------------------------
|