Backup Recovery Sistem Basis Data Penyebab kegagalan operasi
Backup & Recovery Sistem Basis Data
Penyebab kegagalan operasi pada sistem komputer • Aliran listrik terputus Mengakibatkan hilangnya informasi di memory utama & register • Kesalahan operator Operator melakukan kesalahan operasi yg tidak disengaja • Kesalahan Software Mengakibatkan hasil pengolahan menjadi tidak benar, basis data menjadi tidak konsisten • Disk rusak mengakibatkan rusaknya basis data dan hilangnya informasi
Recovery • Merupakan upaya DBMS untuk mengembalikan kondisi basis data seperti semula, ketika terjadi kerusakan. • Operasi Recovery Otomatis Jika kerusakan tidak terjadi pada media disk • Operasi Recovery Manual Jika kerusakan terjadi pada media disk , dengan diawali proses restore dari salinan basis data(hasil backup) yang kemudian diikuti proses perbaikan basis data agar kembali ke kondisi semula
Recovery • Recovery hanya diterapkan sebuah transaksi yang berada dalam status batal (Aborted) • Pada proses recovery ada 2 pilihan yang dapat dikerjakan oleh sistem. – redo untuk kasus kesalahan/kerusakan sistem – Undo untuk kasus kesalahan logika dalam program
Jenis kerusakan pada basis data • Kegagalan transaksi penyebab: – Kesalahan logika sistem tidak dapat melanjutkan eksekusi normalnya karena adanya kondisi internal tertentu. Misl: (data yg dimasukkan salah, data tidak tersedia, nilai overflow, bugs, memory penuh/habis) – Kesalahan sistem Sistem telah memasuki kondisi yang tidak diharapkan(misl: deadlock) akibat sistem bekerja tidak normal • Kerusakan Sistem Hardware macet(hang) yang mengakibatkan informasi pada media sementara hilang • Kegagalan/kerusakan disk Terdapat bad sector/disk macet pada saat berlangsungnya operasi I/O ke disk
Jenis media penyimpanan • Media penyimpanan sementara(volatile storage) Informasi hilang jika aliran listrik mati namun memiliki kelebihan pada kecepatan aksesnya tinggi. Contoh RAM, Cache, register • Media penyimpanan permanen(non-volatile storage) Tape, disk • Media penyimpanan stabil (stable storage) me-replikasi data/informasi dalam berbagai media penyimpanan permanen sekaligus.
Operasi dasar ke media penyimpanan • Perpindahan blok data antara memory dan disk dilakukan dengan menggunakan dua operasi dasar berikut: – Input(A) – Output(B)
Transaksi • Transaksi Ti berinteraksi dengan sistem basis data dalam melakukan transfer data ke buffer sistem dengan operasi sbb: – Read(x) memberi harga X dari basis data ke variabel lokal di memory xi • Jika Bx tidak ada di memory utama, lakukan input(Bx) • Isikan harga X yang ada di blok buffer ke variabel lokal xi – Write(x) Memberi harga dari variabel xi ke satuan data xi di blok buffer • Jika Bx tidak ada di memory utama, lakukan input(Bx) • Isikan harga dari variabel lokal xi ke satuan data X yang ada di blok buffer
Transaksi • Merupakan operasi-operasi terhadap basis data yang dikelompokkan ke dalam unit-unit operasi atomik
Contoh transaksi transfer dana get v. Transfer read(A) A A – v. Transfer write(A) read(B) B B + v. Transfer write(B) display A display B
Mekanisme recovery • Dengan asumsi disk tidak mengalami kerusakan, maka ada 3 pilihan skema untuk menjalankan recovery secara otomatis begitu kerusakan/kegagalan sistem terjadi 1. File log dengan penundaan pengubahan(Incremental log with deferred update) 2. File log dengan pengubahan langsung (Incremental log with immediate update) 3. Page bayangan/Shadow Paging
Recovery berbasis File Log • File log digunakan untuk merekam terjadinya perubahan-perubahan terhadap basis data. • Record log untuk operasi penulisan basis data, memiliki atribut diantaranya: – Pengidentifikasi transaksi (Transaction Identifier) Nilai unik untuk identifikasi transaksi yang menjalankan operasi write – Pengidentifikasi data(Data Item Identifier) nilai unik identifikasi satuan data yang ditulis dan menunjukkan lokasi fisik disk. – Nilai lama nilai sebelum operasi write – Nilai baru nilai setelah operasi write • • Record log memulai transaksi <Ti start> Record log menjalankan operasi write <Ti, Xj, V 1, V 2> Record log menunjukkan transaksi direkam secara sempurna <Ti commit> Record log menunjukkan transaksi telah dibatalkan <Ti abort>
File log dengan penundaan pengubahan(Incremental log with deferred update) Merekam semua perubahan basis data dalam file log, tetapi menunda eksekusi semua operasi (write) dalam sebuah transaksi hingga transaksi commit. T 0 : T 1 : Read(A) A A – 100000 Write(A) Read(B) B B+100000 Write(B) Read(C) C C -2000000 Write(C) Recovery - Redo Log <T 0 start> <T 0, A, 900000> <T 0, B, 2100000> <T 0 commit> <T 1 start> <T 1, C, 3000000> <T 1 commit> Basis Data A=900000 B=2100000 C=3000000
File log dengan pengubahan langsung (Incremental log with immediate update) • Membuat perubahan ke basis data di dalam transaksi secara langsung meskipun transaksi masih berlangsung. T 0: T 1: Read(A) A A – 100000 Write(A) Read(B) B B+100000 Write(B) Read(C) C C -2000000 Write(C) Log <T 0 start> <T 0, A, 1000000, 900000> <T 0, B, 2000000, 2100000> <T 0 commit> <T 1 start> <T 1, C, 5000000, 3000000> <T 1 commit> Basis Data A=900000 B=2100000 C=3000000 Recovery : Undo: jika dalam file log terdapat <Ti start> tapi tidak ada <Ti commit> Redo: jika dalam file log terdapat <Ti start> dan <Ti commit> Operasi undo didahulukan
Checkpoint • Untuk mengurangi beban kerja/waktu (overhead) • Dengan adanya checkpoint dalam file log memungkinkan sistem menjalankan proses recovery dengan lebih efisien
Page bayangan/Shadow Paging
- Slides: 16