Anda di halaman 1dari 12

Recovery

Recovery ((Pemulihan
Pemulihan Basisdata)
Basisdata)

–Konsep Pemulihan Basisdata


•Immediate Database
Modification

1
Konsep Pemulihan Basisdata
Immediate Database Modification
• Memungkinkan modifikasi database untuk di-
outputkan pada saat transaksi masih aktif
– Karena ada kemungkinan terjadi failure maka harus
ada mekanisme undo untuk membatalkan transaksi yang
terkena failure (log record harus mempunyai baik old
value maupun new value).
• Update log record harus dituliskan sebelum
database item dituliskan
• Output terhadap blok yang di-update dapat
dilakukan baik sebelum atau setelah transaksi
commit
• Urut-urutan operasi output per blok dapat
berbeda dengan urutan blok tersebut ditulisi
(urutan operasi output bisa berbeda dengan
operasi write)

2
Konsep Pemulihan Basisdata

Immediate Database Modification (lanjt)

Log Write Output

<T0 start>
<T0, A, 1000, 950>
To, B, 2000, 2050
x1 A = 950
B = 2050
<T0 commit>
<T1 start>
<T1, C, 700, 600>
C = 600
BB, BC
<T1 commit>
BA
• Note: BX menyatakan block yang mengandung X.

3
Konsep Pemulihan Basisdata
Immediate Database Modification (lanjt)
• Prosedur recovery mempunyai dua operasi (pada deferred
database modification hanya satu operasi) :
– undo(Ti) mengembalikan nilai semua item data yang di-update oleh
transaksi Ti ke old value, dilakukan mundur dari log terakhir untuk Ti
– redo(Ti) membuat nilai semua item data yang di-update oleh Ti ke new
value, dilakukan maju dari log record pertama untuk Ti
• Kedua operasi harus idempoten
– Yaitu, meskipun operasi dilakukan berulang kali efeknya akan sama
dengan apabila dilakukan hanya sekali
• Diperlukan karena Operasi-operasi yang ada di log record bisa dieksekusi
berulang kali selama recovery.
• Ketika memulihkan (recovering) setelah failure:
– Transaksi Ti harus di-undo jika log mempunyai record <Ti start>, tetapi
tidak mengandung <Ti commit>.
– Transaksi Ti perlu di-redo jika pada log terdapat baik record <Ti
start> maupun <Ti commit>.
• Operasi undo dilakukan pertama kali, baru kemudian operasi redo

4
Konsep Pemulihan Basisdata
Immediate Database Modification (lanjt)

Langkah yang diambil dalam tiap kasus di-atas adalah :


(a) undo (T0): B dikembalikan ke nilai 2000 dan A ke 1000.
(b) undo (T1) dan redo (T0): C dikembalikan ke nilai 700, dan kemudian A dan
B di-set ke nilai 950 dan 2050 secara berurutan.
(c) redo (T0) dan redo (T1): A dan B di-set ke nilai 950 dan 2050
secara berurutan. Kemudian C di-set ke 600

5
Tinjauan Praktis
Oracle Backup and Recovery
• Pada Oracle operasi recovery tidak
terlepas dari operasi backup
• Beberapa terminologi:
– Backup (membuat salinan database)
– Restore (membuat salinan berada di
tempat yang seharusnya sehingga bisa
dibaca oleh DBMS)
– Recover (membuat data berada pada
state yang paling mutakhir)

6
Tinjauan Praktis
What things to back-up?
• Datafile
• Control file
• Redo log file (online/archived redo log file)
What’s datafile?
• Tempat penyimpanan data (table, indeks), diasosiasikan
secara logis ke dalam struktur yang disebut tablespace
– Satu tablespace bisa berasosiasi dengan lebih dari satu
datafile
– Hanya dapat diasosikan dengan satu buah database
• Datafile dibagi menjadi unit yang lebih kecil yang disebut
data block
• Pembacaan datafile dilakukan dengan mengambil beberapa
blok datafile ke dalam buffer cache (area ini juga disebut
System Global Area)
• Elemen oracle yang melakukan penulisan dari buffer ke
datafile adalah DBWR

7
Tinjauan Praktis
What’s control file?
• File yang berisi semua operating system file name
yang membentuk database.
• File ini juga berisi informasi penting yang
digunakan pada saat recovery:
– Nama database
– Timestamp (waktu pembuatan database)
– Nama datafile, online/archived redo log file
– Checkpoint
– Informasi file yang dibackup (jika menggunakan utilitas
Recovery Manager)
• What’s Rollback Segment?
– Struktur logis di datafile yang menyimpan state
informasi/data sebelum berubah.

8
Tinjauan Praktis
• What’s online redo log files?
– File yang mencatat semua perubahan
(update) data.
• System Change Number (SCN)
– Nilai yang secara unik menyatakan versi
database yang sudah commit
– Tiap kali oracle melakukan operasi
commit maka oracle akan mengeluarkan
SCN yang baru.
– SCN dipakai pada datafile, control file,
dan redo log record

9
Tinjauan Praktis
Type backup
• Whole database backup
• Consistent Whole database Backup (semua file memiliki SCN
yang sama)
– Dilakukan setelah database dalam keadaan mati
• Inconsistent Whole Database
– Dilakukan pada saat database masih running)
• Inconsistent closed Backup
– Dilakukan setelah system crash (shutdown abort)
• Tablespace backup
• Datafile backup
• Control file backup
– ALTER DATABASE BACKUP CONTROLFILE to ‘location’ pada
SQL*Plus
– Jika menggunakan O/S database harus dalam keadaan mati.

10
Tinjauan Praktis
Type Recovery
• Tablespace point-in-time recovery (TSPITR), bisa
recover tablespace ke waktu yang berbeda dari
tablespace lain di database
• Time-based Recovery (PITR), mengembalikan
database ke waktu yang didefinisikan oleh user
• Cancel-based recovery, mengembalikan database
sampai perintah CANCEL dikeluarkan
• Change-based recovery atau log sequence
recovery, memulihkan database sampai pada SCN
tertentu yang ada di redo log record.

11
Tugas
Per Kelompok (Dikumpul maksimal pada UTS)
• Buatlah contoh-contoh backup database
• Buatlah contoh-contoh recovery (TSPITR,
PITR, Cancel-based, change-based) dengan
skenario failure dibuat sendiri.
• Hasil tugas adalah laporan berisi minimal
(skenario failure yang ditangani, tampilan
di layar pada saat melakukan backup,
anggota kelompok yang bertanggung jawab
untuk operasi tersebut).
• DBMS yang digunakan Oracle/Ms. SQL
Server

12

Anda mungkin juga menyukai