设为首页 加入收藏

TOP

SYS_FBA_为前缀表如何服务于Flashback Data Archive(四)
2015-08-31 20:00:13 来源: 作者: 【 】 浏览:253
Tags:SYS_FBA_ 前缀 如何 服务于 Flashback Data Archive
at a20
set linesize 130
select * from SYS_FBA_TCRV_36945;
RID? ? ? ? ? ? ? ? ? ? ? ? ? STARTSCN? ? ? ? ? ENDSCN XID? ? ? ? ? ? ? O
-------------------- ---------------- ---------------- ---------------- -
AAAJBRAAEAAAWjJAAA? ? 12723378739723? ? ? ? ? ? ? ? ? 000A000500015C8E I
AAAJBRAAEAAAWjJAAB? ? 12723378739723? ? ? ? ? ? ? ? ? 000A000500015C8E I
AAAJBRAAEAAAWjJAAC? ? 12723378739723? ? ? ? ? ? ? ? ? 000A000500015C8E I


SCOTT@tstdb1-SQL> select ora_rowscn from T0516_5;


? ? ? ORA_ROWSCN
----------------
? 12723378739723
? 12723378739723
? 12723378739723


SYS@tstdb1-SQL> select xid,row_id,operation,undo_sql from flashback_transaction_query where xid=hextoraw('000A000500015C8E');


XID? ? ? ? ? ? ? ROW_ID? ? ? ? ? ? ? OPERATION? UNDO_SQL
---------------- ------------------- ---------- ----------------------------------------------------------------------
000A000500015C8E AAAJBRAAEAAAWjJAAC? INSERT? ? delete from "SCOTT"."T0516_5" where ROWID = 'AAAJBRAAEAAAWjJAAC';
000A000500015C8E AAAJBRAAEAAAWjJAAB? INSERT? ? delete from "SCOTT"."T0516_5" where ROWID = 'AAAJBRAAEAAAWjJAAB';
000A000500015C8E AAAJBRAAEAAAWjJAAA? INSERT? ? delete from "SCOTT"."T0516_5" where ROWID = 'AAAJBRAAEAAAWjJAAA';
000A000500015C8E? ? ? ? ? ? ? ? ? ? BEGIN


结合flashback_transaction_query,发现SYS_FBA_TCRV_36945记录了执行insert语句的transaction_id,行的rowid、以及插入的时间
? ? ?
---update一条记录
SCOTT@tstdb1-SQL> select * from t0516_5;


? ? ? ? ? ? ? ID C3
---------------- ---
? ? ? ? ? ? ? 1 AAA
? ? ? ? ? ? ? 2 BBB
? ? ? ? ? ? ? 3 CCC
? ? ? ? ? ? ?
update t0516_5 set c3='DDD' where id=3;
commit;


---再delete一条记录
delete t0516_5 where id=2;
commit;


SCOTT@tstdb1-SQL> select * from t0516_5;


? ? ? ? ? ? ? ID C3
---------------- ---
? ? ? ? ? ? ? 1 AAA
? ? ? ? ? ? ? 3 DDD
? ? ? ? ? ? ?
---继续跟踪SYS_FBA_表的变化情况,最多等待5分钟能观察到下列表中的记录变化情况
SCOTT@tstdb1-SQL> select * from sys.SYS_MFBA_NHIST_36945;


no rows selected


***SYS_FBA_HIST_36945保存的是before-image,scn: 12723378739723~12723378743689范围内表里存在c3='CCC'的记录,scn: 12723378739723~12723378743708范围内表里存在C3='BBB'的记录,scn:12723378743708时刻C3='BBB'的记录被XID=000A001A00015D0B的Transaction delete掉,这些记录现在都已经不在表中了
SCOTT@tstdb1-SQL> select * from SYS_FBA_HIST_36945;


RID? ? ? ? ? ? ? ? ? ? ? ? ? STARTSCN? ? ? ? ? ENDSCN XID? ? ? ? ? ? ? O? ? ? ? ? ? ? ID C3
-------------------- ---------------- ---------------- ---------------- - ---------------- ---
AAAJBRAAEAAAWjJAAB? ? 12723378743708? 12723378743708 000A001A00015D0B D? ? ? ? ? ? ? ? 2 BBB
AAAJBRAAEAAAWjJAAB? ? 12723378739723? 12723378743708 000A000500015C8E I? ? ? ? ? ? ? ? 2 BBB
AAAJBRAAEAAAWjJAAC? ? 12723378739723? 12723378743689 000A000500015C8E I? ? ? ? ? ? ? ? 3 CCC


***映射关系维持不变
SCOTT@tstdb1-SQL> select * from SYS_FBA_DDL_COLMAP_36945;


? ? ? ? STARTSCN? ? ? ? ? ENDSCN XID? ? ? ? ? ? ? O COLUMN_NAME? ? ? ? ? TYPE? ? ? ? ? ? ? ? HISTORICAL_COLUMN_NA
---------------- ---------------- ---------------- - -------------------- -------------------- --------------------
? 12723378739636? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ID? ? ? ? ? ? ? ? ? NUMBER? ? ? ? ? ? ? ID
? 12723378739636? 12723378742951? ? ? ? ? ? ? ? ? ? C3? ? ? ? ? ? ? ? ? VARCHAR2(3)? ? ? ? ? C2
? 12723378742951? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? C3? ? ? ? ? ? ? ? ? VARCHAR2(3)? ? ? ? ? C3


***SYS_FBA_TCRV_36945与flashback version query的结果及其相似,记录了源表的操作历史,结合SYS_FBA_HIST_36945能够准确的找到过去某个scn下的before image
SCOTT@tstdb1-SQL> select * from SYS_FBA_TCRV_36945;


RID? ? ? ? ? ? ? ? ? ? ? ? ? STARTSCN? ? ? ? ? ENDSCN XID? ? ? ? ? ? ? O
-------------------- ---------------- ---------------- ---------------- -
AAAJBRAAEAAAWjJAAA? ? 12723378739723? ? ? ? ? ? ? ? ? 000A0

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 4/10/10
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MySQL分表分区 下一篇alert日志中的两种ORA错误分析

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: