展会信息港展会大全

FlashbackQuery查询操作的事务
来源:互联网   发布日期:2016-01-26 10:44:04   浏览:2151次  

导读:Flashback Query:查询过去某个时间点对象中保存的记录信息,在当前时间与指定过去某个时间点之间。 SQL conn scott oracle Connected SQL select dbms_flashback get_system_change_number f ...

Flashback Query:查询过去某个时间点对象中保存的记录信息,在当前时间与指定过去某个时间点之间。

SQL> conn scott/oracle

Connected.

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER

------------------------

1196559

SQL> update flash_tbl set id=id+100 where id>15;

5 rows updated.

SQL> commit;

Commit complete.

SQL> delete flash_tbl where id<5;

4 rows deleted.

SQL> commit;

Commit complete.

SQL> desc flash_tbl

Name Null? Type

----------------------------------------- -------- ----------------------------

ID NUMBER

VL VARCHAR2(1)

SQL> insert into flash_tbl values(300,'r');

1 row created.

SQL> insert into flash_tbl values(500,'t');

1 row created.

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER

------------------------

1196625

SQL> select id,vl,versions_startscn,versions_endscn,versions_operation,versions_xid from flash_tbl versions between scn 1196559 and 1196625;

ID V VERSIONS_STARTSCN VERSIONS_ENDSCN V VERSIONS_XID

---------- - ----------------- --------------- - ----------------

120 S 1196576 U 0700290074010000

119 R 1196576 U 0700290074010000

118 Q 1196576 U 0700290074010000

117 P 1196576 U 0700290074010000

116 O 1196576 U 0700290074010000

10 I

11 J

12 K

13 L

14 M

15 N

ID V VERSIONS_STARTSCN VERSIONS_ENDSCN V VERSIONS_XID

---------- - ----------------- --------------- - ----------------

16 O 1196576

17 P 1196576

18 Q 1196576

19 R 1196576

20 S 1196576

4 C 1196588 D 08000B0096010000

3 B 1196588 D 08000B0096010000

2 A 1196588 D 08000B0096010000

1 / 1196588 D 08000B0096010000

1 / 1196588

2 A 1196588

ID V VERSIONS_STARTSCN VERSIONS_ENDSCN V VERSIONS_XID

---------- - ----------------- --------------- - ----------------

3 B 1196588

4 C 1196588

5 D

6 E

7 F

8 G

9 H

29 rows selected.

根据记录,可以看到开始SCN和结束SCN,从操作列有I(插入),U(更新),D(删除),还有事务ID。

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER

------------------------

1200548

SQL> delete flash_tbl where id=116;

1 row deleted.

SQL> commit;

Commit complete.

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER

------------------------

1200555

SQL> conn / as sysdba

Connected.

SQL> grant select any transaction to scott;

Grant succeeded.

SQL> conn scott/oracle

Connected.

SQL> select xid,commit_scn,commit_timestamp,operation,undo_sql from flashback_transaction_query Q where Q.xid in(select versions_xid from flash_tbl versions between

scn 1200548 and 1200555);

XID COMMIT_SCN COMMIT_TI OPERATION

---------------- ---------- --------- --------------------------------

UNDO_SQL

--------------------------------------------------------------------------------

0A002F0062010000 1200554 31-MAR-14 DELETE

insert into "SCOTT"."FLASH_TBL"("ID","VL") values ('116','O');

0A002F0062010000 1200554 31-MAR-14 BEGIN

通过上面可以看到,刚才所做的操作及时间,与LogMiner功能挺像。

赞助本站

人工智能实验室

相关热词: FlashbackQuery

相关内容
AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港