Oracle 闪回版本(闪回表到指定SCN)

1.创建目录

复制代码
mkdir /u01/app/oracle/flash

2.配置FRA

复制代码
alter system set db_recovery_file_dest_size=15G;

alter system set db_recovery_file_dest='/u01/app/oracle/flash';

3.设置闪回参数--确保可以闪回48h内的数据库

复制代码
 alter system set db_flashback_retention_target=2880;

4.开闪回

复制代码
alter database flashback on;

实践:闪回部分数据

1.解锁hr账户连接数据库

复制代码
alter user hr identified by hr account unlock;

2.运行脚本

在这个脚本中,有两个事务,我们尝试保留insert的事务,回滚update的事务。

复制代码
conn hr/hr@prod4
insert into departments values(290,'Poduct Sales',114,1800);
insert into departments values(300,'Busses Sales',203,1700);
insert into departments values(280,'Mac Sales',205,1700);
commit;
--update
update departments set department_id=310 where department_id=300;
update departments set department_name='Iphone sales' where department_id=280;
commit;

3.闪回版本查询

复制代码
SELECT versions_xid XID, versions_startscn START_SCN,
versions_endscn END_SCN, versions_operation OPERATION,
department_id,department_name
FROM departments
VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE;

可以看到最下面的几行是刚才执行脚本所做的操作。

3.启用行移动

复制代码
alter table departments enable row movement;

4.指定scn号闪回表

复制代码
flashback table departments to scn 2148345;

5.校验表,发现表已经闪回到想要的时间点


update操作被回滚了。

相关推荐
哈__4 分钟前
从 MySQL 到在线表格:NocoDB 自托管部署、数据导入与远程访问
数据库·mysql
倔强的石头1061 小时前
高可用与无感扩容——分布式时序数据库选型指南
数据库·分布式·时序数据库
袋鼠云数栈9 小时前
实时湖仓如何真正做到“数据够新”?
大数据·数据库·人工智能·数据治理
ACP广源盛1392462567310 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
ACP广源盛1392462567310 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
倔强的石头_12 小时前
事务边界与批量写入:避免长事务、锁等待和日志压力
数据库
努力努力再努力wz12 小时前
【Redis入门系列】从 KEYS 到 SCAN:渐进式遍历、Cursor 与位反转原理
数据库·redis·缓存
坐吃山猪13 小时前
【多线程】Lock与Condition
大数据·数据库
Lightpwd13 小时前
Spring Boot 多数据源落地:AbstractRoutingDataSource + 注解切面(附源码)
数据库·后端
LabVIEW开发14 小时前
LabVIEW 64位安装的位深陷阱:工具包、内存与工程兼容
数据库·labview·labview知识·labview功能·labview程序