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. Kehilangan data dikurangi yaitu hanya satu transaksi terakhir yang tidak tercatat yang hilang musnah. Jawab : Type database log :  Update Log Record catatan sebuah update (perubahan) ke database. 4. Jelaskan struktur data dari Transaction Log. 3. Transaction log bekerja: Setiap transaksi segera dicatat (log) menghasilkan transaction log. Pemulihan dilakukan dengan cara sistem menjalankan setiap transaksi di transaction log terhadap backup terakhir. kemudian jelaskan data-data yang disimpan di dalam transaction log.atomic. 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. Isolasi memastikan bahwa hanya satu commit atomic diproses pada suatu waktu. 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. Apakah yang dimaksud dengan Transaction Log. seterusnya sampai transaksi terakhir yang tercatat. mencakup : PageID Length and Offset Before and After Images .

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

transaksi roll forwad dan rollback belum dilaksanakan. Ini juga menghilangkan rollback dari waktu pemulihan untuk transaksi dibatalkan karena kesalahan sistem. Fast-Start On-Demand Rollback Selama recovery. transaksi baru dapat dimulai ketika roll forward selesai mereka tidak perlu menunggu rollback secara lengkap.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 ). Teknik ini digunakan ketika SMON menentukan bahwa jumlah pekerjaan yang diperlukan untuk melakukan pemulihan secara paralel kurang dari waktu yang dibutuhkan pemulihan serial. 6. Fast-Start Parallel Rollback Melakukan rollback paralel memungkinkan satu set transaksi akan dapat direalisasikan pada paralel menggunakan sekelompok proses server. 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. 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.  Parallel recovery . fast-start chekpointing memungkinkan untuk mengkonfigurasi batas atau jumlah operasi i/o selama recovery. Dengan fast start on demand rollback.

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

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

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

Sign up to vote on this title
UsefulNot useful