TEKNIK RECOVERY (ref. Fundamentals of DB Systems, Elmasri, N)

dokumen-dokumen yang mirip
PENDAHULUAN PENDAHULUAN TRANSAKSI TRANSAKSI TRANSAKSI 24/04/2016 TEKNIK RECOVERY

MERANCANG WEB DATA BASE UNTUK CONTENT SERVER

PENGONTROLAN BERBASIS KOMPUTER

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

DATABASE CONTROL 1. SECURITY DATABASE. Suzan Agustri 81

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

Backup & Recovery System. Teknik Informatika

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

MANAJEMEN TRANSAKSI. Alif Finandhita, S.Kom

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

RECOVERY SYSTEM. Alif Finandhita, S.Kom

PENGAMANAN SISTEM basis DAta

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

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

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

BAB 4 IMPLEMENTASI DAN EVALUASI

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

Administrasi Basis Data. Transaksi dan Lock. Yoannita

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

BAB 4 IMPLEMENTASI DAN EVALUASI

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

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

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

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

Transaction & Conccurency

KEAMANAN KOMPUTER. Pertemuan 12

Konsep Backup dan Recovery. By: Arif Basofi

KONSEP DATABASE ORACLE BKPM 1

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

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

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

PENGONTROLAN BERBASIS KOMPUTER

Transaksi. by: Ahmad Syauqi Ahsan

Gambar Layar pertama untuk pemecahan masalah Lost Update

Manajemen Transaksi (Penjadwalan & Kontrol konkurensi)

MANAGEMEN TRANSAKSI. Ferdi Yusuf #1

Praktikum MONITORING AND RESOLVING LOCK CONFLICTS. Tujuan :

Virtual Memory. Latar Belakang Demand Paging Pembuatan Proses Page Replacement Alokasi Frame Thrashing Contoh Sistem Operasi

DISTRIBUTED TRANSACTIONS

SISTEM BASIS DATA By Novareza Klifartha

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

Andi Dwi Riyanto, M.Kom

MERANCANG WEB DATA BASE UNTUK CONTENT SERVER

DATABASE ADMINISTRATOR

Selayang pandang ORACLE. Budi S

Administrasi Basis Data. Yoannita

TSI Perbankan REPLIKASI

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

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

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

SISTEM MANAJEMEN FILE

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB 2 TINJAUAN PUSTAKA

MODUL 10 TRANSACTION

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

PENGONTROLAN KONKURENSI

Database dalam Sistem Terdistribusi

Bab 10. Implementasi Sistem File POKOK BAHASAN: TUJUAN BELAJAR: 10.1 STRUKTUR SISTEM FILE

LINGKUNGAN BASIS DATA

Direktori yang diperlihatkan pada gambar 1. tersebut adalah untuk satu unit (mis. disk pack atau tape reel) dari penyimpanan sekunder. Labelnya berisi

PROSES PERANCANGAN DATABASE

KEAMANAN SISTEM BASIS DATA

PENGENALAN BASIS DATA. By Novareza Klifartha

Oracle Academic Initiative

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

BAB 2 LANDASAN TEORI

BAB V IMPLEMENTASI DAN PENGUJIAN

DISTRIBUTED TRANSACTIONS. Willy Sudiarto Raharjo

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

Virtual Memory. Latar Belakang. Latar Belakang (cont.) Virtual Memori

LANGKAH-LANGKAH BACKUP & RECOVERY PADA DATABASE MYSQL


MEMORI VIRTUAL. Kelompok Franky Sadar Baskoro S. Yemima Aprilia

6/26/2011. Database Terdistribusi. Database Terdesentralisasi

BAB VI PROTEKSI DATA (DATABASE CONTROL)

Organisasi SistemKomputer, Pelayanan Sistem Operasi. Ptputraastawa.wordpress.com

Bab 9: Virtual Memory. Latar Belakang

LANGKAH-LANGKAH BACKUP & RECOVERY PADA DATABASE MYSQL

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

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

LINGKUNGAN DATABASE Baca R Modifikasi R -

Tujuan Instruksional Khusus :

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

PENGATURAN PROSES. Proses adalah program yang sedangdieksekusi atau sofware yang sedang dilaksanakan.

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

BASIS DATA SKEMA BASIS DATA

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

Mekanisme Penanganan Deadlock Dalam Pemrosesan Transaksi Oleh DBMS Menggunakan Algoritma Backtracking

Penguncian pada Concurrency Control

Pemrosesan data sebelum adanya basis data Perancangan sistemnya masih didasarkan pada kebutuhan individu pemakai, bukan kebutuhan sejumlah pemakai

DATA INTEGRITY/KEINTEGRITASAN DATA

Operating System. I/O System. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

DISTRIBUTED FILE SYSTEMS

MODUL 4 KONSEP PROSES, KONKURENSI, MANAJEMEN PROSES (1) M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - M O D U L 4

Database dalam Sistem Terdistribusi

Manajemen Sistem Basis Data Integrity dan Security. Lintang Yuniar Banowosari

SINTAKS-SINTAKS PADA FILE SEQUENSIAL

TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java

SATUAN ACARA PERKULIAHAN MATA KULIAH PENGANTAR KOMPUTER & PRAKTIKUM (AKN) KODE / SKS KD / 4 SKS

Transkripsi:

TEKNIK RECOVERY (ref. Fundamentals of DB Systems, Elmasri, N) Pengenalan Transaksi dan Pemrosesannya 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. Sistem Single-user VS Multiuser Satu kriteria untuk mengklasifikasikan suatu sistem database berdasarkan jumlah user yang menggunakan sistem secara konkuren yaitu pada saat yang bersamaan. 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. Multiple user dapat mengakses database dan menggunakan sistem komputer secara simultan karena adanya konsep multiprogramming, dimana komputer dapat mengeksekusi multiple program atau proses pada saat yang bersamaan. Jika hanya ada sebuah CPU, berarti hanya dapat mengeksekusi satu proses satu saat. Sistem operasi multiprogramming mengeksekusi beberapa perintah dari satu proses kemudian menahan proses tsb dan mengeksekusi beberapa perintah dari proses selanjutnya, dst. Suatu proses dilanjutkan atau diteruskan dari tempat proses tsb ditahan pada saat gilirannya. Gambar 19.1 (ref. Elmashri) A A B B C CPU 1 D CPU 2 t 1 t 2 t 3 t 4 waktu 2 buah proses A dan B tereksekusi secara bergantian. Proses bergantian ini (interleaved) menyebabkan CPU tetap sibuk ketika sebuah proses membutuhkan operasi I/O misalnya baca blok dari disket. CPU diubah untuk mengeksekusi M3 DBMS 1/11

proses lainnya daripada berada dalam keadaan idle selama waktu I/O. proses inteleave ini menghindari proses yang lama dari penundaan proses lain. Jika sistem komputer memiliki prosesor hardware yang banyak, proses paralel dari proses yang multiple mungkin, seperti proses C dan D., istilah ini disebut dengan interleaved concurrency. Di DBMS yang multiuser, item data yang disimpan merupakan sumber utama yang dapat diakses secara konkuren oleh user yang interaktif atau program aplikasi, yang secara konstan mengambil informasi dari database dan memodifikasi DB. Transaksi merupakan unit logika dari proses database yang mencakup satu atau lebih operasi akses database meliputi insert, delete, modifikasi atau operasi retrieve. Operasi database ini dapat diembed dalam suatu program aplikasi atau dapat langsung dibuat interaktif dengan bahasa query level tinggi misal SQL. Satu cara untuk menspesifikasikan batasan transaksi adalah dengan membuat statemen begin transaction dan end transaction dalam program aplikasi; dalam kasus ini semua operasi akses database diantara statemen begin-end dianggap sebagai sebuah transaksi. Sebuah program aplikasi dapat berisi lebih dari sastu 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. Database direpresentasikan sebagai kumpulan dari item data yang dinamakan. Ukuran dari suatu item data disebut granularity, dan dapat berupa field dari beberapa record dalam database atau dapat merupakan unit yang lebih besar seperti record atau bahkan seluruh blok disk. 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 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. M3 DBMS 2/11

READ, WRITE BEGIN END TRANSACTION TRANSACTION COMMIT ACTIVE PARTIALLY COMMITTED COMMITTED ABORT ABORT FAILED TERMINATED M3 DBMS 3/11

KONSEP RECOVERY Recovery dari suatu kegagalan transaksi biasanya berarti database direstore ke status yang konsisten ke waktu sebelum terjadi kegagalan. 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. Beberapa strategi recovery : 1. Jika terjadi kerusakan ke sebagian besar database, misalnya disk crash, metode recovery merestore kopi sebelumnya dari database yang sudah diback-up ke storage khusus (biasanya tape) dan membangun kembali status dengan mengaplikasikan kembali atau redo operasi dari transaksi yang commit dari log backed-up sampai waktu dimana terjadi kegagalan 2. Ketika database tidak secara fisik rusak tetapi hanya menjadi tidak konsisten karena adanya kesalahan (system crash, system error, local error, concurrency control), strategi adalah membalik semua perubahan yang menyebabkan ketidak konsistenan yaitu dengan meng-undo beberapa operasi. Kemungkinan juga dengan melakukan redo beberapa operasi supaya dapat merestore status database yang konsisten. Ada 2 teknik utama dalam melakukan recovery kesalahan transaksi : 1. Deferred update 2. Immediate update Deferred update (update yang ditunda) Update tidak dilakukan secara langsung pada database tetapi update dilakukan setelah transaksi mencapai titik commit. Sebelum mencapai commit, semua transaksi yang diupdate disimpan di buffer local. Selama commit, update pertama disimpan dalam log dan ditulis ke database. Jika transaksi gagal sebelum mencapai titik commit, database tidak akan berubah hingga UNDO dibutuhkan. 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 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. M3 DBMS 5/11

Recovery dengan update tertunda pada single-user PROCEDURE RDU_S : use 2 lists of transactions; the committed transactions since the last checkpoint, and the active transactions (at most of transaction will fall in this category, because the system is in single-user). Apply the REDO operation to all the write_item operations of the committed transactions from the log in the order in which they were written to the log. Restart the active transactions. Recovery using Deferred Update in a Single-user environment = RDU_S 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 REDO mempunyai sifat idempoten, yaitu eksekusi yang terjadi berulangulang 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. 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) (b) log sistem saat terjadi crash [start_transaction,t 1] [write_item,t 1,D,20] [commit,t 1] [start_transaction,t 2] [write_item,t 2,B,10] [write_item,t 2,D,25] system crash The [write_item, ] operations of T 1 are redone. T 2 log entries are ignored by the recovery process. M3 DBMS 6/11

Kegagalan pertama terjadi pada eksekusi transaksi T 2 (gambar b). Proses recovery akan redo [write_item,t 1,D,20] pada log dengan me-reset nilai dari item D menjadi 20 (nilai barunya). Entri [write_item,t 2, ] pada log akan ditiadakan oleh proses recovery karena T 2 tidak commit. Jika kegagalan kedua terjadi selama recovery dari kegagalan pertama, proses recovery yang sama diulang dari awal hingga akhir dengan hasil yang sama. Recovery update tertunda dengan eksekusi konkuren pada multi-user 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 Multi-user environment = RDU_M Contoh T 1 T 2 T 3 T 4 T 5 t 1 t 2 Waktu checkpoint system crash Transaksi T 1 mencapai commit saat t 1, dimana T 3 dan T 4 belum. Sebelum terjadi sistem crash pada t 2, T 3 dan T 2 commit tetapi tidak untuk T 4 dan T 5. Berdasarkan prosedur RDU_M, tidak dibutuhkan operasi REDO write_item dari transaksi T 1 atau transaksi commit lainnya sebelum waktu checkpoint yang terakhir dari t 1. Operasi write_item dari T 2 dan T 3 harus diulang karena kedua transaksi mencapai titik commit setelah checkpoint yang terakhir. Log bersifat force-written sebelum suatu transaksi commit. Transaksi T 4 dan T 5 diabaikan, secara efektif ditunda atau rolled back karena operasi write_item disimpan dalam database karena deferred update. M3 DBMS 7/11

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. 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,t 1 ] [write_item,t 1,D,20] [commit,t 1] [checkpoint] [start_transaction,t 4] [write_item,t 4,B,15] [write_item,t 4,A,20] [commit,t 4] [start_transaction,t 2] [write_item,t 2,B,12] [start_transaction,t 3] [write_item,t 3,A,30] [write_item,t 2,D,25] system crash T 2 dan T 3 are ignored because they did not reach their commit points. T 4 is redone because its commit point is after the last system checkpoint. Immediate update (update yang segera) Di teknik ini, database akan diupdate oleh beberapa transaksi sebelum transaksi mencapai titik point. Operasi secara khusus disimpan di log pada disk dengan M3 DBMS 8/11

force-writing sebelum diaplikasikan ke database. Jika transaksi gagal setelah menyimpan beberapa perubahan pada database tetapi mencapai titik commit, efek dari operasi pada database harus undone (lepas/ buka); harus rolled back. Jika transaksi mencapai commit sebelum semua perubahan ditulis ke database dikenal dengan algoritma UNDO/ REDO. Variasi dari algoritma ini adalah semua update disimpan dalam database sebelum sebuah transaksi mencapai commit (membutuhkan hanya UNDO), dikenal dengan algoritma UNDO/NO-REDO. UNDO/ REDO Recovery based on immediate update in a single-user Jika kegagalan terjadi, transaksi yang aktif pada saat terjadi kegagalan menyimpan beberapa perubahan pada database. Efek dari semua operasi ini harus dibuka (UNDONE). Prosedur RIU_S (Recovery using Immediate Update in a Single-user environment) 1. Use 2 lists of transactions maintained by the system : the committed transactions since the last checkpoint and the active transactions (at most one transaction will fall in this category, because the system is single-user) 2. Undo all the write_item operations of the active transaction from the log, using the UNDO procedure described below. 3. Redo the write_item operations of the committed transactions from the log, in the order in which they were written in the log, using REDO procedure describe earlier. UNDO(WRITE_OP) : Undoing a write_item operation write_op consists of examining its log entry [write_item,t,x,old_value,new_value] and setting the value of X in the database to old_value which is the before imaging (BFIM). Undoing a number of write_item operations from one or more transactions from the log must proceed in the reverse order from the order in which the operations were written in the log. UNDO/ REDO Recovery based on immediate update with concurrent execution Prosedur RIU_M 1. Use 2 lists of transactions maintained by the system : the committed transactions since the last checkpoint and the active transactions. 2. Undo all the write_item operations of the active (uncommitted) transactions, using the UNDO procedure. The operations should be undone in the reverse of the order in which they were written into the log. 3. Redo all the write_item operations of the committed transactions from the log, in the order in which they were written in the log. SHADOW PAGING Skema recovery ini tidak membutuhkan penggunaan log pada single-user. Pada multiuser, sebuah log mungkin dibutuhkan untuk metode kontrol konkurensi. M3 DBMS 9/11

Shadow paging mempertimbangkan database yang berasal dari sejumlah halaman disk berukuran tetap (fixed-size disk) atau blok disk, misalnya sebanyak n. sebuah direktori dengan n entri dibuat, dimana entri yang ke i menunjuk halaman database yang ke i pada disk. Direktori disimpan di memori utama jika tidak terlalu besar, dan semua referensi baca atau tulis ke halaman database pada disk. Ketika transaksi memulai mengeksekusi, directori current yang entrinya ke halaman database yang paling baru dikopikan ke directori shadow. Direktori shadow ini kemudian disimpan pada disk ketika directori current digunakan untuk transaksi. Selama eksekusi transaksi, directori shadow tidak pernah dimodifikasi. Ketika operasi write_item dilaksanakan, kopi baru dari halaman database yang dimodifikasi dibuat, tetapi kopian lama dari halaman tersebut tidak ditumpangi (overwritten). Selain itu, halaman baru ditulis di lain tempat di beberapa blok disk yang tidak digunakan sebelumnya. Entri directori current dimodifikasi untuk menunjuk ke blok disk baru, dimana directori shadow tidak dimodifikasi dan berlanjut menunjuk ke blok disk lama yang tidak dimodifikasi. Contoh. Page 5 (old) Page 1 1 Page 4 1 2 Page 2 (old) 2 3 Page 3 3 4 Page 6 4 5 Page 2 (new) 5 6 Page 5 (new) 6 Current directory Database disk blocks shadow directory (after updating page 2, 5) (pages) (not updated) ada 2 versi. Versi yang lama direferensi oleh directori shadow, versi yang baru oleh directori current. Untuk mengcover kegagalan selama eksekusi transaksi, cukup dengan membebaskan halaman database yang dimodifikasi dan menghapus directori current. Keadaan database sebelum eksekusi transaksi berada pada direktori shadow dan keadaan itu direcover dengan mengembalikan kembali direktori shadow. Database kemudian dikembalikan ke keadaan sebelumnya bagi transaksi yang dieksekusi ketika terjadi crash, dan semua halaman yang M3 DBMS 10/11

dimodifikasi dihapus. Transaksi yang commit berhubungan dengan penghapusan direktori shadow sebelumnya. Teknik ini disebut dengan NO-UNDO/ NO-REDO. Pada multiuser dengan transaksi yang concurrent, log dan checkpoint dihubungkan dengan teknik shadow paging. Satu keuntungan dari shadow paging adalah halaman database yang diupdate mengubah lokasi pada disk. Ini yang menyulitkan untuk menyimpan halaman database yang berhubungan dalam disk tanpa strategi manajemen penyimpanan yang kompleks. Jika direktori besar, penambahan penulisan direktori shadow ke disk sebagai transaksi yang commit menjadi berarti. M3 DBMS 11/11