Anda di halaman 1dari 5

Tugas: 4 Kelas: A

Mata Kuliah:

Sistem Manajemen Basis Data

DATABASE RECOVERY
TECHNIQUES

Nama
Muhammad Bachtyar Rosyadi

NRP
5214201011

JURUSAN SISTEM INFORMASI


FAKULTAS TEKNOLOGI INFORMASI
INSTITUT TEKNOLOGI SEPULUH NOPEMBER
2014

1. 23.21. Misalkan sistem crash sebelum [read_item, T3, A] entri ditulis ke


log pada Gambar 23.1 (b). Apakah yang membuat perbedaan dalam
proses pemulihan?
2. 23.22 Misalkan sistem crash sebelum [write_item, T2, D, 25, 26] masuk
adalah ditulis ke log pada Gambar 23.1 (b). Apakah yang membuat
perbedaan dalam Proses pemulihan?
3. 23,23. Gambar 23.6 menunjukkan log sesuai dengan jadwal tertentu
pada titik sistem crash selama empat transaksi T1, T2, T3, dan T4.
Misalkan

kita

checkpointing.

menggunakan
Jelaskan

protokol

proses

update

pemulihan

langsung

dari

sistem

dengan
crash.

Menentukan transaksi digulung kembali, yang beroperasi di log adalah


redone dan yang (jika ada) yang dibatalkan, dan apakah ada rollback
T1
read_item(
A)
read_item(
D)
write_item(
D)

T2
read_item(
B)
write_item
(B)
read_item(
D)
write_item
(D)

A
3
0
[start_transaction,
T3]
[read_item,T3,C]
[write_item,T3,B,1
5,12]
[start_transaction,
T2]
[read_item,T2,B]
[write_item,T2,B,1
2,18]

T3
read_item(
C)
write_item(
B)
read_item(
A)
write_item(
A)

B
1
5

1
2

1
8

C
4
0

D
2
0

Cascading terjadi.
Jawab:
1. Berikut
23.1

gambar

Jawaban
Tidak akan ada perbedaan dalam
proses pemulihan, karena operasi
read_item diperlukan hanya untuk
menentukan apakah Cascading
rollback transaksi tambahan
diperlukan.

[write_item,T1,D,2
0,25]
[write_item,T2,D,2
5,26]
[start_transaction,
T1]
[read_item,T1,A]
[read_item,T1,D]
[read_item,T2,D]

2
5
2
6

[read_item,T3,A]

2. Karena kedua transaksi T2 dan T3 belum dilakukan, mereka harus


digulung kembali selama proses pemulihan.
3. Gambar 23.6
[start_transaction, T1]
[read_item, T1, A]
[read_item, T1, D]
[write_item, T1, D, 20,
25]
[commit, T1]
[checkpoint]
[start_transaction, T2]
[read_item, T2, B]
[write_item, T2, B, 12,
18]
[start_transaction, T4]
[read_item, T4, D]
[write_item, T4, D, 25,
15]
[start_transaction, T3]
[write_item, T3, C, 30,
40]
[read_item, T4, A]
[write_item, T4, A, 30,
20]
[commit, T4]
[read_item, T2, D]
[write_item, T2, D, 15,
25]

System
crash

Pertama-tama, catat bahwa jadwal ini tidak dapat dipulihkan,


karena T4 telah membaca nilai B yang ditulis oleh T2, kemudian T4
commit sebelum T2 commit. Demikian pula, T4 telah membaca nilai A
yang ditulis oleh T3, T4 commit sebelum T3 commit. Commit T4
seharusnya tidak diperbolehkan dalam jadwal jika protokol
dipulihkan digunakan, namun harus ditunda sampai setelah T2 dan T3
commit. Untuk masalah ini, mari kita asumsikan bahwa kita dapat
memutar kembali transaksi commit dalam jadwal non-dipulihkan, seperti
yang ditunjukkan pada Gambar 23.6 .
Dengan menggunakan RIU_M prosedur (recovery using immediate
updates for a multiuser environment), diperoleh hasil sebagai berikut :
Langkah 1 dari RIU_M prosedur, T2 dan T3 adalah transaksi yang aktif.
T1 commit sebelum checkpoint dan maka tidak terlibat dalam pemulihan.
Langkah 2, operasi yang akan dibatalkan adalah:
[write_item, T2, D, 25]
[write_item, T3, A, 30]
[write_item, T2, B, 12]
Perhatikan bahwa operasi harus dibatalkan jika kebalikan urutan di mana
mereka ditulis ke dalam log. Sekarang karena T4 membaca item B yang
yang ditulis oleh T2 dan membaca item A yang yang ditulis oleh T3, dan
karena T2 dan T3 harus roll back , oleh rollback aturan dari Cascading,
transaksi T4 harus dibatalkan. Maka operasi T4 juga harus dibatalkan:
[write_item, T4, A, 20]
[write_item, T4, B, 15]
Langkah 3 Perhatikan jika jadwal dipulihkan dan T4 commit, maka
Operasi yang akan direnovasi akan menjadi:
[write_item, T4, B, 15]
[write_item, T4, A, 20]
Dalam kasus ini jadwal tidak dipulihkan, dan tidak ada operasi yang harus
diulang dalam contoh ini.
Pada titik sistem crash, transaksi T2 dan T3 tidak commit. Oleh karena itu,
ketika T2 rollback, transaksi T4 juga harus rollback. T4 membaca nilai item
B dan A yang ditulis oleh T2 dan T3. Operasi write T4 harus dibatalkan
dalam urutan yang benar. Oleh karena itu, operasi dibatalkan dalam
urutan sebagai berikut:
[write_item, T2,

D, 25]
[write_item,
A, 20]
[write_item,
A, 30]
[write_item,
B, 15]
[write_item,
B, 12]

T4,
T3,
T4,
T2,