PENDAHULUAN PENDAHULUAN TRANSAKSI TRANSAKSI TRANSAKSI 24/04/2016 TEKNIK RECOVERY

dokumen-dokumen yang mirip
TEKNIK RECOVERY (ref. Fundamentals of DB Systems, Elmasri, N)

PENGONTROLAN BERBASIS KOMPUTER

DATABASE CONTROL 1. SECURITY DATABASE. Suzan Agustri 81

MERANCANG WEB DATA BASE UNTUK CONTENT SERVER

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Backup & Recovery System. Teknik Informatika

PENGAMANAN SISTEM basis DAta

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

BAB 4 IMPLEMENTASI DAN EVALUASI

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

RECOVERY SYSTEM. Alif Finandhita, S.Kom

MANAJEMEN TRANSAKSI. Alif Finandhita, S.Kom

Perangkat keras Kebakaran, banjir, bom, pencurian, listrik, gempa, radiasi, kesalahan mekanisme keamanan

RECOVERY SYSTEM. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

RECOVERY SYSTEM. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom

PENGONTROLAN BERBASIS KOMPUTER

KEAMANAN KOMPUTER. Pertemuan 12

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

DISTRIBUTED TRANSACTIONS

Administrasi Basis Data. Transaksi dan Lock. Yoannita

BAB 4 IMPLEMENTASI DAN EVALUASI

Andi Dwi Riyanto, M.Kom

Gambar Layar pertama untuk pemecahan masalah Lost Update

Concurrency Control Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

MANAGEMEN TRANSAKSI. Ferdi Yusuf #1

SISTEM BASIS DATA BACKUP DAN RECOVERY. Backup Data. Restore Data. DENI HERMAWAN Informatika

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007

Transaksi. by: Ahmad Syauqi Ahsan

BAB VI PROTEKSI DATA (DATABASE CONTROL)

Manajemen Transaksi (Penjadwalan & Kontrol konkurensi)

Distributed System. 8 Management Transaksi. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

SISTEM BASIS DATA By Novareza Klifartha

Transaksi Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

KONSEP DATABASE ORACLE BKPM 1

Distributed System. 9 Concurrency Control. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

TSI Perbankan MANAJEMEN DATA LOCK. Obyektif : 1. Mengetahui konsep lock 2. Mengetahui konsep share pada file database. AS/400 hal. B.

LANGKAH-LANGKAH BACKUP & RECOVERY PADA DATABASE MYSQL

KEAMANAN SISTEM BASIS DATA

Transaction & Conccurency

LINGKUNGAN DATABASE Baca R Modifikasi R -

Manajemen Transaksi. Praktikum Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

LANGKAH-LANGKAH BACKUP & RECOVERY PADA DATABASE MYSQL

MODUL 10 TRANSACTION

MERANCANG WEB DATA BASE UNTUK CONTENT SERVER

Konsep Backup dan Recovery. By: Arif Basofi

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

Selayang pandang ORACLE. Budi S

Praktikum MONITORING AND RESOLVING LOCK CONFLICTS. Tujuan :

Ada dua cara untuk melakukan backup dan pemulihan Oracle: Recovery Manager dan dikelola pengguna backup dan pemulihan.

LINGKUNGAN DATABASE LANJUTAN

DISTRIBUTED TRANSACTIONS. Willy Sudiarto Raharjo

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi

BAB 2 TINJAUAN PUSTAKA

PENGONTROLAN KONKURENSI

Pembuatan Disaster Recovery Planning SQL Server dengan Metode Log Shipping

DATABASE ADMINISTRATOR

Mekanisme Penanganan Deadlock Dalam Pemrosesan Transaksi Oleh DBMS Menggunakan Algoritma Backtracking

BAB 4 IMPLEMENTASI DAN EVALUASI. maka diperlukan suatu jaringan LAN yang terhubung antara komputer yang satu

DEADLOCK & RECOVERY SYSTEM

Oracle Academic Initiative

BAB 1 PENDAHULUAN. menyimpan data di dalam relasi-relasi. mengontrol akses ke basis data, dibuatlah suatu sistem piranti lunak yang

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom

DATA INTEGRITY/KEINTEGRITASAN DATA

BAB 2 LANDASAN TEORI

Manajemen Sistem Basis Data Integrity dan Security. Lintang Yuniar Banowosari

Penguncian pada Concurrency Control

Praktikum 14. Sistem File 1 KONSEP FILE POKOK BAHASAN: TUJUAN BELAJAR:

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

KELOMPOK 5: Rizky Asward Arbie Tjatur Susetio Prabowo Hendro Adi Cahyo Fitri Lestari

Administrasi Basis Data. Yoannita

3. Apa kekurangan paging sederhana dibandingkan dengan paging pada virtual memory?

BAB V IMPLEMENTASI DAN PENGUJIAN

PRAKTIKUM SISTEM BASIS DATA TUGAS 1 MANGROVE PERCETAKAN. Penyusun : Nama : Edi Sastrawijoyo NIM : Prodi : Teknik Informatika

SISTEM BASIS DATA. Pendahuluan. Gentisya Tri Mardiani, M.Kom

Ramakrishnan - Database Management Systems 3rd Edition Page 23-24

PERTEMUAN 9 MANIPULASI DATA

Database dalam Sistem Terdistribusi

SISTEM MANAJEMEN FILE


DISTRIBUTED FILE SYSTEMS

Manajemen File. Kebutuhan Penyimpanan Informasi

Database Security BY NUR HIDAYA BUKHARI PRODI TEKNIK INFORMATIKA DAN KOMPUTER UNIVERSITAS NEGERI MAKASSAR 2012

6/26/2011. Database Terdistribusi. Database Terdesentralisasi

PENERAPAN PERINTAH MYSQL DALAM BACKUP DATABASE. Sitti Arni Program Studi : Sistem Informasi STMIK Profesional Makassar

Administrasi Basis Data. Yoannita

Distributed Transaction

Database dalam Sistem Terdistribusi

Transaksi dan Data Integrity

BAB 2 LANDASAN TEORI

Tujuan Instruksional Khusus :

BAB I PENDAHULUAN : SISTEM BASIS DATA

Rangga Praduwiratna Pendahuluan. Membuat Backup Device pada SQL Server

17/04/2015 SISTEM OPERASI

BASIS DATA SKEMA BASIS DATA

Manajemen Transaksi A. Konsep Transaksi 1. Membuat Tabel account dengan type Innodb

KONTROL KONKURENSI TERDISTRIBUSI (DCC)

Transkripsi:

PENDAHULUAN TEKNIK RECOVERY Oleh: I Gede Made Karma Konsep transaksi menyediakan suatu mekanisme untuk menggambarkan unit logika dari proses database. Sistem pemrosesan transaksi merupakan sistem dengan database yang besar dan ribuan concurrent user yang mengeksekusi transaksi database. Source:http://iqbalhabibie.staff.gunadarma.ac.id/Downloads/files/31240/4.4+REcovery.ppt PENDAHULUAN DBMS adalah single-user jika paling banyak satu user yang dapat menggunakan sistem satu saat, dan multiuser jika banyak user dapat menggunakan sistem, dan kemudian mengakses database bersamaan. Single-user DBMS kebanyakan terbatas pada beberapa sistem mikro komputer, selain itu multiuser. TRANSAKSI Transaksi merupakan unit logika dari proses database yang mencakup satu atau lebih operasi pengaksesan database meliputi insert, delete, modifikasi atau operasi retrieve. Operasi database ini dapat disisipkan dalam suatu program aplikasi atau dapat langsung dibuat interaktif dengan bahasa query level tinggi misal SQL. TRANSAKSI Satu cara untuk menspesifikasikan batasan transaksi adalah dengan membuat statemen begin transaction dan end transaction dalam program aplikasi; Pada kasus ini semua operasi yang mengakses database di antara statemen begin-end dianggap sebagai sebuah transaksi. TRANSAKSI Sebuah program aplikasi dapat berisi lebih dari satu transaksi jika berisi beberapa batasan transaksi. Jika operasi database dalam suatu transaksi tidak meng-update database tetapi hanya mengambil (retrieve) data, transaksinya disebut dengan read-only transaction. 1

STATUS TRANSAKSI & OPERASI TAMBAHAN Suatu transaksi adalah unit terkecil dari kerja yang dapat diselesaikan atau tidak dapat diselesaikan. Beberapa operasinya dengan diagram transisinya : BEGIN_TRANSACTION : memulai transaksi READ or WRITE : operasi baca atau tulis dari item database yang dieksekusi sebagai bagian dari transaksi END_TRANSACTION : operasi transaksi READ atau WRITE selesai dilakukan STATUS TRANSAKSI & OPERASI TAMBAHAN COMMIT_TRANSACTION : transaksi berakhir sukses sehingga semua perubahan (update) yang dilakukan melalui transaksi dapat dimasukkan ke database dan akan diselesaikan ROLLBACK (or ABORT) : transaksi berakhir dengan tidak sukses sehingga semua perubahan atau efek transaksi yang diaplikasikan ke database tidak dapat diselesaikan. STATUS TRANSAKSI & OPERASI TAMBAHAN KONSEP RECOVERY Recovery basis data merupakan suatu proses penyimpanan kembali basis data pada keadaan yang benar sebelum terjadi kegagalan(failure). Recovery dari suatu kegagalan transaksi biasanya berarti database direstore ke status yang konsisten ke waktu sebelum terjadi kegagalan. AKIBAT YG TIMBUL KRN KESALAHAN (lanj.) PENYEBAB KEGAGALAN Natural physical disasters (bencana fisik yg natural), seperti kebakaran, air bah, gempa Carelessness (kekurangtelitian atau kerusakan pada data atau fasilitas yg tidak disengaja disebabkan oleh operator atau pengguna) Sabotase, kerusakan pada data, fasilitas perangkat lunak & keras yg disengaja 11 System crash (kerusakan sistem), akibat kesalahan pada perangkat keras atau lunak, menyebabkan kehilangan memori utama Media failure (kegagalan pada media), seperti media tidak dapat dibaca, menyebabkan kehilangan sebagian dari penyimpanan sekunder Application software error (kesalahan pada perangkat lunak aplikasi, seperti kesalahan logika yg mengakses basis data menyebab kan satu atau lebih transaksi mengalami kegagalan 12 2

KONSEP RECOVERY Untuk mengcover kesalahan atau kegagalan dari transaksi, sistem memaintain sebuah log untuk menjaga jalannya semua operasi yang mempengaruhi nilai dari item database. Informasi ini mungkin akan dibutuhkan untuk mengcover adanya kegagalan. LOG disimpan di storage, dan secara berkala diback-up ke storage lainnya untuk menjaga dari kerusakan yang fatal. FASILITAS RECOVERY PADA DBMS Mekanisme backup melakukan backup secara periodik terhadap basis data yg ada Fasilitas Logging Mencatat transaksi-transaksi dan perubahan-perubahan yang terjadi terhadap basis data. DBMS memelihara file khusus yang disebut Log (Journal) yang menyediakan informasi mengenai seluruh perubahan yang terjadi pada basis data. Fasilitas Checkpoint Mengizinkan update terhadap basis data yang akan menjadi basis data yang permanen Manager recovery Mengizinkan sistem untuk menyimpan kembali basis data ke keadaan sebelum terjadi kegagalan 14 TEKNIK RECOVERY Prosedur recovery yang digunakan tergantung dari kegagalan yang terjadi pada basis data. Terdapat 2 kasus kerusakkan : 1. Jika basis data rusak secara fisik seperti : disk head crash dan menghancurkan basis data, maka yang terpenting adalah melakukan penyimpanan kembali backup basis data yang terakhir dan mengaplikasikan kembali operasi-operasi update transaksi yang telah commit dengan menggunakan log file. Dengan asumsi bahwa log file-nya tidak rusak. TEKNIK RECOVERY (lanj.) 2. Jika basis data tidak rusak secara fisik tetapi menjadi tidak konsisten, sebagai contoh : sistem crash sementara transaksi dieksekusi, maka yang perlu dilakukan adalah membatalkan perubahan-perubahan yang menyebabkan basis data tidak konsisten. Mengulang beberapa transaksi sangat diperlukan juga untuk meyakinkan bahwa perubahan2 yang dilakukan telah disimpan di dalam secondary storage. Di sini tidak perlu menggunakan salinan backup basis data, tetapi dapat me-restore basis data ke dalam keadaan yang konsisten dengan menggunakan before dan after-image yang ditangani oleh log file. 15 16 KONSEP RECOVERY Ada 2 teknik utama dalam melakukan recovery kesalahan transaksi : 1. Deferred update 2. Immediate update Deferred/Tunda Update Menunda update yang sesungguhnya ke basis data sampai transaksi menyelesaikan eksekusinya dengan sukses dan mencapai titik commit. Selama eksekusi masih berlangsung update hanya dicatat pada system log dan transaction workspace. Setelah transaksi commit dan log sudah dituliskan ke disk, maka update dituliskan ke basis data 3

Deferred Update Ide dari protocol update yang tertunda : 1. Sebuah transaksi tidak dapat merubah database pada disk hingga mencapai titik point 2. Sebuah transaksi tidak dapat mencapai titik point hingga semua operasi update disimpan dalam log dan ditulis ke disk Deferred Update Karena database tidak pernah ter-update pada disk hingga transaksi mencapai commit, operasi UNDO tidak diperlukan. Operasi ini dikenal dengan algoritma recovery NO UNDO/ REDO. REDO dibutuhkan saat sistem gagal setelah transaksi mencapai commit tetapi sebelum perubahan disimpan pada database di disk. RDU untuk Single User Mulai dari entry terakhir pada log, baca mundur sampai ke awal dari log Buat list dari transaksi yang sudah commit dan yang belum commit Lakukan operasi REDO dari semua operasi write_item dari transaksi yg sudah commit, dengan urutan seperti tertulis pada log Abaikan semua operasi dari transaksi yang belum commit implicit rollback Transaksi yg belum commit akan diresubmit kembali ke sistem Single-user Contoh (a) operasi read dan write dari 2 buah transaksi T1 T2 read_item(a) read_item(b) read_item(d) write_item(b) write_item(d) read_item(d) write_item(d) Single-user (b) log sistem saat terjadi crash [start_transaction,t1] [write_item,t1,d,20] [commit,t1] [start_transaction,t2] [write_item,t2,b,10] [write_item,t2,d,25] system crash Single-user Kegagalan pertama terjadi pada eksekusi transaksi T2 (gambar b). Proses recovery akan redo [write_item,t1,d,20] pada log dengan mereset nilai dari item D menjadi 20 (nilai barunya). Entri [write_item,t2, ] pada log akan ditiadakan oleh proses recovery karena T2 tidak commit. Jika kegagalan kedua terjadi selama recovery dari kegagalan pertama, proses recovery yang sama diulang dari awal hingga akhir dengan hasil yang sama. 4

Kontrol konkurensi dan proses recovery berhubungan. Secara umum, semakin besar tingkat konkurensi dicapai, semakin banyak waktu untuk recovery. PROCEDURE RDU_M (WITH CHECKPOINT) : use 2 lists of transactions maintained by the system; the committed transactions T since the last checkpoint (commit list), and the active transactions T (active list). REDO all the WRITE operations of the committed transactions from the log, in the order in which they were written into the log. The transactions that are active and did not commit are effectively canceled and must be resubmitted. Recovery using Deferred Update in a environment = RDU_M Transaksi T1 mencapai commit saat t1, dimana T3 dan T4 belum. Sebelum terjadi sistem crash pada t2, T3 dan T2 commit tetapi tidak untuk T4 dan T5. Berdasarkan prosedur RDU_M, tidak dibutuhkan operasi REDO write_item dari transaksi T1 atau transaksi commit lainnya sebelum waktu checkpoint yang terakhir dari t1. Operasi write_item dari T2 dan T3 harus diulang karena kedua transaksi mencapai titik commit setelah checkpoint yang terakhir. Log bersifat force-written sebelum suatu transaksi commit. Transaksi T4 dan T5 diabaikan, secara efektif ditunda atau rolled back karena operasi write_item disimpan dalam database karena deferred update. Keuntungan dari metode atau algoritma NO- UNDO/REDO adalah operasi transaksi tidak pernah dibutuhkan untuk tidak jadi dilaksanakan, karena : 1. Transaksi tidak mencatat setiap perubahan dalam database pada disk sampai mencapai point commit, yaitu sampai menyelesaikan eksekusi secara lengkap. Sehingga transaksi tidak pernah dirolled back karena kesalahan selama eksekusi transaksi. 2. Transaksi tidak akan pernah membaca nilai yang ditulis oleh transaksi yang belum commit karena item tetap terkunci sampai transaksi mencapai titik commit. 5

Contoh (c) operasi read dan write dari 4 buah transaksi T1 T2 T3 T4 read_item(a) read_item(b) read_item(a) read_item(b) read_item(d) write_item(b) write_item(a) write_item(b) write_item(d) read_item(d) read_item(c) read_item(a) write_item(d) write_item(c) write_item(a) (d) log sistem saat terjadi crash [start_transaction,t1] [write_item,t1,d,20] [commit,t1] [checkpoint] [start_transaction,t4] [write_item,t4,b,15] [write_item,t4,a,20] [commit,t4] [start_transaction,t2] [write_item,t2,b,12] [start_transaction,t3] [write_item,t3,a,30] [write_item,t2,d,25] system crash T2 dan T3 diabaikan karena mereka tidak mencapai commit points mereka. T4 adalah redone karena commit point-nya setelah system checkpoint terakhir. +/- RDU pd multiuser Keuntungan Transaksi tidak perlu di rollback Tidak ada cascading rollback Kekurangan Bila tanpa checkpoint, proses REDO bisa panjang Dengan two-phase locking dan mendapatkan semua lock sebelum mulai transaksi akan membatasi concurrency Recovery Berdasarkan Immediate Update (RIU) Update dilakukan langsung pada basis data tanpa menunggu transaksi mencapai titik commit Operasi tetap harus dituliskan ke log (pada disk) sebelum update dilakukan pada basis data Write-Ahead Logging protocol RIU untuk Single User Buat list semua transaksi yang sudah commit dan list transaksi yang belum commit UNDO semua operasi write_item dari transaksi yang belum commit REDO semua operasi write_item dari transaksi yang sudah commit sesuai dengan urutan yang tertulis pada log Dapat ditambahkan checkpoint 6

RIU Untuk Multiuser Buat list dari transaksi yg sudah commit dan belum commit setelah checkpoint terakhir ditulis Buat list transaksi yg sudah commit yang membaca data item dari transaksi yang belum commit untuk cascading rollback UNDO semua transaksi yg belum commit dan transaksi yang harus di-rollback REDO semua operasi write_item yang berasal dari transaksi yang sudah commit. +/- RIU pd multi user Keuntungan Tidak membatasi concurency Kerugian Ada REDO & UNDO Ada cascading rollback Recovery dengan Shadow Paging Basis data terdiri dari sejumlah fixed-size disk Buat page table di memory dengan jumlah entry yang sama dengan jumlah disk page Shadow page table adalah copy dari current page table yang disimpan di disk Selama transaksi berlangsung current page table diupdate, sedangkan shadow page table tidak dimodifikasi Recovery dengan Shadow Paging Bila operasi write_item dilaksanakan, maka copy dari basis data yang akan dimodifikasi dibuat Current page table dimodifikasi untuk menunjuk pada disk page yang baru, sedangkan shadow page lama tetap menunjuk pada disk blok yang lama Bila proses commit sukses, maka shadow page table akan dihapus Bila proses commit gagal, maka status basis data sebelum transaksi bisa diperoleh dari shadow page table Shadow Paging AFIM tidak menimpa BFIMnya tetapi disimpan pada tempat lain di disk. Sehingga, setiap saat sebuah item data memiliki AFIM dan BFIM (Shadow copy dari item data) pada dua tempat yang berbeda di disk. X Y X' Database Y' X dan Y: Shadow copies dari item data X` dan Y`: Current copies dari item data Shadow Paging Untuk mengatur akses item data dengan konkuren dua direktori transaksi (current dan shadow) yang digunakan. Susunan direktori digambarkan di bawah ini. Halaman berikut merupakan item data. Current Directory (after updating pages 2, 5) 1 2 3 4 5 6 Page 5 (old) Page 1 Page 4 Page 2 (old) Page 3 Page 6 Page 2 (new) Page 5 (new) Shadow Directory (not updated) 1 2 3 4 5 6 7

+/- Shadow paging Keuntungan Proses UNDO sangat sederhana Tidak perlu REDO Bisa memakai log, checkpoint Kerugian Update pada basis data akan mengubah lokasi database page pada disk, hingga sukar untuk mengatur agar beberapa page selalu berdekatan Bila page table besar, maka overhead untuk membuat shadow page table juga besar 8