2. Sebuah fasilitas untuk melindungi data dari
berbagai risiko sehingga dapat diantisipasi dari
kemungkinan sbb:
- Gangguan listrik
- Kerusakan harddisk
- Kesalahan perangkat lunak (tdk prosedur)
- Akses oleh orang yang tidak berhak
- Akibat dari multiuser
4. Upaya untuk mengembalikan keadaan basisdata
pada posisi semula yang dianggap benar
sebelum terjadinya kegagalan.
Macam kegagalan:
1. Kegagalan Transaksi
2. Kegagalan Sistem
3. Kegagalan Media
4
5. Transaksi
Serangkain (paket) prosedur proses yang
memperbaharui data pada sejumlah tabel di dalam
basisdata.
5
6. Contoh pada ATM
1. Memasukkan Nilai Uang yang akan di tarik
2. Pemotongan saldo pada Tabel
3. Penarikan dicatat pada Tabel Tranaksi
4. ATM mengeluarkan uang
Misalnya kegagalan terjadi pada saat langkah ke
4 (empat), oleh karena suatu hal ATM tidak
mengeluarkan uang
6
7. Aplikasi yang baik harus dapat mengantisipasi
seperti kejadian kegagalan transaksi pada
langkah ke 4
Hal ini yang disebut ”Pemulihan transaksi”
7
8. Mendefinisikan keadaan sbb:
Mulai (Pernyataan keadaan awal transaksi)
Disetujui sebagian (Pernyataan suatu langkah transaksi berhasil)
Gagal (Pernyataan suatu langkah transaksi gagal dilaksanakan)
Batal (Pernyataan suatu langkah transaksi batal dilaksanakan)
Disetujui (Pernyataan suatu langkah transaksi berhasil dijalankan)
Berakhir (Pernyataan keadaan transaksi telah berakhir)
8
9. Mulai
Potong saldo
T
Berhasil
Y
Catat transaksi penarikan
T
Berhasil
Y
Keluarkan uang
Y
Berhasil Setujui Transaksi
T
Batalkan proses
Selesai
9
10. 1. Defered upate / perubahan yang ditunda
2. Immediate Upadate / perubahan langsung
3. Shadow Paging
10
11. Perubahan pada DB tidak akan berlangsung
sampai transaksi ada pada poin disetujui
(COMMIT). Jika terjadi kegagalan maka tidak
akan terjadi perubahan, tetapi diperlukan
operasi redo untuk mencegah akibat dari
kegagalan tersebut.
11
12. Perubahan pada DB akan segera tanpa harus
menunggu sebuah transaksi tersebut disetujui.
Jika terjadi kegagalan diperlukan operasi UNDO
untuk melihat apakah ada transaksi yang telah
disetujui sebelum terjadi kegagalan.
12
13. Menggunakan page bayangan imana paa prosesnya terdiri
dari 2 tabel yang sama, yang satu menjadi tabel transaksi
dan yang lain digunakan sebagai cadangan.
Ketika transaksi mulai berlangsung kedua tabel ini sama
dan selama berlangsung tabel transaksi yang menyimpan
semua perubahan ke database, tabel bayangan akan
digunakan jika terjadi kesalahan.
Keuntungannya adalah tidak membutuhkan REDO atau
UNDO, kelemahannya membuat terjadinya fragmentasi.
13
14. Pada sebuah sistem bisa saja terjadi kegagalan, jika
banyak transaksi sedang berlangsung tiba-tiba terjadi
ganguan pada sistem sehingga menyebabkan semua
data dalam RAM hilang.
Transaksi2 yang tidak selesai harus dibatalan jika sistem
diaktifkan kembali (proses UNDO)
Sistem memiliki transaksi mana yang sudah Berakhir
disetujui dan yang belum disetujui, jejak langkah
tersebut disimpan pada sebuah LOG.
14
15. Basis data tidak rusak
Recovery yang lebih disukai: beralih ke basis data
duplikat
Alternatif 1: rollback
Alternatif 2: restart dari checkpoint
Kerusakan basis data
Recovery yang lebih disukai: beralih ke basis data
duplikat
Alternatif 1: rollforward
Alternatif 2: memproses transaksi kembali
15
18. Pada kegagalan media penanganannya adalah
dengan memuat kembali data yang dianggap
rusak, dengan cara merestore basisdata hasil
backup terakhir.
18
19. Data yang ada pada harddisk yang tergores di dalam
basisdata pasti rusak dan tidak dapat dibaca.
Cara mempebaikinya sbb:
1. Deteksi data yang masih baik, dengan cara membaca data
dari awal sampai berhenti pada posisi yg rusak tsb. dan
catat index number datanya. Kemudian di export ke basis
data lain, untuk mengumpulkan yang baik saja.
2. Baca kelanjutan data mulai dari index setelah yang rusak,
sampai berhenti pada posisi yg rusak berikutnya dan lakuan
expot kembali untuk mengumpulkan yang baik saja
3. Lakukan hingga data selesai semua diexport, terakhir
lakukanlah mengimpor data ke databasenya.
19