Recovery Database Menggunakan DBMS OracleXE 10g

27 03 2010

Pada praktek kali ini, kita akan melakukan recovery database mengggunakan aplikasi DBMS Oracle 10g Express Edition. Kita nantinya akan menggunakan perintah savepoint [nama-cp] untuk membuat sebuah checkpoint dari database dan rollback to [nama-cp] untuk mengembalikan kondisi database ke kondisi sesaat setelah checkpoint tersebut dibuat.Namun, alangkah baiknya kita ketahui dahulu apa itu Recovery.

Recovery merupakan upaya untuk mengembalikan database ke keadaan yang dianggap benar setelah terjadinya suatu kesalahan. Adapun jenis-jenis recovery (pemulihan) database yaitu:

* Pemulihan terhadap kegagalan transaksi. Pemulihan pada kesatuan prosedur dalam yang dapat mengubah atau memperbaharui data pada sejumlah tabel.

* Pemulihan terhadap kegagalan media. Cara yang ditempuh dalam rangka pemulihan database karena kegagalan media adalah mengambil atau memuat kembali salinan database.

* Pemulihan terhadap kegagalan sistem. Kegagalan sistem di sini biasanya terjadi karena hang pada sistem dan terputusnya aliran listrik.

Setelah mengetahui sedikit tentang Recovery, maka selanjutnya kita akan beranjak ke langkah-langkahnya. Langkah-langkah untuk melakukan recovery tersebut antara lain:

1. Masuklah ke dalam aplikasi OracleXE 10g tersebut melalui Command Prompt. Caranya yaitu klik tombol Start >> All Programs >> Oracle Database 10g Express Edition >> Run SQL Command Line.

2. Setelah berada pada prompt SQL*Plus, maka ketikkan perintah conn system; untuk login ke dalam aplikasi Oracle. Secara otomatis, sesaat kita berhasil login maka kita dapat menggunakan database system. Masukkan password-nya bila ada.

3. Setelah itu, kita akan membuat tabel mhs_e5 dimana field-fieldnya yaitu npm, nama, kelas, alamat, dan tgl_lahir. Untuk npm, nama, kelas, dan alamat kita menggunakan tipe data varchar. Sedangkan untuk tgl_lahir, kita menggunakan tipe data date. Untuk npm panjang maksimal untuk value-nya yaitu 8 karakter, nama 20 karakter, kelas 5 karakter, dan alamat 30 karakter. Sedangkan untuk format date pada tgl_lahir yaitu tanggal-bulan-tahun. Kita akan menjadikan semua field-nya not null dan untuk primary key-nya kita gunakan field npm memakai perintah constraint dengan nama pk_mhs_e5. Perintah yang digunakan untuk membuat tabel mhs_e5 tersebut lengkap dengan field-fieldnya yaitu:

create table mhs_e5(npm varchar(8) not null, nama varchar(20) not null, kelas varchar(5) not null, alamat varchar(30) not null, tgl_lahir date not null, constraint pk_mhs_e5 primary key(npm));

4. Selanjutnya, kita akan membuat tabel mk_e5 dimana field-fieldnya yaitu kd_mk, nama_mk, dan sks. Untuk kd_mk dan nama_mk, kita menggunakan tipe data varchar. Sedangkan untuk sks, kita menggunakan tipe data integer. Untuk kd_mk panjang maksimal untuk value-nya yaitu 8 karakter dan nama_mk sebanyak 10 karakter. Sedangkan untuk sks, kita biarkan default-nya saja. Kita akan menjadikan semua field-nya not null dan untuk primary key-nya kita gunakan field kd_mk memakai perintah constraint dengan nama pk_mk_mk_e5. Perintah yang digunakan untuk membuat tabel mk_e5 tersebut lengkap dengan field-fieldnya yaitu:

create table mk_e5(kd_mk varchar(8) not null, nama_mk varchar(10) not null, sks integer not null, constraint pk_mk_e5 primary key(kd_mk));

5. Lalu, kita akan membuat tabel dosen_e5 dimana field-fieldnya yaitu kd_dosen, nama_dosen, dan alamat. Untuk keseluruhan field-nya, kita menggunakan tipe data varchar dengan panjang maksimal untuk value-nya yaitu 4 karakter untuk kd_dosen serta 30 karakter untuk masing-masing field nama_dosen dan alamat. Kita akan menjadikan semua field-nya not null dan untuk primary key-nya kita gunakan field kd_dosen memakai perintah constraint dengan nama pk_dosen_e5. Perintah yang digunakan untuk membuat tabel dosen_e5 tersebut lengkap dengan field-fieldnya yaitu:

create table dosen_e5(kd_dosen varchar(4) not null, nama_dosen varchar(30) not null, alamat varchar(30) not null, constraint pk_dosen_e5 primary key(kd_dosen));

6. Setelah itu, kita akan membuat tabel nilai_e5 dimana field-fieldnya yaitu kd_nilai, npm, kd_mk, kd_dosen, dan nilai. Untuk keseluruhan field-nya, kita menggunakan tipe data varchar dengan panjang maksimal untuk value-nya yaitu 10 karakter untuk kd_nilai, 8 karakter untuk npm dan kd_mk, 4 karakter untuk kd_dosen, serta 3 karakter untuk nilai. Kita akan menjadikan semua field-nya not null kecuali untuk field nilai. Untuk primary key-nya kita gunakan field kd_nilai memakai perintah constraint dengan nama pk_nilai_e5. Berbeda dengan tiga tabel sebelumnya, pada tabel ini kita akan membuat tiga buah kunci asing (foreign key) yang direferensi dari field yang menjadi primary key pada ketiga tabel sebelumnya. Ketiga foreign key tersebut antara lain npm dengan nama fk_mhs_e5 yang direferensi dari field npm dari tabel mhs_e5, kd_mk dengan nama fk_mk_e5 yang direferensi dari field kd_mk dari tabel mk_e5, dan kd_dosen dengan nama fk_dosen_e5 yang direferensi dari field kd_dosen dari tabel dosen_e5, Perintah yang digunakan untuk membuat tabel nilai_e5 tersebut lengkap dengan field-fieldnya yaitu:

create table nilai_e5(kd_nilai varchar(10) not null, npm varchar(8) not null, kd_mk varchar(8) not null, kd_dosen varchar(4) not null, nilai varchar(3), constraint pk_nilai_e5 primary key(kd_nilai), constraint fk_mhs_e5 foreign key(npm) references mhs_e5(npm), constraint fk_mk_e5 foreign key(kd_mk) references mk_e5(kd_mk), constraint fk_dosen_e5 foreign key(kd_dosen) references dosen_e5(kd_dosen));

7. Setelah itu, kita akan membuat sebuah checkpoint dengan nama e5 menggunakan perintah savepoint e5;

8. Sekarang saatnya kita untuk meng-input data ke masing-masing tabel.
* Untuk tabel mhs_e5, ketikkan perintah:
insert into mhs_e5(npm, nama, kelas, alamat, tgl_lahir) values (‘50407759’, ’romtoni’, ‘3ia12’, ‘jl. kemang sari iv bekasi’, ’14 april 1989’);

* Untuk tabel mk_e5, ketikkan perintah:
insert into mk_e5(kd_mk, nama_mk, sks) values (‘ak045330’, ’sbd2’, 3);

* Untuk tabel dosen_e5, ketikkan perintah:
insert into dosen_e5(kd_dosen, nama_dosen, alamat) values (‘1234’, ’ruby’, ‘jl. dahlia 4 jakarta’);

* Untuk tabel nilai_e5, ketikkan perintah:
insert into nilai_e5(kd_nilai, npm, kd_mk, kd_dosen, nilai) values (‘12344567890’, ‘50407759’, ‘ak045330’, ‘1234’, ‘85’);

9. Selanjutnya, kita akan menyeleksi keseluruhan tabel-tabel tersebut untuk menam-pilkan semua data yang ada didalamnya.
* Untuk tabel mhs_e5, ketikkan perintah : select * from mhs_e5;
* Untuk tabel mk_e5, ketikkan perintah : select * from mk_e5;
* Untuk tabel dosen_e5, ketikkan perintah : select * from dosen_e5;
* Untuk tabel nilai_e5, ketikkan perintah : select * from nilai_e5;

10. Setelah itu, kita akan melakukan rollback ke checkpoint e5 yang telah dibuat sebelumnya. Untuk itu, kita ketikkan perintah rollback to e5 pada prompt. Lalu, cobalah untuk seleksi ulang pada tabel-tabel tersebut. Pastinya kita akan mendapati bahwa data yang terkandung pada masing-masing tabel akan raib tak tersisa. Ini dikarenakan checkpoint e5 kita buat sesaat setelah kita membuat keempat tabel tersebut dan tentu saja tabel-tabel tersebut belum memiliki data satupun alias masih kosong. Ketikkan perintah exit untuk keluar dari prompt SQL*Plus.

Dengan demikian, kita telah berhasil melakukan proses recovery database menggunakan aplikasi DBMS Oracle 10g Express Edition pada praktek kali ini.


Aksi

Information

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s




%d blogger menyukai ini: