°ü¸® ¾È³»¼­


Àá±Ý

µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº µ¿½Ãó¸® Á¦¾î¸¦ Á¦°øÇϰí Àá±ÝÀ» »ç¿ëÇÏ¿© Á¦¾îµÇÁö ¾ÊÀº ¾×¼¼½º¸¦ Â÷´ÜÇÕ´Ï´Ù. Àá±ÝÀº ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¿ÀÏÇÑ ÀÚ¿ø¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦¾îÇϱâ À§ÇØ µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ ÀÚ¿øÀ» ÀÀ¿ëÇÁ·Î±×·¥¿¡ ¿¬°ü½ÃŰ´Â ¼ö´ÜÀÔ´Ï´Ù. ¿¬°üµÈ ÀÚ¿øÀ» °¡Áø ÀÀ¿ëÇÁ·Î±×·¥Àº Àá±ÝÀ» º¸À¯Çϰųª ¼ÒÀ¯ÇÑ´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.

µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÇÇØ ±â·ÏµÈ È®¾àµÇÁö ¾ÊÀº µ¥ÀÌÅÍ¿¡ ´ëÇÑ ¾×¼¼½º¸¦ Â÷´ÜÇϱâ À§ÇØ Àá±ÝÀ» ºÎ¿©ÇÕ´Ï´Ù(¹ÌÈ®¾à Àб⠺и® ·¹º§ÀÌ »ç¿ëµÇÁö ¾ÊÀº °æ¿ì). ÀÌ ¿øÄ¢Àº µ¥ÀÌÅÍ ¹«°á¼º(Áï, µ¥ÀÌÅÍÀÇ µ¿½Ã¼º°ú º¸¾È)À» º¸È£ÇÕ´Ï´Ù. Àá±ÝÀº ¶ÇÇÑ ÇàÀ» °»½Å(¹Ýº¹ Àбâ(RR) ÀÀ¿ëÇÁ·Î±×·¥ÀÇ °æ¿ìó·³)ÇÒ ¼ö ¾ø½À´Ï´Ù.

µ¥ÀÌÅÍ ¹«°á¼ºÀ» ÃæÁ·½Ã۱â À§ÇØ, µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ Á¦¾îÇÏ¿¡¼­ ³»ÀçÀûÀ¸·Î Àá±ÝÀ» È®º¸ÇÕ´Ï´Ù. ¹ÌÈ®¾à Àб⠺и® ·¹º§ÀÇ °æ¿ì¸¦ Á¦¿ÜÇϸé, ÀÀ¿ëÇÁ·Î±×·¥ÀÌ È®¾àµÇÁö ¾ÊÀº µ¥ÀÌÅ͸¦ ´Ù¸¥ ÇÁ·Î¼¼½º·ÎºÎÅÍ ¼û±â´Â °ÍÀ» È®ÀÎÇϱâ À§ÇØ ³»ÀçÀûÀ¸·Î Àá±ÝÀ» ¿äûÇÒ Çʿ䰡 ¾ø½À´Ï´Ù.

Àá±ÝÀÇ ±âº» ¿øÄ¢ ¶§¹®¿¡, ´ëºÎºÐÀÇ °æ¿ì¿¡¼­ Àá±ÝÀ» Á¦¾îÇÏ´Â Á¶Ä¡¸¦ ÃëÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ¿©ÀüÈ÷, ÀÀ¿ëÇÁ·Î±×·¥Àº ¹ü¿ë ¸Å°³º¯¼ö¸¦ ±Ù°ÅÇÏ¿© Àá±Þ´Ï´Ù. Áö¿ª »óŸ¦ ¾Ë¸é ÀÌ·± ¸Å°³º¯¼ö¸¦ º¯°æÇÏ¿© ½Ã½ºÅÛ ÀÚ¿øÀ» »ç¿ëÇÏ´Â µ¥ ´õ ¸¹Àº µµ¿òÀ» ÁÝ´Ï´Ù. »ç¿ëÀÚ¸¦ Áö¿øÇϱâ À§ÇØ, Àá±Ý¿¡ ´ëÇØ ´ÙÀ½°ú °°Àº ÁÖÁ¦°¡ ³íÀǵ˴ϴÙ.

Àá±Ý ¼Ó¼º

µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ Àá±ÝÀº ´ÙÀ½°ú °°Àº ±âº» ¼Ó¼ºÀ» °®½À´Ï´Ù.

¸ðµå
Àá±ÝÀÌ µÈ ¿ÀºêÁ§Æ®ÀÇ µ¿½Ã »ç¿ëÀÚ¿¡ ´ëÇØ Çã¿ëµÈ ¾×¼¼½º À¯Çü»Ó¸¸ ¾Æ´Ï¶ó Àá±Ý ¼ÒÀ¯ÀÚ¿¡ ´ëÇØ Çã¿ëµÈ ¾×¼¼½º À¯Çü. °¡²û Àá±ÝÀÇ »óÅ·μ­ °£Áֵ˴ϴÙ.

¿ÀºêÁ§Æ®
Àá±ÝÀÌ µÈ ÀÚ¿ø. ¸í½ÃÀûÀ¸·Î Àá±Ý °¡´ÉÇÑ ¿ÀºêÁ§Æ®ÀÇ ´Ü ÇϳªÀÇ À¯ÇüÀº Å×À̺íÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº Çà, Å×À̺í, Å×ÀÌºí °ø°£°ú °°Àº ´Ù¸¥ À¯ÇüÀÇ ÀÚ¿ø¿¡ Àá±ÝÀ» ºÎ¿©ÇÕ´Ï´Ù. Àá±ÝÀÌ µÇ´Â ¿ÀºêÁ§Æ®´Â Àá±ÝÀÇ ¼¼ºÐ¼ºÀ» ³ªÅ¸³À´Ï´Ù.

Áö¼Ó ±â°£
Àá±ÝÀÌ À¯ÁöµÇ´Â ±â°£. Àá±Ý Áö¼Ó ±â°£Àº µ¿½Ã¼º¿¡¼­ ¾ð±ÞµÈ ºÐ¸® ·¹º§¿¡ ÀÇÇØ ¿µÇâÀ» ¹Þ½À´Ï´Ù.

´ÙÀ½ Ç¥¿¡¼­, ¸ðµå¿Í ±× ¿µÇâÀº ÀÚ¿ø¿¡ ´ëÇÑ Á¦¾î°¡ Áõ°¡ÇÏ´Â ¼ø¼­·Î Ç¥½ÃµË´Ï´Ù.

Ç¥ 38. Àá±Ý ¸ðµå ¿ä¾à
Àá±Ý ¸ðµå Àû¿ë °¡´ÉÇÑ ¿ÀºêÁ§Æ® À¯Çü ¼³¸í
IN(Intent None) Å×ÀÌºí °ø°£, Å×À̺í Àá±Ý ¼ÒÀ¯ÀÚ´Â È®¾àµÇÁö ¾ÊÀº µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ¿©, Å×À̺íÀÇ ¾î¶² µ¥ÀÌÅ͵çÁö ÀÐÀ» ¼ö ÀÖÁö¸¸, °»½ÅÇÒ ¼ö´Â ¾ø½À´Ï´Ù. Àá±Ý ¼ÒÀ¯ÀÚ°¡ ¾òÀº Çà Àá±ÝÀº ¾ø½À´Ï´Ù. ´Ù¸¥ µ¿½Ã ÀÀ¿ëÇÁ·Î±×·¥Àº Å×À̺íÀ» Àаųª °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.
IS(Intent Share) Å×ÀÌºí °ø°£, Å×À̺í Àá±Ý ¼ÒÀ¯ÀÚ´Â Àá±ä Å×ÀÌºí¿¡¼­ µ¥ÀÌÅ͸¦ ÀÐÀ» ¼ö´Â ÀÖÁö¸¸, ÀÌ µ¥ÀÌÅ͸¦ °»½ÅÇÒ ¼ö´Â ¾ø½À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ÀÌ IS Å×À̺í Àá±ÝÀ» º¸À¯ÇÏ´Â °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥Àº Àд Çà¿¡¼­ S Àá±Ý ¶Ç´Â NS Àá±ÝÀ» ¾ò½À´Ï´Ù. µÎ°¡Áö °æ¿ì¿¡¼­, ´Ù¸¥ µ¿½Ã ÀÀ¿ëÇÁ·Î±×·¥Àº Å×À̺íÀ» Àаųª °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.
NS(Next Key Share) Çà Àá±Ý ¼ÒÀ¯ÀÚ¿Í ¸ðµç µ¿½Ã ÀÀ¿ëÇÁ·Î±×·¥Àº Àá±ä ÇàÀ» ÀÐÀ» ¼ö´Â ÀÖÁö¸¸, °»½ÅÇÒ ¼ö´Â ¾ø½À´Ï´Ù. ÀÌ Àá±ÝÀº S Àá±Ý ´ë½Å Å×À̺í Çà¿¡¼­ È®º¸µË´Ï´Ù. ÀÌ ¶§, ºÐ¸® ·¹º§Àº ÀÐÇôÁö´Â µ¥ÀÌÅÍ¿¡ ´ëÇØ RS ¶Ç´Â CS Áß ÇϳªÀÔ´Ï´Ù.
S(Share) Çà, Å×À̺í Àá±Ý ¼ÒÀ¯ÀÚ¿Í ¸ðµç µ¿½Ã ÀÀ¿ëÇÁ·Î±×·¥Àº Àá±ä µ¥ÀÌÅ͸¦ ÀÐÀ» ¼ö´Â ÀÖÁö¸¸, °»½ÅÇÒ ¼ö´Â ¾ø½À´Ï´Ù. Å×À̺íÀÇ °³º° ÇàÀº S Àá±ÝÀÌ ¼öÇàµÉ ¼ö ÀÖ½À´Ï´Ù. Å×À̺íÀÌ S Àá±ÝÀÌ µÈ °æ¿ì, Çà Àá±ÝÀº ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.
IX(Intent Exclusive) Å×ÀÌºí °ø°£, Å×À̺í Àá±Ý ¼ÒÀ¯ÀÚ¿Í µ¿½Ã ÀÀ¿ëÇÁ·Î±×·¥Àº Å×À̺íÀÇ µ¥ÀÌÅ͸¦ ÀÐ°í °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. Àá±Ý ¼ÒÀ¯ÀÚ°¡ µ¥ÀÌÅ͸¦ Àд °æ¿ì, Çึ´Ù S, NS, X ¶Ç´Â U Àá±ÝÀÌ È®º¸µË´Ï´Ù. Àá±Ý ¼ÒÀ¯ÀÚ°¡ °»½ÅÇÏ´Â °¢ Çà¿¡¼­´Â X Àá±Ýµµ È®º¸µË´Ï´Ù. ´Ù¸¥ µ¿½Ã ÀÀ¿ëÇÁ·Î±×·¥Àº Å×À̺íÀ» ÀÐ°í °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.
SIX(Share with Intent Exclusive) Å×À̺í Àá±Ý ¼ÒÀ¯ÀÚ´Â Å×À̺íÀÇ µ¥ÀÌÅ͸¦ ÀÐ°í °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. Àá±Ý ¼ÒÀ¯ÀÚ´Â °»½ÅÇÏ´Â Çà¿¡¼­ X Àá±ÝÀ» È®º¸ÇÏÁö¸¸, Àд Çà¿¡¼­´Â ¾î¶² Àá±Ýµµ È®º¸ÇÏÁö ¾Ê½À´Ï´Ù. ´Ù¸¥ µ¿½Ã ÀÀ¿ëÇÁ·Î±×·¥Àº Å×À̺íÀ» ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù.
U(Update) Çà, Å×À̺í Àá±Ý ¼ÒÀ¯ÀÚ´Â Àá±ä ÇàÀ̳ª Å×À̺íÀÇ µ¥ÀÌÅ͸¦ °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. Àá±Ý ¼ÒÀ¯ÀÚ´Â ÇàÀ» °»½ÅÇϱâ Àü¿¡ ±× Çà¿¡¼­ X Àá±ÝÀ» È®º¸ÇÕ´Ï´Ù. ´Ù¸¥ ÀÛ¾÷ ´ÜÀ§(UOW)´Â Àá±ä ÇàÀ̳ª Å×ÀÌºí¿¡¼­ µ¥ÀÌÅ͸¦ ÀÐÀ» ¼ö´Â ÀÖÁö¸¸ °»½ÅÇÒ ¼ö´Â ¾ø½À´Ï´Ù.
NX(Next Key Exclusive) Çà Àá±Ý ¼ÒÀ¯ÀÚ´Â Àá±ä ÇàÀ» ÀÐÀ» ¼ö´Â ÀÖÁö¸¸, °»½ÅÇÒ ¼ö´Â ¾ø½À´Ï´Ù. ÀÌ ¸ðµå´Â NS Àá±Ý°ú ȣȯµÇ´Â °ÍÀ» Á¦¿ÜÇϰí´Â X Àá±Ý°ú À¯»çÇÕ´Ï´Ù.
NW(Next Key Weak Exclusive) Çà ÇàÀÌ Ä«Å»·Î±×°¡ ¾Æ´Ñ Å×À̺íÀÇ »öÀÎÀ¸·Î »ðÀԵǴ °æ¿ì, ÀÌ Àá±ÝÀº ´ÙÀ½ Çà¿¡¼­ ¾ò¾îÁý´Ï´Ù. Àá±Ý ¼ÒÀ¯ÀÚ´Â Àá±ä ÇàÀ» ÀÐÀ» ¼ö´Â ÀÖÁö¸¸, °»½ÅÇÒ ¼ö´Â ¾ø½À´Ï´Ù. ÀÌ ¸ðµå´Â W ¹× NS Àá±Ý°ú ȣȯµÇ´Â °ÍÀ» Á¦¿ÜÇϰí´Â X ¹× NX Àá±Ý°ú À¯»çÇÕ´Ï´Ù.
X(Exclusive) Çà, Å×À̺í Àá±Ý ¼ÒÀ¯ÀÚ´Â Àá±ä ÇàÀ̳ª Å×À̺íÀÇ µ¥ÀÌÅ͸¦ ÀÐ°í °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. Å×À̺íÀº µ¶Á¡ Àá±ÝÀÌ ¼öÇàµË´Ï´Ù. ÀÌ´Â ±× Å×À̺íÀÇ Çà¿¡¼­ ¾î¶² Çà Àá±Ýµµ È®º¸µÇÁö ¾ÊÀ½À» ÀǹÌÇÕ´Ï´Ù. ¹ÌÈ®¾à Àбâ ÀÀ¿ëÇÁ·Î±×·¥¸¸ÀÌ Àá±ÝÀÌ µÈ Å×À̺íÀ» ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
W(Weak Exclusive) Çà ÇàÀÌ Ä«Å»·Î±×°¡ ¾Æ´Ñ Å×À̺í·Î »ðÀԵǴ °æ¿ì, ÀÌ Àá±ÝÀº Çà¿¡¼­ ¾ò¾îÁý´Ï´Ù. Àá±Ý ¼ÒÀ¯ÀÚ´Â Àá±ÝÀÌ µÈ ÇàÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. NW Àá±Ý°ú ȣȯ¼ºÀÌ ÀÖ´Â Àá±ÝÀ» Á¦¿ÜÇϰí ÀÌ Àá±ÝÀº X Àá±Ý°ú À¯»çÇÕ´Ï´Ù. ¹ÌÈ®¾à Àбâ ÀÀ¿ëÇÁ·Î±×·¥¸¸ÀÌ Àá±ÝÀÌµÈ ÇàÀ» ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
Z(Superxclusive) Å×ÀÌºí °ø°£, Å×À̺í ÀÌ Àá±ÝÀº Å×À̺íÀÌ º¯°æµÇ°Å³ª »èÁ¦µÈ °æ¿ì, Å×À̺íÀÇ »öÀÎÀÌ ÀÛ¼ºµÇ°Å³ª »èÁ¦µÇ´Â °æ¿ì ¶Ç´Â Å×À̺íÀÌ ÀçÀνĵǴ °æ¿ì¿Í °°Àº Á¶°ÇÀÇ Å×ÀÌºí¿¡¼­ ¾ò¾îÁý´Ï´Ù. ´Ù¸¥ µ¿½ÃÀûÀÎ ÀÀ¿ëÇÁ·Î±×·¥Àº Å×À̺íÀ» Àаųª °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù.
ÁÖ:Å×À̺í°ú Å×ÀÌºí °ø°£¸¸ÀÌ "intent" Àá±Ý ¸ðµå¸¦ È®º¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, °¡´É Àá±ÝÀº Çà¿¡¼­ ¾òÀ» ¼ö ¾ø½À´Ï´Ù.

Àá±Ý ¹× ÀÀ¿ëÇÁ·Î±×·¥ ¼º´É

ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î±×·¡¸Ó´Â Àá±Ý »ç¿ë°ú »ç¿ë¿¡ µû¸¥ ÀÀ¿ëÇÁ·Î±×·¥ ¼º´É¿¡ ¹ÌÄ¡´Â ¿µÇâ°ú °ü°èÀÖ´Â ¿©·¯ °ü·Ã Àμö¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ Àμö¿¡´Â ´ÙÀ½ÀÌ Æ÷ÇԵ˴ϴÙ.

µ¿½Ã¼º ¹× ¼¼ºÐ¼º

ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÇÇØ º¸À¯µÈ Àá±ÝÀº ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÇÇÑ ¾×¼¼½º¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù. ±×·¯¹Ç·Î, ÃÖ´ë µ¿½Ã¼ºÀÇ °æ¿ì, Çà ·¹º§ Àá±ÝÀº Å×À̺í Àá±Ýº¸´Ù ÁÁ½À´Ï´Ù. ±×·¯³ª, Àá±Ý¿¡´Â °ü¸®Çϱâ À§Çؼ­ ÀúÀå ¹× Ã³¸® ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ±×·¯¹Ç·Î, ÀúÀå ¹× Ã³¸® ½Ã°£À» ÃÖ¼ÒÈ­ÇÏ´Â µ¥¿¡´Â ÇϳªÀÇ Å×À̺í Àá±ÝÀÌ ¿©·¯ Çà Àá±Ýº¸´Ù ÁÁ½À´Ï´Ù.

ALTER TABLE¹®ÀÇ LOCKSIZEÀýÀ» ÅëÇØ Çà ¶Ç´Â Å×ÀÌºí ·¹º§¿¡¼­ Àá±Ý Å©±â(granularity)¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ±âº»ÀûÀ¸·Î, Çà Àá±ÝÀÌ »ç¿ëµË´Ï´Ù. ALTER TABLE¿¡ Á¤ÀÇµÈ ¿µ±¸ Å×À̺í Àá±Ý¿¡¼­´Â S ¹× X Å×À̺í Àá±Ý¸¸ÀÌ »ç¿ëµË´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥Àº Çà Àá±Ýó·³ ¸¹ÀÌ ¾ò°Å³ª ÇØÁ¦ÇÒ Çʿ䰡 ¾øÀ¸¹Ç·Î ¼º´ÉÀÌ °³¼±µË´Ï´Ù. ´ÙÀ½ °æ¿ì¿¡ LOCK TABLE¹®À» »ç¿ëÇÏ´Â ´ÜÀÏ Æ®·£Àè¼Ç Å×À̺í Àá±Ýº¸´Ù´Â ALTER TABLE¹®À» »ç¿ëÇÏ´Â ¿µ±¸Àû Å×À̺í Àá±ÝÀ» È®º¸ÇÏ´Â °ÍÀ» ´õ ¼±È£ÇÒ °ÍÀÔ´Ï´Ù.

ALTER TABLE¹®À» »ç¿ëÇϸé Á¤»óÀûÀÎ Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵åÀÇ ¹ß»ýÀ» ¹æÁöÇÏÁö ¸øÇÕ´Ï´Ù.

±×¸®°í, ALTER TABLEÀ» »ç¿ëÇÏ¿© Å×ÀÌºí ·¹º§±îÁö Àá±ÝÀ» ¹Ð¾î ¿Ã¸®´Â °ÍÀÌ Àü¿ª Á¢±ÙÀ¸·Î, ÇØ´ç Å×À̺íÀ» »ç¿ëÇÏ´Â ¸ðµç ÀÀ¿ëÇÁ·Î±×·¥°ú »ç¿ëÀÚ¿¡°Ô ¿µÇâÀ» ÁÝ´Ï´Ù. °³º° ÀÀ¿ëÇÁ·Î±×·¥ÀÇ °æ¿ì, ´Ù¸¥ ¼±ÅûçÇ×Àº LOCK TABLE¹®À» »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·¯¸é, À§ÀÇ µÎ¹øÂ° Á¡¿¡ ¾ð±ÞµÈ ´ë·Î µ¥ÀÌÅͺ£À̽º ·¹º§ÀÌ ¾Æ´Ñ ÀÀ¿ëÇÁ·Î±×·¥ ·¹º§¿¡¼­ Å×À̺í Àá±ÝÀ¸·Î À̵¿ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.

Àá±Ý ȣȯ¼º

Ç¥ 39¿¡¼­´Â ´Ù¸¥ ÇÁ·Î¼¼½º°¡ ÁÖ¾îÁø »óÅ¿¡¼­ °°Àº ÀÚ¿øÀÇ Àá±ÝÀ» º¸À¯Çϰųª ¿äûÇÏ´Â °æ¿ì Àá±Ý ¿äûÀÇ Çã¿ë ¿©ºÎ¸¦ ³ªÅ¸³À´Ï´Ù. ¾Æ´Ï¿À´Â ¸ðµç ȣȯµÇÁö ¾ÊÀº Àá±ÝÀÌ ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ÀÇÇØ ¸±¸®½ºµÉ ¶§±îÁö ¿äûÀÚ°¡ ´ë±âÇØ¾ß ÇÑ´Ù´Â »ç½ÇÀ» ³ªÅ¸³À´Ï´Ù. ½Ã°£Á¾·á´Â Àá±Ý ´ë±â½Ã ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹´Â Àá±ÝÀÌ Çã¿ëµÈ °Í(´Ù¸¥ »ç¿ëÀÚ°¡ ÀÚ¿øÀ» ±â´Ù¸®Áö ¾Ê´Â °æ¿ì)À» ³ªÅ¸³À´Ï´Ù.

Ç¥ 39. Àá±Ý À¯Çü ȣȯ¼º

º¸À¯µÈ ÀÚ¿ø »óÅÂ
¿äûÁßÀÎ »óÅ ¾øÀ½ IN IS NS S IX SIX U NX X Z NW W
¾øÀ½ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹
IN ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¾Æ´Ï¿À ¿¹ ¿¹
IS ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À
NS ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¿¹ ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¿¹ ¾Æ´Ï¿À
S ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À
IX ¿¹ ¿¹ ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À
SIX ¿¹ ¿¹ ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À
U ¿¹ ¿¹ ¿¹ ¿¹ ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À
NX ¿¹ ¿¹ ¾Æ´Ï¿À ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À
X ¿¹ ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À
Z ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À
NW ¿¹ ¿¹ ¾Æ´Ï¿À ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¿¹
W ¿¹ ¿¹ ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¾Æ´Ï¿À ¿¹ ¾Æ´Ï¿À
¾à¾î:
I
Intent
N
None
NS
Next Key Share
S
Share
NX
Next Key Exclusive
X
Exclusive
U
Update
Z
Super Exclusive
NW
Next Key Weak Exclusive
W
Weak Exclusive

ÀÌ·¯ÇÑ Àá±Ý À¯Çü¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×Àº Àá±Ý ¼Ó¼ºÀÇ ³íÀǸ¦ ÂüÁ¶ÇϽʽÿÀ.

¼³¸í:
  • ¿¹ - ¿äûµÈ Àá±ÝÀ» Áï½Ã Çã¿ë
  • ¾Æ´Ï¿À - ¸±¸®½ºµÉ º¸À¯ Àá±ÝÀ̳ª ¹ß»ýÇÒ ½Ã°£Á¾·á¿¡ ´ëÇÑ ´ë±â

ÀÀ¿ëÇÁ·Î±×·¥ A´Â ÀÀ¿ëÇÁ·Î±×·¥ B ¿ª½Ã ¾×¼¼½º¸¦ ´ë±âÇÏ´Â Å×ÀÌºí¿¡¼­ Àá±ÝÀ» º¸À¯ÇÑ´Ù°í °¡Á¤ÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº ÀÀ¿ëÇÁ·Î±×·¥ B¸¦ À§ÇØ ¸î¸î ƯÁ¤ ¸ðµåÀÇ Àá±ÝÀ» ¿äûÇÕ´Ï´Ù. A¿¡ ÀÇÇØ º¸À¯µÈ Àá±Ý ¸ðµå´Â B¿¡ ÀÇÇØ ¿äûµÈ Àá±ÝÀ» Çã¿ëÇϰí, ÀÌ µÎ ¸ðµå´Â ȣȯ¼ºÀÌ ÀÖ´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÀ¿ëÇÁ·Î±×·¥ B¿¡ ´ëÇØ ¿äûµÈ Àá±Ý ¸ðµå´Â ÀÀ¿ëÇÁ·Î±×·¥ A¿¡ ÀÇÇØ º¸À¯µÈ Àá±Ý°ú ȣȯµÇÁö ¾Ê¾Æ¼­, ÀÀ¿ëÇÁ·Î±×·¥ B´Â °è¼Ó ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù. ±× ´ë½Å, ÀÀ¿ëÇÁ·Î±×·¥ A°¡ Àá±ÝÀ» ÇØÁ¦ÇÏ°í ´Ù¸¥ ¸ðµç ±âÁ¸ÀÇ È£È¯¼ºÀÌ ¾ø´Â Àá±ÝÀÌ ÇØÁ¦µÉ ¶§±îÁö ´ë±âÇØ¾ß ÇÕ´Ï´Ù.

Àá±Ý º¯È¯

Àá±Ý º¯È¯Àº ÇÁ·Î¼¼½º°¡ ÀÌ¹Ì Àá±ÝÀ» º¸À¯ÇÑ µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®¸¦ ¾×¼¼½ºÇÒ °æ¿ì¿¡ ¹ß»ýÇϰí, ¾×¼¼½º ¸ðµå¿¡´Â ÀÌ¹Ì º¸À¯ÇÑ Àá±Ýº¸´Ù ´õ Á¦ÇÑÀûÀÎ Àá±ÝÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÇÁ·Î¼¼½º´Â Ç×»ó µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®¿¡ ÇϳªÀÇ Àá±Ý¸¸À» º¸À¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, °°Àº µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®¿¡ ¿©·¯ ¹ø Àá±ÝÀ» (Á¶È¸¸¦ ÅëÇØ °£Á¢ÀûÀ¸·Î) ¿äûÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ¹Ì º¸À¯ÇÑ Àá±Ý ¸ðµå¸¦ º¯°æÇÏ´Â Á¶ÀÛÀ» º¯È¯À̶ó°í ÇÕ´Ï´Ù.

Çà¿¡ ¹ß»ýÇÏ´Â º¯È¯Àº °£´ÜÇÕ´Ï´Ù. ¿¹¿¡¼­Ã³·³ X°¡ ÇÊ¿äÇϰí S ¶Ç´Â U¸¦ º¸À¯ÇÑ °æ¿ì º¯È¯ÀÌ ÀϾ´Ï´Ù.

Å×À̺í°ú Çà¿¡ ´ëÇØ °íÀ¯ÇÑ Àá±Ý ¸ðµå°¡ ÀÖ½À´Ï´Ù. ±×·¯³ª, IX(ºÎºÐ µ¶Á¡) ¹× S(°øÀ¯) Àá±ÝÀº Àá±Ý º¯È¯¿¡ ´ëÇØ Ưº°ÇÑ °æ¿ìÀÔ´Ï´Ù. S ¶Ç´Â IX°¡ ´Ù¸¥ Àá±Ýº¸´Ù ´õ Á¦ÇÑÀûÀ̶ó°í ÇÒ ¼ö´Â ¾ø½À´Ï´Ù. ÀÌ Àá±Ý Áß Çϳª¸¦ º¸À¯ÇÏ°í ´Ù¸¥ Àá±ÝÀÌ ÇÊ¿äÇÑ °æ¿ì, º¯È¯Àº SIX(Share with ºÎºÐ µ¶Á¡) Àá±Ý¿¡¼­ °á°úÀûÀ¸·Î ÀϾ´Ï´Ù. ¸ðµç ´Ù¸¥ º¯È¯Àº ¿äûµÈ ¸ðµå°¡ ´ú Á¦ÇÑÀûÀÎ °æ¿ì, ¿äûµÈ Àá±Ý ¸ðµå°¡ º¸À¯µÈ Àá±Ý ¸ðµå°¡ µÇ°Ô ÇÕ´Ï´Ù.

ÇàÀ» °»½ÅÇÏ´Â Á¶È¸´Â º¯È¯À» µÎ ¹ø ÀÏÀ¸Å³ ¼öµµ ÀÖ½À´Ï´Ù. ÇàÀÌ »öÀÎ ¾×¼¼½º¸¦ ÅëÇØ ÀÐÇôÁö°í S·Î Àá±ÝµÇ¾ú´Ù°í °¡Á¤ÇϽʽÿÀ. ÇàÀ» Æ÷ÇÔÇÏ´Â Å×ÀÌºí¿¡´Â Ä¿¹öÇÏ´Â °¡´É Àá±ÝÀÌ ÀÖ½À´Ï´Ù. Àá±ÝÀÌ IX°¡ ¾Æ´Ñ IS¶ó°í °¡Á¤ÇÕ´Ï´Ù. ±× °á°ú·Î ÇàÀÌ º¯°æµÇ´Â °æ¿ì, Å×À̺í Àá±ÝÀº IX·Î º¯È¯µÇ°í ÇàÀº X·Î º¯È¯µË´Ï´Ù.

»ó±âÇÑ ¹Ù¿Í °°ÀÌ, Àá±Ý ÀÀ¿ëÇÁ·Î±×·¥Àº Á¶È¸ ½ÇÇà½Ã ÈçÈ÷ ³»ÀçÀûÀ¸·Î ÀϾ´Ï´Ù. ´Ù¸¥ Á¶È¸¿Í Á¶È¸ °áÇÕ¿¡¼­ ¾ò¾îÁø Àá±ÝÀÇ Á¾·ù¸¦ ¾Ë¸é ÀÀ¿ëÇÁ·Î±×·¥À» ¼³°èÇϰí Á¶Á¤ÇÏ´Â µ¥ µµ¿òÀÌ µË´Ï´Ù. ÀÌ ÁÖÁ¦¿¡ ´ëÇØ¼­´Â Àá±Ý¿¡ ¿µÇâÀ» ÁÖ´Â Àμö¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å

Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å´Â º¸À¯ÇÒ Àá±Ý ¼ö¸¦ ÁÙÀÌ´Â ³»ºÎ ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù. Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å´Â ¿©·¯ Çà Àá±Ý(´ÜÀÏ Å×ÀÌºí¿¡¼­)¿¡¼­ ´ÜÀÏ Å×À̺í Àá±Ý±îÁö ºÐÆ÷ÇÕ´Ï´Ù.

Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å´Â ÇöÀç ³Ê¹« ¸¹Àº Àá±Ý(¸ðµç À¯ÇüÀÇ)À» º¸À¯ÇÑ °æ¿ì¿¡ ¹ß»ýÇÕ´Ï´Ù.

Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å´Â ¿¡ÀÌÀüÆ®°¡ Àá±Ý ¸ñ·ÏÀÇ ÇÒ´çÀ» ÃʰúÇÑ °æ¿ì¿¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù(ÀÚµ¿ ¾÷±×·¹À̵å ÀüÀÇ ÃÖ´ë Àá±Ý ¸ñ·Ï ºñÀ²(maxlocks) ÂüÁ¶).

ÀÌ·¯ÇÑ ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å´Â ³»ºÎÀûÀ¸·Î Á¶ÀýµË´Ï´Ù. ¿ÜºÎÀûÀ¸·Î °¨ÁöÇÒ ¼ö ÀÖ´Â °á°ú´Â Çϳª ÀÌ»óÀÇ Å×ÀÌºí¿¡¼­ µ¿½Ã ¾×¼¼½º°¡ °¨¼ÒÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. º¸Åë, ÀûÇÕÇÏ°Ô ±¸¼ºµÈ µ¥ÀÌÅͺ£À̽º¿¡¼­ Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å´Â °ÅÀÇ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù.

Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å´Â, ¿¹¸¦ µé¾î ÀÀ¿ëÇÁ·Î±×·¥ ¼³°èÀÚ°¡ ´ëÇü Å×À̺íÀÇ »öÀÎÀ» »ç¿ëÇÏ¿© ¼º´É°ú µ¿½Ã¼ºÀ» Áõ°¡½Ãų °æ¿ì¿¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ÀÀ¿ëÇÁ·Î±×·¥Àº Å×ÀÌºí¿¡¼­ ¸¹Àº ºñÀ²ÀÇ ·¹Äڵ忡 ¾×¼¼½ºÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº(ÀÌ °æ¿ì¿¡) ±×·¸°Ô ¸¹Àº Å×À̺íÀÌ Àá±â°í, S ¶Ç´Â X Å×ÀÌºí¸¸ Àá±×´Â °ÍÀÌ ¾Æ´Ï¶ó °³º°ÀûÀ¸·Î °¢ ·¹Äڵ嵵 Àá±×´Â °ÍÀ» ¿¹ÃøÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡ ´ëÇÑ ¼Ö·ç¼ÇÀ¸·Î, ±×¸®°í ÀÀ¿ëÇÁ·Î±×·¥ ¼³°èÀÚ¿¡°Ô ¹®ÀÇÇÏ°í ³ª¸é µ¥ÀÌÅͺ£À̽º ¼³°èÀÚ´Â ÀÌ Æ®·£Àè¼Ç¿¡ ´ëÇØ LOCK TABLE¹®À» »ç¿ëÇÏ´Â °ÍÀ» ±ÇÀåÇÕ´Ï´Ù.

¶§¶§·Î, ·¹º§ ÀÚµ¿ ¾÷±×·¹ÀÌµå ¿äûÀ» (³»ÀçÀûÀ¸·Î) ¼ö½ÅÇÏ´Â ÇÁ·Î¼¼½º´Â ¸ðµç Å×ÀÌºí¿¡¼­ ·¹ÄÚµå Àá±ÝÀ» °ÅÀÇ º¸À¯ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å´Â ÇÁ·Î¼¼½º°¡ ¸¹Àº Àá±ÝÀ» º¸À¯ÇÒ ¼ö´Â ÀÖÁö¸¸(ÇØ´ç ¾çÀº ÇÁ·Î¼¼½º¸¶´Ù Àá±ÝÀÇ µ¥ÀÌÅͺ£À̽º ±¸¼º ¸Å°³º¯¼ö ¾Æ·¡¿¡ ÀÖÀ½), ·¹º§ ÀÚµ¿ ¾÷±×·¹ÀÌµå ¿äûÀ» Æ®¸®°ÅÇϱ⿡´Â ÃæºÐÇÏÁö ¾Ê±â ¶§¹®¿¡ ÀϾ´Ï´Ù. ÇÁ·Î¼¼½º´Â ´Ù¸¥ Àá±ÝÀ» ¿äûÇÏÁö ¾Ê°Å³ª Æ®·£Àè¼Ç Á¾·á¸¦ Á¦¿ÜÇÑ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù½Ã ¾×¼¼½ºÇÕ´Ï´Ù. ±×·± ´ÙÀ½, ´Ù¸¥ ÇÁ·Î¼¼½º´Â ·¹º§ ÀÚµ¿ ¾÷±×·¹ÀÌµå ¿äûÀ» Æ®¸®°ÅÇÏ´Â Àá±ÝÀ» ¿äûÇÒ ¼ö ÀÖ½À´Ï´Ù.

Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å·Î ÀÎÇØ ¹Þ¾ÆµéÀÏ ¼ö ¾ø´Â ·¹º§·Î µ¿½Ã¼ºÀÌ ÁÙ¾îµé °æ¿ì, ´ÙÀ½À» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

Àá±Ý ´ë±â ¹× ½Ã°£Á¾·á

ºñÁ¤»óÀûÀÎ »óȲ¿¡¼­ Àá±Ý ½Ã°£Á¾·á¸¦ °¨ÁöÇÏÁö ¾ÊÀ¸¸é, ÀÀ¿ëÇÁ·Î±×·¥Àº Àá±ÝÀÌ ÇØÁ¦µÇ±â¸¦ ¹«ÇÑÁ¤ ±â´Ù·Á¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Æ®·£Àè¼ÇÀÌ ´Ù¸¥ »ç¿ëÀÚÀÇ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÇÇØ º¸À¯µÈ Àá±ÝÀ» ±â´Ù¸®°í ´Ù¸¥ »ç¿ëÀÚ´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Àá±ÝÀ» ¸±¸®½ºÇÒ Æ®·£Àè¼ÇÀÌ È®¾àÇÏ´Â Æ®·£Àè¼ÇÀ» ½ÇÇàÇÏÁö ¾Ê°í ¿öÅ©½ºÅ×À̼ÇÀ» ¶°³ª´Â °æ¿ì¿¡ ÀÌ·¯ÇÑ »óȲÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ »óȲÀÌ ¹ß»ýÇϸé, ºÐ¸í ÀÀ¿ëÇÁ·Î±×·¥ ¼º´ÉÀÌ ´õ ³ªºüÁý´Ï´Ù. ÀÌ °æ¿ì¿¡ ÇÁ·Î±×·¥À» ¼³Ä¡ÇÏÁö ¾ÊÀ¸·Á¸é, locktimeout ±¸¼º ¸Å°³º¯¼ö¸¦ »ç¿ëÇÏ¿© ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Àá±ÝÀ» ¾ò±â À§ÇØ ´ë±âÇÏ´Â ÃÖ´ë ½Ã°£À» ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. (Àá±Ý ½Ã°£Á¾·á(locktimeout)¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.)

ÀÌ ¸Å°³º¯¼ö¸¦ »ç¿ëÇÏ¸é ºÐ»ê ÀÛ¾÷ ´ÜÀ§(DUOW) ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ ƯÈ÷ Àü¿ª ±³Âø »óŸ¦ ÇÇÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÝ´Ï´Ù. Àá±ÝÀÌ ½Ã°£Á¾·áÇÏ´Â °æ¿ì, Áï Àá±Ý ¿äûÀÌ º¸·ùÁßÀÎ ½Ã°£ÀÌ locktimeout °ªÀ» ³Ñ´Â °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥Àº ¿À·ù¸¦ ¼ö½ÅÇÏ°í Æ®·£Àè¼ÇÀº ±¸°£ º¹¿øµË´Ï´Ù. ¿¹¸¦ µé¾î, program1ÀÌ program2¿¡ ÀÇÇØ ÀÌ¹Ì º¸À¯µÈ Àá±ÝÀ» ¾òÀ¸·Á´Â °æ¿ì, program1Àº ½Ã°£Á¾·á°¡ Á¾·áµÇ¸é ÀÌÀ¯ ÄÚµå 68À» °¡Áø SQLCODE -911(SQLSTATE 40001)À» ¸®ÅÏÇÕ´Ï´Ù.

µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ ±¸¼º ¸Å°³º¯¼ö diaglevelÀÌ 4·Î ¼³Á¤µÇ°í, Àá±Ý ¿äûÀÌ ½Ã°£À» ÃʰúÇÒ °æ¿ì, db2diag.log¿¡ ´õ ¸¹Àº Á¤º¸°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¹ß°ßµÇ´Â Á¤º¸¿¡´Â ¿ÀºêÁ§Æ®, Àá±Ý ¸ðµå, ±×¸®°í ¿ÀºêÁ§Æ®¿¡¼­ Àá±ÝÀ» º¸À¯ÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Æ÷ÇԵ˴ϴÙ. ÇöÀç µ¿Àû SQL¹®À̳ª Á¤Àû ÆÐŰÁö À̸§ÀÌ ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù.

±³Âø »óÅÂ

µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥¿¡¼­, µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ´Â ÇÁ·Î¼¼½º¿¡ ÀÇÇÑ Àá±Ý °æÇÕÀ¸·Î ÀÎÇØ ±³Âø »óŰ¡ ¹ß»ýÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÇÁ·Î¼¼½º 1Àº X(exclusive) ¸ðµåÀÇ Å×À̺í A¸¦ Àá±×°í, ÇÁ·Î¼¼½º 2´Â X ¸ðµåÀÇ B¸¦ Àá±Þ´Ï´Ù. ±×·±µ¥, ÇÁ·Î¼¼½º 1ÀÌ X ¸ðµåÀÇ Å×À̺í B¸¦ Àá±×°í ÇÁ·Î¼¼½º 2°¡ X ¸ðµåÀÇ Å×À̺í A¸¦ Àá±×·Á°í ÇÏ´Â °æ¿ì, ÇÁ·Î¼¼½º´Â ±³Âø »óŰ¡ µË´Ï´Ù. ±³Âø »óÅ¿¡¼­, µÎ ÇÁ·Î¼¼½º´Â µÎ¹øÂ° Àá±Ý ¿äûÀÌ ±ÇÇѺο©µÉ ¶§±îÁö Á¤ÁöµÇ°í ÇÑ ÇÁ·Î¼¼½º°¡ È®¾à ¶Ç´Â ±¸°£ º¹¿øÀ» ½ÇÇàÇÒ ¶§±îÁö ¾î¶² ¿äûµµ ±ÇÇѺο©µÇÁö ¾Ê½À´Ï´Ù. ÀÌ »óÅ´ ¿ÜºÎ ¿¡ÀÌÀüÆ®°¡ ÇÁ·Î¼¼½º Áß Çϳª¸¦ Ȱ¼ºÈ­Çϰí ÇÁ·Î¼¼½º°¡ ±¸°£ º¹¿øÀ» ½ÇÇàÇϵµ·Ï °­Á¦(force)ÇÒ ¶§±îÁö ¹«±âÇÑÀ¸·Î À¯ÁöµË´Ï´Ù.

Àá±Ý ½Ã½ºÅÛ¿¡¼­ÀÇ ±³Âø »óÅ´ ±³Âø »óÅ ŽÁö±â¶ó°í ÇÏ´Â ºñµ¿±â ½Ã½ºÅÛ ¹é±×¶ó¿îµå ÇÁ·Î¼¼½º¿¡ ÀÇÇØ µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥¿¡¼­ 󸮵˴ϴÙ. ±³Âø »óÅ °ËÃâ±â´Â dlchktime ±¸¼º ¸Å°³º¯¼ö¿¡ ÁöÁ¤µÈ ´ë·Î Á¤±âÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù(±³Âø »óÅ Á¡°ËÀ» À§ÇÑ ½Ã°£ °£°Ý(dlchktime) ÂüÁ¶). ±³Âø »óÅ ŽÁö±â°¡ »ç¿ëÁßÀÎ °æ¿ì, ±³Âø »óÅ¿¡ ´ëÇÑ Àá±Ý ½Ã½ºÅÛÀ» °Ë»çÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º°¡ ÆÄƼ¼ÇÀ¸·Î ºÐÇÒµÈ °æ¿ì, °¢ ÆÄƼ¼ÇÀº Àá±Ý ±×·¡ÇÁ¸¦ Àü¿ª ±³Âø »óŰ¡ °ËÃâµÈ ½Ã½ºÅÛ Ä«Å»·Î±× ºä¸¦ °¡Áö°í ÀÖ´Â µ¥ÀÌÅͺ£À̽º ÆÄƼ¼Ç¿¡ º¸³À´Ï´Ù.

±³Âø »óŰ¡ ÀÖÀ¸¸é, ±³Âø »óÅ ŽÁö±â´Â ±¸°£ º¹¿øÇϱâ À§ÇØ ±³Âø »óŰ¡ µÈ ÇÁ·Î¼¼½º¸¦ ¼±ÅÃÇÕ´Ï´Ù. ¼±ÅÃµÈ ÇÁ·Î¼¼½º´Â ÀÛµ¿ÁßÀ̸ç, ÀÌÀ¯ ÄÚµå 2, SQLCODE -911(SQLSTATE 40001)°ú ÇÔ²² È£Ãâ ÀÀ¿ëÇÁ·Î±×·¥À¸·Î ¸®Åϵ˴ϴÙ. µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº ¼±ÅÃµÈ ÇÁ·Î¼¼½º¸¦ ÀÚµ¿À¸·Î ±¸°£ º¹¿øÇÕ´Ï´Ù. ±¸°£ º¹¿øÀÌ ¿Ï·áµÇ¸é, Èñ»ý(victim) ÇÁ·Î¼¼½º¿¡ ¼ÓÇÑ Àá±ÝÀº ¸±¸®½ºµÇ°í ±³Âø »óÅÂÀÎ ´Ù¸¥ ÇÁ·Î¼¼½º´Â °á±¹ °è¼ÓÇÒ ¼ö ÀÖ½À´Ï´Ù.

±³Âø »óÅ ŽÁö±â¿¡ ´ëÇÑ ÀûÇÕÇÑ °£°Ý ¼±ÅÃÀº ¼º´ÉÀÌ ÁÁÀºÁö¸¦ È®ÀÎÇϴµ¥ ÇÊ¿äÇÕ´Ï´Ù. °£°ÝÀÌ ³Ê¹« ªÀ¸¸é ºÒÇÊ¿äÇÑ ¿À¹öÇìµå¸¦ ÀÏÀ¸Å°°í, °£°ÝÀÌ ³Ê¹« ±æ¸é ±³Âø »óÅ´ ½ÂÀ뵃 ¼ö ¾ø´Â ½Ã°£·®¿¡ ´ëÇÑ ÇÁ·Î¼¼½º¸¦ ¿¬±âÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, wakeup °£°ÝÀÌ 30ºÐÀ¸·Î ¼³Á¤µÇ¸é ±³Âø »óÅ´ °ÅÀÇ 30ºÐÀÌ µË´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ ¼³°èÀÚ´Â ±³Âø »óŸ¦ ÇØ°áÇÏ´Â µ¥, °¡´ÉÇÑ Áö¿¬À» ±³Âø »óŸ¦ ŽÁöÇÏ´Â ¿À¹öÇìµå¿Í °°°Ô ÇØ¾ß ÇÕ´Ï´Ù.

ÆÄƼ¼ÇµÈ µ¥ÀÌÅͺ£À̽ºÀÇ °æ¿ì, ¸ðµç ÆÄƼ¼Ç¿¡¼­ °£°ÝÀÌ µ¿ÀÏÇØ¾ß ÇÕ´Ï´Ù(dlchktime ±¸¼º ¸Å°³º¯¼ö´Â ¸ðµç ÆÄƼ¼Ç¿¡¼­ µ¿ÀÏÇÑ °ªÀ¸·Î °»½ÅµÇ¾î¾ß ÇÕ´Ï´Ù). ´Ù¸¥ ÆÄƼ¼Ç¿¡¼­º¸´Ù īŻ·Î±× ³ëµå °ªÀÌ ÀÛÀ¸¸é, phantom ±³Âø »óŰ¡ °¨ÁöµË´Ï´Ù. ´Ù¸¥ ÆÄƼ¼ÇÀÇ °ªº¸´Ù īŻ·Î±× ³ëµåÀÇ °ªÀÌ ´õ Å« °æ¿ì, ±³Âø »óŰ¡ ŽÁöµÇ±â Àü¿¡ ¼¼ °³ ÀÌ»óÀÇ °£°ÝÀÌ Áö³ª°£ °Íó·³ ³ªÅ¸³³´Ï´Ù. ¸¹Àº ±³Âø »óŰ¡ ÆÄƼ¼ÇÀÌ ³ª´©¾îÁø µ¥ÀÌÅͺ£À̽º¿¡¼­ ŽÁöµÇ´Â °æ¿ì, Àá±Ý ´ë±â ¹× Åë½Å ´ë±â¿ë °èÁ¤¿¡ ´ëÇÑ dlchktimeÀÇ °ªÀ» Áõ°¡½ÃÄÑ¾ß ÇÕ´Ï´Ù.

µ¥ÀÌÅͺ£À̽º¸¦ ¾×¼¼½ºÇÏ´Â µÑ ÀÌ»óÀÇ µ¶¸³µÈ ÇÁ·Î¼¼½º¸¦ °¡Áø ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ±³Âø »óÅÂ¿Í °°Àº ¹æ½ÄÀ¸·Î ±¸Á¶È­µÇ´Â °æ¿ì, ´Ù¸¥ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©·¯ ÇÁ·Î¼¼½º°¡ ÀÐ±â ¹× ¾²±â¿¡ ´ëÇØ °°Àº Å×À̺íÀ» ¾×¼¼½ºÇÏ´Â ¿¹°¡ ÀÖ½À´Ï´Ù. ÇÁ·Î¼¼½º°¡ óÀ½¿¡´Â Àбâ Àü¿ë SQL Á¶È¸¸¦ ½ÇÇàÇÏ°í °°Àº Å×ÀÌºí¿¡¼­ SQL °»½ÅÀ» ½ÇÇàÇÏ´Â °æ¿ì, °°Àº µ¥ÀÌÅÍ¿¡ ´ëÇÑ ÇÁ·Î¼¼½º°£ÀÇ ÀáÀçÀûÀÎ °æÇÕ ¶§¹®¿¡ ±³Âø »óŰ¡ ÀϾ ±âȸ´Â Áõ°¡ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, µÎ Å×À̺íÀÌ Å×À̺íÀ» ¸ÕÀú Àаí Å×À̺íÀ» °»½ÅÇÏ´Â °æ¿ì, ÇÁ·Î¼¼½º A´Â Çà¿¡¼­ X Àá±ÝÀ» È®º¸ÇÏ·Á Çϸç, ¿©±â¼­ ÇÁ·Î¼¼½º B´Â ¹Ý´ë·Î S Àá±ÝÀ» °¡Áö´Â »óÅ·Πµé¾î°©´Ï´Ù. °á°úÀûÀ¸·Î, ±³Âø »óŰ¡ µÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ±³Âø »óŸ¦ ÇÇÇÏ·Á¸é, º¯°æÇÒ Àǵµ·Î µ¥ÀÌÅ͸¦ ¾×¼¼½ºÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥Àº ¼±ÅÃÀ» ½ÇÇàÇÒ ¶§ FOR UPDATE OFÀýÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.ÀÌ ÀýÀ» ÅëÇØ ÇÁ·Î¼¼½º A°¡ µ¥ÀÌÅ͸¦ ÀÐÀ¸·Á°í ÇÒ °æ¿ì, U Àá±ÝÀÌ ºÎ¿©µÈ °ÍÀ» È®ÀÎÇÕ´Ï´Ù.
ÁÖ:±³Âø »óŰ¡ ¹ß»ýÇÏ´Â ½Ã±â¸¦ ±â·ÏÇÒ ¸ð´ÏÅ͸¦ Á¤ÀÇÇÏ´Â °ÍÀ» °í·ÁÇϰíÀÚ ÇÒ ¼ö ÀÖ½À´Ï´Ù. SQL ÂüÁ¶¼­¿¡ ¼³¸íµÈ CREATE EVENT¹®À» »ç¿ëÇÏ¿© ¸ð´ÏÅ͸¦ ÀÛ¼ºÇϽʽÿÀ.

¿¬ÇÕ ½Ã½ºÅÛ È¯°æ¿¡¼­ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ º°¸í¿¡ ¾×¼¼½ºÇÒ °æ¿ì, ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¿äûÇÑ µ¥ÀÌÅÍ´Â µ¥ÀÌÅÍ ¼Ò½º¿¡¼­ÀÇ ±³Âø »óÅ·ΠÀÎÇØ »ç¿ëÇÏÁö ¸øÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ »óȲÀÌ ¹ß»ýÇϸé, DB2´Â µ¥ÀÌÅÍ ¼Ò½ºÀÇ ±³Âø »óÅ Á¶Àý ±â´ÉÀ» ÅëÇØ Àá±ÝÀ» ÇØ°áÇÕ´Ï´Ù. µÑ ÀÌ»óÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ °ÉÃÄ ±³Âø »óŰ¡ ¹ß»ýÇÒ °æ¿ì, DB2´Â µ¥ÀÌÅÍ ¼Ò½º ½Ã°£Á¾·á ¸ÞÄ¿´ÏÁòÀ» ÅëÇØ ±³Âø »óŸ¦ ÁߴܽÃŵ´Ï´Ù.

µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ ±¸¼º ¸Å°³º¯¼ö diaglevelÀÌ 4·Î ¼³Á¤µÇ°í, Àá±Ý ¿äûÀÌ ±³Âø »óÅ·ΠÀÎÇØ ½ÇÆÐÇÒ °æ¿ì, db2diag.log¿¡ ´õ ¸¹Àº Á¤º¸°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¹ß°ßµÇ´Â Á¤º¸¿¡´Â ¿ÀºêÁ§Æ®, Àá±Ý ¸ðµå, ±×¸®°í ¿ÀºêÁ§Æ®¿¡¼­ Àá±ÝÀ» º¸À¯ÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Æ÷ÇԵ˴ϴÙ. ÇöÀç µ¿Àû SQL¹®À̳ª Á¤Àû ÆÐŰÁö À̸§ÀÌ ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù.

Àá±Ý¿¡ ¿µÇâÀ» ÁÖ´Â Àμö

µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ Àá±ÝÀÇ ¸ðµå ¹× ¼¼ºÐ¼ºÀº Àμö(ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¼öÇàÇϴ ó¸® À¯Çü, ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅÍ¿¡ ¾×¼¼½ºÇÏ´Â ¹æ¹ý, »ç¿ëÀÚ°¡ ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¿©·¯ ¸Å°³º¯¼ö)ÀÇ Á¶ÇÕ¿¡ ÀÇÇØ °áÁ¤µË´Ï´Ù.

ÀÀ¿ëÇÁ·Î±×·¥ ó¸®

Àá±Ý ¼Ó¼ºÀ» °áÁ¤Çϱâ À§ÇØ, 󸮴 ³× °¡Áö À¯Çü Áß Çϳª·Î ºÐ·ùµÉ ¼ö ÀÖ½À´Ï´Ù.

Àбâ Àü¿ë
ÀÌ À¯ÇüÀº ¿ø·¡ Àбâ Àü¿ëÀ̰í(Ä¿¼­¿¡ °üÇÑ Á¤º¸´Â SQL ÂüÁ¶¼­ ÂüÁ¶), ¸í½ÃÀûÀÎ FOR READ ONLYÀýÀÌ Àְųª, ºÒ¸íÈ®ÇÏÁö¸¸ PREP ¶Ç´Â BIND ¸í·É¿¡ ÁöÁ¤µÈ BLOCKING ¿É¼Ç °ª ¶§¹®¿¡ SQL ÄÄÆÄÀÏ·¯°¡ Àбâ Àü¿ëÀÏ °ÍÀ̶ó°í »ý°¢µÇ´Â ¸ðµç ¼±Åù®À» Æ÷ÇÔÇÕ´Ï´Ù. ¿©±â¿¡´Â Share Àá±Ý(S ¶Ç´Â IS)¸¸ÀÌ ÇÊ¿äÇÕ´Ï´Ù.

º¯°æÇÒ Àǵµ
ÀÌ À¯ÇüÀº FOR UPDATEÀýÀ» °¡Áø ¶Ç´Â SQL ÄÄÆÄÀÏ·¯°¡ ºÒ¸íÈ®ÇÑ ¸í·É¹®À» ¹ø¿ªÇÔÀ¸·Î½á º¯°æÇÏ·Á°í ÇÏ´Â ¸ðµç ¼±Åù®À» Æ÷ÇÔÇÕ´Ï´Ù. ÀÌ À¯Çü¿¡¼­´Â Share Àá±Ý°ú Update Àá±ÝÀ» »ç¿ëÇÕ´Ï´Ù(ÇàÀÇ °æ¿ì S, U, X ¸¦ »ç¿ëÇϰí, Å×À̺íÀÇ °æ¿ì IX, U, X¸¦ »ç¿ëÇÕ´Ï´Ù.).

º¯°æ
ÀÌ À¯ÇüÀº UPDATE, INSERT, DELETE´Â Æ÷ÇÔÇÏÁö¸¸, UPDATE WHERE CURRENT OF ¶Ç´Â DELETE WHERE CURRENT OF´Â Æ÷ÇÔÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ À¯ÇüÀº Exclusive Àá±ÝÀÌ ÇÊ¿äÇÕ´Ï´Ù(X ¶Ç´Â IX).

Á¦¾îµÈ Ä¿¼­
ÀÌ À¯ÇüÀº UPDATE WHERE CURRENT OF¿Í DELETE WHERE CURRENT OF¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ÀÌ À¯ÇüÀº ¶ÇÇÑ Exclusive Àá±ÝÀÌ ÇÊ¿äÇÕ´Ï´Ù(X ¶Ç´Â IX).

¸ñÇ¥ Å×ÀÌºí¿¡ ´ëÇØ »ðÀÔ, °»½Å ¶Ç´Â »èÁ¦ÇÒ ¸í·É¹®Àº ºÎ¼Ó ¼±Åù®ÀÇ °á°ú¿¡ ±Ù°ÅÇÏ¿© µÎ °¡Áö ó¸® À¯ÇüÀ» °¡Áý´Ï´Ù. ºÎ¼Ó ¼±Åÿ¡¼­ ¸®ÅÏµÈ Å×ÀÌºí¿¡ ´ëÇÑ Àá±ÝÀº Àбâ Àü¿ë ó¸® ±ÔÄ¢¿¡ ÀÇÇØ °áÁ¤µË´Ï´Ù. ¸ñÇ¥ Å×ÀÌºí¿¡ ´ëÇÑ Àá±ÝÀº º¯°æ ó¸® ±ÔÄ¢¿¡ ÀÇÇØ °áÁ¤µË´Ï´Ù.

¾×¼¼½º °æ·Î

¾×¼¼½º °æ·Î´Â ƯÁ¤ Å×À̺í ÂüÁ¶·ÎºÎÅÍ µ¥ÀÌÅ͸¦ °Ë»öÇÏ´Â ÃÖÀûÈ­ ¾Ë°í¸®Áò¿¡ ÀÇÇØ ¼±ÅÃµÈ ¹æ½ÄÀÔ´Ï´Ù. (µ¥ÀÌÅÍ ¾×¼¼½º °³³ä ¹× ÃÖÀûÈ­¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.) ÃÖÀûÈ­ ¾Ë°í¸®Áò¿¡ ÀÇÇØ ¼±ÅÃµÈ ¾×¼¼½º °æ·Î´Â Àá±Ý ¸ðµå¿¡ ½É°¢ÇÑ ¿µÇâÀ» ¹ÌĨ´Ï´Ù. ¿¹¸¦ µé¾î, »öÀÎ ½ºÄµÀ» »ç¿ëÇÏ¿© ƯÁ¤ÇÑ ÇàÀ» À§Ä¡ ÁöÁ¤ÇÏ´Â °æ¿ì, ÃÖÀûÈ­ ¾Ë°í¸®ÁòÀº Å×ÀÌºí¿¡ ´ëÇØ Çà ·¹º§ Àá±Ý(IS)À» ¼±ÅÃÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¾×¼¼½º À¯ÇüÀº Á÷¿ø ¹øÈ£(EMPNO)¿¡ ´ëÇÑ »öÀÎÀÌ ÀÖ´Â EMPLOYEE Å×À̺í·ÎºÎÅÍ ´ÙÀ½°ú °°Àº ¸í·ÉÀ» »ç¿ëÇÏ¿© ÇÑ ¸íÀÇ Á÷¿ø¿¡ ´ëÇÑ Á¤º¸¸¦ ¼±ÅÃÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.

     SELECT *
       FROM EMPLOYEE
       WHERE EMPNO = '000310';

¸¶Âù°¡Áö·Î, »ç¿ëµÈ »öÀÎÀÌ ¾ø´Â °æ¿ì, Àüü Å×À̺íÀº ¼±ÅÃµÈ ÇàÀ» ã±â À§ÇØ ¼ø¼­¿¡¼­ ½ºÄµµÇ¾î¾ß Çϰí ÇϳªÀÇ Å×ÀÌºí ·¹º§(S)À» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌ À¯ÇüÀÇ ¾×¼¼½º´Â Ä÷³ SEX¿¡ »öÀÎÀÌ ¾ø´Â ´ÙÀ½ °æ¿ìó·³ ¸í·É¹®À» »ç¿ëÇÏ¿© ¸ðµç ³²ÀÚ Á÷¿øÀ» ¼±ÅÃÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

     SELECT *
       FROM EMPLOYEE
       WHERE SEX = 'M';

´ÙÀ½ Ç¥¿¡¼­´Â ¾×¼¼½º Ç÷£ Á¾·ù¿¡ µû¶ó ¾ò¾îÁø Àá±Ý °³¿ä¸¦ Á¦°øÇÕ´Ï´Ù. Ä÷³ Çìµù Á¤ÀÇ´Â ÀÀ¿ëÇÁ·Î±×·¥ 󸮿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ. ¾×¼¼½º ¹æ¹ý Á¤ÀÇ´Â µ¥ÀÌÅÍ ¾×¼¼½º °³³ä ¹× ÃÖÀûÈ­¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ. Á¦¾îµÈ Ä¿¼­ À¯ÇüÀÇ Ã³¸® ¹æ½ÄÀº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ °»½ÅÇϰųª »èÁ¦ÇÒ ÇàÀ» ãÀ» ¶§±îÁö ±âÁ¸ Ä¿¼­ÀÇ Àá±Ý ¸ðµå¸¦ »ç¿ëÇÔÀ» À¯ÀÇÇϽʽÿÀ. ÀÌ·¯ÇÑ Ã³¸® À¯ÇüÀÇ °æ¿ì, Ä¿¼­ÀÇ Àá±Ý ¸ðµå¿¡ °ü°è¾øÀÌ exclusive Àá±ÝÀº °»½Å ¶Ç´Â »èÁ¦¸¦ ½ÇÇàÇϱâ À§ÇØ Ç×»ó ¾ò¾îÁý´Ï´Ù.

´ÙÀ½ Ç¥¿¡¼­, ÇϳªÀÇ Àá±Ý ¸ðµå¸¸ ³ªÅ¸³ª´Â °æ¿ì, Å×ÀÌºí ·¹º§ Àá±Ý ¸ðµåÀÔ´Ï´Ù. µÎ Àá±Ý ¸ðµå Áß, ù¹øÂ°´Â Å×ÀÌºí ·¹º§ Àá±Ý ¸ðµåÀÌ°í µÎ¹øÂ°´Â Çà ·¹º§ Àá±Ý ¸ðµåÀÔ´Ï´Ù.

Ç¥ 40. Å×ÀÌºí ½ºÄµ¿ë Àá±Ý ¸ðµå
ºÐ¸® ·¹º§ Àбâ Àü¿ë º¯°æÇÒ intent º¯°æ
¾×¼¼½º ¹æ½Ä: ¼ú¾î°¡ ¾ø´Â Å×ÀÌºí ½ºÄµ
RR S U X
RS IS / NS IX / U IX / X
CS IS / NS IX / U IX / X
UR IN IX / U IX / X 
¾×¼¼½º ¹æ½Ä: ¼ú¾î°¡ ÀÖ´Â Å×ÀÌºí ½ºÄµ
RR S U U
RS IS / NS IX / U IX / U
CS IS / NS IX / U IX / U
UR IN IX / U IX / U

Ç¥ 41. »öÀÎ ½ºÄµ¿ë Àá±Ý ¸ðµå
ºÐ¸® ·¹º§ Àбâ Àü¿ë º¯°æÇÒ intent º¯°æ
¾×¼¼½º ¹æ½Ä: ¼ú¾î°¡ ¾ø´Â »öÀÎ ½ºÄµ
RR S IX / U X
RS IS / NS IX / U IX / X
CS IS / NS IX / U IX / X
UR IN IX / U IX / X 
¾×¼¼½º ¹æ½Ä: ´ÜÀÏ ±ÔÁ¤ ÇàÀ» »ç¿ëÇÑ »öÀÎ ½ºÄµ
RR IS / S IX / U IX / X
RS IS / NS IX / U IX / X
CS IS / NS IX / U IX / X
UR IN IX / U IX / X 
¾×¼¼½º ¹æ½Ä: ½ÃÀÛ ¹× Áß´Ü ¼ú¾î¸¸À» »ç¿ëÇÑ »öÀÎ ½ºÄµ
RR IS / S IX / S IX / X
RS IS / NS IX / U IX / X
CS IS / NS IX / U IX / X
UR IN IX / U IX / X 
¾×¼¼½º ¹æ½Ä: ¼ú¾î°¡ ÀÖ´Â »öÀÎ ½ºÄµ
RR IS / S IX / S IX / U
RS IS / NS IX / U IX / U
CS IS / NS IX / U IX / U
UR IN IX / U IX / U

Ç¥ 42¿¡´Â Çà ¸ñ·ÏÀ» ´ÙÀ½°ú °°ÀÌ Çϱâ À§ÇØ µ¥ÀÌÅÍ ÆäÀÌÁö ÀбⰡ Áö¿¬µÈ °æ¿ì¿¡ ´ëÇÑ Àá±Ý ¸ðµå°¡ ³ª¿Í ÀÖ½À´Ï´Ù.

µ¥ÀÌÅÍ ÆäÀÌÁöÀÇ ¿¬±âµÈ ¾×¼¼½º´Â, ÇàÀ¸·ÎÀÇ ¾×¼¼½º°¡ µÎ ´Ü°è¿¡¼­ ¹ß»ýÇÏ¿© Àá±Ý ½Ã³ª¸®¿À°¡ ÈξÀ º¹ÀâÇÏ°Ô µÇ´Â °ÍÀ» ¾Ï½ÃÇÕ´Ï´Ù. ºÐ¸® ·¹º§¿¡ µû¶ó °áÁ¤µÇ´Â µÎ °¡Áö ÁÖ¿ä ¹üÀ§°¡ ÀÖ½À´Ï´Ù. ¹Ýº¹ Àбâ(RR) ºÐ¸® ·¹º§Àº Æ®·£Àè¼Ç Á¾·á±îÁö ¾òÀº Àá±ÝÀ» À¯ÁöÇϱ⠶§¹®¿¡, ù¹øÂ° ´Ü°è¿¡¼­ ¾òÀº Àá±ÝÀÌ º¸À¯µÇ°í µÎ¹øÂ° ´Ü°è¿¡¼­ Àá±ÝÀ» ´õ ¾òÀ» Çʿ䰡 ¾ø½À´Ï´Ù. Àб⠾ÈÁ¤¼º ¹× Ä¿¼­ ¾ÈÁ¤¼º ºÐ¸® ·¹º§ÀÇ °æ¿ì, Àá±ÝÀº µÎ¹øÂ° ´Ü°èÁß¿¡ ¾ò¾î¾ß ÇÕ´Ï´Ù. µ¿½Ã¼ºÀ» ÃÖ´ëÈ­Çϱâ À§ÇØ, ¿©±â¿¡¼­´Â ù¹øÂ° ´Ü°è Áß¿¡ Àá±ÝÀ» È®º¸ÇÏÁö ¾Ê°í ±ÔÁ¤ÇÏ´Â Çุ ¸®Åϵǵµ·Ï ¸ðµç ¼ú¾î¸¦ ÀçÀû¿ëÇÕ´Ï´Ù.

Ç¥ 42. ¿¬±âµÈ µ¥ÀÌÅÍ ÆäÀÌÁö ¾×¼¼½º¿¡ »ç¿ëµÈ »öÀÎ ½ºÄµ¿ë Àá±Ý ¸ðµå
ºÐ¸® ·¹º§ Àбâ Àü¿ë º¯°æÇÒ intent º¯°æ
¾×¼¼½º ¹æ½Ä: ¼ú¾î°¡ ¾ø´Â »öÀÎ ½ºÄµ
RR IS / S IX / S X
RS IN IN IN
CS IN IN IN
UR IN IN IN
¾×¼¼½º ¹æ½Ä: ¼ú¾î°¡ ¾ø´Â »öÀÎ ½ºÄµ ÀÌÈÄÀÇ Áö¿¬µÈ µ¥ÀÌÅÍÆäÀÌÁö ¾×¼¼½º
RR IN IX / S X
RS IS / NS IX / U IX / X
CS IS / NS IX / U IX / X
UR IN IX / U IX / X 
¾×¼¼½º ¹æ½Ä: ¼ú¾î°¡ ¾ø´Â »öÀÎ ½ºÄµ
RR IS / S IX / S IX / S
RS IN IN IN
CS IN IN IN
UR IN IN IN
¾×¼¼½º ¹æ½Ä: ½ÃÀÛ ¹× Áß´Ü ¼ú¾î¸¸À» »ç¿ëÇÑ »öÀÎ ½ºÄµ
RR IS / S IX / S IX / X
RS IN IN IN
CS IN IN IN
UR IN IN IN
¾×¼¼½º ¹æ½Ä: ¼ú¾î°¡ ÀÖ´Â »öÀÎ ½ºÄµ ÀÌÈÄÀÇ Áö¿¬µÈ µ¥ÀÌÅÍÆäÀÌÁö ¾×¼¼½º
RR IN IX / S IX / S
RS IS / NS IX / U IX / U
CS IS / NS IX / U IX / U
UR IN IX / U IX / U

¾×¼¼½º °æ·Î´Â »ç¿ëÀÚ°¡ Á¦¾îÇÏÁö ¾Ê°í, ÃÖÀûÈ­ ¾Ë°í¸®Áò¿¡ ÀÇÇØ ¼±Åõ˴ϴÙ.

»ç¿ëµÈ ¾×¼¼½º °æ·Î´Â ¸ðµå¿Í Àá±ÝÀÇ ¼¼ºÐ¼º¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù.¿¹¸¦ µé¾î, ¹Ýº¹ Àбâ(RR) ºÐ¸® ·¹º§À» »ç¿ëÇÑ ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ ¼ú¾î ¾øÀÌ Å×ÀÌºí ½ºÄµÀ» »ç¿ëÇÑ UPDATE Á¶È¸´Â Å×ÀÌºí¿¡¼­ X Àá±ÝÀ» »ç¿ëÇÕ´Ï´Ù. »öÀÎÀ» ÅëÇØ ÇàÀ» ãÀº °æ¿ì, µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº Å×À̺íÀÇ °³º° ÇàÀ» Àá±×µµ·Ï ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.

¼±¾ðµÈ Àӽà Å×ÀÌºí ¹× Àá±Ý

¼±¾ðµÈ Àӽà Å×À̺íÀº ¼±¾ðÇÑ ÀÀ¿ëÇÁ·Î±×·¥¸¸ »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î Àá±âÁö ¾Ê½À´Ï´Ù. ÀÌ·¯ÇÑ À¯ÇüÀÇ Å×À̺íÀº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ À̸¦ ¼±¾ðÇÏ´Â ½ÃÁ¡À¸·ÎºÎÅÍ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¿Ï·áµÇ°Å³ª ¿¬°áÇØÁ¦µÉ ¶§±îÁö¸¸ Á¸ÀçÇÕ´Ï´Ù.

LOCK TABLE¹®

ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ LOCK TABLE¹®À» »ç¿ëÇÏ¿© ½ÃÀÛ Àá±Ý ¸ðµå¸¦ ¾ò´Â ±ÔÄ¢À» ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸í·É¹®Àº Àüü Å×À̺íÀ» Àá±Þ´Ï´Ù. LOCK TABLE¹®¿¡¼­ ÁöÁ¤µÈ Å×ÀÌºí¸¸ÀÌ Àá±ÝÀÌ µË´Ï´Ù. ÁöÁ¤µÈ Å×À̺íÀÇ »óÀ§ Å×À̺í°ú Á¾¼Ó Å×À̺íÀº Àá±ÝÀÌ µÇÁö ¾Ê½À´Ï´Ù. ¾×¼¼½ºµÉ ´Ù¸¥ Å×À̺íÀ» Àá±×´Â °ÍÀÌ µ¿½Ã¼º°ú ¼º´É¿¡ ÀÇÇÏ¿© ±â´ëÇÏ´Â °á°ú¸¦ ¾ò´Â µ¥ ÇÊ¿äÇÑÁö¸¦ °áÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ÀÛ¾÷ ´ÜÀ§(UOW)°¡ È®¾àµÇ°Å³ª ±¸°£ º¹¿øµÉ ¶§±îÁö Àá±ÝÀº ¸±¸®½ºµÇÁö ¾Ê½À´Ï´Ù.

¿©·¯ ¸íÀÇ »ç¿ëÀÚ°¡ Å×À̺íÀ» °øÀ¯ÇÏ´Â °æ¿ì, ´ÙÀ½°ú °°Àº ÀÌÀ¯·Î Å×À̺íÀ» Àá±×·Á ÇÒ ¼ö ÀÖ½À´Ï´Ù.

LOCK TABLE IN SHARE MODE
Àû´çÇÑ Àϰü¼ºÀÌ ÀÖ´Â µ¥ÀÌÅ͸¦ ¾×¼¼½ºÇÏ·Á ÇÕ´Ï´Ù. Áï, ƯÁ¤ÇÑ ½Ã±â ÀûÀýÇÑ ½ÃÁ¡ÀÇ Å×ÀÌºí¿¡ ´ëÇÑ ÇöÀç µ¥ÀÌÅ͸¦ ¸»ÇÏ´Â °ÍÀÔ´Ï´Ù. Å×ÀÌºí¿¡¼­ Ȱµ¿ÀÌ ºó¹øÈ÷ ÀϾ´Â °æ¿ì, Àüü Å×À̺íÀÌ ¾ÈÁ¤¼ºÀÌ ÀÖ´ÂÁö È®ÀÎÇÏ´Â ¹æ¹ýÀº Å×À̺íÀ» Àá±×´Â °Í »ÓÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ÀÀ¿ëÇÁ·Î±×·¥Àº Å×À̺íÀÇ ½º³À¼¦À» ÇÏ·Á°í ÇÕ´Ï´Ù. ±×·¯³ª, ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Å×À̺íÀÇ ÇàÀ» ó¸®ÇØ¾ß ÇÏ´Â µ¿¾È, ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥Àº »ç¿ëÀÚ°¡ ¾ÆÁ÷ °»½ÅÇÏÁö ¾ÊÀº ÇàÀ» °»½ÅÇϰí ÀÖ½À´Ï´Ù. ÀÌ °»½ÅÀº ¹Ýº¹ Àбâ(RR)¸¦ »ç¿ëÇÏ¿© ÇÒ ¼ö ÀÖÁö¸¸, »ç¿ëÀÚ°¡ ¿øÇϴ Ȱµ¿Àº ¾Æ´Õ´Ï´Ù.

´Ù¸¥ ¹æ¹ýÀ¸·Î, ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ LOCK TABLE IN SHARE MODE¹®À» ¹ßÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. °Ë»ö ¿©ºÎ¿¡ °ü°è¾øÀÌ ÇàÀº º¯°æµÇÁö ¾Ê½À´Ï´Ù. ±×·¯¸é, ÇÊ¿äÇÑ ¸¸Å­ÀÇ ÇàÀ» °Ë»öÇÏ¿© °Ë»öÇÑ ÇàÀÌ °Ë»ö Àü°ú °°ÀÌ º¯°æµÇÁö ¾ÊÀº °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.

LOCK TABLE IN SHARE MODE¸¦ »ç¿ëÇÏ¿© ´Ù¸¥ »ç¿ëÀÚ´Â Å×À̺í·ÎºÎÅÍ µ¥ÀÌÅ͸¦ °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ÇàÀ» °»½Å, »èÁ¦Çϰųª Å×À̺í·Î ÇàÀ» »ðÀÔÇÒ ¼ö ¾ø½À´Ï´Ù.

LOCK TABLE IN EXCLUSIVE MODE
¸¹Àº Å×ÀÌºí ºÎºÐÀ» °»½ÅÇÏ·Á°í ÇÕ´Ï´Ù. ´Ù¸¥ ¸ðµç »ç¿ëÀÚ°¡ ÇàÀÌ °»½ÅµÉ ¶§¸¶´Ù ÇàÀ» Àá±×´Â °Íº¸´Ù Å×À̺íÀ» ¾×¼¼½ºÇÏÁö ¾Ê°í, ¸ðµç º¯°æ»çÇ×ÀÌ È®¾àµÈ ÈÄ¿¡ ÇàÀÇ Àá±ÝÀ» Ǫ´Â °ÍÀÌ ºñ¿ëµµ ´ú µé°í ´õ È¿À²ÀûÀÔ´Ï´Ù.

LOCK TABLE IN EXCLUSIVE MODE¿¡¼­´Â ¸ðµç ´Ù¸¥ »ç¿ëÀÚ°¡ Àá±ÝµË´Ï´Ù. ¹ÌÈ®¾à Àбâ ÇÁ·Î±×·¥ÀÌ ¾Æ´Ï¸é ¾î¶°ÇÑ ÇÁ·Î±×·¥µµ Å×ÀÌºí¿¡ ¾×¼¼½ºÇÒ ¼ö ¾ø½À´Ï´Ù.

LOCK TABLE¹®¿¡ °üÇÑ ¼¼ºÎ»çÇ×Àº SQL ÂüÁ¶¼­ ¸Å´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ.

LOCK TABLE¹®À» »ç¿ëÇÏÁö ¾Ê´Â ´Ù¸¥ ¹æ¹ýÀº ALTER TABLE¹®À» LOCKSIZE ¸Å°³º¯¼ö¿Í ÇÔ²² »ç¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. LOCKSIZE ¸Å°³º¯¼ö¸¦ »ç¿ëÇϸé Çà Àá±Ý ¶Ç´Â Å×À̺í Àá±ÝÀ» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ðµç ¼±ÅûçÇ×Àº Å×À̺íÀÌ ´ÙÀ½¿¡ ¾×¼¼½ºµÉ ¶§ ¼±ÅÃµÈ Àá±ÝÀÇ Å©±â°¡ µË´Ï´Ù. Å×À̺í ÀÛ¼º½Ã Çà Àá±ÝÀ» ¼±ÅÃÇÏ´Â °ÍÀº ±âº» Àá±Ý Å©±â¸¦ ¼±ÅÃÇÏ´Â °Í°ú ´Ù¸£Áö ¾Ê½À´Ï´Ù. Å×À̺í Àá±ÝÀ» ¼±ÅÃÇϸé, È®º¸ÇØ¾ß ÇÒ Àá±ÝÀÇ ¼ö¸¦ Á¦ÇÑÇÔÀ¸·Î½á ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, Àüü Å×ÀÌºí¿¡¼­ ¸ðµç Àá±ÝÀÌ º¸·ùµÇ±â ¶§¹®¿¡ µ¿½Ã¼ºÀº °¨¼ÒµË´Ï´Ù. ÀÌ ¿É¼ÇÀ» ¼±ÅÃÇØµµ Á¤»óÀûÀ¸·Î ¹ß»ýÇÏ´Â Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵å´Â ¸·Áö ¸øÇÕ´Ï´Ù. ALTER TABLE¹®¿¡ °üÇÑ ¼¼ºÎ»çÇ×Àº SQL ÂüÁ¶¼­ ¸Å´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ.

CLOSE CURSOR WITH RELEASE

WITH RELEASEÀýÀ» Æ÷ÇÔÇÏ´Â CLOSE CURSOR¹®À» »ç¿ëÇÏ¿© Ä¿¼­¸¦ ´ÝÀ¸¸é, µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº Ä¿¼­¿ëÀ¸·Î º¸·ùµÇ¾î ÀÖ´Â ¸ðµç Àбâ Àá±Ý(ÀÖÀ» °æ¿ì)À» ÇØÁ¦ÇÏ·Á°í ÇÕ´Ï´Ù. Àбâ Àá±ÝÀº IS, SÀ̰í, U´Â S, NS¿Í ÇÔ²² Å×À̺í Àá±ÝÀ̸ç, U´Â Çà Àá±ÝÀÔ´Ï´Ù. Àá±Ý ¸ðµå¿¡ ´ëÇØ¼­´Â Àá±Ý ¼Ó¼º¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

WITH RELEASEÀýÀº CS ¶Ç´Â UR ºÐ¸® ·¹º§ ¾Æ·¡¿¡¼­ Á¶ÀÛÁßÀÎ Ä¿¼­¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. RS ¶Ç´Â RR ºÐ¸® ·¹º§ ¾Æ·¡¿¡¼­ Á¶ÀÛÁßÀÎ Ä¿¼­¿ëÀ¸·Î ÁöÁ¤ÇÏ´Â °æ¿ì, WITH RELEASEÀýÀº ÇØ´ç ºÐ¸® ·¹º§ÀÇ ¿©·¯ º¸ÁõÀ» Á¾·áÇÕ´Ï´Ù. ƯÈ÷, RS Ä¿¼­¿¡¼­ ¹Ýº¹ ºÒ°¡´É Àбâ Çö»óÀÌ ¹ß»ýÇϰí, RR Ä¿¼­¿¡¼­µµ ¹Ýº¹ ºÒ°¡´É Àбâ Çö»óÀ̳ª ÆÒÅÒ Àбâ Çö»óÀÌ ¹ß»ýÇÕ´Ï´Ù.

¿ø·¡ RR ¶Ç´Â RSÀÎ Ä¿¼­´Â WITH RELEASEÀýÀ» »ç¿ëÇÏ¿© ´ÝÇôÁø ÈÄ¿¡ ´Ù½Ã ¿­¸®°í »õ·Î¿î Àбâ Àá±ÝÀÌ ¾ò¾îÁý´Ï´Ù.

CLOSE CURSOR¹®¿¡ ´ëÇÑ ´Ù¸¥ ±âº» Àý°úÀÇ ºñ±³¿¡ ´ëÇØ¼­´Â DECLARE CURSOR WITH HOLD¹®ÀÇ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

DB2 CLI ¿¬°á ¼Ó¼ºÀÎ SQL_ATTR_CLOSE_BEHAVIOR¸¦ CLI ÀÀ¿ëÇÁ·Î±×·¥¿¡ »ç¿ëÇÏ¿© µ¿ÀÏÇÑ °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. CLI Guide and ReferenceÀÇ SQLSetConnectAttr()Àý¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

Àá±Ý °í·Á»çÇ× ¿ä¾à

´ÙÀ½Àº Àá±Ý¿¡ ´ëÇØ ±â¾ïÇØ¾ß ÇÒ »çÇ×ÀÔ´Ï´Ù.


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]