SlideShare a Scribd company logo
1 of 27
Download to read offline
S I S T E M M A N A J E M E N B A S I S D A T A ( S M B D )
Y O P P Y Y U N H A S N A W A , S . S T . , M . S c .
MINGGU-3
RECOVERY, BACKUP, & RESTORE
TOPIK
1. Strategi Recovery
2. Backup
3. Restore
2
STRATEGI RECOVERY
3
STRATEGI RECOVERY
IKHTISAR
• Recovery adalah proses pemulihan database dengan
mengembalikan keadaan database pada posisi tertentu
sesuai dengan ketersediaan backup.
• Bisa karena database-nya rusak, atau karena kepentingan yang lain
(misal: menyalin dari 1 instance ke instance lainnya)
• Recovery bergantung pada proses backup. Backup dapat
terdiri dari minimal 1 atau gabungan dari beberapa jenis
backup berikut:
• Backup berbasis data: Full, Differential, Copy, Filegroup, File
• Backup berbasis log: Log, Tail Log
• Level safety harus ditentukan dengan tepat:
• Seberapa waktu recovery yang di-izinkan? (RTO: Recovery Time
Objective)
• Seberapa banyak data yang boleh tidak kembali? (RPO: Recovery
Point Objective)
• Apakah mungkin mengembalikan data dari sumber yang lain?
4
STRATEGI RECOVERY
IKHTISAR
• Backup tidak bisa sembarangan, harus mempertimbangkan
persyaratan/keadaan di perusahaan Anda:
• Jenis dan frekuensi backup yang tepat seperti apa.
• Media backup apa yang digunakan.
• CD/DVD
• Harddisk/SSD
• Flash Storage, dll.
• Retensi (Retention).
• Kebijakan pengujian backup seperti apa.
• Tidak bisa terlalu sering dan tidak bisa terlalu sedikit.
• Terlalu sering à Mahal
• Terlalu sedikit à Data yang dikembalikan bisa tidak komplit
• Retensi: Sehauh mana data di masa lampau yang perlu
disimpan/diarsipkan.
• Contoh: Perusahaan berdiri tahun 2001, dan sekarang tahun 2020. Apakah
perlu menyimpan data dari mulai 2001? Atau 2 tahun kebelakang saja?
Atau 3 tahun ke belakang saja?
5
STRATEGI RECOVERY
TRANSACTION LOGING
• Adalah proses pencatatan histori aksi-aksi modifikasi
database oleh DBMS.
• Diperlukan untuk menjamin atomicity dan durability.
6
STRATEGI RECOVERY
TRANSACTION LOGING
7
• Oleh DBMS (dalam hal ini Database Engine,
SQLSERVR.EXE), sejumlah informasi dicatat pada file log
untuk:
• Me-rollback transaction, bila dibutuhkan.
• Masih ingatkah Anda apa itu transaction, commit, dan rollback?
• Memulihkan database pada saat terjadi failure.
• Struktur file log adalah sebagai berikut:
STRATEGI RECOVERY
RECOVERY MODEL
8
• Berikut ini adalah jenis-jenis strategi recovery pada SQL
Server:
Recovery Model Deskripsi
SIMPLE - Tidak perlu backup log
- Menghapus log secara otomatis untuk menghemat
storage
FULL - Memerlukan backup log
- Bisa mengembalikan data walaupun ada bagian-
bagian file data yang hilang atau corrupt
- Memungkinkan melakukan restore ke titik waktu
yang spesifik sesuai yang diinginkan (tidak harus di-
restore sampai dengan titik terakhir)
BULK LOGGED - Membutuhkan backup log
- Dapat mempercepat operasi bulk copy
- Meminimalkan storage yang digunakan dengan
tetap menyimpan log, tetapi disederhanakan
BACKUP
9
BACKUP
IKHTISAR
• Di SQL Server dilengkapi fasilitas backup sebagai
bagian dari strategi pemulihan (recovery)
• Sebagaima kita ketahui dipertemuan sebelumnya,
terdapat 2 jenis file untuk setiap database yang kita
buat:
• *.mdf dan *.ndf à File yang menyimpan data.
• *.ldf à File yang menyimpan log.
• Jenis-jenis backup yang umum:
• Untuk data : Full backup dan Differential backup.
• Untuk log : Transaction Log backup.
10
BACKUP
IKHTISAR
• Backup dilakukan secara online
• Tidak mengganggu akses pengguna
• Dapat mempelambat operasi lain karena load I/O yang meningkat
saat proses backup berjalan
• Database harus dalam state online untuk dapat menjalankan
operasi backup normal
• Namun demikian, backup transaction log masih memungkinkan
dilakukan walaupun database rusak.
• Tetapi file log-nya tidak boleh rusak (dalam keadaan intact)
• Integrasi proses backup dengan sistem operasi (Windows):
• SQL Writer service memungkinkan operasi-operasi backup dilakukan
lewat VSS (Volume Shadow Copy Service) framework di Windows.
• VDI Interface memungkinkan backup dilakukan lewat tool-tool
backup pihak ketiga.
11
BACKUP
FULL BACKUP
• Adalah jenis backup yang akan mencadangkan
keseluruhan database
• Backup ini juga akan mem-backup bagian aktif
dari file log.
• Pada suatu waktu bagian dari file log ada yang aktif dan
ada yang tidak
• Yang dibackup oleh backup jenis ini adalah yang aktif saja
12
BACKUP
FULL BACKUP
13
BACKUP
DIFFERENTIAL BACKUP
• Membuat backup database dari titik setelah full backup
terakhir, sampai dengan saat perintah backup
diekseskusi.
• Log yang dibackup juga sama: hanya yang aktif saja.
• Agar bisa digunakan untuk me-restore database yang
dibackup nantinya.
• Bersifat independen terhadap backup-backup
differential yang lainnya (jika ada)
• Jika Anda melakukan differential backup lebih dari 1x, maka
masing-masing backup tersebut tidak saling berhubungan.
14
BACKUP
DIFFERENTIAL BACKUP
• Catatan: Anda tidak akan bisa membuat
differential backup jika belum pernah membuat full
backup sebelumnya.
15
BACKUP
TRANSACTION LOG BACKUP
• Membuat backup terhadap transaction log.
• Hanya log-nya saja, database-nya tidak ikut di-backup!
• Bisa mem-backup semua bagian log, baik yang aktif
maupun tidak aktif.
• Yang di-backup: Mulai dari log backup terakhir
sampai dengan ujung file log.
• Default-nya hanya akan mencadangkan log yang
active saja, kecuali diaktifkan opsi untuk
mencadangkan yang tidak aktif juga.
16
BACKUP
TRANSACTION LOG BACKUP
17
• Catatan: Opsi Recovery Model database yang
akan di-log backup harus berada pada mode FULL
atau BULK LOGGED
BACKUP
TAIL LOG BACKUP
• Digunakan untuk menangkap ekor (tail) dari log, yaitu
baris-baris paling akhir log tepat sesaat sebelum operasi
restore.
• Bisa dilakukan pada saat melakukan log backup biasa
• Tujuannya adalah untuk meyakinkan bahwa operasi
paling akhir yang dilakukan pada saat database akan
direstore, tidak tertimpa/hilang ketika database selesai
direstore.
• Opsi:
• NORECOVERY à Database diset ke state: recovering
• CONTINUE_AFTER_ERROR à Ketika Anda tahu file data Anda
ada yang corrupt atau hilang, tetapi file log-nya bagus/intact.
18
RESTORE
19
RESTORE
IKHTISAR
• Jenis-jenis restore biasa di SQL Server:
• Complete Database Restore
• Dengan Recovery Model Simple
• Dengan Recovery Model Full
• System Database Restore
• Damaged File Restore
• Jenis-jenis restore advanced:
• Online
• Piecemeal
• Page Restore
• Merestore data digunakan perintah: RESTORE DATABASE
• Merestore log digunakan perintah: RESTORE LOG
20
RESTORE
TAHAPAN RESTORE
• Pada SQL Server Terdapat 3 fase pada saat proses restore
terjadi:
1. Data Copy
• Membuat file baru (data & log) kemudian menyalin data dari
backup ke file baru tersebut
2. Redo
• Mengeksekusi kembali transaksi-transaksi yang tercatat pada file log
yang direstore.
3. Undo
• Melakukan rollback transaction-transaction yang belum di-commit
pada titik pemulihan.
• Proses nomor 2 dan 3 diatas itulah, yang disebut sebagai:
RECOVERY
21
RESTORE
KLAUSA ‘WITH RECOVERY’
• Sebuah database yang baru selesai dipulihkan, state-nya tidak
bisa langsung online.
• Online à Bisa diakses user
• Agar bisa online, harus di-recovery terlebih dahulu. Ingat definisi recovery
pada halaman slide sebelumnya.
• Apakah Anda ingat, ada berapa macam state database di SQL Server?
• Dengan menambahkan klausa opsi ‘WITH RECOVERY’ pada
perintah RESTORE:
• Setelah proses restore database selesai, SQL Server akan secara otomatis
melakukan proses recovery dan melakukan apa yang diperlukan,
kemudian meng-online-kan database secara otomatis.
• Klausa ini default, sehingga walaupun tanpa dituliskan, akan dianggap
aktif.
• Bila digunakan ‘WITH NO RECOVERY:
• Database dibiarkan pada state recovering, sehingga mencegah user
melakukan baca tulis.
• Diperlukan apabila ada langkah-langkah custom pada saat me-restore.
22
RESTORE
ME-RESTORE DATABASE
• Backup Full dan Differential direstore dengan statement T-SQL: ‘RESTORE
DATABASE’
• Untuk backup differential, hanya yang terakhir saja yang direstore, tidak perlu
semuanya.
• Restore 1 full backup terakhir dan 1 differential backup yang terakhir,
gunakan ‘WITH NO RECOVERY’ bila ingin me-restore transaction log juga.
23
RESTORE
ME-RESTORE LOG
• Untuk me-restore log digunakan perintah: ‘RESTORE LOG’
• Diperlukan backup transaction log yang sempurna (tidak ada
yang corrupt sedikitpun) agar restore bisa berhasil.
24
RESTORE
KLAUSA ‘WITH STANDBY’
• Memungkinkan akses read-only pada database yang belum
selesai proses restore-nya.
• User tidak bisa melakukan perubahan data.
• Hal ini dibutuhkan pada skenario-skenario saat akses terhadap data
sangat mendesak:
• Pada saat dibutuhkan stand-by server (log shipping)
• Pada saat sedang dilakukan proses inspeksi database di saat proses restore
log sedang berjalan, sehungga restore-nya harus pelan-pelan, satu-satu.
25
PERTANYAAN?
26
27

More Related Content

What's hot

Jamin Hegeman - So you want to be a service designer - Productized16
Jamin Hegeman - So you want to be a service designer - Productized16Jamin Hegeman - So you want to be a service designer - Productized16
Jamin Hegeman - So you want to be a service designer - Productized16Productized
 
Macam macam-majas-gaya-bahasa
Macam macam-majas-gaya-bahasaMacam macam-majas-gaya-bahasa
Macam macam-majas-gaya-bahasaRizka Jayusman
 
Membangun kompetensi interkultural dalam kelas pengajaran bahasa
Membangun kompetensi interkultural dalam kelas pengajaran bahasaMembangun kompetensi interkultural dalam kelas pengajaran bahasa
Membangun kompetensi interkultural dalam kelas pengajaran bahasaWinasti Rahma Diani
 
Profile bytra 2013
Profile bytra 2013Profile bytra 2013
Profile bytra 2013walhiaceh
 
Emotion & Communication Theory
Emotion & Communication TheoryEmotion & Communication Theory
Emotion & Communication Theorymankoma2012
 
Morfem dan Proses Morfemis dalam Bahasa Indonesia
Morfem dan Proses Morfemis dalam Bahasa IndonesiaMorfem dan Proses Morfemis dalam Bahasa Indonesia
Morfem dan Proses Morfemis dalam Bahasa IndonesiaRia Widia
 
Manajemen Krisis Outline Kuliah5
Manajemen Krisis Outline Kuliah5Manajemen Krisis Outline Kuliah5
Manajemen Krisis Outline Kuliah5guest2cf4c2b
 
Presentasi Aliran Linguistik Tagmemik
Presentasi Aliran Linguistik TagmemikPresentasi Aliran Linguistik Tagmemik
Presentasi Aliran Linguistik TagmemikMamakFeri
 
2. [ejaan, pungtuasi dan istilah]
2. [ejaan, pungtuasi dan istilah]2. [ejaan, pungtuasi dan istilah]
2. [ejaan, pungtuasi dan istilah]Dini Prianti
 
Teori Komunikasi- Retorika (the Rhetoric)
Teori Komunikasi- Retorika (the Rhetoric)Teori Komunikasi- Retorika (the Rhetoric)
Teori Komunikasi- Retorika (the Rhetoric)Alvin Agustino Saputra
 
konsep seni dan budaya.pptx
konsep seni dan budaya.pptxkonsep seni dan budaya.pptx
konsep seni dan budaya.pptxririnakarimah
 
Pengertian pendidikan dan pelatihan menurut para ahli
Pengertian pendidikan dan pelatihan menurut para ahliPengertian pendidikan dan pelatihan menurut para ahli
Pengertian pendidikan dan pelatihan menurut para ahliRahmad Hidayat
 
Model Komunikasi Antar Pribadi
Model Komunikasi Antar PribadiModel Komunikasi Antar Pribadi
Model Komunikasi Antar PribadiMaslin Iskandar
 
Bahasa dan budaya dalam komunikasi lintas budaya
Bahasa dan budaya dalam komunikasi lintas budayaBahasa dan budaya dalam komunikasi lintas budaya
Bahasa dan budaya dalam komunikasi lintas budayaFuji Lestari
 
Media PR - Perbedaan Media PR vs Media Relations
Media PR - Perbedaan Media PR vs Media RelationsMedia PR - Perbedaan Media PR vs Media Relations
Media PR - Perbedaan Media PR vs Media RelationsEmbun Pagi
 
kajian stilistika
kajian stilistika kajian stilistika
kajian stilistika Oyax Ruqoyah
 

What's hot (18)

Jamin Hegeman - So you want to be a service designer - Productized16
Jamin Hegeman - So you want to be a service designer - Productized16Jamin Hegeman - So you want to be a service designer - Productized16
Jamin Hegeman - So you want to be a service designer - Productized16
 
Macam macam-majas-gaya-bahasa
Macam macam-majas-gaya-bahasaMacam macam-majas-gaya-bahasa
Macam macam-majas-gaya-bahasa
 
Membangun kompetensi interkultural dalam kelas pengajaran bahasa
Membangun kompetensi interkultural dalam kelas pengajaran bahasaMembangun kompetensi interkultural dalam kelas pengajaran bahasa
Membangun kompetensi interkultural dalam kelas pengajaran bahasa
 
Profile bytra 2013
Profile bytra 2013Profile bytra 2013
Profile bytra 2013
 
Emotion & Communication Theory
Emotion & Communication TheoryEmotion & Communication Theory
Emotion & Communication Theory
 
Morfem dan Proses Morfemis dalam Bahasa Indonesia
Morfem dan Proses Morfemis dalam Bahasa IndonesiaMorfem dan Proses Morfemis dalam Bahasa Indonesia
Morfem dan Proses Morfemis dalam Bahasa Indonesia
 
Rangkuman ptk kelompok
Rangkuman ptk kelompokRangkuman ptk kelompok
Rangkuman ptk kelompok
 
Manajemen Krisis Outline Kuliah5
Manajemen Krisis Outline Kuliah5Manajemen Krisis Outline Kuliah5
Manajemen Krisis Outline Kuliah5
 
Presentasi Aliran Linguistik Tagmemik
Presentasi Aliran Linguistik TagmemikPresentasi Aliran Linguistik Tagmemik
Presentasi Aliran Linguistik Tagmemik
 
2. [ejaan, pungtuasi dan istilah]
2. [ejaan, pungtuasi dan istilah]2. [ejaan, pungtuasi dan istilah]
2. [ejaan, pungtuasi dan istilah]
 
Teori Komunikasi- Retorika (the Rhetoric)
Teori Komunikasi- Retorika (the Rhetoric)Teori Komunikasi- Retorika (the Rhetoric)
Teori Komunikasi- Retorika (the Rhetoric)
 
Makalah retorika
Makalah retorika Makalah retorika
Makalah retorika
 
konsep seni dan budaya.pptx
konsep seni dan budaya.pptxkonsep seni dan budaya.pptx
konsep seni dan budaya.pptx
 
Pengertian pendidikan dan pelatihan menurut para ahli
Pengertian pendidikan dan pelatihan menurut para ahliPengertian pendidikan dan pelatihan menurut para ahli
Pengertian pendidikan dan pelatihan menurut para ahli
 
Model Komunikasi Antar Pribadi
Model Komunikasi Antar PribadiModel Komunikasi Antar Pribadi
Model Komunikasi Antar Pribadi
 
Bahasa dan budaya dalam komunikasi lintas budaya
Bahasa dan budaya dalam komunikasi lintas budayaBahasa dan budaya dalam komunikasi lintas budaya
Bahasa dan budaya dalam komunikasi lintas budaya
 
Media PR - Perbedaan Media PR vs Media Relations
Media PR - Perbedaan Media PR vs Media RelationsMedia PR - Perbedaan Media PR vs Media Relations
Media PR - Perbedaan Media PR vs Media Relations
 
kajian stilistika
kajian stilistika kajian stilistika
kajian stilistika
 

Similar to OPTIMIZED RECOVERY

Dokumentasi komparasi incremental backup oracle dengan mysql
Dokumentasi komparasi incremental backup oracle dengan mysqlDokumentasi komparasi incremental backup oracle dengan mysql
Dokumentasi komparasi incremental backup oracle dengan mysqlAhmad Haris
 
Tipe rcovery database
Tipe rcovery databaseTipe rcovery database
Tipe rcovery databaseILHAMYOGI
 
Kp.2 pembuatan database
Kp.2 pembuatan databaseKp.2 pembuatan database
Kp.2 pembuatan databaseDesty Yani
 
DBA BAB 4 - Recovery Data
DBA BAB 4 - Recovery DataDBA BAB 4 - Recovery Data
DBA BAB 4 - Recovery DataRiza Nurman
 
28modul 41 maintenance-disaster-recovery
28modul 41 maintenance-disaster-recovery28modul 41 maintenance-disaster-recovery
28modul 41 maintenance-disaster-recoverysetioariwibowo
 
Recovery (technology & comporation)
Recovery (technology & comporation)Recovery (technology & comporation)
Recovery (technology & comporation)DienNoorFawziahPandi
 
 Manajemen memory dan Swapping
 Manajemen memory dan Swapping Manajemen memory dan Swapping
 Manajemen memory dan SwappingEdho Pratama
 
20230529 CahyoSatrioW 1611502616 Tugas pertemuan 10.pptx
20230529 CahyoSatrioW 1611502616 Tugas pertemuan 10.pptx20230529 CahyoSatrioW 1611502616 Tugas pertemuan 10.pptx
20230529 CahyoSatrioW 1611502616 Tugas pertemuan 10.pptxCahyoSatrio4
 
Proactive Maintenance By Fiqi.pptx
Proactive Maintenance By Fiqi.pptxProactive Maintenance By Fiqi.pptx
Proactive Maintenance By Fiqi.pptxMFiqiFajrulFalah
 
6.MANAJEMEN_MEMORI.ppt
6.MANAJEMEN_MEMORI.ppt6.MANAJEMEN_MEMORI.ppt
6.MANAJEMEN_MEMORI.pptudnsupriadi
 
Administrasi Database
Administrasi DatabaseAdministrasi Database
Administrasi DatabaseHabibullahBib
 
Kd7 SQL pada cllient DBMS
Kd7 SQL pada cllient DBMSKd7 SQL pada cllient DBMS
Kd7 SQL pada cllient DBMSDesty Yani
 
Backup oracle
Backup oracleBackup oracle
Backup oracle14523011
 

Similar to OPTIMIZED RECOVERY (20)

jBab i
jBab ijBab i
jBab i
 
Dokumentasi komparasi incremental backup oracle dengan mysql
Dokumentasi komparasi incremental backup oracle dengan mysqlDokumentasi komparasi incremental backup oracle dengan mysql
Dokumentasi komparasi incremental backup oracle dengan mysql
 
Recovery (Oracle)
Recovery (Oracle)Recovery (Oracle)
Recovery (Oracle)
 
Database
DatabaseDatabase
Database
 
Tipe rcovery database
Tipe rcovery databaseTipe rcovery database
Tipe rcovery database
 
Kp.2 pembuatan database
Kp.2 pembuatan databaseKp.2 pembuatan database
Kp.2 pembuatan database
 
DBA BAB 4 - Recovery Data
DBA BAB 4 - Recovery DataDBA BAB 4 - Recovery Data
DBA BAB 4 - Recovery Data
 
#6 - Backup & Restore.pptx
#6 - Backup & Restore.pptx#6 - Backup & Restore.pptx
#6 - Backup & Restore.pptx
 
Recovery Using RMAN dengan Oracle 10g
Recovery Using RMAN dengan Oracle 10gRecovery Using RMAN dengan Oracle 10g
Recovery Using RMAN dengan Oracle 10g
 
Proses database oracle
Proses database oracleProses database oracle
Proses database oracle
 
28modul 41 maintenance-disaster-recovery
28modul 41 maintenance-disaster-recovery28modul 41 maintenance-disaster-recovery
28modul 41 maintenance-disaster-recovery
 
Recovery (technology & comporation)
Recovery (technology & comporation)Recovery (technology & comporation)
Recovery (technology & comporation)
 
 Manajemen memory dan Swapping
 Manajemen memory dan Swapping Manajemen memory dan Swapping
 Manajemen memory dan Swapping
 
Bab. 13
Bab. 13Bab. 13
Bab. 13
 
20230529 CahyoSatrioW 1611502616 Tugas pertemuan 10.pptx
20230529 CahyoSatrioW 1611502616 Tugas pertemuan 10.pptx20230529 CahyoSatrioW 1611502616 Tugas pertemuan 10.pptx
20230529 CahyoSatrioW 1611502616 Tugas pertemuan 10.pptx
 
Proactive Maintenance By Fiqi.pptx
Proactive Maintenance By Fiqi.pptxProactive Maintenance By Fiqi.pptx
Proactive Maintenance By Fiqi.pptx
 
6.MANAJEMEN_MEMORI.ppt
6.MANAJEMEN_MEMORI.ppt6.MANAJEMEN_MEMORI.ppt
6.MANAJEMEN_MEMORI.ppt
 
Administrasi Database
Administrasi DatabaseAdministrasi Database
Administrasi Database
 
Kd7 SQL pada cllient DBMS
Kd7 SQL pada cllient DBMSKd7 SQL pada cllient DBMS
Kd7 SQL pada cllient DBMS
 
Backup oracle
Backup oracleBackup oracle
Backup oracle
 

OPTIMIZED RECOVERY

  • 1. S I S T E M M A N A J E M E N B A S I S D A T A ( S M B D ) Y O P P Y Y U N H A S N A W A , S . S T . , M . S c . MINGGU-3 RECOVERY, BACKUP, & RESTORE
  • 2. TOPIK 1. Strategi Recovery 2. Backup 3. Restore 2
  • 4. STRATEGI RECOVERY IKHTISAR • Recovery adalah proses pemulihan database dengan mengembalikan keadaan database pada posisi tertentu sesuai dengan ketersediaan backup. • Bisa karena database-nya rusak, atau karena kepentingan yang lain (misal: menyalin dari 1 instance ke instance lainnya) • Recovery bergantung pada proses backup. Backup dapat terdiri dari minimal 1 atau gabungan dari beberapa jenis backup berikut: • Backup berbasis data: Full, Differential, Copy, Filegroup, File • Backup berbasis log: Log, Tail Log • Level safety harus ditentukan dengan tepat: • Seberapa waktu recovery yang di-izinkan? (RTO: Recovery Time Objective) • Seberapa banyak data yang boleh tidak kembali? (RPO: Recovery Point Objective) • Apakah mungkin mengembalikan data dari sumber yang lain? 4
  • 5. STRATEGI RECOVERY IKHTISAR • Backup tidak bisa sembarangan, harus mempertimbangkan persyaratan/keadaan di perusahaan Anda: • Jenis dan frekuensi backup yang tepat seperti apa. • Media backup apa yang digunakan. • CD/DVD • Harddisk/SSD • Flash Storage, dll. • Retensi (Retention). • Kebijakan pengujian backup seperti apa. • Tidak bisa terlalu sering dan tidak bisa terlalu sedikit. • Terlalu sering à Mahal • Terlalu sedikit à Data yang dikembalikan bisa tidak komplit • Retensi: Sehauh mana data di masa lampau yang perlu disimpan/diarsipkan. • Contoh: Perusahaan berdiri tahun 2001, dan sekarang tahun 2020. Apakah perlu menyimpan data dari mulai 2001? Atau 2 tahun kebelakang saja? Atau 3 tahun ke belakang saja? 5
  • 6. STRATEGI RECOVERY TRANSACTION LOGING • Adalah proses pencatatan histori aksi-aksi modifikasi database oleh DBMS. • Diperlukan untuk menjamin atomicity dan durability. 6
  • 7. STRATEGI RECOVERY TRANSACTION LOGING 7 • Oleh DBMS (dalam hal ini Database Engine, SQLSERVR.EXE), sejumlah informasi dicatat pada file log untuk: • Me-rollback transaction, bila dibutuhkan. • Masih ingatkah Anda apa itu transaction, commit, dan rollback? • Memulihkan database pada saat terjadi failure. • Struktur file log adalah sebagai berikut:
  • 8. STRATEGI RECOVERY RECOVERY MODEL 8 • Berikut ini adalah jenis-jenis strategi recovery pada SQL Server: Recovery Model Deskripsi SIMPLE - Tidak perlu backup log - Menghapus log secara otomatis untuk menghemat storage FULL - Memerlukan backup log - Bisa mengembalikan data walaupun ada bagian- bagian file data yang hilang atau corrupt - Memungkinkan melakukan restore ke titik waktu yang spesifik sesuai yang diinginkan (tidak harus di- restore sampai dengan titik terakhir) BULK LOGGED - Membutuhkan backup log - Dapat mempercepat operasi bulk copy - Meminimalkan storage yang digunakan dengan tetap menyimpan log, tetapi disederhanakan
  • 10. BACKUP IKHTISAR • Di SQL Server dilengkapi fasilitas backup sebagai bagian dari strategi pemulihan (recovery) • Sebagaima kita ketahui dipertemuan sebelumnya, terdapat 2 jenis file untuk setiap database yang kita buat: • *.mdf dan *.ndf à File yang menyimpan data. • *.ldf à File yang menyimpan log. • Jenis-jenis backup yang umum: • Untuk data : Full backup dan Differential backup. • Untuk log : Transaction Log backup. 10
  • 11. BACKUP IKHTISAR • Backup dilakukan secara online • Tidak mengganggu akses pengguna • Dapat mempelambat operasi lain karena load I/O yang meningkat saat proses backup berjalan • Database harus dalam state online untuk dapat menjalankan operasi backup normal • Namun demikian, backup transaction log masih memungkinkan dilakukan walaupun database rusak. • Tetapi file log-nya tidak boleh rusak (dalam keadaan intact) • Integrasi proses backup dengan sistem operasi (Windows): • SQL Writer service memungkinkan operasi-operasi backup dilakukan lewat VSS (Volume Shadow Copy Service) framework di Windows. • VDI Interface memungkinkan backup dilakukan lewat tool-tool backup pihak ketiga. 11
  • 12. BACKUP FULL BACKUP • Adalah jenis backup yang akan mencadangkan keseluruhan database • Backup ini juga akan mem-backup bagian aktif dari file log. • Pada suatu waktu bagian dari file log ada yang aktif dan ada yang tidak • Yang dibackup oleh backup jenis ini adalah yang aktif saja 12
  • 14. BACKUP DIFFERENTIAL BACKUP • Membuat backup database dari titik setelah full backup terakhir, sampai dengan saat perintah backup diekseskusi. • Log yang dibackup juga sama: hanya yang aktif saja. • Agar bisa digunakan untuk me-restore database yang dibackup nantinya. • Bersifat independen terhadap backup-backup differential yang lainnya (jika ada) • Jika Anda melakukan differential backup lebih dari 1x, maka masing-masing backup tersebut tidak saling berhubungan. 14
  • 15. BACKUP DIFFERENTIAL BACKUP • Catatan: Anda tidak akan bisa membuat differential backup jika belum pernah membuat full backup sebelumnya. 15
  • 16. BACKUP TRANSACTION LOG BACKUP • Membuat backup terhadap transaction log. • Hanya log-nya saja, database-nya tidak ikut di-backup! • Bisa mem-backup semua bagian log, baik yang aktif maupun tidak aktif. • Yang di-backup: Mulai dari log backup terakhir sampai dengan ujung file log. • Default-nya hanya akan mencadangkan log yang active saja, kecuali diaktifkan opsi untuk mencadangkan yang tidak aktif juga. 16
  • 17. BACKUP TRANSACTION LOG BACKUP 17 • Catatan: Opsi Recovery Model database yang akan di-log backup harus berada pada mode FULL atau BULK LOGGED
  • 18. BACKUP TAIL LOG BACKUP • Digunakan untuk menangkap ekor (tail) dari log, yaitu baris-baris paling akhir log tepat sesaat sebelum operasi restore. • Bisa dilakukan pada saat melakukan log backup biasa • Tujuannya adalah untuk meyakinkan bahwa operasi paling akhir yang dilakukan pada saat database akan direstore, tidak tertimpa/hilang ketika database selesai direstore. • Opsi: • NORECOVERY à Database diset ke state: recovering • CONTINUE_AFTER_ERROR à Ketika Anda tahu file data Anda ada yang corrupt atau hilang, tetapi file log-nya bagus/intact. 18
  • 20. RESTORE IKHTISAR • Jenis-jenis restore biasa di SQL Server: • Complete Database Restore • Dengan Recovery Model Simple • Dengan Recovery Model Full • System Database Restore • Damaged File Restore • Jenis-jenis restore advanced: • Online • Piecemeal • Page Restore • Merestore data digunakan perintah: RESTORE DATABASE • Merestore log digunakan perintah: RESTORE LOG 20
  • 21. RESTORE TAHAPAN RESTORE • Pada SQL Server Terdapat 3 fase pada saat proses restore terjadi: 1. Data Copy • Membuat file baru (data & log) kemudian menyalin data dari backup ke file baru tersebut 2. Redo • Mengeksekusi kembali transaksi-transaksi yang tercatat pada file log yang direstore. 3. Undo • Melakukan rollback transaction-transaction yang belum di-commit pada titik pemulihan. • Proses nomor 2 dan 3 diatas itulah, yang disebut sebagai: RECOVERY 21
  • 22. RESTORE KLAUSA ‘WITH RECOVERY’ • Sebuah database yang baru selesai dipulihkan, state-nya tidak bisa langsung online. • Online à Bisa diakses user • Agar bisa online, harus di-recovery terlebih dahulu. Ingat definisi recovery pada halaman slide sebelumnya. • Apakah Anda ingat, ada berapa macam state database di SQL Server? • Dengan menambahkan klausa opsi ‘WITH RECOVERY’ pada perintah RESTORE: • Setelah proses restore database selesai, SQL Server akan secara otomatis melakukan proses recovery dan melakukan apa yang diperlukan, kemudian meng-online-kan database secara otomatis. • Klausa ini default, sehingga walaupun tanpa dituliskan, akan dianggap aktif. • Bila digunakan ‘WITH NO RECOVERY: • Database dibiarkan pada state recovering, sehingga mencegah user melakukan baca tulis. • Diperlukan apabila ada langkah-langkah custom pada saat me-restore. 22
  • 23. RESTORE ME-RESTORE DATABASE • Backup Full dan Differential direstore dengan statement T-SQL: ‘RESTORE DATABASE’ • Untuk backup differential, hanya yang terakhir saja yang direstore, tidak perlu semuanya. • Restore 1 full backup terakhir dan 1 differential backup yang terakhir, gunakan ‘WITH NO RECOVERY’ bila ingin me-restore transaction log juga. 23
  • 24. RESTORE ME-RESTORE LOG • Untuk me-restore log digunakan perintah: ‘RESTORE LOG’ • Diperlukan backup transaction log yang sempurna (tidak ada yang corrupt sedikitpun) agar restore bisa berhasil. 24
  • 25. RESTORE KLAUSA ‘WITH STANDBY’ • Memungkinkan akses read-only pada database yang belum selesai proses restore-nya. • User tidak bisa melakukan perubahan data. • Hal ini dibutuhkan pada skenario-skenario saat akses terhadap data sangat mendesak: • Pada saat dibutuhkan stand-by server (log shipping) • Pada saat sedang dilakukan proses inspeksi database di saat proses restore log sedang berjalan, sehungga restore-nya harus pelan-pelan, satu-satu. 25
  • 27. 27