Oracle Flashback Technology (Recycle bin)

Salah satu feature Oracle 10g (ke atas) yang jadi andalan saya adalah Oracle Flashback Technology. Dengan Oracle Flashback, kita bisa me-restore (recovery) data dengan sangat mudah.

Sebagai contoh, ketika kita secara tidak sengaja menghapus sebagian record di file Excel, untuk mengembalikannya, kita cukup klik tombol UNDO. Kita klik UNDO sekian kali untuk kembali ke kondisi data yang kita inginkan. Ketika kita tidak sengaka menghapus (drop/delete) file, untuk mengembalikan file tersebut kita cukup me-restore-nya dari recycle bin.

Nah, sederhanya, Oracle Flashback Technology menyediakan feature seperi UNDO dan RECYCLE BIN di Windows. Enak, bukan?

Macam-macam Oracle flashback:

1. Oracle Flashback Query.
Berguna untuk melihat (query) isi tabel di masa lalu. Misalkan siang ini kita baru saja men-delete atau update record. Karena terkanjur commit, kita tidak bisa melakukan rollback. Dengan Oracle Flashback Query, kita bisa melihat record (isi tabel) tadi pagi sebelum kita delete atau update. Berikut ini contoh command-nya (Catatan: nama tabel yang saya pakai untuk contoh di artikel ini adalah TB):

SQL> SELECT * FROM TB AS OF TIMESTAMP
     TO_TIMESTAMP('2009-06-03 06:08:03', 'yyyy-mm-dd hh24:mi:ss');
SQL> SELECT * FROM TB AS OF TIMESTAMP
     TO_TIMESTAMP('2009-06-03 06:08:03', 'yyyy-mm-dd hh24:mi:ss') where nomor=3;

Keterbatasan:

  1. Karena feature ini memanfaatkan UNDO segment di UNDO tablespace, maka size dari UNDO tablespace sangat mempengaruhi sampai berapa lama masa lalu yang bisa dikembalikan lagi. Semakin besar UNDO tablespace maka semakin besar (lama) masa lalu yang bisa dikembalikan.Bila data yang diquery sudah tidak ada lagi di UNDO tablespace maka akan muncul error berikut:
    ORA-08180: no snapshot found based on specified time
  2. Batas yang bisa query adalah setelah operasi DDL (data definition language) terakhir. Contoh DDL adalah mengubah definisi tabel (alter table, add column, alter column, truncate, dll). Bila data yang di-query ada pada waktu sebelum DDL terakhir (last DDL) maka akan muncul error berikut:
    ORA-01466: unable to read data - table definition has changed

Continue reading Oracle Flashback Technology (Recycle bin)

Dataguard 10g: Solusi Archived Log Hilang

Karena masalah jaringan, beberapa waktu yang lalu archived log di primary database tidak terkirim ke standby database (hal seperti ini sering saya alami). Kadang-kadang karena kesibukan, saya tahunya setelah beberapa hari, jadi mesti mengejar untuk apply archived log yang tertinggal itu.

Policy saya, archived log di production saya compress (zip), backup ke tape, dan hapus setiap hari. Archived log di-keep di backup sehingga tidak banyak memakai banyak space di production (primary).

Continue reading Dataguard 10g: Solusi Archived Log Hilang

Step-step Mencopy Database ke Mesin yang Sama

Mengcopy database di mesin lain, itu sama saja dengan backup & recovery konvensional. Mengcopy database di mesin yang sama, ada sedikit bedanya karena di satu mesin tidak boleh ada 2 (atau lebih) database yang sama; ada step untuk mengubah nama database.

Saya punya 1 database development, nama databasenya adalah ts2. Untuk keperluan test, saya butuh database lagi di mesin development tersebut. Content database baru adalah sama dengan database terdahulu. Bagaimana cara membuatnya, ada dua cara:

  1. Membuat database baru, export dari database lama, kemudian import ke database baru.
  2. Mengcopy database lama ke yang baru, seperti kalau backup dan recovery

Cara pertama tentu saja memakan waktu yang cukup lama, apalagi kalau datanya cukup besar. Kalau begitu saya pilih cara kedua; saya backup database pertama, kemudian saya naikkan (restore & recovery) dengan nama yang berbeda (saya beri nama tsrep). Berikut ini langkah-langkahnya:

Continue reading Step-step Mencopy Database ke Mesin yang Sama

Memindahkan Database ke Mesin lain

Pertanyaan
Hallo Mas.., bacaan di blog nya mas sangat berguna bagi saya sebagai pemula di Oracle. Saya mau tanya sedikit masalah database Oracle. Misalnya di PC server yang saya gunakan mengalami crash.. dan tidak bisa hidup lagi. Apakah bisa hardisk yg isinya database Oracle dipindahkan ke PC yg lain dan di buka dengan oracle di PC yang baru ini? Dan diharapkan datanya utuh… atau ada solusi lain untuk masalah ini? Mohon petunjuk dari mas.

Jawaban
Kalau data-data di harddisk (terutama bagian yang memuat file-file database) masih bisa dibaca, tentu saja database anda bisa dinaikkan di mesin (komputer/PC) lain. Anggap saja data di hard disk anda sebagai backup, selanjutnya backup data ini akan anda naikkan di tempat lain. Dengan kata lain, anda akan melakukan Restore dari off line backup

Continue reading Memindahkan Database ke Mesin lain

Restore dan Recovery dari online backup

Sebaiknya silahkan dibaca dulu online backup di sini
http://rohmad.net/2008/04/22/online-backup-database-oracle/
dan tentang archived log di sini
http://rohmad.net/2008/04/22/men-setting-database-menjadi-archivelog-mode/. Secara sederhana, kedua artikel tersebut membahas landasan teorinya.

Restore dari online backup adalah sama persis dengan restore dari offline backup, kecuali ada 1 tambahan step setelah melakukan restore dari online backup, yaitu kita WAJIB melakukan recovery. Lihat secara detail tentang restore dari offline backup di sini http://rohmad.net/2008/05/15/restore-dari-off-line-backup/

Continue reading Restore dan Recovery dari online backup