一、核心概念 功能定位 Flashback Archive(FBDA)是Oracle 11g引入的特性,用于长期存储表的历史变化数据,支持基于时间点或SCN的历史查询,满足审计、合规性需求。 与归档日志的区别:归档日志记录Redo日志用于灾难恢复,而FBDA存储UNDO数据用于历史追溯。 别称:Oracle Total Recall(全面回忆),强调其完整回溯能力。 核心机制 后台进程FBDA:异步捕获表数据变更,将历史数据写入专用归档表(如SYS_FBA_HIST_xxx)。 独立存储:数据保存在用户创建的表空间中,与UNDO表空间分离,避免UNDO覆盖导致历史丢失。 压缩与分区:历史数据自动压缩并分区存储,减少空间占用。 二、工作机制 数据捕获流程 当启用FBDA的表发生DML操作时,FBDA进程从数据库缓冲区或UNDO表空间提取变更前的数据。 数据经整理后写入历史表,保留原始行结构(不含索引)。 保留策略 可创建多个FBDA区域,每个关联独立表空间并设置保留期限(如1天、1年甚至20年)。 到期数据自动清理,避免手动维护。 多策略配置示例: | FBDA名称 | 表空间 | 保留期限 | 适用场景 | |--------------|--------|----------|----------| | FBDA_SHORT | TS_90D | 90天 | 短期审计 | | FBDA_LEGAL | TS_20Y | 20年 | 法律合规 | 二、测试: 1 創建 flashback archive 所需表空間 create tablespace tbs1 datafile size 100M autoextend on; 2 創建flashback archive create flashback archive fla1 tablespace tbs1 retention 2 year; 3 将 Flashback Archive 对象对 Flashback 数据存档 (fla1) 的权限授予存档用户 (zc)。 grant flashback archive on fla1 to ZC; 4 將某張表打開歸檔保存 alter table ttt flashback archive fla1; 5 查看当前时间 select to_timestamp(sysdate) from dual; SQL> select to_timestamp(sysdate) from dual; TO_TIMESTAMP(SYSDATE) --------------------------------------------------------------------------- 09-JUN-25 12.00.00 AM 6 查看历史数据 select object_id,DATA_OBJECT_ID from ttt where OBJECT_ID=7788; update ttt set DATA_OBJECT_ID=DATA_OBJECT_ID+100 where OBJECT_ID=7788; 1 row updated. -- 查询1小时内所有数据版本 SQL> SELECT versions_xid, versions_operation, DATA_OBJECT_ID FROM ttt VERSIONS BETWEEN TIMESTAMP SYSTIMESTAMP - INTERVAL '2' HOUR AND SYSTIMESTAMP where OBJECT_ID=7788 ; 0B00150050110000 U 0A001000DA270000 U 7888 7 回退: alter table ttt no flashback archive ; SQL> select DATA_OBJECT_ID from ttt as of timestamp to_timestamp('2025-06-12 09:11:55','yyyy-mm-dd hh24:mi:ss') where OBJECT_ID=7788; DATA_OBJECT_ID -------------- SQL> select DATA_OBJECT_ID from ttt as of timestamp to_timestamp('2025-06-12 09:12:25','yyyy-mm-dd hh24:mi:ss') where OBJECT_ID=7788; DATA_OBJECT_ID -------------- 7888
Flashback Archive
来源:这里教程网
时间:2026-03-03 22:17:37
作者:
编辑推荐:
- Flashback Archive03-03
- YU7不便宜,为什么还让人觉得“赚到了”?03-03
- Oracle连接问题排查实录:TNSPING跟踪在定位故障中的实战应用03-03
- oracle 23ai通过接口访问deepseek模型03-03
- 一招解锁:快速解决Oracle ORA-38029错误03-03
- pdb通过数据泵备份恢复示例03-03
- 雨花用诚意写下“背包客创业指南”!03-03
- 谁在为三块钱的冰杯买单?03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- YU7不便宜,为什么还让人觉得“赚到了”?
YU7不便宜,为什么还让人觉得“赚到了”?
26-03-03 - Oracle连接问题排查实录:TNSPING跟踪在定位故障中的实战应用
Oracle连接问题排查实录:TNSPING跟踪在定位故障中的实战应用
26-03-03 - oracle 23ai通过接口访问deepseek模型
oracle 23ai通过接口访问deepseek模型
26-03-03 - 一招解锁:快速解决Oracle ORA-38029错误
一招解锁:快速解决Oracle ORA-38029错误
26-03-03 - 雨花用诚意写下“背包客创业指南”!
雨花用诚意写下“背包客创业指南”!
26-03-03 - 谁在为三块钱的冰杯买单?
谁在为三块钱的冰杯买单?
26-03-03 - Oracle LibCache等待优化(一)
Oracle LibCache等待优化(一)
26-03-03 - 19c中创建rman catalog
19c中创建rman catalog
26-03-03 - 楼下那家便利店,也许比你想得重要得多
楼下那家便利店,也许比你想得重要得多
26-03-03 - 19c多租户架构下的UNDO管理- Local Undo
19c多租户架构下的UNDO管理- Local Undo
26-03-03
