Anda di halaman 1dari 18

TUGAS

BASIS DATA LANJUT













Oleh :

Gede Thadeo Angga Kusuma
1315051003
3C





PENDIDIKAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN KEJURUAN
UNIVERSITAS PENDIDIKAN GANESHA


A. Pengertian Storage Engine
Dalam rangka untuk membuat keputusan tentang mana mesin untuk memilih ,
pertama kita perlu berpikir tentang fungsi inti yang berbeda tersedia di setiap mesin yang
memungkinkan kita untuk membedakan antara mereka . Kita umumnya dapat membagi
fungsi inti ke dalam empat bidang ; bidang dan data jenis didukung , mengunci jenis ,
pengindeksan dan transaksi. Beberapa mesin memiliki fungsi yang unik yang juga dapat
mendorong keputusan Anda , kami akan mengambil melihat lebih dekat pada spesifik ini
dalam sekejap. Jadi secara singkat storage engine adalah mekanisme bagaimana data
disimpan, diubah ataupun diambil dari suatu tabel. Beberapa jenis storage engine di mysql
diantaranya MyISAM, MEMORY, InnoDB, EXAMPLE, NDB Cluster, ARCHIVE, CSV,
BLACKHOLE, FEDERATED.
B. Kondisi Pengunaan Storage Engine
Tidak ada mesin penyimpanan sangat ideal untuk semua keadaan . Beberapa
melakukan yang terbaik dalam kondisi tertentu dan melakukan lebih buruk dalam situasi lain
. Ada timbal balik dari harus dipertimbangkan . Solusi yang lebih aman membutuhkan lebih
banyak sumber daya . Ini mungkin lebih lambat , mengambil lebih banyak waktu CPU dan
ruang disk . MySQL sangat fleksibel dalam kenyataan bahwa ia menyediakan beberapa
mesin penyimpanan yang berbeda . Beberapa dari mereka , seperti mesin Arsip , diciptakan
untuk digunakan dalam situasi tertentu .
Dalam beberapa kasus , jawabannya jelas . Setiap kali kita berhadapan dengan
beberapa sistem pembayaran , kita diwajibkan untuk menggunakan solusi yang paling aman .
Kami tidak mampu untuk kehilangan data sensitif tersebut. InnoDB adalah cara untuk pergi .
Jika kita ingin pencarian teks lengkap , daripada kita harus memilih MyISAM . Hanya
InnoDB mendukung batasan integritas referensial kunci asing dan jika kita berencana untuk
menggunakan kendala ini , maka pilihan jelas . Dalam banyak situasi kita harus memiliki
pengalaman yang cukup untuk memilih mesin yang tepat . Dan jika kita kurang pengalaman ,
daripada cara terbaik adalah dengan mengajukan beberapa pengembang berpengalaman .
Salah satu cara terbaik adalah dengan bertanya di forum internet tertentu . stackoverflow.com
adalah salah besar . Pertanyaannya adalah lebih rumit oleh fakta bahwa kita dapat memilih
mesin penyimpanan yang berbeda untuk tabel yang berbeda .
C. Jenis Jenis Storage Engine di Mysql
1. MyISAM
Engine MYISAM menangani tabel yang tergolong nontransactional. Tipe tabel ini
menyediakan penyimpanan dan retrieval berkecepatan tinggi dengan singkat kata memiliki
kemampuan cepat dalam menjalankan query SELECT, dan juga kemampuan pencarian
fulltext. MyISAM didukung di semua konfigurasi MySQL. Format tabel MyISAM
merupakan pengembangan dan penyempurnaan dari format tabel ISAM, dan merupakan
format tabel default pada MySQL. Pada MyISAM file indeks disimpan dengan nama
akhiran .MYI dan file data disimpan dengan nama akhiran .MYD. Adapun penyempurnaan
yang dilakukan pada MyISAM antara lain:
a) Adanya suatu kode pembeda yang akan memberi tanda bila suatu tabel tidak ditutup
dengan semestinya setelah dibuka. Bila menjalankan program MySQL Server, mysqld,
dengan pilihan myisam-recover, maka secara otomatis tabel yang telah ditandai tersebut
akan dipulihkan (bila rusak) atau ditutup dengan semestinya (bila belum ditutup). Hal ini
sangat membantu untuk menjaga keutuhan dan validitas tabel.
b) Kemampuan kolom AUTO_INCREMENT lebih handal dibandingkan dengan format
tabel ISAM.
c) Mendukung file ukuran besar (63-bit) pada sistem operasi tertentu yang juga mendukung
pembuatan dan pembacaan file-file data ukuran besar.
d) Pada kolom BLOB dan TEXT bisa dilakukan pengindeksan.
e) NULL diperkenankan pada kolom yang diindeks (tetapi sebaiknya dihindari saja).
f) Jumlah maksimum file indeks adalah 32 buah per tabelnya, dan masih dapat
dikembangkan hingga mencapai 64 buah per tabel dengan kondisi tertentu tanpa harus
mengkompilasi ulang program myisamchk.
g) Program bantu myisampack dapat memadatkan kolom BLOB dan VARCHAR.

Walaupun format tabel MyISAM dapat dikategorikan sangat
handal, tetapi pada suatu saat bisa saja terjadi kerusakan yang diakibatkan
oleh:
a) Server mati secara mendadak akibat aliran listrik padam.
b) Kerusakan pada perangkat keras.
c) Penghentian proses oleh perintah KILL pada saat proses sedang dalam kondisi menulis.
d) Kesalahan pada program MySQL atau ISAM.

Keuntungan Engine MYISAM :
a) Sederhana untuk dirancang dan dibuat, sehingga lebih baik untuk pemula. dan
tidak perlu khawatir tentang hubungan antara tabel.
b) Lebih cepat dari InnoDB pada keseluruhan sebagai akibat dari struktur
sederhana sehingga jauh lebih sedikit sumber daya server.
c) Pengindeksan teks lengkap (full text search).
d) Sangat baik untuk membaca-intensif (select) tabel.

Kelemahan Engine MYISAM :
a) Tidak ada integritas data (misalnya kendala hubungan), yang kemudian datang
tanggung jawab dan overhead dari para administrator database dan
pengembang aplikasi.
b) Tidak mendukung transaksi.
c) Lebih lambat dari InnoDB untuk tabel yang sering insert dan diupdate, karena
seluruh tabel terkunci untuk insert dan update.

2. MEMORY
Storage engine MERGE dapat mengatur beberapa tabel MyISAM sebagai
sebuah tabel tunggal. Storage engine MEMORY dan MERGE khusus untuk
mengatur non-transactional tabel. Memory storage engine ini dahulu dikenal
dengan nama Heap engine.Memori membuat tabel dengan isinya disimpan di
memori.Setiap tabel memori memiliki satu buah file yang akan disimpan dalam
disk, ekstensinya adalah .frm. HEAP untuk memungkinkan hanya tinggal
sementara dalam bentuk memori.Berada di memori untuk HEAP lebih cepat dari
ISAM dan MyISAM, tapi data yang mengelola tidak stabil, dan jika tidak untuk
menyimpan sebelum shutdown, semua data akan hilang.Row dalam data dihapus
ketika, HEAP tidak akan membuang banyak ruang.HEAP formulir Anda perlu
menggunakan ekspresi SELECT untuk memilih dan memanipulasi data yang
sangat berguna.Ingat, setelah formulir yang digunakan untuk menghapus
bentuk.Mari saya ulangi: setelah Anda kehabisan formulir, jangan lupa untuk
menghapus form.MEMORY memiliki beberapa karakteristik sebagai berikut:
Menggunakan 100% dynamic hashing untuk operasi insert, sehingga lebih hemat karena
tidak perlu tempat tambahan untuk menyimpan key.
Kita dapat memiliki non-unique keys di tabel MEMORY.
Dapat memiliki NULL values, menggunakan panjang yang tetap dalam hal
penyimpanan, kolom tidak bisa mengandung BLOB atau TEXT.

3. InnoDB

InnoDB menghasilkan transaction-safe table. Maksud dari transaction safe table
adalah tabel yang memiliki kemampuan commit, rollback, crash recovery. Namun dengan
kemampuan yang tersebut, tentu saja ada overhead yang dimiliki.Kita dapat mengaktifkan
atau menon-aktifkan engine bertipe ini. InnoDB membuat mesin database MySQL adalah
produk langsung dari fleksibilitas teknologi, teknologi ini adalah MySQL + + API.Dalam
penggunaan MySQL, Anda menghadapi tantangan hampir dari setiap ISAM dan mesin
database MyISAM tidak mendukung transaksi tidak mendukung kunci asing.Meskipun lebih
lambat dari banyak ISAM dan mesin MyISAM, tapi InnoDB dan BDB termasuk pemrosesan
transaksi dan dukungan kunci asing, kedua bukan dua pertama mesin.Seperti disebutkan
sebelumnya, jika Anda membutuhkan fitur-fitur dalam desain salah satu atau keduanya,
maka Anda akan dipaksa untuk menggunakan dua mesin satu demi satu.
Keuntungan dari InnoDB
1. InnoDB harus digunakan di mana integritas data lebih prioritas.
2. Lebih cepat dalam menulis-intensif (penyisipan, update) tabel karena menggunakan
tingkat penguncian baris dan hanya tahan perubahan pada baris yang sama yang
sedang dimasukkan atau diperbaharui.
Kekurangan dari InnoDB
1. Karena InnoDB harus menjaga hubungan yang berbeda antara tabel, database
administrator dan pencipta skema harus mengambil lebih banyak waktu dalam
mendesain model data yang lebih kompleks daripada MyISAM.
2. Mengkonsumsi sumber daya sistem yang lebih seperti RAM. Direkomendasikan
bahwa mesin InnoDB dimatikan jika tidak perlu substansial untuk itu setelah instalasi
MySQL.
3. Tidak-pengindeksan teks penuh.


4. EXAMPLE
Engine penyimpanan EXAMPLE adalah engine yang tidak melakukan
apapun. Anda dapat membuat tabel dengan engine ini, tapi tidak ada data yang
dapat disimpan dalam engine ini atau di-retrieval dari engine ini. Kegunaan
engine ini adalah menyajikan contoh dalam source code MySQL yang
mengilustrasikan bagaimana memulai penulisan engine penyimpanan yang
baru. Ini merupakan minat utama untuk para developer.
5. ARCHIVE
Archive digunakan untuk menyimpan data dengan ukuran yang sangat besar
tanpa memerlukan index. Engine ini mensupport operasi INSERT dan SELECT, namun
tidak untuk operasi DELETE, REPLACE, dan UPDATE. Dalam engine ini juga dikenal
dengan menggunakan row-level locking.
6. CSV
CSV digunakan untuk menyimpan data dalam text-file dimana antara satu nilai dengan
nilai yang lainnya dibatasi oleh koma. Saat kita membuat tabel CSV, selain membuat file
yang berisikan table format, storage engine juga membuat data file yang berupa teks file
biasa. Ketika kita menyimpan data, storage engine menyimpannya ke dalam data file
dengan menggunakan koma untuk memisahkan nilai-nilai yang ada.

7. BLACKHOLE
BLACKHOLE menerima setiap data yang diberikan, tetapi tidak menyimpan data dan
selalu mengembalikan data berupa himpunan kosong. Blackhole mendukung semua jenis
pengindeksan., kegunaan dari blackhole ini antara lain:
1. verifikasi dari syntax dump file
2. pengukuran overhead yang terjadi dengan membandingkan dengan ketika
menggunakan blackhole
3. mencari performance bottlenecks yang tidak terkait dengan storage engine itu
sendiri.

8. FEDERATED
FEDERATED menyimpan data di database dengan akses terbatas (jarak jauh). Saat ini
engine ini hanya dapat bekerja dengan menggunakan MySQL C Client API. Dengan
menggunakan Federated storage engine, tidak akan ada lagi lokal data files, melainkan
remote database menyimpan data yang umumnya akan ada di tabel. Alur informasi yang
terjadi adalah sebagai berikut:

1. SQL calls issued locally
2. MySQL handler API (data in handler format)
3. MySQL client API (data converted to SQL calls)
4. Remote database -> MySQL client API
5. Convert result sets (if any) to handler format

D. Pengertian Backup and Recovery
Sebagai seorang DBA tentunya kita tidak berharap data yang tersimpan di dalam
database hilang karena suatu sebab misalnya hard disk bad sector, server hilang, kebakaran
atau yang lain. Untuk mencegah kehilangan data, tentunya kita harus melakukan backup
database secara berkala, sehingga jika terjadi kejadian seperti di atas kita bisa langsung
mengembalikan data sesuai dengan backup database terakhir. Pengertian backup merupakan
suatu kegiatan untuk menyimpan database dalam bentuk datafile, control file dan archieve
log ke dalam media penyimpanan lain seperti disk atau tape. Backup data adalah
memindahkan atau menyalin kumpulan informasi (data) yang tersimpan di dalam hardisk
komputer yang biasanya dilakukan dari satu lokasi/perangkat ke lokasi/perangkat lain.
Fungsinya yaitu kita masih mempunyai cadangan data dari data yang hilang/rusak/terhapus,
baik yang disebabkan oleh kesalahan kita sendiri atau faktor lain di luar kemampuan kita,
seperti: terkena virus, file rusak (tidak bisa dibuka), perangkat komputer error/bermasalah,
mati listrik, bencana, dan lain sebagainya. Dengan begitu cadangan data yang sudah kita
simpan tersebut dapat kita gunakan kembali sebagai pengganti data yang telah
hilang/rusak/terhapus tadi. Fungsi back up data lebih mengacu pada faktor keamanan dan
kenyamanan dalam menggunakan komputer. Sedangkan pengertian recovery merupakan
suatu proses untuk mengupdate database dengan file backup yang telah disimpan terakhir
kalinya. Kegunaan dari proses ini adalah kemudahan serta keefektifan proses input data dari
data backup-an. Misalnya saat sistem operasi komputer kita sudah normal dan MySQL juga
sudah stabil maka kita tidak perlu lama-lama lagi memasukan data lama. Kita hanya perlu
merecovery data yang sebelumnya yang telah di back-up. Ada dua cara untuk melakukan
Backup dan Recovery yaitu :



1. Physical Backup
Contohnya : RMAN Backup dan Restore

2. Logical Backup
Contohnya : Export dan Import, Flashback

1. Strategi Backup
Terdapat beberapa pendekatan yang dapat digunakan dalam melakukan backup data. Metode
yang digunakan juga bervariasi tergantung pada data yang digunakan. Tipe-tipe backup yang
umum digunakan adalah sebagai berikut :

Full Backup. Umum digunakan untuk menyalin semua data yang berada pada media
data asal.
Differential Backup. Digunakan untuk melakukan penyalinan terhadap data yang
mengalami perubahan berdasarkan kejadian khusus seperti tanggal atau even khusus
lainnya.
Incremental. Digunakan untuk melakukan penyalinan terhadap data yang yang
mengalami berubahan.

Pembuatan data backup juga dapat dilakukan dengan membagi data berdasarkan dua kategori
tipe data berikut:

System backup. Digunakan untuk melakukan backup terhadap sistem yang ada.
Application backup. Digunakan untuk melakukan backup terhadap data yang
dibutuhkan.

2. Tahap Perencanakan & Persiapkan Backup

a. Menentukan waktu backup
Backup merupakan program rutin dan melihat kapan waktu yang tepat untuk proses backup.
Jika database itu cukup besar dan sering berubah secara konstan setiap hari, maka sebaiknya
direncanakan agar proses backup terjadi setiap hari sehingga data tersebut dapat tersimpan
dengan baik. Namun, jika database itu tidak sering berubah setiap hari tidak perlu dilakukan
backup setiap hari, bisa seminggu atau dua minggu sekali proses backup baru dilakukan.

b. Menamakan file backup

Seharusnya kita menamakan file backup secara teratur dan selalu memasukkan tanggal
dimana backup terakhir dibuat. Misalnya nama database bernama blogDB dan dibackup pada
tanggal 21 Juni 2009, sebaiknya diberikan nama file backup dengan nama blogdb-
21062009.sql. Untuk penamaan ini tergantung dari administrator itu sendiri dan harus
diperhatikan bahwa penamaan file backup tersebut juga sangat penting apalagi jika sering
melakukan backup secara regular.

c. Menyimpan file backup
Membuat kopi dari file backup dan menyimpan file tersebut ke komputer lain atau ke
penyimpan data yang lain seperti CD atau DVD.

3. Metode dan Macam Macam Backup data
Metoda backup dan recovery data sangatlah penting bagi keamanan data agar bisa
terjaga dengan baik terutama saat terjadi crash pada sistem basis data yang disebabkan oleh
kerusahakan fisik hardware ataupun karena faktor alam. Banyak sekali cara untuk melakukan
backup data, berikut ini metoda yang bisa dlakukan saat akan melakukan backup data :
a) Backup Logika vs backup Physic
Backup logika adalah menyimpan perintah logic dari struktur database dan isinya
yang direpresentasikan dalam perintah SQL. Seperti CREATE DATABASE, CREATE
TABLE dan INSERT DATA. Backup fisik adalah mengambil datatabase dalam bentuk fisik,
untuk database yang menggunakan Appserv secara fisik data disimpan pada folder
C:\\Appserv\Mysql\data\ Pada folder tersebut terdapat file database, setiap table diciptakan
dari 3 file yaitu .MYD, ,FRM dan .MYI, pada saat pengambilan data dilakukan dengan
mengcopy folder yang didalamnya menyimpan data dari database yang kita punya. Data yang
diambil adalah seluruh database dan tidak bisa terpilih, sangat berbeda dengan backup secara
logika, data yang diambil bisa dipilih sesuai dengan yang diinginkan. Berikut ini karakteristik
backup secara logika :
Backup dilakukan melalui server MySQL untuk mengambil struktur dan informasi
data.
Backup berjalan lebih lambat karena server harus mengakses informasi data dan
mengirimkannya dalam bentuk logika pada file backup.
Output bisa lebih besar dari pada bentuk fisik, misalkan data yang disimpan 5 MB
dalam bentuk file sql maka pada saat recovery akan terjadi kehabisan memori karena
prosesnya akan menghabiskan banyak memori untuk mengembalikan dalam bentuk
semula.
Backup dan Restore dilakukan dengan mengabaikan mesin yang digunakan.
Backup logika tidak melibatkan banyak file hanya satu file logika yang biasanya
disimpan dalam file .SQL
Data disimpan dalam bentuk logika yang merupakan bahasa DDL dan DML.
Backup data dilakukan saat server sudah dijalankan.
Program untuk backup digunakan mysqldump.exe yang memanggil file dikeluarkan
dalam bentuk logika file, seperti tsiswa.sql
Untuk mengeluarkan data dalam bentuk file lain bisa digunakan perintah : SELECT
..INTO OUTFILE

Berikut ini karakteristik backup fisik :
Backup terdiri dari salinan file dan database, ini adalah salinan dari semua bagian
direktori MySQL, data dari table memori tidak disampan pada disk.
Backup data secara fisik lebih cepat karena tidak melakukan memrosesan logika, hanya
pengcopian secara fisik.
Outputnya lebih sederhana dibandingkan backup logika.
Sebagai tambahan dari database, backup dapat meliputi file manapun yang terdiri dari
file MYi, MYD dan FRM.

b) Backup online vs backup offline
Backup online dilakukan saat server MySQL sedang berjalan, sedangkan backup
offline dilakukan saat server sedang dihentikan. Metoda Backup Online mempunyai
karakteristik :

Lebih sedikit mengganggu klien lain karena dapat menggunakan mysql server tanpa
harus menghentikan pekerjaan selama proses backup.
Backup data hanya dilakukan pada data yang tidak sedang terlibat dalam transaksi.
Metoda Backup Offline mempunyai karakteristik :
Mempengarui klien yang kurang baik sebab server tidak berjalan selama proses
berlangsung.
Backup lebih sederhana memeriksa prosedur sebab tidak ada kemungkinan gangguan
campur tangan dari aktifitas klien.

c) Backup local vs backup remote
Suatu backup local dilakukan pada host yang sama pada server MySQL yang sedang running,
sedangkan suatu backup remote diaktifkan dari suatu host yang berbeda.

Mysqldump dapat menghubungkan ke server remote atau local. Karena output SQL
(perintah create dan insert) local atau remote dapat diselesaikan dan degenerate dari
client.
Mysqlhotcopy melaksanakan hanya backup local,menghubungkan ke server untuk
menguncinya untuk menghindari modifikasi data dan kemudian menyalin file ke
local.
Select into outfile dapat diaktifkan dari satu host remote dari client, tetapi field
output diciptakan pada host server.
Backup fisik secara khas diaktifkan pada server mysql sedemikian hingga server
dapat diambil saat ofline, walaupun cara pengambilannya bisa dengan remote.


d) Backup penuh vs backput bertambah sebagian
Suatu backup penuh meliputi semua data yang diatur oleh suatu MySQL Server pada
titik ditentukan pada waktunya. Suatu incremental backup terdiri dari perubahan pada data
sesuai dengan log pada-server.

e) Point in time recovery
Metoda lain menggunakan log binary untuk mencapai point in time recovery. Ini
dilaksanakan dengan recovery yang pertama dari backup yang pertama dan merecovery
seperti semula dan memodifikasi prosesnya sampai waktu yang kita tentukan.




f) Backup scheduling, compression dan encryption
Backup scheduling adalah suatu yang penting untuk otomatisasi prosedur backup.
Proses ini bisa menghindari proses hacking yang dilakukan diinternet sehingga data selalu
terjaga. Proses ini biasa diterapkan pada system online yang mengcover banyak data pada
transaksi.

g) Table Maintenance
Integritas data dapat disepakati jika table mengalami corrupt. My SQL menyediakan
program untuk memeriksa table dan perbaikan jika terdapat masalah yang ditemukan,
program ini biasa diterapkan pada table MyIsam.

Macam Macam Backup dan Penggunaannya
Secara umum terdapat 3 macam cara backup yaitu sebagai berikut :

a. Dump : Menduplikat seluruh record database yang dioperasikan pada database backup

b. Transaction Log : Menyimpan transaksi-transaksi yang merubah database.

c. Image Log : Menyimpan record-record database sesudah / sebelum perubahan pada
database.

Sedangkan macam macam backup terdiri dari :
a. Backup satu database
Proses backup 1 database ini akan menghasilkan backup yang seluruh object
yang ada di dalam database yang ditunjuk saja dan nama database tidak ikut
terbackup. Isi backup ini adalah Table, Data Table, View, Trigger, function /
procedure. Untuk membackup 1 database bisa menggunakan pemanggilan nama
database. Untuk membackup seluruh database maka format yang digunakan adalah :
# mysqldump -u -p [nama database] > [nama file].sql
Misal ingin membackup database blogDB dengan password bahagia dari
database MySQL dan jika sudah dibackup maka namanya adalah blogdb.sql, maka
format diatas menjadi :
# mysqldump -u root -pbahagia blogDB > blogdb.sql
b. Backup tabel database
Untuk membackup satu atau lebih tabel yang ada dalam suatu database maka
formatnya adalah sebagai berikut :
# mysqldump -u -p [nama database] [table1] [table2] > [nama file].sql
Misal kita ingin membackup dua tabel coba1 dab coba2 dalam database
blogDB, maka format perintah menjadi :
# mysqldump -u root -pbahagia blogDB coba1 coba2 > duabuahtabel.sql
c. Backup dua atau lebih database
Jika ingin membackup dua atau lebih database menjadi maka formatnya
menjadi :
# mysqldump -u -p database [database1] [database2] > [nama file].sql
Membackup database blogDB dan database mahasiswa digabung menjadi satu
dengan nama dua_database.sql, maka formatnya menjadi : # mysqldump -u root -
pbahagia database blogDB mahasiswa > dua_database.sql
d. Backup seluruh database
Jika ingin membackup seluruh database maka formatnya sebagai berikut :
# mysqldump -u -p all-databases > [nama file].sql
e. Backup Kompres data
Jika ingin membackup hanya data dengan format insert kemudian dikompresi
# mysqldump -u root -p -t skip-opt extended-insert=false [database] | bzip2 -c >
`date+%Y%m%d%H%M`_[nama_file].sql.bz2
f. Backup struktur data
Jika ingin membackup struktur databasenya saja tanpa mengikut sertakan data
recordnya maka formatnya menjadi : # mysqldump -u -p no-data [database] >
[nama file].sql Jika lebih dari satu database formatnya menjadi :
# mysqldump-u -p no-data database [database1][database2] > [nama file].sql
Jika mau membackup hanya data recordnya saja, maka formatnya :
# mysqldump -u -p no-create-info [database] > [nama file].sql
g. Backup Kompress database
Jika ingin mengkompress hasil backup database, maka formatnya :
# mysqldump -u -p [database] | bzip2 -c > [namafile].sql.bz2
# mysqldump -u -p [database] | gzip -c > [namafile].sql.gz
Misalnya ingin membackup database blogDB dan dikompress menggunakan
bzip2 atau gzip, maka formatnya :
# mysqldump -u root -pbahagia blogDB | bzip2 -c > blogdb.sql.bz2 atau
# mysqldump -u root -pbahagia blogDB | gzip -c > blogdb.sql.gz
Jika ingin variasi backup seperti backup seluruh database, beberapa tabel maka
hanya diubah sebelum tanda | dengan mengikuti pola format sebelumnya. Format
untuk membackup seluruh database dengan hasil sudah dikompress.
# mysqldump -u root -pbahagia all-databases | bzip2 -c >
all_database.sql.bz2 atau
# mysqldump -u root -pbahagia all-databases | gzip -c > all_database.sql.gz
h. Script untuk backup
Untuk mempermudah backup bisa menggunakan script dibawah ini :
#!/bin/sh
mysqldump all-databases | gzip -c > /home/dado/all_database-`date I`.sql.gz
4. Skema Mekanisme Recovery
Recovery merupakan suatu proses untuk mengupdate database dengan file backup
yang telah disimpan terakhir kalinya. Mekanisme recovery memiliki dua bagian utama,
yaitu:
1. Aksi-aksi yang ditempuh selama transaksi berjalan normal untuk menjamin
adanya informasi yang memadai yang kelak dibutuhkan oleh mekanisme
recovery.
2. Aksi-aksi yang ditempuh setelah terjadinya kerusakan/ kegagalan sistem yang
dilakukan untuk memulihkan isi basis data ke suatu keadaan yang menjamin
konsistensi basis data, keatomikan, dan ketahanan transaksi.
Dengan asumsi ruang disk yang dialokasikan untuk basis data tidak mengalami
kerusakan, maka ada 3 pilihan skema untuk menjalankan mekanisme recovery secara
otomatis begitu kerusakan atau kegagalan sistem telah terjadi. Ketiga skema pilihan itu
adalah :
1. File Log dengan Penundaan Pengubahan (Incremental Log With Defered
Update).
2. File Log dengan Pengubahan langsung (Incremental Log With Immediate
Updates).
3. Page Bayangan (Shadow Paging), yang memerlukan akses ke disk yang lebih
sedikit.
Recovery untuk Transaksi Konkuren
a. Interaksi dengan pengendalian konkurensi
Skema recovery ini akan banyak tergantung pada skema pengendalian
konkurensi yang digunakan. Untuk menjalankan proses roll back terhadap
transaksi yang gagal/ batal, kita harus membatalkan perubahan yang telah
dilakukan oleh transaksi tersebut.
Jika sebuah transaksi T telah mengubah sebuah item data Q, tidak boleh ada
transaksi lain yang boleh mengubah item data yang sama hingga T telah di-
commit ataupun di-roll back. Kita dapat menjamin hal ini dengan memanfaatkan
Loking Protokol Dua Fase yang ketat, yang menerapkan penguncian dengan
mode exclusive hingga akhir transaksi.
b. Restart recovery
Pada saat sistem melakukan pemulihan data, ia membentuk dua buah daftar.
Yang pertama adalah daftar undo (undo-list) yang terdiri atas transaksi -
transaksi yang harus dikenai operasi undo dan daftar redo (redo-list) yang berisi
transaksi - transaksi yang harus dikenai operasi redo.
Kedua daftar ini dibentuk untuk proses recovery sebagai berikut. Mula-mula
kedua daftar tersebut kosong. Kita melakukan penelusuran mundur terhadap file
log, memeriksa record hingga ditemukannya <checkpoint> :
Untuk setiap record yang ditemukan dalam bentuk <T
i
commit>, kita
tambahkan T
i
dalam redo-list.
Untuk setiap record yang ditemukan dalam bentuk <T
i
start>, jika T
i
tidak
ada dalam redo-list, kita tambahkan T
i
dalam undo-list.
Pada saat semua record dimaksud dalam file log telah diperiksa, kita periksa
isi list L dalam record checkpoint. Untuk setiap transaksi T
i
dalam L, jika T
i

tidak ada dalam redo-list maka kita tambahkan T
i
dalam undo-list. Begitu kedua
daftar tersebut telah terbentuk, maka proses recovery akan dilakukan dengan
langkah - langkah berikut ini:
1. Ulangi penelusuran mundur file log dari record terakhir, dan jalankan
operasi undo untuk setiap record dalam file logyang memiliki transaksi T
i

pada undo-list. Record-record transaksi dalam redo-list diabaikan dalam
fase ini. Penelusuran dihentikan ketika record <T
i
start> ditemukan untuk
setiap transaksi T
i
dalam undo-list.
2. Carilah record <checkpoint L> terakhir dalam file log. Perhatikan bahwa
langkah ini dapat melibatkan penelusuran maju, jika record checkpoint
telah dilewati dalam langkah 1.
3. Lakukan penelusuran maju pada file log dari record <checkpoint L>
terakhir dan jalankan operasi redo untuk setiap record dalam file log yang
dimiliki transaksi T
i
yang da di dalam redo-list. Pada fase ini, abaikan
semua record dari transaksi yang ada dalam undolist.
Setelah semua transaksi dalam undo-list telah dikenai operasi undo,
selanjutnya transaksi - transaksi dalam redo list juga dikenai dengan
operasi redo.
5. Teknik dan Cara Melakukan Recovery
Meski bisa dikatakan database MySQL jarang sekali mengalami kerusakan, namun
segala kemungkinan bisa terjadi seperti karena konflik atau yang lainnya. Teknik recovery
terdapat tiga yaitu :
1. Defered upate / perubahan yang ditunda :
Perubahan pada basis data tidak akan berlangsung sampai transaksi ada pada
poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi
perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan
tersebut.
2. Immediate Upadte / perubahan langsung :
Perubahan pada basis data akan segera tanpa harus menunggu sebuah transaksi
tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk
melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan.
3. Shadow Paging :
Menggunakan page bayangan dimana pada prosesnya terdiri dari 2 tabel yang
sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai
cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama
berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel
bayangan akan digunakan jika terjadi kesalahan. Keuntungannya adalah tidak
membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya
fragmentasi.
Sedangkan terdapat 6 cara recovery yang terdiri dari :
a. Dual recording
b. Periodic dump
c. Periodic dump dan transaction log
d. Periodic dump dan logging after image
e. Periodic dump dan logging before image dan transaction log
f. Residual dump.
Cara melakukan recovery pada oracle yaitu sebagai berikut :
Automatic Recovery
Proses recovery yang dilakukan secara otomatis. Langkah-langkahnya yaitu
Buka Recovery Manager Kemudian klik push button Automatic Recovery. Jika
database tidak aktif dan ingin menampilkan dan memodifikasi nama file struktur
database, maka pilih tombol File. Jika database tidak aktif dan ingin menampilkan
dan mengubah parameter - parameter database yang akan berefek mulai dari
database dibuka sampai proses recovery. Pilih tombol Recovery.
Memulihkan Database dengan Full Backup
Untuk melakukan proses recovery database ikuti langkah - langkah berikut ini :
Buka Recovery Manager Pilih push button Restore From Full Database Backup
Pilih tombol File Pilih tombol Parameters Pilih Tombol Recovery Pilih
Recover. Jika memilih Restore From Tape, pilih tape Device dari kontak daftar drop
down. Jika memilih Restore From Disk, pilih direktori untuk memilih file yang akan
pulihkan Pilih backup Pilih klausa Pilih tombol OK.
Memulihkan File Kontrol
File kontrol merupakan bagian yang vital dari sebuah database. Untuk
memulihkan file kontrol ini bisa mengikuti langkah - langkah berikut ini : Buka
Recovery Manager Pilih push button Restore Control File Pilih tombol File
atau pilih tombol Parameters klik tombol OK Pilih Recover dari kotak dialog
Recovery Manager Restore From Tape Restore From Disk Directory Directory
Create A New Control File. Backup Pilih Restore From Tape, Restore
From Disk, atau Create a New Control File Pilih file backup yang akan restore
dari kotak daftar Backup. Jika sudah, pilih tombl OK.
Menampilkan & Memodifikasi File Database Untuk Proses Recovery
Untuk menampilkan dan memodifikasi nama file struktur database, ikuti
langkah - langkah berikut ini. Buka Recovery Manager Klik atau pilih tombol Files,
push button Data Files dan file - file isinya ditampilkan dalam kotak File List
Gunakan kotak nama file, tombol Add, dan tombol Remove untuk mendefinisikan
daftar file data dalam database Pilih radio button Log Files Gunakan kotak
nama file, tombol Add, dan tombol Remove untuk mendefinisikan file-file log dalam
database Pilih radio button Control File Gunakan kotak nama file, tombol Add,
dan tombol Remove untuk mendefinisikan file-file kontrol database Jika sudah
selesai, pilih tombol OK sehingga akan masuk kembali ke kotak dialog Recovery
Manager.

Anda mungkin juga menyukai