加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flashback Query查询操作的事务

发布时间:2020-12-15 17:40:41 所属栏目:百科 来源:网络整理
导读:Flashback Query:查询过去某个时间点对象中保存的记录信息,在当前时间与指定过去某个时间点之间。 SQL conn scott/oracle Connected. SQL select dbms_flashback.get_system_change_number from dual; GET_SYSTEM_CHANGE_NUMBER ------------------------


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功能挺像。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读