1 OTORISASI
Aturan Otorisasi Aturan otorisasi: kontrol yang melekat dalam sistem manajemen data yang membatasi akses thd data dan tindakan- tindakan yang dapat dilakukan oleh orang Contoh, orang yang berhak mengakes data bisa membaca seluruh database tetapi tidak bisa mengubah data 2
Contoh Aturan Otorisasi SubjekObjekTindakanKekangan Bagian Pemasaran Data Pelanggan Menambah Limit kredit <= Bagian Akuntansi Data Pemesanan Menghapus Tak ada Bagian Pemenuhan Pesanan Data Pemesanan MembacaMengubahMenghapus Tak ada 3
Implementasi Aturan Otorisasi Perintah SQL GRANT dipakai untuk menentukan otorisasi akses data Perintah SQL REVOKE dipakai untuk mencabut otorisasi 4
5
Aturan Otorisasi Kontrol disertakan dalam sistem manajemen data Membatasi: – Akses ke data – Aksi yang dapat dilakukan seseorang terhadap data Matriks otorisasi untuk: – Subjek – Objek – Aksi – Batasan 6
Tabel otorisasi User A User B User C Read Y Y Y Insert Y N N Modify N Y N Delete N N Y 7
Contoh Skenario Hak Akses 8
Contoh menciptakan user: CREATE USER arif IDENTIFIED BY '007arif'; Contoh memberikan hak akses ke arif: GRANT ALL ON pegawai.* TO arif; 9
Hak Akses Memberikan hak akses SELECT saja: GRANT SELECT ON pegawai.* TO novi; 10
Membatasi Hak Akses pada Kolom Tertentu GRANT SELECT ON pegawai.infoprib TO terra; GRANT SELECT ON pegawai.bagian TO terra; GRANT SELECT (nip, kode_bag), UPDATE (nip, kode_bag) ON pegawai.pekerjaan TO terra; 11
GRANT OPTION 21/4/
13 Recovery
Proteksi data 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
Kontrol yang tersedia Recovery (Pemulihan) Security (keamanan) Integrity (Integritas) Concurrency (Konkurensi) 15
Recovery (Pemulihan) 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 16
Kegagalan transaksi Transaksi Serangkain (paket) prosedur proses yang memperbaharui data pada sejumlah tabel di dalam basisdata. 17
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 tidak mengeluarkan uang 18
Mengantisipasi jika kegagalan Transaksi Aplikasi yang baik harus dapat mengantisipasi seperti kejadian kegagalan transaksi pada langkah ke 4 Hal ini yang disebut ”Pemulihan transaksi” 19
Pemulihan transaksi 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) 20
Flowchartnya: 21 Mulai Potong saldo Berhasil Selesai Batalkan proses Catat transaksi penarikan Berhasil Keluarkan uang Berhasil Setujui Transaksi Y T T T Y Y
Teknik Pemulihan Transaksi 1. Defered upate / perubahan yang ditunda 2. Immediate Upadate / perubahan langsung 3. Shadow Paging 22
Defered upate / perubahan yang ditunda Perubahan pada DB 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. 23
Immediate Upadate / perubahan langsung Perubahan pada DB 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. 24
Shadow Paging Menggunakan page bayangan imana paa 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. 25
Pemulihan sistem 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. 26
Kegagalan Basis data tidak rusak Recovery yang lebih disukai: beralih ke basis data duplikat Alternatif 1: rollback Alternatif 2: restart dari checkpoint 28/4/2012 Kerusakan basis data Recovery yang lebih disukai: beralih ke basis data duplikat Alternatif 1: rollforward Alternatif 2: memproses transaksi kembali 27
Pemulihan media Pada kegagalan media penanganannya adalah dengan memuat kembali data yang dianggap rusak, dengan cara merestore basisdata hasil backup terakhir. 28
Harddisk tergores Data yang ada pada harddisk yang tergores di dalam basisdata 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. 29
TERIMA KASIH 30