Pada oracle versi 10g keatas terdapat sebuah feature baru yaitu Oracle Flashback Technology
Kelebihan Oracle Flashback Technology bisa mengembalikan data pada kondisi semula seperti halnya
melakukan undo atau me-restore pada Windows, seperti misalnya secara tidak sengaja kita menghapus suatu data
atau tabel dalam database Oracle kita, maka data tersebut bisa dikembalikan ke kondisi seperti semula
Oracle Flashback terbagi menjadi empat kriteria yaitu:
- Flashback Query
- Flashback Table
- Flashback Drop
- Flashback Database
Pada contoh ini yang akan digunakan adalah Flashback Query yang dilakukan pada user Scott yang telah disediakan Database Oracle pada saat instalasi dan di dalam user Scott tersebut juga telah tersedia tabel-tabel yang bisa di gunakan seperti tabel DEPT,EMP,BONUS dan SALGRADE, dalam contoh ini di gunakan tabel DEPT seperti yang terlihat pada gambar dibawah ini:

Setelah melakukan langkah-langkah di atas langkah selanjutnya adalah melakukan query untuk mengetahui waktu sekarang ini pada database Oracle tersebut seperti terlihat pada gambar dibawah ini:

Pada saat melakukan query SQL> select systimestam from dual hasil dari query menunjukan 11-AUG-09 03.11.24.703000 AM +07:00 yang menunjukan waktu database pada saat itu sebelum dilakukan perubahan pada tabel DEPT. Langkah selanjutnya adalah melakukan perubahan data pada tabel DEPT yaitu dengan menghapus record DEPTNO 40 dengan melakukan query SQL>delete dept where deptno = 40 setelah itu lakukan commit dengan dilanjutkan melakukan query SQL>select * from dept untuk melihat perubahan pada table DEPT tersebut, seperti terlihat pada gambar diatas record DEPTNO 40 telah dihapus.
Untuk melakukan pengembalian data DEPTNO 40 yang telah terhapus digunakan query Flashback Query seperti gambar di bawah ini:

Pada query SQL> select deptno, dname, loc from dept as of timestamp
(to_timestamp(’11-08-09 03.11.24’,’dd-mm-yy hh:mi:ss’))
Where deptno = 40;
Adalah kembali kewaktu ketika data belum dilakukan perubahan dan dilanjutkan dengan melakukan query SQL> insert into dept
select * from dept as of timestamp
(to_timestamp(’11-08-09 03.11.24’,’dd-mm-yy hh:mi:ss’))
Where deptno = 40;
Untuk melakukan input data yang terhapus ke tabel DEPT dan dilanjutkan dengan commit. Kemudian setelah dilakukan query SQL> select * from dept data telah kembali seperti semula.
*Akhirnya selesai juga tulisan saya tentang database oracle kali ini semoga bermanfaat buat sesama dan mohon koreksi nya buat para master bin ahlinya apabila ada kesalahan atau kekurangan pada tulisan saya kali ini
info tentang teknologi flashback pada oracle juga terdapat di blog dibawah ini:
http://rohmad.net/2009/06/05/oracle-flashback-technology-recycle-bin/
http://oracleonsles.blogspot.com/2009/06/configure-monitor-and-use-oracle.html