Minggu, 15 November 2009

Konsep DataBase Recovery SQL

Komponen Database Oracle (1.2.2 Redo Log Files)

Redo Log Files adalah bagian yang sangat penting di database oracle. Redo log files sebagai tempat catatan setiap transaksi yang terjadi di oracle. Fungsi utama redo log files digunakan untuk kebutuhan proses recovery. Pada sebuah proses transaksi normal, oracle memperbarui block yang berada di memori (buffer cache).

Jika pada saat ini oracle mengalami kegagalan dan data yang diperbarui belum tersimpan ke datafiles, oracle akan menggunakan reo log files untuk melakukan recover data yang sudah diperbarui. Oracle akan mengembalikan posisi transaksi terakhir saat sebelum oracle mengalami kegagalan.

Jika suatu saat terjadi kerusakan pada datafiles, oracle juga akan menggunakan archive log files dan online redo log files untuk melakukan restore data. Jika terjadi kesalahan melakukan drop table, table tersebut dapat dikembalikan lagi dengan menggunakan online redo log files dan archive log files. Oracle juga menggunakan redo log files ini pada standby datatbase.

Online Redo Log

Setiap database oracle minimal harus mempunyai dua online redo log files, dan umumnya minimal mempunyai tiga redo log files. Besar online redo log files tetap, dan bekerja secara bergantian (Circular fashion). Oracle akan menulis redo log pertama. Ketika redo log pertama ini sudah penuh, oracle akan berpindah ke redo log kedua untuk memulai menulis redo entries. Jika redolog kedua ini sudah penuh, oracle akan berpindah ke reo log files ketiga, begitu seterusnya.

Perpindahan redo log files satu ke redo log files berikutnya, disebut sebagai proses log switch. Proses log switch dapat menimbulkan ‘hang’ sementara, jika tuning database-nya kurang tepat. saat log terjadi , oracle akan melakukan checkpoint, yaitu sebuah sinyal yang memaksa DBWR (Database Writer) memindahkan block-block yang diperbarui (dirty block) yang ada di SGA ke datafiles, yang dilakukan secara background proses.

Archive Redo Log

Database oracle dapat berjalan pada dua mode, yaitu NOARCHEVLOG dan ARCHIVELOG. untuk menghindari kehilangan data pada saat terjadi kegagalan, sebaiknyamenjalankan database oracle pada mode ARCHIVELOG.

Jika suatu saat terjadi kesalahan dalam melakukan drop table tanpa ARCHIVELOG kesempatan untuk melakukan recovery akan semakin kecil. Terutama pada sebuah database yang mempunyai jumlah transaksi yang sangat besar. Semakin sibuk sebuah system, maka semakin sring oracle melakukan log switch, yang artinya senakin kemungkinan melakukan point in time recovery (PITR) jika tidak menjalankan databse dengan mode ARCHIVELOG.



Tidak ada komentar:

Posting Komentar