Download - Materi 11
1
BASIS DATAAHMAD KURNIAWAN
Sebuah fasilitas untuk melindungi data dari berbagai risiko sehingga dapat diantisipasi dari kemungkinan sbb:
- Gangguan listrik - Kerusakan harddisk - Kesalahan perangkat lunak (tdk
prosedur) - Akses oleh orang yang tidak berhak - Akibat dari multiuser
Recovery (Pemulihan) Security (keamanan) Integrity (Integritas) Concurrency (Konkurensi)
3
Upaya untuk mengembalikan keadaan basisdata pada posisi semula yang dianggap benar sebelum terjadinya kegagalan.
Macam kegagalan: 1. Kegagalan Transaksi 2. Kegagalan Sistem 3. Kegagalan Media
4
Transaksi Serangkain (paket) prosedur proses yang
memperbaharui data pada sejumlah tabel di dalam basisdata.
5
Contoh pada ATM 1. Memasukkan Nilai Uang yang akan di
tarik 2. Pemotongan saldo pada Tabel 3. Penarikan dicatat pada Tabel Tranaksi 4. ATM mengeluarkan uang
Misalnya kegagalan terjadi pada saat langkah ke
4 (empat), oleh karena suatu hal ATM tidakmengeluarkan uang
6
Aplikasi yang baik harus dapat mengantisipasiseperti kejadian kegagalan transaksi padalangkah ke 4
Hal ini yang disebut ”Pemulihan transaksi”
7
Mendefinisikan keadaan sbb:
Mulai (Pernyataan keadaan awal transaksi)
Disetujui sebagian (Pernyataan suatu langkah transaksi berhasil)
Gagal (Pernyataan suatu langkah transaksi gagal dilaksanakan)
Batal (Pernyataan suatu langkah transaksi batal dilaksanakan)
Disetujui (Pernyataan suatu langkah transaksi berhasil dijalankan)
Berakhir (Pernyataan keadaan transaksi telah berakhir)
8
9
Mulai
Potong saldo
Berhasil
Selesai
Batalkan proses
Catat transaksi penarikan
Berhasil
Keluarkan uang
Berhasil
Setujui Transaksi
Y
T
T
T
Y
Y
1. Defered upate / perubahan yang ditunda
2. Immediate Upadate / perubahan langsung
3. Shadow Paging
10
Perubahan pada DB tidak akan berlangsungsampai transaksi ada pada poin disetujui(COMMIT). Jika terjadi kegagalan maka tidakakan terjadi perubahan, tetapi diperlukanoperasi redo untuk mencegah akibat darikegagalan tersebut.
11
Perubahan pada DB akan segera tanpa harusmenunggu sebuah transaksi tersebut disetujui.Jika terjadi kegagalan diperlukan operasi UNDOuntuk melihat apakah ada transaksi yang telahdisetujui sebelum terjadi kegagalan.
12
Menggunakan page bayangan imana paa prosesnya terdiridari 2 tabel yang sama, yang satu menjadi tabel transaksidan yang lain digunakan sebagai cadangan.
Ketika transaksi mulai berlangsung kedua tabel ini samadan selama berlangsung tabel transaksi yang menyimpansemua perubahan ke database, tabel bayangan akandigunakan jika terjadi kesalahan.
Keuntungannya adalah tidak membutuhkan REDO atauUNDO, kelemahannya membuat terjadinya fragmentasi.
13
Pada sebuah sistem bisa saja terjadi kegagalan, jika banyak transaksi sedang berlangsung tiba-tiba terjadi ganguan pada sistem sehingga menyebabkan semua data dalam RAM hilang.
Transaksi2 yang tidak selesai harus dibatalan jika sistem diaktifkan kembali (proses UNDO)
Sistem memiliki transaksi mana yang sudah Berakhir disetujui dan yang belum disetujui, jejak langkah tersebut disimpan pada sebuah LOG.
14
Basis data tidak rusak Recovery yang lebih disukai: beralih ke basis data
duplikat Alternatif 1: rollback Alternatif 2: restart dari checkpoint
Kerusakan basis data Recovery yang lebih disukai: beralih ke basis data
duplikat Alternatif 1: rollforward Alternatif 2: memproses transaksi kembali
15
16
17
Pada kegagalan media penanganannya adalah dengan memuat kembali data yang dianggap rusak, dengan cara merestore basisdata hasil backup terakhir.
18
Data yang ada pada harddisk yang tergores di dalambasisdata pasti rusak dan tidak dapat dibaca.Cara mempebaikinya sbb:1. Deteksi data yang masih baik, dengan cara
membaca data dari awal sampai berhenti pada posisi yg rusak tsb. dan catat index number datanya. Kemudian di export ke basis data lain, untuk mengumpulkan yang baik saja.
2. Baca kelanjutan data mulai dari index setelah yang rusak, sampai berhenti pada posisi yg rusak berikutnya dan lakuan expot kembali untuk mengumpulkan yang baik saja
3. Lakukan hingga data selesai semua diexport, terakhir lakukanlah mengimpor data ke databasenya.
19