Log Based Recovery

Dua pendekatan menggunakan log

  1. Deffered database modification : menangguhkan penulisan sampai partial commit. Menggunakan konsep redo saja.
  2. Immediate database modification : setiap terjadi modifikasi langsung disimpan. Menggunakan konsep undo dan redo ketika terjadi crash.

Contoh Penggunaan Log ketika terjadi Crash :

<T0,Start>

<T0,A,1000,950>

<T0,B,2000,2050>

Di Immediate Modification, maka akan terjadi undo, sehingga nilai A kembali keawal (1000) dan nilai B kembali ke awal juga (2000)

Pada Deferred Modification, tidak ada proses undo, sehingga  proses tersebut tidak akan dicatat dalam log

<T0,Start>

<T0,A,1000,950>

<T0,B,2000,2050>

<T0 commit>

<T1 start>

<T1,C,700,600>

Di Immediate modification A dan B di redo karena sudah di commit di T0, sehingga A menjadi 950 dan B menjadi 2050. Namun C belum di commit sehingga C dilakukan undo. Jadi nilai C sekarang adalah 700.

Pada deferred modification nilai A dan B di T0 akan di redo, sehingga nilai  A adalah 950 dan B menjadi 2050, pada proses T1 (pengolahan C) tidak akan di tulis dalam log karena belum di commit.

<T0,Start>

<T0,A,1000,950>

<T0,B,2000,2050>

<T0 commit>

<T1 start>

<T1,C,700,600>

<T1 commit>

Di Immediate modification A dan B di redo karena sudah di commit di T0, sehingga A menjadi 950 dan B menjadi 2050.  C berada di T1 dan juga sudah di commit, sehingga nilai C akan di redo sehingga nilainya adalah 600.

Pada deferred modification nilai A dan B di T0 akan di redo, sehingga nilai  A adalah 950 dan B menjadi 2050, pada proses T1 (pengolahan C) karena sudah di commit maka akan diredo, sehingga nilai C diredo nilainya menjadi 600.

Tipe data pada oracle 10g

  1. Varchar2(size) : string yang memiliki panjang karakter vaiable dengan panjang maxial sebesar size. Tipe data ini memperbolehkan penyimpanan semua karakter yang dapat dimasukkan melalui keyboad. Maksimum size yang dapat disimpan sebesar 4000 bytes (karakter). Tipe data ini juga memungkinkan untuk mneyimpan data numerik. Biasanya space akan langsung dieliminasi jika menggunakan tipe ini.
  2. Char(size): string dengan panjan gkarakter tetap sebesar ukuran size. Tipe data ini mempunyai kemampuan yang hampir sama yakni menyimpan karakter, hanya saja maksimum size yang disimpan hanya sebesar 2000 bytes.
  3. Number(p,s) : tipe data number memiliki presisi p dan s digit dibelakan koma jika kita abaikan p dan s berarti dianggap sebagai tipe number floating point. Tipe data ini menyimpan bilangan interger sampai maksimum dari digit integer tersebut. misal untuk spesifikasi (5,2) berarti 3 digit sebelum koma dan 2 digit dibelakang koma.
  4. Long : data karakter dengan ukuran panjang bervariasi, hingga mencapai 2 GB.(tipe data seperti ini tidak dapat digunakan sebagai primary key).
  5. Raw(size) : tipe data berupa binary data dengan ukuran maksimal 255 bytes
  6. Long Raw : Tipe data berupa binary data dengan ukuran maksimal 2 GigaBytes tidak dikonversi oleh oracle (data mentah apa adanya, spasi dihitung 1 karakter).
  7. Date : Tipe data ini menyimpan waktu dan tanggal dari sebuah informasi, dengan komponen waktu yang dibulatkan ke detik terdekat. Untuk menampilkannya dalam teks harus menggunakan fungsi to_char.
  8. Timestamp : tipe ini mirip dengan date. Di dalam tipe ini terdapat komponen waktu yang dapat langsung ditampilkan tanpa harus mengubahnya terlebih dahulu dengan fungsi to_char.
  9. Clob : Tipe data ini memperbolehkan penyimpanan objek dengan ukuran yang sangat besar sekitar 4 GB. Clob mirip sekali dengan varchar2 hanya saja tipe data ini mempunyai kapasitas maksimum yang lebih besar.
  10. Blob : tipe ini memperbolehkan penyimpanan objek bbinary yang besar dan tidak terstruktur. Contoh dari tipe data blob adalah suara dan video.

Istilah-istilah dalam database modelling

  1. Entitas : merupakan suatu objek yang di dunia nyata dan dapat dibedakan dari objek lainnya. Entitas dapat dibedakan menjadi dua macam. yaitu Entitas kuat dan Entitas lemah. Entitas kuat, merupakan entitas yang memiliki primary key. Entitas lemah, merupakan entitas yang keberadaannya tergantung pada keberadaan entitas kuat, biasanya tidak memiliki primary key.
  2. Atribut : merupakan deskripsi sifat dari sebuah entitas.  Superkey merupakan semua atribut yang mengidentifikasikan secara unik suatu  entitas dalam satu entity set. Candidate key merupakan satu atau beberapa atribut yang mengidentifikasikan secara unik suatu entitas dalam suatu entity set. Candidat key biasanya minimal subset dari superkey. Primary key merupakan atribut yang pasti menjamin keunikan dari beberapa candidate key. Foreign key merupakan primary key sebuah tabel yang berada pada tabel lain yang berhubungan dengan tabel pemilik primary key tersebut.
  3. Relasi merupakan asosiasi antara satu entitas dengan entitas lainnya.
  4. Kardinalitas menunjukkan berapa jumlah entitas yang dapat berasosiasi dengan entitas lainnya melalui sebuah realtionship set.
  5. diagram ER : diagram yang digunakan untuk memodelkan basis data realsional
  6. Agregasi : merupakan suatu kasus yang menunjukkan adanya realasi yang kronologis mensyaratkan adanya relasi dengan suatu himpunan realsi. Digunakan ketika kita akan memodelkan sebuah hubungan realsi yang melibatkan kumpulan  relasi.
  7. Normalisai merupakan proses dekomposisi dari suatu tabel yang buruk dengan dilakukan pemisahan-pemisahan atributnya sehingga menjadi tabel tabel yang lebih kecil. Tjuan globalnya adalah untuk memperoleh sebuah basisdata dengan struktur yang baik sehingga menghasilkan ruan penyimpanan yang efisien.
  8. DDL (data definition language) : merupakan bagian perintah SQL untuk membuat, memodifikasi atau menghapus struktur basis data oracle. Suatu DDL akan dieksekusi bila sudah diakhiri dengan “;” (semicolon).

Mengkonfigurasi database pada oracle 10g (versi 10.2)

Anda dapat menggunakan DBCA untuk membuat, mengubah konfigurasi, atau menghapus database. Langkah-langkah yang akan dilkukan adalah sebagai berikut :

1.       Start->All program-> oracle- oradb10g_home1 -> configuration and migration tools -> database configuration assistant.

2.       Halamann pembukan dari DBCA, klik next untuk proses selanjutnya. Pilih create database untuk membuat database baru. Klik next.

3.       Pilih general purpose karena kita akan melakukan pengolahan basis data standart. Masukkan nama basis data kamu (terserah anda) beserta nama domainnya (terserah juga) dengan format penulisan “namabasisdata.namadomain”. SID secara otomatis akan dibuat oleh oracle pada saat kamu membuat nama basis data sehingga default SID adalah nama basis data, namun kamu juga bisa mengubah SID nya berbeda dengan nama basis data.

4.       Ceklist configure the database with enterprise manager agar nantinya kita dapat mengelola basis data dengan menggunakan tool EM (Enterprise Manager). Pilih use the same password for all account(recommended), sehingga kita lebih mudah mengingat passwordnya. Jika memilih use different password, kita harus benar-benar mengingat password untuk masing-masing akun terutama untuk pengguna SYS karena jika kamu lupa password untuk account SYS maka kamu akan kehilangan kontak dengan basis data. Masukkan password.

5.       Storage Option : menspesifikkan tipe dari mekanisme penyimpanan data yang ingin kamu terapkan pada database, defaultnya pilih file system kemudian next. Pilih use database file locations from template, klik next.

6.       Ceklist specify flash recovery area, biarkan nilai defaulnya (pengaturan default dari oracle). Klik next.

7.       Pada tab memory, abaikan saja, klik next. Pada tab sample schemas ceklis sampe schemas jika kamu ingin mengikutkan sample schema (example) table space didatabase kamu. Klik next.

8.       Klik next ketika muncul tulisan database storage. Untuk proses selanjutnya checklist create database karena kita ingin membuat database, klik next.

9.       Layar konfirmasi akan muncul . Klik oK. Proses pembuatan database berlangsung.

10.   Halaman akhir DBCA muncul, jika kamu ingin melakukan konfigurasi password silahkan masuk ke password management, jika tidak klik exit. Selesai.

Menginstall oracle 10g (versi 10.2)

 

Jalankan oracle universal installer, masuk ke direktori tempat installer oracle 10 g kamu, kemudian klik setup.exe untuk memulai proses instalasi. Pada select installation method akan ada beberapa pilihan metode install. Yaitu :

  • Advanced Installation -> metode install untuk yang sudah terbiasa dengan oracle.
  • Basic installation(recommended) -> instalasi oracle dengan konfigurasi dan input yang minimal

Oracle home location -> direktori tempat memmuat perangkat lunak oracle.

Untuk Installation type ada beberapa jenis juga :

  • Enterprise Edition : oracle 10g dengan fitur yang paling lengkap (recomended)
  • Stkarmut Edition : Oracle 10g dengan banyak fitur yang hilang, cocok untuk mahasiswa sebagai sarana belajar mengajar.
  • Personal Edition : single user deployment dan development yang memiliki kompatibilitas penuh dengan enterprise dan stkamurt edition.

Langkah selanjutnya uncheklist (kosongkan) “create starter database”, karena database akan kita buat setelah instalasi selesai.

(Klik next)

 

Akan muncul product specific checks. Klik next, selanjutnya muncul summary atas semua settingan. Selanjutnya klik install untuk memulai menginstall oracle.

 

Kemudian akan berlangsung Proses intaslasi, tunggulah beberapa menit. Disini ditampilkan End of installation. Terdapat informasi mengenai iSQL*Plus dan iSQL*Plus DBA untuk pengaksesan dikemudian waktu.

Setelah selesai klik exit untuk mengakhiri proses instalasi, dan reboot komputer. Selesai

Pengenalan Oracle

Oracle Database : Merupakan suatu produk yang dikembangkan oleh Oracle Corp. Dirilis pertama kali pada tahun 1979. Oracle ini dikembangkan oleh Marry-Ellison bersama Bob Miner, dan Ed Oates yang pada awalnya bekerja di Software Development Laboratories (SDL) di tahun 1977. SDL berhasil membuat versi prototype orisinil dari Oracle software, yaitu oracle versi 1, ditulis dalam bahasa C dan mempunyai SQL interface. Nama Oracle berasal dari code-name suatu proyek milik CIA dimana Larry-Ellison dulunya bekerja. Oracle Relation Database Management System (Oracle RDBMS) merupakan sebuah RDBMS sebuah RDBMS yang mempunyai fungsi antara lain sebagai berikut.

• Data Storage pada area perancangan basis data

• Akses data untuk aplikasi tertentu dengan teknik optimasi

• Database Security dan pengaturan user previllage tertentu

• Consistency data yang berfungsi untuk proteksi data, dan locking down mechanism

• Integrity data yang berfungsi pada implementasi basis data tersebar