จากภาพกำหนดใน T1, T2, T3, T4 และ T5 หมายถึง Transaction ต่างๆ ในระบบ Tc และ Tf ซึ่งหมายถึงเวลาที่ระบบ DBMS ทำการตรวจสอบสถานภาพการทำงานของ Transaction ต่างๆ สมมติว่าระบบเกิดความขัดข้อง(System failure) ณ เวลาที่ Tfและมีจุดตรวจสอบ(Check Point)ครั้งสุดท้าย กระทำขึ้น ณ เวลา Tc จงตอบคำถามต่อไปนี้ โดยอาศัยข้อมูลต่างๆของแต่ละ Transaction ประกอบดังนี้
- T1 คือ นาย ก ดูยอดเงินของตัวเอง พบว่ามีเงินอยู่ 1200 บาท
- T2 คือ นาย ก ถอนเงินออกจากบัญชี 1000
- T3 คือ นาย ก ฝากเงินเข้าบัญชี 500 บาท
- T4 คือ นาย ข ฝากเงินเข้าบัญชี อีก 200 จากยอดเดิมที่มี 700 บาท
- T5 คือ นาย ข ฝากเงินเข้าไปอีก 300 บาท
เมื่อระบบเกิดความขัดข้อง(System failure) แต่ละ Transaction จะมีการจัดการอย่างไร
- T1 ไม่ต้องทำอะไร เพราะ ข้อมูลถูกบังคับเก็บลงใน DB Space ตอน Check Point ที่เวลา TC
- T2 ทำ undo เพราะ System failure ก่อน commit ที่ให้ระบบไม่มี log-file
- T3 ทำ redo เพราะ มี log-file ของ Transaction จากการ commit
- T4 ทำ redo เพราะ มี log-file ของ Transaction จากการ commit
- T5 ทำ undo เพราะ System failure ก่อน commit ที่ให้ระบบไม่มี log-file
ยอดเงินของนาย ก และ นาย ข หลังระบบ recovery เสร็จมีค่าเท่าไหร่
- นาย ก มีเงินอยู่ 1700 บาท
- นาย ข มีเงินอยู่ 900 บาท
มี Transaction ไหนบ้างที่พนักงานธนาคารต้องมากรอกข้อมูลเข้าไปให้อี่กรอบเพื่อให้ Transaction สมบูรณ์
- กลุ่มของ Transaction ที่ระบบเลือกที่จะทำการ undo ให้ ได้แก่ T2 และT5
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.