Flashback Database adalah fitur baru oracle untuk mengembalikan database pada waktu tertentu di masa lalu…
Flashback Database Tidak Menggunakan Informasi Dari Undo Tablespace
Kapan Memakai Flashback Database :
1. User di drop dengan tidak sengaja
2. Table tidak sengaja di truncate
3. Batch job (saya ga terlalu hapal, batch job yang seperti apa)
Memeriksa aktif tidaknya Flashback Database Features :
SQL> select flashback_on from V$database;
KETENTUAN :
database dalam archive log mode,
check dengan = SQL> archive log list;
jika belum dalam keadaan archive log mode;
SQL> shutdown immediate;
SQL> startup mount exclusive;
SQL alter database archivelog;
SQL> alter database open;
cek ukuran flash recovery area :
SQL> show parameter db_recovery_file_dest; akan ditampilkan direktory flash recovery area dan ukuran
menentukan ukuran flash recovery area
1. select sum(bytes)/1024/1024 as mb from (select bytes from v$datafile union all select bytes from v$tempfile);
misal,hasilnya : 890M;
select sum(blocks*block_size)/1024/1024 as mb from v$archived_log where completion_time > sysdate -1;
misal, hasilnya : 50M;
hitung, dengan perhitungan = 2 * 890 M + 50M = 1830 M;
buat 20 % lebih banyak : 20% * 1830 = 366 M
Yang diiperlukan = 1830 + 366 = 2196 M;
mengubah ukuran recovery area :
SQL> alter system set db_recovery_file_dest_size=2196M;
Mengaktifkan Flashback Database :
1. SQL> shutown immediate;
2. SQL> startup mount exclusive;
3. SQL> alter database flashback on;
4. SQL> alter database open;
FLASHBACK_RETENTION_TARGET
berapa lama waktu terakhir flashback database;
untuk melihat retention target dari flashback : SQL> show parameter db_flashback_retention_target (in minutes)
untuk mengubah retention target, misal 2 hari : SQL> alter system set db_flashback_retention_target=2880
Contoh :
1. connect sys/pwd as sysdba
2. alter session set nls_date_format=’dd-mm-yy hh24:mi:ss’;
3. set time on;
4. 03-07-07 15:21:25 SQL> create user abip identified by orcl;
5. 03-07-07 15:22:00 SQ>commit;
6. 03-07-07 15:28:00 SQL>drop user;
7. 03-07-07 15:28:05 SQL> commit;
dengan menggunakan flashback database kita dengan mudah dan cepat melakukan recovery pada user tersebut
cara :
8. shutdown immediate;
9. startup mount;
10. flashback database as of timestamp(to_timestamp(’03-07-07 15:24:00′,’dd-mm-yy hh24:mi:ss’));
11. alter database open resetlogs;
tes, untuk melihat hasilnya
SQL> select username from dba_users where username = ‘ABIP’;
v$flashback_database_log : anda bisa melihat oldest scn, oldest_time,retention target, ukuran flashback database sekarang (dalam bytes), perhitungan ukuran flashback data yang dibutuhkan untuk retention target pada saat ini
SQL> select oldest_flashback_scn, oldest_flashback_time, retention_target, bytes/(1024*1024) as “mb”, estimated_flashback_size from V$FLASHBACK_DATABASE_LOG
v$flashback_database_stat : untuk me-monitor i/o overhead dari prosess pencatatan flashback data
regards
abip