Anda di halaman 1dari 8

TUGAS DATABASE TERDISTRIBUSI SIFAT : INDIVIDU MATERI : DISTRIBUTED DATABASE RECOVERY NAMA : SITI LULUUL 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

atomic. Isolasi memastikan bahwa hanya satu commit atomic diproses pada suatu waktu.

3. Apakah yang dimaksud dengan Transaction Log, 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.

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

undoNextLSN Commit Record note catatan keputusan untuk melakukan transaksi Abort Record catatan keputusan untuk menggugurkan dan karenanya rollback transaksi. Checkpoint Record mencatat bahwa pos pemeriksaan telah dibuat.

Struktur data dari Transaction Log : Tiap record pada Log menggambarkan operasi tunggal transaksi yang menuliskan data, Record Log tersebut berisi : 1. Nama transaksi : Nama unik dari transaksi yang menjalankan operasi write 2. Nama data item : Nama unik dari data item yang di tuliskan 3. Nilai lama : Nilai data item sebelum operasi write 4. Nilai baru : Nilai yang akan dimiliki data item setelah operasi write 5. Bagaimana mekanisme Undo/ Redo bekerja di dalam DBMS, jelaskan algoritma proses Undo/ Redo. Jawab : Operasi REDO mempunyai sifat idempoten, yaitu eksekusi yang terjadi berulang-ulang sama dengan sekali eksekusi saja. Ini disebabkan karena jika sistem gagal selama proses recovery, 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. Prosedur REDO REDO(WRITE_OP) : redoing a write_item operation WRITE_OP consists of examining its log entry [write_item,T,X,new_value] and setting the value of item X in the database to new_value, which is the after image (AFIM).

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 ).

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

secara manual oleh beberapa pemisahan sesi Oracle Enterprise Manager dan mengeluarkan perintah RECOVER datafile pada datafiles yang berbeda di setiap sesi. Namun, 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. Hal ini memungkinkan aplikasi untuk secara otomatis menyambung kembali ke database, jika contoh koneksi database yang dibuat gagal maka dalam hal ini, transaksi aktif memutar kembali. 7. Jelaskan arsitektur dari distributed commit protocol, dan jelaskan bagaimana distributed commit protocol bekerja (1 phase commit protocol, 2 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 . Ini berarti sebelum memicu comit protocol, kordinator memastikan bahwa property ini secara local dipastikan oleh participant. Single phase commit protocol mengasumsikan bahwa kendala integritas akan diperikasa setelah setiap operasi updatedan sebelum operasi.

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

tidak pernah dapat menyelesaikan transaksinya. Oleh karena itu sumber daya bisa diblok tanpa batas waktu. Di sisi lain, koordinator juga akan memblokir sumber daya sambil menunggu balasan dari peserta. Dalam hal ini, koordinator juga dapat memblokir tanpa batas waktu jika tidak ada pengakuan yang diterima dari peserta. Begg dan Connolly menunjukkan bahwa kemungkinan sebuah blok terjadi adalah jarang (2002, hal 749).

Three-phase commit protocol Algoritma terdistribusi yang memungkinkan semua node dalam sebuah sistem

terdistribusi setuju untuk melakukan transaks berbeda dengan two protocol commit(2PC), 3PC adalah non-blocking.Secara khusus 3PC meruapakan batas atas pada jumlah waktu yang diperlukan sebelum melakukan transaksi ataupu pembatalan transaksi. Properti ini memastikan bahwa jika sebuah transakasi yang diberikan

adalah mencoba melakukan melalui 3PC dan memegang beberapa sumberdaya, 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. Dale Skeen menjelaskan three-phase commit protocol berkomitmen sebagai non bloking protokol . Dia kemudian melanjutkan dengan mengatakan bahwa itu dikembangkan untuk menghindari kegagalan yang terjadi dalam dua-tahap melakukan transaksi. Ketika menerima pra-komit pesan, peserta tahu bahwa semua yang lain telah memilih untuk komit. Jika pra-komit pesan belum menerima peserta akan dibatalkan dan melepaskan setiap sumber daya yang diblokir.

Anda mungkin juga menyukai