You are on page 1of 32

DATABASE

By: Sommith THOUMMALY


ບົ ດທີ 7

ການກູ້ຄືນ ແລະ ການຄວບຄຸມລຳດັບການ


ປະມວນຜົນຂອງຂໍ້ມູນ
(Recovery and Concurrency)
¡¾ນ­¯È¼ນ­Á¯¤ ( Transaction )

£ ¸ ¾´ Ï ¾¨ ¢ º ¤¡ ¾­ ¯ È
¼­ Á¯ ¤£ õ
¡÷È́ ¤¾­ ê ¾¤ª ñ¡ ¡ ½¦ ¾©( Logical Unit work ) ê †
À́ º̂ ´ ó
¡ ¾­ ¯ ½
´ ¸ ­ ° ­ö ¡ ÷
È́ ¤¾­ ©„¤¡ È
¾¸ ¥½À» ñ
©Ã¹ É
¢ Ó́ø­ ´ ó
£ ¸ ¾´ « õ
¡ªÉ
º ¤¦ ö́ ®ø­ ¦ ½ÀÏ ó
µøÀ§ „­ À©ó́
È ¹ù
õ À̧ í¾Ä©Ȩ́È
¾
¸È
¾À¯ ñ­ ¡ ÷
È́ ¤¾­ ê ¾¤ª ñ
¡ ¡ ½¦ ¾©ê †
º ¾­ ÷
¨ ¾©Ã¹ É́ó
¡ ¾­ ° ò©¡ ö
©¦ ¿ì ñ
®£ º ®£ ÷
´ £ ¸ ¾´ « õ
¡ªÉ
º ¤¢ º ¤¢ Ó́ø
­
Ä©É
. í ¡ ¾­ ¯ ½´ ¸ ­ ° ­ö ¡ ¾­ ¯ È
¼­ Á¯ ¤, « É
¾¡ ¾­ ¯ ½´ ¸ ­ ° ö
­ ¦ ¿Àì ñ©Ï ¾¨ £ ¸ ¾´ ¸ È
¾ê ÷
¡ £ ¿¦ „¤² ¾¨ í
¡ ¾­ ¯ È
¼­ Á¯ ¤¥½ª É
º ¤« õ
¡ ¯ ½´ ¸ ­ ° ö­ ê ñ
¤Ï ö
© Áì ½ « É
¾¹ ¾¡ À¡ ó©£ ¸ ¾´ ° ò
©² ¾©¢ œ
­ ©¨ ´ 󮾤£ ¿¦ „¤
í ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤¨ ñ
¤¯ ½´ ¸ ­ ®Ò
Áì Ȩ́ ¹ù
õ ¨ñ
¤®Ò
Ä©É
«õ¡ ¯ ½´ ¸ ­ ° ­ö ¥½ª É
º ¤À»ñ
©¡ ¾­ ¨ ö
¡ Àì ó
¡ ¡ ¾­
¯ ½´ ¸ ­ ê ÷
¡ £ ¿¦ „¤² ¾¨ í ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤©„¤¡ È
¾¸ ê ñ¤Ï ö
©.
ª ö̧ µÈ
¾¤
ª ¾ª ½ì ¾¤ SP À¯ ­ñ ª ¾ª ½ì ¾¤®ñ
­ êõ
¡ ¦ ò­ £ É
¾ê †
»ñ®À¢ í¾À§ …
¤¯ ½¡ º ®©Ȩ́¨ ì ½¹ ñ
© ¡ ¾­ ¦ ‰
¤(SP#)
ì ½¹ ñ
©¦ ­ò £ É
¾ (P#) Áì ½ ¥ ¿­ ¸ ­ ¦ ­ò £ É
¾( QTY ). ©„¤­ ˜­ À́ º̂ »ñ
®¦ ò­
£É
¾ÃÏ úÀ¢ í¾´ ¾ª É
º ¤À»ñ
©¡ ¾­ ¯ ñ
®¯ ÷
¤¢ Ó́ø­ ì ¾¨ ¡ ¾­ ¦ ò
­ £É
¾ê †
´óí ª ¾ª ½ì ¾¤ P- À§ …
¤¯ ½¡ º ®©Ȩ́¨ ì ½
¹ñ
© (P#) Áì ½ ¥ ¿­ ¸ ­ ¦ ò
­ £É
¾( TOTQTY) ©¨ ´ ó
£È¾Àê ‰
¾¡ ñ
® TOTQTY+SP.QTY ©„¤­ ˜­ ì ¾¨ ¡ ¾­
¯È
¼­ Á¯ ¤Ã­ ¡ ¾­ »ñ
®¦ ­ò £ É
¾¥‡
¤¯ ½¡ º ®©Ȩ́¨
 ¡ ¾­ À² ™
š́ ¢ Ó́ø­ ( Insert ) À¢ í¾Ä¯ í SP
 ¡ ¾­ ¯ ñ
®¯ ÷
¤¢ Ó́ø­ ¥ ¿­ ¸ ­ ¦ ò­ £ É
¾ (Update ) í P
ຕົວຢ່າງການໃຊ້ຄຳສັ່ງໃນ SQL
ໃນການປະມວນຜົນລາຍການປ່ຽນແປງ
INSERT INTO SP( SP#,P#,QTY ) VALUES ( ‘S5’,’P1’,1000 )
UPDATE P SET TOTQTY = TOTQTY+1000 WHER E P# =’P1’
COMMIT ;
FINISH
ROLLBACK;
FINISH
RETURN;
¥ ¾¡ £ ¿¦ „¤ SQL ¢ É
¾¤Àê ò
¤¥½À¹ ñ­ Ä©Ȩ́È
¾À́ º̂ À»ñ
©¡ ¾­ ¯ ½´ ¸ ­ ° ­ö ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ ¥ ½À» ñ
©
¡ ¾­ À² š́ (Insert) ¢ Ó́ø­ í ª ¾ª ½ì ¾¤ SP Áì ½ į À»ñ
©¡ ¾­ ¯ ñ®¯ ÷
¤ (Update) ¢ Ó́ø
­ í ª ¾ª ½ì ¾¤ P
©¨ À»ñ
©¡ ¾­ ¯ ñ
®£ È
¾ TOTQTY = TOTQTY + SP.QTY. « É
¾¦ ¿-Àì ñ©¥ ½À» ñ
©¡ ¾­ ¯ ½´ ¸ ­ ° ­ö £ ¿¦ „¤
COMMIT Áª È
«É¾À¡ ó
© ERROR ¢ ­œ¥½À» ñ
©¡ ¾­ ¨ ö
¡ Àì ó
¡ £ ¿¦ „¤ê †
°È¾­ ´ ¾ê ñ
¤Ï ö
©Â©¨ ¡ ¾­ ç É
£ ¿¦ „¤
ROLLBACK
INSERT INTO SP( SP#,P#,QTY )
VALUES ( ‘S5’,’P1’,1000 )
UPDATE P SET TOTQTY =
TOTQTY+1000 WHERE P# =’P1’
COMMIT ;
FINISH
ROLLBACK;
FINISH
RETURN;
COMMIT Áì ½ ROLLBACK
COMMIT À¯ ­ñ £ ¿¦ „¤ê †®º ¡ À« ò
¤®È
º ­ ¦ ¿Àì ñ
© “ End of Transaction” À§ …
¤®º ¡ -ù É
ª ö̧ ¥ ñ
©¡ ¾­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤» ø
É
-̧ È
¾¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤¦ ¿-Àì ñ
©»¼®»û
º ¨ Áì Ȩ́ Áì ½
« ¾­ ¢ Ó́ø­ µø
È
í ¦ ½² ¾¸ ½¦ ½-À« ¨ ì ½² ¾®.
ROLLBACK À¯ ñ­ £ ¿¦ „¤®º ¡ Àì ó¡ ¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤À­ º̂ ¤¥ ¾¡ À¡ ó©¦ …
¤° ò
©
¯ö
¡ ¡ ½ª ò
¢œ­ À»ñ
©Ã¹ É
ªÉº ¤¨ ö
¡ Àì ó¡ £ ¿¦ „¤¯ ½´ ¸ ­ ° ö­ ° È
¾­ ´ ¾ê ñ
¤Ï ö
© Áì ½ ¨ É
º­¡ñ
®Ä¯ ¥ ÷
©Àì š́ ª í­ ¡ È
º­
À¢ í¾À»ñ
©¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ¡ ¾­ ¯ È
¼­ Á¯ ¤.
£ ¸ ¾´ ¢ ñ
©¢ É
º ¤¢ º ¤ì ½®ö®( System Failure )
À¯ ñ
­ £ ¸ ¾´ ¢ ñ©¢ û
º ¤ê †
À¡ ó
©¢ œ
­ À­ º̂ ¤¥¾¡ ij ©ñ
® ¹ù
õ ì ñº ¡ £ É
¾¤§ ‡
¤´ ó
° ö­ À»ñ
©Ã¹ É
¢ Ó́ø
­ µø
í Î ú̧ ¨
È
£ ¸ ¾´ ¥¿Ã­ ì ½¹ ¸ È
¾¤¡ ¾­ ¯ ½´ ¸ ­ ¨ ñ
¤®Ò
«õ
¡ ®ñ­ ê ô
¡ À¡ ñ
®ì ö
¤Ä¯ í Disk À¡ ©
ó £ ¸ ¾´ À¦ ¨ ¹ ¾¨ ¢ œ
­,
Áª È
®Ò́ó
° ö­ ¡ ñ
®¢ Ó́ø­ í « ¾­ ¢ Ó́ø
­ ê †À¡ ñ
®®ñ
­ êô
¡ ĸ É
í Disk ¡ È
º ­ -Î É
¾­ š, -§ ‡
¤£ ¸ ¾´ ¢ ñ
©¢ É
º ¤ê †
À¡ ó©¢ œ
­
í ì ñ
¡ ¦ ½­ ½©„¤¡ È
¾¸ ¥½» ¥
Éñ
ø ¡ ¡ ñ­ í ­ ¾´ ¢ º ¤ “ Soft Crash”

£ ¸ ¾´ ¢ ñ
©¢ É
º ¤ê †À¡ ó
©¥ ¾¡ ¦ ˆ®­ñ ê ô¡ ¢ Ó́ø
­ ( Media Failure )
À¯ ñ
­ £ ¸ ¾´ ¢ ñ©¢ É
º ¤ê †
À¡ ó
©¢ œ
­ ´ ó° ö
­ ¡ ½ê ö
®¡ ñ®¢ Ó́ø­ í « ¾­ ¢ Ó́ø
­ À§ „­ Disk À¯ È
®¾¤Àê º̂ Àº ­š ¸ È
¾
” Hard Crash “
¡ ¾­ ¡ ø
£õ
É ­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ê †
À¡ ó
©¥¾¡ £ ¸ ¾´ ¢ ñ
©¢ É
º ¤¢ º ¤ì ½®ö
®

£ ¸ ¾´ ¢ ñ
©¢ É
º ¤¢ Ó
ì ½®ö®¥½À»ñ©Ã¹ É
¢ Ó́ø­ í Î ú̧ ¨ £ ¸ ¾´ ¥¿À¦ ¨ į § ‡
¤° ö­ ê †
ª ¾´ ´ ¾£ õ
, í ¡ ¾­ ¯ ½
´ ¸ ­ ° ­ö ¡ È
º ­ ê †¥ ½À¡ ó©®ñ­ ¹ ¾¢ œ
­ º ¾©´ ó
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤®¾¤ì ¾¨ ¡ ¾­ ê†
¯ ½´ ¸ ­ ° ö­ Áì Ȩ́´ ó
¡ ¾­
COMMIT »¼®»ûº ¨ -Áì Ȩ́ ¹ ùõ ®¾¤ì ¾¨ ¡ ¾­ ¨ ñ
¤¯ ½´ ¸ ­ ° ­ö ®Ò
Áì Ȩ́ Áì ½ ´ ó
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤Ã©
ê †¨ ñ¤®Ò
«õ
¡ À¡ ñ®ì ö¤ Disk, § ‡¤Ã­ ¡ ¾­ ¡ £ø
Éõ­ ¢ º ¤¢ Ó́ø­ ­ ˜­ ¦ ¿ì ñ
®ì ¾¨ ¡ ¾­ ê †¦ ¿-Àì ñ©Áì Ȩ́ì ½®ö
®¥ñ©¡ ¾­
« ¾­ ¢ Ó́ø­ ¥ ½ª É
º ¤À» ñ©¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤­ ˜­ £ õ­ ÃÏ ú, ¦ Ȩ̀­ ì ¾¨ ¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ê †
®Ò
¦ ¿-Àì ñ
©ì ½®ö®¥½ª É
º ¤À»ñ©¡ ¾­ ¨ ö¡ Àì ó
¡ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤©„¤¡ È
¾¸ ê ñ
¤-Ï ö
©, -À§ …
¤®ñ
­ ¹ ¾¡ £ð õ̧ È
¾¥½» ø
É
-Ä©É
-
Á­ ¸ é¸ È
¾´ ó
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤Ã©-Á©È
-ê †
À»ñ
©¡ ¾­ ¯ ½´ ¸ ­ ° ­ö ¦ ¿-Àì ñ©Áª È̈ñ
¤®Ò
Ä©É
«õ¡ ®ñ­ ê ô
¡ìö
¤ Disk
À² º̂ À»ñ©¡ ¾­ ¯ ½´ ¸ ­ ° ö­ § Õ (Redo) ¹ ù
õ´ ó
ì ¾¨ ¡ ¾­ ¯ È
¼­ éª É
º ¤À»ñ
©¡ ¾­ ¨ ö
¡ Àì ó
¡ (Undo) À² º̂
ù É
« ¾­ ¢ Ó́ø­ µø
í ² ¾¸ ½« õ¡ ª É
È º ¤ Áì ½ ´ ó
¦ ½-À« ¨ ì ½² ¾®
¡ ¾­ ¨ ö
¡ Àì ó
¡ (Undo) Ï ¾¨ -À« ò
¤¡ ¾­ ­ ¿Àº ö¾¢ Ó́ø
­ À¡ ‰
¾¡ È
º ­ ¯ ½´ ¸ ­ ° ö­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤
À¢ í¾´ ¾Áê ­ , ¦ Ȩ̀­ ¡ ¾­ ¯ ½´ ¸ ­ ° ö­ § Õ (Redo) Ï ¾¨ À« ò
¤¡ ¾­ ­ ¿-Àº ö
¾£ È
¾ê †
¯ ½´ ¸ ­ ° ­ö -ÃÏ È
-́ ¾Áê ­
©„¤­ ˜­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ê †
¯ ½´ ¸ ­ ° È
¾­ į Áì Ȩ́ ( ´ ó¡ ¾­ COMMIT Áì Ȩ́) ¥ ½ª É
º ¤« õ
¡ ¯ ½´ ¸ ­
° ­ö ÃÏ ú(Redo), ¦ Ȩ̀­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ê †
¯ ½´ ¸ ­ ° ­ö ¨ ñ
¤®Ò
êñ
¤Áì Ȩ́¥½ª É
º ¤« õ
¡¨ö
¡ Àì ó
¡ (Undo)

¦ ¿ì ®
ñ ¯ ñ­ ¹ ¾ê †-̧ È
¾ ì ½®ö
®¥ ½-» ø
É
-Ä©É
-Á­ ¸ -é¸ È
¾ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤-é-Á©È
êó¥ ½ª É
º ¤¨ ö¡ Àì ó
¡ ¹ù
õì ¾¨ ¡ ¾­ -
¯È
¼­ -Á¯ ¤Ã©¥½ª É
º ¤À» ñ
©¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ÃÏ ú
­ ˜­ , £ ¿ª º ®¡ ð
£ õç Ȩ́ò
ê ¡ó ¿­ ö©¥÷
©¡ ¸ ©¦ º ® ( Check
Point ) ¢ ­œ Áì ½ ù É
ì ½®ö
®¯ ½ª ò®©
ñ ¡ ¾­ À» ñ
©¡ ¾­ À£ º̂ ­ ¨ É
¾¨ ¢ º ¤¢ Ó́ø­ ¥¾¡ Buffer ì ö
¤ Disk Áì ½
®ñ­ -ê ô
¡ À̧ ì ¾ì ö
¤Ã­ Log file § ‡
¤Á³ É́ Log ­ ™
šÀ¯ ­ñ Á³ É́² òÀ¦ ©ê †À¡ ®
ñ ¢ Ó́ø­
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ª È
¾¤Åê †
À¡ ó©¢ œ
­ ¡ñ
®ì ½®ö
®« ¾­ ¢ Ó́ø­

ົ ວຢ ັ້ ງຈ
່ າງການຕ ຸ ດກວດສອບ
À̧ ì ¾ Tc Tf
T
R T1
A
N T2
S
A T3
C
I T4
O
N T5

¥÷©¡ ¸ ©¦ º ® (Check point ) ì ½®ö®¢ ñ©¢Éº ¤ (System Failure )


 «É
¾À¡ ó
©£ ¸ ¾´ ¢ ñ
©¢ É
º ¤¡ ñ®ì ½®ö
® À§ „­ ij ©ñ
®ê †
À̧ ì ¾ Tf
 ¥÷
©¡ ¸ ©¦ º ® (Check point ) À¡ ó
©¡ È
º ­ £ õÀ̧ ì ¾Tc
 ù ÉT1 À¯ ­ñ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ê †
¦ ¿-Àì ñ
©¦ ö́ ®ø­ (COMMIT Áì Ȩ́)
 ù ÉT2 À¯ ñ­ ì ¾¨ ¡ ¾­ ¯ ú¼­ Á¯ ¤ê †Àì š́ ¡ È
º ­ À̧ ì ¾Tc Áª È
¦ ¿-Àì ñ
©¡ È
º ­ À̧ ì ¾ T f
 ù ÉT3 À¯ ­ñ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ê †
Àì š́ ¡ È
º ­ À̧ ì ¾ Tc Áì ½ À» ñ
©¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ¡ ¾­ ¯ È
¼­
Á¯ ¤¨ ñ
¤®Ò
¦ ¿-Àì ñ
©-Áª È
À¡ ó©£ ¸ ¾´ ¢ ñ
©¢ É
º ¤ê ¾¤ì ½®ö
®¢ œ
­ ¡È
º­
 ù ÉT4 À¯ ­ñ ¡ ¾­ ¯ È
¼­ Á¯ ¤ê †
Àì š́ ¹ ù
¤ Tc Áª È
ñ Áì Ȩ́¡ È
º ­ À̧ ì ¾ Tf
 ù ÉT5 À¯ ñ­ ¡ ¾­ ¯ È
¼­ Á¯ ¤ê †Àì š́ ¹ ù
¤ Tc Áì ½ ì ½¹ ¸ È
ñ ¾¤¡ ¾­ ¯ ½´ ¸ ­ ° ö
­ À¡ ó
©£ ¸ ¾´ ¢ ñ©¢ É
º¤
¢ º ¤ì ½®ö
®¢ œ
­¡È
º ­ ¦ ¿-Àì ñ
©
¡ ¾­ ¡ É
£
øõ­ ¢ Ó́ø
­ À² º̂ ù É
ì ½®ö
®« ¾­ ¢ Ó́ø
­ ´ó
¦ ½-À« ¨ ì ½² ¾®­ ˜­ ì ½®ö
®¥½ª É
º ¤ê ¿-¡ ¾­ ¯ ½´ ¸ ­ ° ö
­
©„¤­ š

 À»ñ
©¡ ¾­ ¨ ö
¡ Àì ó¡ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ T3 Áì ½ T5
 À»ñ
©¡ ¾­ ¯ ½´ ¸ ­ § Õì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ T2 Áì ½ T4
 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ T1 ®Ò
ªÉ
º ¤À»ñ
©¡ ¾­ ¯ ½´ ¸ ­ ° ö
­ ÃÏ ú
À­ º̂ ¤¥¾¡ « õ
¡ À¡ ñ
®Ã­ Disk Áì Ȩ́
¢ ˜­ ª º ­ ¡ ¾­ ¡ ø
£õ
É ­ ´ó
©„¤­ š

 ê ¿¡ ¾­ ¦ ¾
ɤ§ ÷
©ì ¾¨ ¡ ¾­ ¢ œ
­ 2 §÷
© £ õUndo list Áì ½ Redo list ² ºÉ´ ê ñ
¤ê ¿¡ ¾­ À¡ ñ
®£ È
¾
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ê ñ
¤Ï ö
©Ä¸ É
í Undo list ¦ Ȩ̀­ Redo list ª º ­ Àì †
´ ª ­í ¥ ½¹ ¸ È
¾¤.
 ì ½®ö
®ê ¿-¡ ¾­ £ í­ ¹ ¾ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤Ã­ Log file ª ¤̃Áª È
¥÷
©¡ ¸ ©¦ º ®À¯ ñ­ ª í­ Ä¯
 À́ º̂ À¹ ñ­ ¥ ÷
©Àì š́ ª í­ ¢ º ¤¡ ¾­ ¯ È
¼­ Á¯ ¤ T À² †
´ ì ¾¨ ¡ ¾­ À¡ ñ
®Ã­ Undo list
 «É
¾£ ­í ² ö
®¥ ÷
© COMMIT ¢ º ¤¡ ¾­ ¯ È
¼­ Á¯ ¤ T ¥ ½­ ¿ì ¾¨ ¡ ¾­ T º º ¡ ¥¾¡ Undo list
Áì ½ À¡ ñ
®Ä¸ É
í ¦ Ȩ̀­ ¢ º ¤ Redo list Áê ­
 í ¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ©„¤¡ È
¾¸ À́ º̂ ¥ö
® Log file ¥½Ä©ÉUndo list ¯ ½¡ º ®©Ȩ́¨ T3 Áì ½ T5
Áì ½ Redo list ¯ ½¡ º ®©Ȩ́¨ T2 Áì ½ T4
¡ ¾­ ¡ £
Éõ
ø ­ À­ º̂ ¤¥ ¾¡ ¦ ˆ®ñ
­ êô
¡ À¦ ¨ ¹ ¾¨

¦ ¿ì ñ®¡ ¾­ ¡ øÉ
£ õ­ ¢ Ó́ø­ ¥ ¾¡ ¦ ˆ®ñ­ ê ô
¡ ¢ ð́ ø­ À¦ ¨ ¹ ¾¨ ­ ˜­ ´ ó̧ ò
êó¡ ¾­ ©„¤­ š£ õ ­ ¿Àº ö¾¢ Ó́ø­ ¦ ¿» º ¤
´ ¾À¢ í¾ì ½®ö®ÃÏ ú(Reload Í õRestore)
«É
¾¸ È
¾ log file ®ðÀ¦ ¨ ¹ ¾¨ , º ¾©¥ ½À» ñ
©Ä©É
©¨ ¡ ¾­ À»ñ
©¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ì ¾¨ ¡ ¾­
¯ ú¼­ Á¯ ¤§ Õ (Redo transaction) À² º̂ ¡ ñ®À¢ í¾¦ ø
È
² ¾¸ ½¡ È
º ­ ê†
ì ½®ö
®¥½¢ ñ©¢ É
º¤
¦ ¿ì ñ®¡ ¾­ ¡ øÉ
£ õ­ º ñ­ À­ º̂ ¤´ ¾¥ ¾¡ ¦ ˆ®­ñ ê ô
¡ ¢ Ó́ø­ À¦ ¨ ¹ ¾¨ ­ ˜­ ¥¿À¯ ñ­ ê †
¥ ½ª É
º ¤´ ó¡ ¾­ ¦ ¿»º ¤
¢ Ó́ø­ ĸ É
À§ …
¤À»ñ©Ä©É
©¨ ç ÉUtility Program À§ „­ backup Í õExport À¯ ñ­ ª ­í
¡ ¾­ £ ¸ ®£ ÷
´ ì ¿©ñ
®¡ ¾­ ¯ ½´ ¸ ­ ° ö
­ (Concurrency Control)

¦ ¿ì ñ
®¡ ¾­ À»ñ
©¸ ¼¡ í ì ½®ö
®° ø
ç É
É ¹ù¾¨ £ ö­ (Multi User) À§ …
¤À¯ ñ­ ì ½®ö
®ê †º ½­ ÷
¨ ¾©
ù ìɾ¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤¹ ¾
ù¨ ì ¾¨ ¡ ¾­ À¢ í¾À« ò
¤¢ Ó́ø­ í À̧ ì ¾©¼¸ ¡ ­ñ Áì ½ « É
¾®Ò́ó
¡ ¾­ £ º ®£ ÷
´ ì ¿©ñ
®
¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ¡ ñ®¢ Ó́ø­ í « ¾­ ¢ Ó́ø
­ (®Ò́ó
¡ ¾­ £ º ®£ ÷
´ Concurrency) ¯ ñ­ ¹ ¾ê †
¥ ½ª ¾´ ´ ¾À­ º̂ ¤
¥¾¡ ¡ ¾­ Á§ ¡ ¦ ½¹ ù
® (Interleave) ¢ º ¤ì ¾¨ ¡ ¾­ Ä©É
ñ Á¡ È
 ¡ ¾­ ¦ ø
­ À¦ ¨ ¡ ¾­ Á¡ É
Ä¢ ¢ Ó́ø­ (Lost update problem)
 ®ñ
­ ¹ ¾ê †
À¡ ó
©¥¾¡ ¡ ¾­ µÉ
º­¡ñ
® (Uncommitted dependency problem)
 ®ñ
­ ¹ ¾£ ¸ ¾´ ¢ ñ©Á¨ É
¤ (Consistent analysis problem)
¡ ¾­ ¦ ­ø À¦ ¨ ° ö
­ ¡ ¾­ Á¡ É
Ä¢
¦ ¿ì ñ
®¯ ñ
­ ¹ ¾ê †
À¡ ò©¢ œ
­ ­ šÃ¹ É
²ò¥ ¾ì ½­ ¾¥ ¾¡ ¡ ¾­ ¯ ½´ ¸ ­ ° ö
­ ¢ º ¤ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ 2
ì ¾¨ ¡ ¾­ £ õì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A Áì ½ B ©„¤ª Ò
į ­ š

ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A TLME ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B
ºÈ
¾­ ¢ Ó́ø­ ê ½®¼­ R T1 Œ
Œ T2 ºÈ
¾­ ¢ Ó́ø­ ê ½®¼­ R
Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R T3 Œ
Œ T4 Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R
¥ ¾¡ ª ¾ª ½ì ¾¤¢ É
¾¤Àê ò
¤¥½¦ ñ
¤À¡ ©À¹ ñ­ ¸ È
¾¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A ¥ ½º È
¾­ ¢ Ó
´ ø­ ¥¾¡ ê ½®¼­ R ê †
À̧ ì ¾ T1 í ¢ ½­ ½©¼¸ ¡ ñ­ ê †À̧ ì ¾ T2 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B ¡ ð
¥ ½º È
¾­
¢ Ó́ø­ ¥ ¾¡ ê ½®¼­ ©¼¸ ¡ ñ­ ¢ œ
­ ´ ¾ Áì ½ ê †À̧ ì ¾ T3 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A À» ñ
©¡ ¾­ Á¡ É
Ä¢ ¢ Ó́ø­ .
À§ „­ ª ö̧ µÈ
¾¤¸ È
¾À́ º̂ Àì š́ ª í­ ê ½®¼­ R ´ ó£ È
¾ 1000 « õ
¡ºÈ
¾­ ¢ œ
­ ´ ¾ Áì ½ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A
«õ
¡ Á¡ Ä
É¢ ©¨ À² ó́ £ È
¾À¢ í¾Ä¯ 1000 ©„¤­ ˜­ ¢ Ó́ø­ ê †
Á¡ É
Ä¢ Áì ½ À¡ ñ
®®ñ­ ê ô
¡ ĸ É́ó
£È¾ 2000 Áì ½
í À̧ ì ¾ T4 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B À» ñ
©¡ ¾­ Á¡ É
Ä¢ ¢ Ó́ø­ ©¨ ¡ ¾­ ±¾¡ À² š́ 500 À§ …
¤¢ Ó́ø­
ê†
Ä©É
£ ¸ ­ ¥ ½À¯ ñ­ £ È
¾ 2500, Áª È
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B º È
¾­ ¢ Ó́ø­ ê †À̧ ì ¾ T2 Ä©û 1000 ©„¤­ ˜­
À́ º̂ À» ñ©¡ ¾­ ¯ ñ®¯ ÷
¤¢ Ó́ø­ ê †À̧ ì ¾ T3 £ È
¾ê †À¡ ñ
®®ñ­ ê ô
¡ £ õ1500 ¦ ½­ ˜­ £ ¾
È¢ Ó́ø­ ê ì† ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤
A Á¡ É
Ä¢ ¥ ½¹ ¾¨ į
¯ñ
­ ¹ ¾ê †
À¡ ò
©¥¾¡ ¡ ¾­ ¨ É
º­¡ñ
®
¯ ñ­ ¹ ¾º ñ­ À­ º̂ ¤´ ¾¥¾¡ ¡ ¾­ ¨ º ´ ù É
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤¦ ¾´ ¾©¯ ½ª ò®ñ©Ä©É
²Éº ´ ¡ ñ­ ¹ ù¾¨
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤Â©¨ ®Ò
ªÉ
º ¤ì ð
ù É
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤Î ‡¤¯ ½´ ¸ ­ ° ö­ Áì Ȩ́ Áì ½ À»ñ©¡ ¾­
COMMIT ¢ Ó́ø­ ¡ È
º ­ ©„¤ª ö̧ µÈ
¾¤ a Áì ½ b ì ÷
È́ ­ š

ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A TLME ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B
Œ T1 Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R
º¾
È­ ¢ Ó́ø
­ ê ½®¼­ R T2 Œ
ΠT3 ROLLBACK
(a) ¦ ½Á©¤¯ ñ­ ¹ ¾À¡ ó©¥¾¡ ¡ ¾­ µÉ
º­¡ñ
®

ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A TLME ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B
Œ T1 Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R
ºÈ
¾­ ¢ Ó́ø­ ê ½®¼­ R T2 Œ
Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R T3 Œ
T4 ROLLBACK
(b) ¦ ½Á©¤¯ ñ­ ¹ ¾À¡ ó
©¥¾¡ ¡ ¾­ µÉ
º­ ¡ñ
®
¦ ¿ì ñ
®ª ¾ª ½ì ¾¤ (a) ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B À»ñ
©¡ ¾­ Á¡ É
Ä¢ ¢ Ó́ø
­ R ê†
À̧ ì ¾ T1 Áì ½ À̧ ì ¾
T2 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B º È
¾­ ¢ Ó́ø
­ ê ½®¼­ R § ‡
¤¢ Ó́ø­ ê †
Ä©É
£õ¢ Ó́ø­ ê †
Á¡ É
Ä¢ Áì Ȩ́À́ º̂ À̧ ì ¾° È
¾­ į
T3 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B ®Ò
¦ ¾´ ¾©¯ ½´ ¸ ­ Ä©É
¦ ¿Àì ñ
©¥‡
¤À¡ ó
©¡ ¾­ µÉ
º­¡ñ
®¢ œ
­ (ROLLBACK)
¡ñ
®Ä¯ ¡ È
º ­ ¦ ½² ¾¸ ½ê †
À¢ í¾¦ ø
È
¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B ©„¤­ ˜­ ¢ Ó́ø­ ê †
ì ¾¨ ¡ ¾­ -̄ È
¼­ Á¯ -¤ A
Ä©É
Ȗ
®¥ ‡
¤®Ò
¦ º ©£ È
º ¤¡ ñ
®¢ Ó́ø­ í « ¾­ ¢ Ó́ø
­ §‡
¤¯ È
¼­ Á¯ ¤Ä¯ Áì Ȩ́.
¦ ¿ì ñ
®ª ¾ª ½ì ¾¤ (b) À́ º̂ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B º È
¾­ ¢ Ó́ø­ ¥ ¾¡ ê ½®¼­ R, ¦ ö́ ´ ÷
©¸ È
¾´ ó
£È¾-
Àê ‰
¾1000 Áì û̧ ê ¿¡ ¾­ Á¡ É
â ù É́ó£ ú
¾Àê ‰
¾¡ ñ
® 500 Áì ½ ê †
À̧ ì ¾ T2 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A
ºÈ
¾­ ¢ Ó́ø
­ ê ½®¼­ R À§ „­ ©¼¸ ¡ ­ñ Áì ½ ¢ Ó́ø
­ ê†
Ä©É
» ñ®£ õ
¢ Ó́ø­ ¹ ù
¤¡ ¾­ Á¡ É
ñ Ä¢ -À§ …
¤´ ó
£È¾-Àê ‰
¾-¡ ñ
® 500.
í À̧ ì ¾ T3 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A À»ñ
©¡ ¾­ Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R ©¨ ´ ó
£È¾À¯ ­ñ 800 Áì ½
ê†
À̧ ì ¾ T4 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B ®Ò
¦ ¾´ ¾©À»ñ©¡ ¾­ ¯ ½´ ¸ ­ ° ­ö ¥‡
¤À¡ ó©¡ ¾­ ¡ ¾­ µÉ
º­¡ñ
®¢ ­œ
(ROLLBACK) ©„¤­ ˜­ ¢ Ó́ø­ ê ½®¼­ R ¥ ½´ ó
£È¾À¯ ñ­ 1000 À­ º̂ ¤¥ ¾¡ ¡ ¾­ µÉ
º­ ¡ñ
®¢ º ¤ì ¾¨ ¡ ¾­
¯È
¼­ Á¯ ¤ B À¯ ­ñ ° ö
­ À» ñ
©Ã¹ É
¢ Ó́ø
­ ê †ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A Á¡ É
Ä¢ ¦ ­ø ¹ ¾¨ į .
¯ñ
­ ¹ ¾£ ¸ ¾´ ¢ ñ
©Á¨ É
¤ ( Inconsistent Analysis Problem )
ACC1 (40) ACC2(50) ACC3(30)
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A TLME ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B
º¾
È­ ACC1 (40)
T1 Œ
SUM = 40
ºÈ¾­ ACC2(50)
T2 Œ
SUM = 50
Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R T3 ºÈ
¾­ ACC3(30)
Œ T4 -Á¡ É
-Ä¢ ACC3 (¥¾¡ 30 À¯ ñ
­ 20)
Œ T5 ºÈ
¾­ ACC1 (40)
Œ T6 Á¡ É
-Ä¢ ACC1 (¥¾¡ 40 À¯ ñ­ 50)
Œ T7 µõ
­ -̈ ñ­ -¡ ¾­ -Á¡ -Ä
É¢ (COMMIT)
º¾
È­ ACC3(20)
T8
SUM = 110
¥¾¡ ª ¾ª ½ì ¾¤¦ ½Á©¤¡ ¾­ À»ñ
©¸ ¼¡ ¢ º ¤ 2 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A Áì ½ B ê †
À» ñ
©¡ ¾­
¯ ½´ ¸ ­ ° ­ö ¡ ®
ñ ACC1 ACC2 Áì ½ ACC3 § ‡
¤ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A º È
¾­ ¢ Ó́ø­ ACC1 ê †
À̧ ì ¾ T1
²É
º ´ À¡ ñ
®£ È
¾Ä¸ É
ê †SUM Áì ½ À̧ ì ¾ T2 ¥ ½º È
¾­ ¢ Ó́ø­ ACC2 ² É
º ´ -À² †
´ £È
¾À¢ í¾Ä¯ ê †SUM Àê ‰
¾¡ ñ®
90, ¢ ½­ ½©¼¸ ¡ ñ­ ê †
À̧ ì ¾ T3 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B º È
¾­ ¢ Ó́ø­ ACC3 Áì ½ -į -Á¡ É
-Ä¢ ¢ Ó
-́ ­ø -ê -†À̧ ì ¾
T4 ©¨ -̄ È
¼­ -¥ ¾¡ 30 À¯ ñ­ 20 ¥ ¾¡ -­ ˜­ ê -À̧
† ì ¾ T5 ¥½-º È
¾­ -¢ Ó
-́ ­ø ACC1 ¢ œ
­ ´ ¾ -Áì ½ -į -Á¡ É
-Ä¢ -ê †-
À̧ ì ¾ T6 ¥¾¡ 40 À¯ ñ­ 50 ¥¾¡ -­ ˜­ ¥½-µ õ­ µñ­ ¡ ¾­ ¯ ½´ ¸ ­ ° ö
­ ê†
À̧ ì ¾ T7 ©„¤­ ˜­ À́ º̂ À̧ ì ¾ T8
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A À»ñ©¡ ¾­ º È
¾­ ¢ Ó́ø
­ ¥¾¡ ACC3 £ È
¾ê †
Ä©É
¥‡
¤Àê ‰
¾¡ ñ® 20 Áì ½ À́ º̂ ì ¸ ´
ACC1, ACC2 Áì ½ ACC3 Áì Ȩ́° ö­ ê †
Ä©É
Ȗ
®-¥ ½-À¯ ­ñ 110 § ‡
¤®Ò
¦ º ©£ É
º ¤¡ ñ
®£ È
¾ê †
Ä©É
£ õ120
¥¾¡ ¯ ñ
­ ¹ ¾©„¤¡ È
¾¸ ¥½² ö
®¸ È
¾, ¯ ñ­ ¹ ¾¦ Ȩ̀­ -ù ¨ È
-À¡ ó©¢ œ
­ À­ º̂ ¤´ ¾¥¾¡ ¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ì ¾¨
¡ ¾­ ¯ È
¼­ Á¯ ¤Î ‡
¤¨ ñ
¤®Ò
¦ ¿-Àì ñ
©-² ñ
©´ ó
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤º ­ˆ Á§ ¡ À¢ í¾´ ¾¯ ½´ ¸ ­ ° ö
­. ¡ ¾­ Á¡ É
Ä¢ ¯ ñ­
¹ ¾©„¤¡ È
¾¸ ¦ ¾´ ¾©À» ñ
©Ä©É
©¨ ¡ ¾­ ì ñ
º¡ (LOCK) ¢ Ó́ø­ ê †
¡ ¿ì ñ
¤À»ñ©¡ ¾­ ¯ ½´ ¸ ­ ° ö
­ µø
È ­ ˜­ £ õ-
À́ º̂ ´ óì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤Ã©¡ ¿ì ñ
¤¯ ½´ ¸ ­ ° ö
­ ¡ñ
®¢ Ó́ø
­ , «É
¾¡ ¾­ ¯ ½´ ¸ ­ ° ­ö ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤©„¤
¡È
¾¸ ¨ ñ
¤®Ò
ê ñ­ ¦ ¿-Àì ñ
©¥½®Ò̈º ´ ù ìÉ ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤º ˆ­ À¢ í¾´ ¾¯ ½´ ¸ ­ ° ­ö ¡ ñ
®¢ Ó́ø­ ê †
¡ ¿ì ñ
¤¯ ½´ ¸ ­
° ­ö ­ ˜­ .
¡ ¾­ ì ñ
º ¡ ( Locking )
¦ ¿ì ñ
®¡ ¾­ ì ñ
º ¡ ¢ Ó́ø­ ´ ó
µø¦ º ¤¯ ½À² ©£ õ
È
 Exclusive Lock ¹ ù
õÀº š­ ¸ È
¾ X-Lock
 Shared Lock ¹ù
õÀº š­ ¸ È
¾ S-Lock
1.1 Exclusive Lock
À¯ ­ñ ¡ ¾­ ì ñ
º ¡ ¢ Ó́ø­ -©¨ ®Ò
º ¾­ ÷
¨ ¾©Ã¹ É
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤º ˆ­ À¢ í¾´ ¾¹ ¨ ÷
¤¡ È
É ¼¸ ¡ ñ®¢ Ó́ø­
í ì ½ ¹ ¸ È
¾¤´ ó
¡ ¾­ ¾ì ñ
º ¡ ¢ Ó́ø­
1.2 Shared Lock
À¯ ­ñ ¡ ¾­ ì ñ
º ¡ ¢ Ó́ø­ ©¨ ¥½º ¾­ ÷
¨ ¾©Ã¹ É
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤º ˆ­ ì ñ
º ¡ ¢ Ó́ø­ » ú̧ ´ Ä©É
-Áª È
-ª É
º ¤-
À¯ ñ­ Á®® S-Lock £ õ
¡ñ­ , «É
¾ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤º ˆ­ ¢ ð
ì ñº ¡ ¢ Ó́ø­ À¢ í¾´ ¾Á®® X-Lock ¥ ½®Ò
º ¾­ ÷
¨ ¾©
ù É
ìñº ¡ Ä©É
.
¦ ½¹ ®
÷
ù

B
X-lock S-lock
A
X-lock N N
S-lock N Y
¡ ¾­ ì ºñ ¡ Á¡ É
Ä¢ ®ñ
­ ¹ ¾Ä©É
Á­ ¸ é
¦ ¿ì ñ
®¯ ñ­ ¹ ¾Àì œ
º ¤£ ¸ ¾´ ¦ ø­ À¦ ¨ ¡ ¾­ Á¡ É
Ä¢ ¢ Ó́ø­ À́ º̂ ´ ó¡ ¾­ ì ñ
º ¡ ¢ Ó́ø­ Àº ö
¾Ä¸ É
í ì ½¹ ¸ È
¾¤
¡ ¾­ ¯ ½´ ¸ ­ ° ö
­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤¥ ½¦ ¾´ ¾©¦ ½Á©¤Ä©É
©„¤ª ¾ª ½ì ¾¤ì ÷
È́ ­ š
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A TLME ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B
ºÈ
¾­ ¢ Ó́ø­ ê ½®¼­ R
T1 Œ
(ì ñ
º ¡ R Á®® S-lock)
ºÈ
¾­ ¢ Ó́ø­ ê ½®¼­ R
ΠT2
(ì ñ
º ¡ R Á®® S-lock)
Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R
(¢ ð
ìñº ¡ R Á®® X-lock) T3 Œ
®Ò
¦ ¿Àì ñ
©, í ² ¾¸ ½£ º ¨
Œ -Á¡ É
Ä¢ ¢ Ó́ø
­ ê ½®¼­ R
T4 (¢ ð
ìñº ¡ R Á®® X-lock)
®Ò
¦ ¿Àì ñ
©, í ² ¾¸ ½£ º ¨
í ² ¾¸ ½£ º ¨ T5 í ² ¾¸ ½£ º ¨
¥ ¾¡ ª ¾ª ½ì ¾¤¢ É
¾¤Àê ò
¤¥½¦ ñ
¤À¡ ©À¹ ñ­ ¸ È
¾À́ º̂ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A ª É
º ¤¡ ¾­ º È
¾­ ¢ Ó́ø­ ê ½ ®¼­ R
¥ ½À»ñ
©¡ ¾­ ì ñº ¡ R Àº ö
¾Ä¸ É
Á®® S-Lock ê†
À̧ ì ¾ T1, À́ º̂ À̧ ì ¾ T2 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B
ªÉ
º ¤¡ ¾­ º È
¾­ ê ½®¼­ R ¢ð
À» ñ
© ¡ ¾­ ì ñº ¡ ¢ Ó́ø­ À² º̂ º È
¾­ Á®® S-Lock ¡ ¦ð ¾´ ¾©À» ñ©Ä©É
,
¥ö
­ ´ ¾»º ©À̧ ì ¾ T3 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A ª É
º ¤¡ ¾­ ê ¿¡ ¾­ Á¡ É
Ä¢ ¢ Ó́ø­ ¥ ‡
¤¢ ð
ìñº ¡ ¢ Ó́ø
­ Á®® X-
Lock § ‡
¤Ã­ À̧ ì ¾©„¤¡ È
¾¸ ¥ ½ À¹ ñ­ Ä©Ȩ́È
¾´ ó
¡ ¾­ ì ñº ¡ R Á®® S-Lock ĸ Áì Ȩ́®Ò
¦ ¾´ ¾©
À» ñ
©¡ ¾­ ì ñ
º ¡ ¢ Ó́ø­ Ä©É ©„¤­ ˜­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A ¥‡
¤µø
È
í ² ¾¸ ½ì ð
£ º ¨ ¥ö
­ ¡¸È
¾¥½´ ó
¡ ¾­
¯È
º¨ìñ
º¡, À§ …
¤¸ ò
êóê†
¡È¾¸ ´ ¾­ š¥ ½¦ ¾´ ¾©Á¡ É ®ñ­ ¹ ¾¡ ú
¼¸ ¡ ñ
®¡ ¾­ ¦ ø
­ À¦ ¨ ¡ ¾­ Á¡ É
Ä¢ ¢ Ó́ø­ Ä©É
,
Áª È
¥ ½² ö
®¸ È
¾´ ó
®ñ­ ¹ ¾ê †ª ¾´ ´ ¾£ õ ê ñ
¤ B Áì ½ A ª È
¾¤¡ Ò
µø
í ² ¾¸ ½ì ð
È £º ¨ . «É
¾ê ñ
¤ A Áì ½ B
®Ò́ó
ð À» ñ©¡ ¾­ ¯ È
º¨ìñ
º¡¦ …
¤ê †
ª ¾´ ´ ¾£ õ
À» ñ©Ã¹ É
À¡ ó©ì ñº ¡ £ É
¾¤ Í õdead lock ¢ œ
­. ¦ ¿ì ñ
®®ñ­ ¹ ¾ê †
À¡ ó
©¢ œ
­ ¥ ¾¡ ¡ ¾­ µÉ
º­¡ñ
®À́ º̂ ´ ó
¡ ¾­ Á¡ É
Ä¢ ¢ Ó́ø­ ©¨ ¸ ò
ꆡ ¾­ ì ñ
º ¡ ¦ ¾´ ¾©¦ ½Á©¤Ä©É
©„¤ª ¾ª ½ì ¾¤
ì÷
È́ ­ š.
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A TLME ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B
Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R
ΠT1
(¢ ð
ìñº ¡ R Á®® X-lock)
ºÈ
¾­ ¢ Ó́ø­ ê ½®¼­ R
(¢ ð
ìñº ¡ R Á®® S-lock) T2 Œ
®Ò
¦ ¿Àì ñ
©, í ² ¾¸ ½£ º ¨
¦ ­š ¦ ÷
©¡ ¾­ ì ñ
º ¡ (Rollback)
í ² ¾¸ ½£ º ¨ T3
(¯ È
º ¨ -ì ñ
º ¡ ê ½®¼­ R )
ºÈ
¾­ ¢ Ó́ø­ ê ½®¼­ R
T4 -Œ
(ì ñ
º ¡ R Á®® S-lock)
¸ òê ó¡ ¾­ £ õ
ì ½¹ ¸ È
¾¤ê †ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B Á¡ É
Ä¢ ¢ Ó́ø­ ¥½ì ñ
º ¡ ê ½®¼­ R ĸ ¥Éö­ ¡ Ȩ̀¾
¥½À»ñ
©¡ ¾­ ¯ ½´ ¸ ­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤Áì Ȩ́§ ‡
¤Ã­ ¢ ½­ ½ê †ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B Á¡ É
Ä¢ ¢ Ó́ø­ ê †
À̧ ì ¾
T2 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A ¦ ‰
¤¦ ñ­ ¨ ¾­ ¢ ðì ñº ¡ À² º̂ º È
¾­ ¢ Ó́ø­ ê ½®¼­ R Áª È
®Ò¦ ¾´ ¾©À»ñ©
Ä©É
À­ º̂ ¤¥¾¡ ê ½®¼­ R « õ¡ ì ñº ¡ Á®® X-Lock ©¨ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B ĸ É ©„¤­ ˜­
¥‡¤µø
í ² ¾¸ ½ì 𣠺 ¨ ¥ö­ ¡ ½ê ¤̃ê †À̧ ì ¾ T3 ì ¾¨ ¡ ¾­ ¯ È
È ¼­ Á¯ ¤ B À»ñ
©¡ ¾­ ¯ È
º¨ìñ
º ¡ ©¨ À¡ ó©¡ ¾­
Rollback ¡ ®
ñ , ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A ¥‡
¤¦ ¾´ ¾©ì ñ
º ¡ ¢ Ó́ø­ Áì ½ º È
¾­ ¢ Ó́ø­ R ¢ œ
­ ´ ¾Ä©É
.
À§ ­„ ©¼¸ ¡ ñ
®¯ ñ­ ¹ ¾Ã­ » ø®ª ¾ª ½ì ¾¤ (b) ¦ ¾´ ¾©¦ ½Á©¤Ä©É
©„¤ª ¾ª ½ì ¾¤ì ÷
È́ ­ š
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A TLME ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B
Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R
ΠT1
(¢ ð
ìñº ¡ R Á®® X-lock)
ºÈ
¾­ ¢ Ó́ø­ ê ½®¼­ R
(¢ ð
ìñº ¡ R Á®® S-lock) T2 Œ
®Ò
¦ ¿Àì ñ
©, í ² ¾¸ ½£ º ¨
í ² ¾¸ ½£ º ¨ T3
-¦ š­ ¦ ÷
©¡ ¾­ ì ñ
º ¡ (Rollback)
í ² ¾¸ ½£ º ¨ T4
(¯ È
º ¨ -ì ñ
º ¡ ê ½®¼­ R )
Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R
T5 Œ
(¢ ð
ìñº ¡ R Á®® X-lock)
¯ñ
­ ¹ ¾£ ¸ ¾´ ¢ ñ
©Á¨ É
¤ ( Inconsistent Analysis Problem )
¦ ¾´ ¾¦ ½Á©¤¡ ¾­ ì ñº ¡ À² º̂ Á¡ É
Ä¢ ¯ ñ­ ¹ ¾£ ¸ ¾´ ¢ ñ
©Á¨ É
¤¢ º ¤¢ Ó́ø­ Ä©É
©„¤ª ¾ª ½ì ¾¤ì ÷
È́ ­ š£ õ
í ¡ ðì ½­ óÀì œ
º ¤£ ¸ ¾´ ¢ ñ©Á¨ É
¤¢ º ¤¢ Ó́ø­ À́ º̂ ì ¾¨ ¡ ¾­ ¯ È
¼Á¯ ¤ A º È
¾­ ACC1 ¢ œ
­ ´ ¾¥ ½À» ñ©¡ ¾­
ì ñº ¡ ¢ Ó́ø­ Á®® S-Lock Áì ½ À́ º̂ º È
¾­ ACC2 ¥ ½À» ñ
©¡ ¾­ ì ñº ¡ ¢ Ó́ø­ Á®® S-Lock ĸ É
À§ „­
©¼¸ ¡ ñ­ , ¡ ðì ½­ óì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B º È
¾­ ¢ Ó́ø­ ACC3 ¡ ðª É
º ¤À»ñ
©¡ ¾­ ì ºñ ¡ ¢ Ó́ø­ Á®® S-Lock
À§ „­ ©¼¸ ¡ ñ­ . ê †À̧ ì ¾ T4 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B ª É
º ¤¡ ¾­ Á¡ É
Ä¢ ¢ Ó́ø­ ACC1 ©„¤­ ˜­ ¥ ‡¤¢ ðì ñº ¡
¢ Ó́ø­ Á®® X-Lock Áª È
¢ ½­ ½­ ˜­ ACC1 « õ
¡ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A À» ñ
©¡ ¾­ ì ñº ¡ Á®® S-Lock
ĸ É©„¤­ ˜­ B ¥‡¤µøÈí ² ¾¸ ½ì 𣠺 ¨ ¥ ö­ ¡ Ȩ̀¾ A ¥ ½¯ È
º¨ìñ
º ¡ Áì ½ ê †
À̧ ì ¾ T8 ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A
ªÉ
º ¤¡ ¾­ º È
¾­ ¢ Ó´ ø­ ACC3 ¥‡¤¦ ‰
¤¦ ñ­ ¨ ¾­ ¢ º ¤ì ñ
º ¡ ¢ Ó́ø­ Á®® S-Lock Áª È
®Ò¦ ¾´ ¾©ì ñº ¡ Ä©É
À­ º̂ ¤¥ ¾¡ ACC3 « õ¡ ì ñº ¡ ĸ É
Á®® X-Lock ª É
º ¤µø
í ² ¾¸ ½ì ð
È £ º ¨ ¥ ö­ ¡ Ȩ̀¾ ACC3 ¥ ½¯ È
º ¨ ì ñº ¡
ACC1 (40) ACC2 (50) ACC3(30)
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ A TLME ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ B
ºÈ
¾­ ACC1 (40)
Á¡ É
Ä¢ ¢ Ó́ø­ ê ½®¼­ R
(ì ºñ ¡ ACC1 Á®® S-lock) T1
(¢ ð
ìñº ¡ R Á®® X-lock)
SUM = 40
ºÈ
¾­ ACC2 (50)
(ì ºñ ¡ ACC2 Á®® S-lock) T2 Œ
SUM = 90
ºÈ
¾­ ACC3 (30)
ΠT3
(ì ñ
º ¡ ACC3 Á®® S-lock)
Á¡ É
Ä¢ ACC3 (30 À¯ ñ­ 20)
ΠT4
(ì ñ
º ¡ ACC3 Á®® X-lock)
ºÈ
¾­ ACC1 (40)
ΠT5
(ì ñ
º ¡ ACC1 Á®® S-lock)
Á¡ É
Ä¢ ACC1 (40 À¯ ñ­ 50)
ΠT6
(¢ ð
ìñº ¡ ACC1 Á®® X-lock)
Œ T7 ² ¾¸ ½ì ð
£º ¨
ºÈ
¾­ ACC3 (20)
(ì ºñ ¡ ACC3 Á®® S-lock) T8 ² ¾¸ ½ì ð
£º ¨
² ¾¸ ½ì 𣠺 ¨
 ìñ
º ¡ £É
¾¤ (Dead lock)

¥ ¾¡ ¡ ¾­ ç Ȩ́ò
êóìñ
º ¡ À¢ í¾´ ¾§ Ȩ̀¨ ¥ ½À¹ ñ­ ¸ È
¾¦ ¾´ ¾©Á¡ É
Ä¢ ®ñ­ ¹ ¾ª È
¾¤ÅÄ©É
Áª È́ó®­ñ ¹ ¾º ˆ­ ê †
ª ¾´ ´ ¾£ õ
À¡ ó
©² ¾¸ ½ê †
´ó¡ ¾­ ¯ È
¼­ Á¯ ¤®¾¤ì ¾¨ ¡ ¾­ À» ñ©¡ ¾­ ì ñ
º ¡ ¢ Ó́ø­ Àº ¾
öĸ É
À§ …
¤À» ñ
©Ã¹ Éì ¾¨ ¡ ¾­
¯¼
È­ Á¯ ¤º ˆ­ ª É
º ¤ì ð
£º ¨ ­ ˜­ £ õ
†À¡ ó
©¦ …
¤ê †Àº š­ ¸ È
¾ì ñ
º ¡ £É
¾¤ (Dead lock) ¢ ­œ À§ …
¤À» ñ
©Ã¹ É
ªÈ¾¤±È
¾¨
ªÈ
¾¤ì ð
«É¾ Áì ½ ®Ò
¦ ¾´ ¾©À» ñ©¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ¡ ñ
®¢ Ó́ø
­ Ä©É
, À́ º̂ À¡ ó©¯ ­ñ ¹ ¾¢ ­œÀ¯ ­ñ Î û
¾ê †
¢ º ¤ì ½
®ö
®ê †
¥ ½À»ñ
©¡ ¾­ ¡ ¸ ©¦ º ®¸ È
¾´ ó̄ ñ­ ¹ ¾¡ ¼¸ ¡ ñ®ì ñ
º ¡ £É
¾¤£ ¾À¡ ó©¢ ­œ, ì ½®ö
®¥ ½ª É
º ¤ À» ñ
©¡ ¾­ Àì õ
º¡
ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤Ã©ì ¾¨ ¡ ¾­ Î ‡
¤Ã¹ É
À¯ ñ
­ °ø
É̄ö
©ì ñ
º ¡ À² º̂ ù É
ºó¡ ì ¾¨ ¡ ¾­ ¦ ¾´ ¾©À¢ í¾Ä¯ ¯ ½´ ¸ ­
° ö­ ¡ ñ
®¢ Ó́ø­ , ¦ ¿ì ñ
®ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤ê †
¯ ö©ì ñ
º ¡ ­ ˜­ ¥ ½ª É
º ¤¨ É
º ­ ¡ ñ®Ä¯ ¥÷
©ª ¤̃ª í­ ÃÏ ú
¡Èº ­ ê†
¥½
À¢ í¾À» ñ
©¡ ¾­ ¯ ½´ ¸ ­ ° ö­ ì ¾¨ ¡ ¾­ ¯ È
¼­ Á¯ ¤

You might also like