TUGAS DATABASE TERDISTRIBUSI SIFAT : INDIVIDU MATERI : DISTRIBUTED DATABASE RECOVERY NAMA : SITI LU’LU’UL KHOIRIYAH NIM : 08560369

KELAS : B 1. Carilah beberapa kasus nyata (real case), yang menyebabkan terjadinya database failure ketika data disimpan ke dalam database. Jawab :    System error,output yang dihasilkan tidak betul dan sistem databasenya sendiri akan memasuki suatu kondisi tidak konsisten, seperti deadlock. Disk crash,kegagalan fungsi perangkat keras,menyebabakan informasi yang ada di disk hilang. Statement Failure, terjadi ketika ada kegagalan logis dalam penanganan pernyataan dalam program Oracle. Sebagai contoh, menanggung semua extent tabel (dengan kata lain, jumlah luasan yang ditentukan pada parameter MAXEXTENTS pernyataan CREATE TABLE) dialokasikan, dan benar-benar diisi dengan data; tabel benar-benar penuh. Sebuah pernyataan yang valid INSERT tidak dapat menyisipkan baris karena tidak ada ruang yang tersedia. Oleh karena itu, jika diterbitkan, pernyataan itu gagal.

Network Failure, terjadi karena menginterupsi eksekusi normal dari suatu aplikasi client dan menyebabkan kegagalan proses yang terjadi. Dalam hal ini, latar belakang proses PMON Oracle mendeteksi dan menyelesaikan proses server dibatalkan untuk proses pengguna terputus, seperti yang dijelaskan di bagian sebelumnya

2. Jelaskan secara detail bagaimana mekanisme commit protocol bekerja di dalam DBMS, kalau perlu tunjukan state diagramnya Jawab :  phase commit merupakan operasi dimana satu set perubahan yang nyata juga diterapkan sebagai operasi tunggal. Jika perubahan yang diterapkan maka commit atomis dikatakan telah berhasil. Jika ada kegagalan sebelum commit atomis dapat diselesaikan maka semua perubahan selesai maka semua perubahan maka semua perubahan diselesaikan dalam commit atomis reserved. Hal

ini memastikan bahwa sistem selalu ditinggalkan dalam keadaan konsisten. Properti kunci lainnya berasal isolasi mereka sebagai operasi

setiap transaksi di backup. 4. Jelaskan struktur data dari Transaction Log. mencakup : PageID Length and Offset Before and After Images . Jawab : Type database log :  Update Log Record catatan sebuah update (perubahan) ke database. dan jelaskan bagaimana transaction log bekerja Jawab : Transaction Log merupakan suatu critical componen dari database untuk memperkecil data/informasi yang hilang dengan malakukan pencatatan pada setiap transaksi. 3. Apakah yang dimaksud dengan Transaction Log.atomic. Kehilangan data dikurangi yaitu hanya satu transaksi terakhir yang tidak tercatat yang hilang musnah. Transaction log bekerja: Setiap transaksi segera dicatat (log) menghasilkan transaction log. Isolasi memastikan bahwa hanya satu commit atomic diproses pada suatu waktu. Pemulihan dilakukan dengan cara sistem menjalankan setiap transaksi di transaction log terhadap backup terakhir. kemudian jelaskan data-data yang disimpan di dalam transaction log. Teknik ini lebih mudah dilakukan di sistem interaktif karena aktifitas manusia relatif lebih lambat dibanding pencatatan transaksi sehingga tidak mempengaruhi waktu tanggap Bila terjadi kegagalan maka pemulihan memanfaatkan backup terakhir dan transaction log. seterusnya sampai transaksi terakhir yang tercatat.

Checkpoint Record mencatat bahwa pos pemeriksaan telah dibuat. recovery selanjutnya adalah mencoba melakukan prosedur REDO write_item yang sudah dilakukan selama proses recovery awal.Hasil sistem crash selama recovery seharusnya sama dengan hasil recovery dari ketika tidak ada crash selama recovery. jelaskan algoritma proses Undo/ Redo. Ini disebabkan karena jika sistem gagal selama proses recovery. Nama transaksi : Nama unik dari transaksi yang menjalankan operasi write 2.T. yaitu eksekusi yang terjadi berulang-ulang sama dengan sekali eksekusi saja. which is the after image (AFIM). Record Log tersebut berisi : 1. Prosedur REDO REDO(WRITE_OP) : redoing a write_item operation WRITE_OP consists of examining its log entry [write_item. Bagaimana mekanisme Undo/ Redo bekerja di dalam DBMS. . Nama data item : Nama unik dari data item yang di tuliskan 3.X.undoNextLSN    Commit Record note catatan keputusan untuk melakukan transaksi Abort Record catatan keputusan untuk menggugurkan dan karenanya rollback transaksi.new_value] and setting the value of item X in the database to new_value. Jawab : Operasi REDO mempunyai sifat idempoten. Nilai lama : Nilai data item sebelum operasi write 4. Nilai baru : Nilai yang akan dimiliki data item setelah operasi write 5. Struktur data dari Transaction Log : Tiap record pada Log menggambarkan operasi tunggal transaksi yang menuliskan data.

fast-start chekpointing memungkinkan untuk mengkonfigurasi batas atau jumlah operasi i/o selama recovery. Fast-Start Parallel Rollback Melakukan rollback paralel memungkinkan satu set transaksi akan dapat direalisasikan pada paralel menggunakan sekelompok proses server. transaksi baru dapat dimulai ketika roll forward selesai mereka tidak perlu menunggu rollback secara lengkap. 6. Sebutkan dan Jelaskan macam-macam Database Recovery Jawab :  Fast-start fault recovery arsitektur yang mengurangi waktu yang dibutuhkan untuk rolling depan dan membuat pemulihan terbatas dan dapat diprediksi. Teknik ini digunakan ketika SMON menentukan bahwa jumlah pekerjaan yang diperlukan untuk melakukan pemulihan secara paralel kurang dari waktu yang dibutuhkan pemulihan serial. Dengan fast start on demand rollback.  Parallel recovery . Fast-Start On-Demand Rollback Selama recovery.Operasi UNDO akan berjalan saat mekanisme Recovery RDBMS menjalankan operasi Redo dengan menelusuri catatan Log transaksi awal sampai akhir dan menemukan suatu transaksi yang tidak diakhiri dengan sempurna (tidak ditemukannya klausa COMMIT atau ROLLBACK ).transaksi roll forwad dan rollback belum dilaksanakan. Fast-start fault recovery ada 3 macam: Fast-Start Checkpointing Selama recovery redo lod dibaca untuk mengetahui apa yang telah berubah dan membaca blog data untuk memutuskan apakah perubahan itu dapat diterapkan. Ini juga menghilangkan rollback dari waktu pemulihan untuk transaksi dibatalkan karena kesalahan sistem.

Jelaskan arsitektur dari distributed commit protocol. . kordinator memastikan bahwa property ini secara local dipastikan oleh participant.secara manual oleh beberapa pemisahan sesi Oracle Enterprise Manager dan mengeluarkan perintah RECOVER datafile pada datafiles yang berbeda di setiap sesi. Namun. 7. Ini berarti sebelum memicu comit protocol. Single phase commit protocol mengasumsikan bahwa kendala integritas akan diperikasa setelah setiap operasi updatedan sebelum operasi. metode ini menyebabkan setiap sesi Oracle Enterprise Manager untuk membaca seluruh file redo log. transaksi aktif memutar kembali. dan 3 phase commit protocol) Jawab:  single phase commit single phase commit protocol tidak memastikan property ACID dari cabangcabang local yang berkaitan dengan transaksi . dan jelaskan bagaimana distributed commit protocol bekerja (1 phase commit protocol.  Transparent Application Failover fitur dari Java Database Connectivity (JDBC) Oracle Call Interface (OCI) driver. Hal ini memungkinkan aplikasi untuk secara otomatis menyambung kembali ke database. jika contoh koneksi database yang dibuat gagal maka dalam hal ini. 2 phase commit protocol.

p. yaitu tidak boleh lagi meminta untuk dapat melakukan lock data. two-phase commit protocol juga memiliki keterbatasan dalam hal itu adalah protokol menghalangi (Begg & Connolly 2002. peserta akan memblokir proses sumber daya sambil menunggu pesan dari koordinator. Sebagai contoh. maka transaksi tersebut memasuki shrinking phase. Namun. Jika untuk alasan apapun ini gagal. Sebaliknya.749). 2 phase commit protocol Aturan dari two – phase protocol adalah bahwa setiap transaksi yang meminta untuk dapat melakukan lock atau unlock data terdiri dari dua fase: . Sub ordinat memaksa menulis rekaman log abort atau prepare dan mengirim suatu pesan no or yes ke coordinator. memaksa menulis rekaman log abort dan mengirim pesan abort. Transaksi diperbolehkan melakukan lock data yang diperlukan. . yaitu transaksi boleh melakukan unlock terhadap data. Sekali saja transaksi tersebut melakukan unlock terhadap data. tetapi tidak boleh meminta untuk melakukan lock baru terhadap data. peserta akan terus menunggu dan . Diinisialisasi diawal bahwa setiap transaksi melakukan growing phase.Growing Phase.Jika sebuah transaksi ingin commit maka coordinator mengirim pesan prepare ke semua sub ordinat. yaitu transaksi boleh melakukan lock terhadap data.Shrinking Phase. Sub Ordinat memaksa menulis rekaman log abort/commit berdasarkan pesan yang didapat. maka coordinator memaksa menulis suatu rekaman log commit dan mengirim pesan commit ke semua sub ordinat. Jika coordinator menerima pesan yes.

Dale Skeen menjelaskan three-phase commit protocol berkomitmen sebagai non bloking protokol . Di sisi lain. Oleh karena itu sumber daya bisa diblok tanpa batas waktu. Dia kemudian melanjutkan dengan mengatakan bahwa itu dikembangkan untuk menghindari kegagalan yang terjadi dalam dua-tahap melakukan transaksi. koordinator juga akan memblokir sumber daya sambil menunggu balasan dari peserta. peserta tahu bahwa semua yang lain telah memilih untuk komit. koordinator juga dapat memblokir tanpa batas waktu jika tidak ada pengakuan yang diterima dari peserta. 3PC adalah non-blocking.Secara khusus 3PC meruapakan batas atas pada jumlah waktu yang diperlukan sebelum melakukan transaksi ataupu pembatalan transaksi. Jika pra-komit pesan belum menerima peserta akan dibatalkan dan melepaskan setiap sumber daya yang diblokir. Properti ini memastikan bahwa jika sebuah transakasi yang diberikan adalah mencoba melakukan melalui 3PC dan memegang beberapa sumberdaya.tidak pernah dapat menyelesaikan transaksinya. Sebuah alternatif untuk two-phase commit protokol yang digunakan oleh banyak sistem database adalah Three-phase commit protocol. hal 749). maka akan melepaskan kunci setelah waktu habis. .  Three-phase commit protocol Algoritma terdistribusi yang memungkinkan semua node dalam sebuah sistem terdistribusi setuju untuk melakukan transaks berbeda dengan two protocol commit(2PC). Begg dan Connolly menunjukkan bahwa kemungkinan sebuah blok terjadi adalah jarang (2002. Dalam hal ini. Ketika menerima pra-komit pesan.