笺注:这是在 Navicat连接Oracle11gR2 的基础上进行的。
Flashback,简称闪回,解决用户误删、输错数据的问题。以下是根据时间戳恢复已删除或更改的数据。
新建表STU_01:
自定义表名:
保存成功后的效果:
新建查询:
往表STU_01一次性插入多条记录:
INSERT into STU_01 values (1,'小明','广东省,guangzhou');
INSERT into STU_01 values (2,'小李','广东省,foshan');
INSERT into STU_01 values (3,'Zhuohua','四川省,chengdu');
当前具体时间:
[root@oracle ~]# date
Fri Oct 16 19:10:17 CST 2020
[root@oracle ~]#
查看表STU_01的当前表数据:
SELECT * FROM STU_01;
删除表STU_01的N条数据:
DELETE from STU_01 WHERE ADDRESS LIKE '广东省%';
更改表STU_01的N条数据:
UPDATE STU_01 SET ID = 8 WHERE Name = 'Zhuohua';
再次查看表STU_01的当前表数据:
SELECT * FROM STU_01;
#########
#########
选择一个时间点,查看表STU_01中的数据是否为自己想要的:
Select * from STU_01 as of timestamp to_timestamp('2020-10-16 19:10:00','yyyy-mm-ddhh24:mi:ss');
启用表STU_01的行移动功能:
Alter table STU_01 enable row movement;
恢复表STU_01的数据到指定的时间点:(要先启用表STU_01的行移动功能)
Flashback table STU_01 to timestamp to_timestamp('2020-10-16 19:10:00','yyyy-mm-ddhh24:mi:ss');
表STU_01的数据恢复成功:
备注:不会影响其他的表。
数据恢复成功后,关闭表STU_01的行移动功能:
Alter table STU_01 disable row movement;
相关文章:
CentOS8_在Docker中安装Oracle11gR2
CentOS8_在Docker中安装Oracle19c |