FLASHBACK VERSION QUERY
-> digunakan untul melihat seluruh transaksi yang telah terjadi pada sebuah tabel
Simulasi :
schema : scott
tabel : emp
SQL> select empno, ename, sal from emp
where deptno = 10;
EMPNO ENAME SAL
——————————-
7782 CLARK 2450
7839 KING 5000
7934 MILLER 1300
SQL> insert into emp (empno,ename,sal,deptno)
values (8000,’HARRY’,2500,10);
1 row updated
SQL> update emp set sal=3000 where empno=7839;
1 row updated
SQL> delete emp where empno=7934;
1 row deleted
SQL> select empno, ename, sal from emp
where deptno=10;
SQL> commit;
commit complete
query
SQL> select versions_startscn startscn,
versions_endscn endscn,
versions_starttime starttime,
versions_endtime endtime,
versions_xid xid,
versions_operation ops,
empno,ename,sal,deptno
from emp versions between scn minvalue and maxvalue
where deptno=10;
startscn endscn starttime endtime xid ops empno ename sal deptno
738694 03-JUL-07 09.05.56 PM 0600080065010000 D 7782 CLARK 2450 10
738694 03-JUL-07 09.05.56 PM 0600080065010000 U 8000 HARRY 3500 10
******738694 03-JUL-07 09.05.56 PM 7782 CLARK 2450 10
******7839 KING 3000 10
******738694 03-JUL-07 09.05.56 PM 8000 HARRY 2500 10
738694 03-JUL-07 09.05.56 PM 0600080065010000 I 1000 ABIP 2000 10
versions_startscn : scn versions dibuat
versions_endscn : scn versions expired
versions_starttime : timestamp versions dibuat
versions_endtime : timestamp versions is expired
versions_xid : transaction identifier yang membuat version row
versions_operation : operation yang dilakukan (U=update, D=delete, I=insert)
dapat dilihat bahwa versions_startscn = 738694, berarti 3 operasi dilakukan dalam 1 commit
pada versions_operation bernilai NULL, berarti pada baris tidak dilakukan proses apa2
URUTAN DARI BAWAH KE ATAS
- dilakukan proses insert dengan ename ABIP
- 3 baris merupakan operasi select
- dilakukan proses update pada ename HARRY, dimana salary di ubah dari 2500
- dilakukan proses delete pada ename CLARK
melakukan operasi Flashback Version Query
1. em, tables
2. masukkan schema, dan nama table
3. pilih actions “Flashback Version Query”, klik GO
4. pilih kolom yang akan ditampilkan
5. masukkan where clause, pada simulasi ini kita memasukkan “where deptno=10″ atau “where 1=1, yang berarti tidak memfilter data”
6. pilih interval waktu atau semuanya atau SCN
7. ditampilkan kolom2 sesuai dengan pilihan, ditambah kolom SCN,transaction ID,SCN sama berarti dilakukan dalam satu commit
8. untuk melakukan flashback,lakukan enable row movement pada table tersebut
SQL> alter table emp enable row movement;
9. klik next, pilih cascade
10. pilih row changes untuk melihat perubahan yang akan terjadi jika melakukan flashback version query, review dan submit