Recycle Bin di Oracle: Mengembalikan Tabel Hilang


Kita semua tahu Windows punya recycle bin yang menampung file-file yang dihapus. Tapi tidak semua orang tahu, termasuk saya yang baru tahu, Oracle punya recyle bin yang menampung object-object database yang di-drop. Selama kita belum meng-“empty” recycle bin Oracle, maka tabel yang dihapus masih dapat dikembalikan lagi.

Sebagai latihan, aku membuat sebuah tabel dengan nama “tblTest”, lalu menghapusnya. Btw, sebelum aku membuat tblTest, aku juga sempat membuat dan menghapus tabel lain dengan struktur field yang berbeda tetapi mempunyai nama yang sama.

Seperti biasa, aku login ke Oracle Enterprise Manager, lalu aku masuk ke bagian “Maintenance”. Dari situ aku memilih “Perform Recovery”, kemudian pada bagian “Object Type”, aku memilih “Tables”. Pada operation type, aku memilih “Flashback Dropped Tables”.

Lalu, pada layar berikutnya, aku men-search object di recyle bin yang ingin aku restore, dalam hal ini adalah table “tblTest”. Amazing… Enterprise Manager menampilkan dua buah tabel yang telah aku hapus, yang sama-sama memiliki nama “tblTest”. Aku tingal memilih tabel yang di-restore, lalu memberi nama baru (jika perlu), dan tabel-pun kembali pada kondisi semula. Semua dilakukan dalam keadaan database online!!

Oops.. aku menemukan satu hal yang seru lagi.. Bagaimana kalau tabel masih ada, tapi datanya tidak sengaja terhapus atau terubah oleh user/developer yang bandel?? Oracle ternyata mampu meng-“undo” data dalam tabel juga. Tapi ada persyaratan tertentu. Sebelumnya aku harus memilih properties table, lalu pilih tab “Options”, kemudian mengisi nilai “Enable Row Movement” menjadi “Yes”.

Lalu, sekarang aku akan meng-update isi tabel, anggap saja aku lupa memberi kriteria pada WHERE sehingga seluruh record mengalami perubahan. Dan karena sudah aku commit perubahannya, bagaimana membalikkan keadaan tabel supaya seperti semula lagi?

Mulai lagi dari “Perform Recovery”, dan object type “Tables”. Tapi kali ini operation type-nya berupa “Flashback Existing Tables”. Pada Point-in-time, aku memilih “Evaluate row changes and transactions to decide on a point in time” supaya Enterprise Manager menampilkan semua perubahan pada tabel yang aku tentukan. Setelah itu tinggal ikuti l langkah-langkah berikutnya, sampai pada akhirnya muncul konfirmasi “The selected tables, xxx, have been flashed back.”. Aku pun memeriksa kembali lagi isi tabel, dan wow… isinya kembali seperti semula, seperti sebelum di-update..

Side Note: Selama aku melakukan latihan-latihan dalam artikel ini, aku cukup sering menemukan error JavaScript saat berpindah ke step berikutnya pada wizard-wizard tertentu. Hal ini hanya terjadi jika aku menggunakan browser Microsoft Internet Explorer 7. Saat mencoba hal yang sama dengan browser FireFox 2, aku tidak menemukan masalah JavaScript tersebut.

Perihal Solid Snake
I'm nothing...

Apa komentar Anda?

Please log in using one of these methods to post your comment:

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: