数据库失误操作删除语句 数据闪回并删除数据库相同数据
记录一次失误删除操作解决方案
1. 数据库闪回
1.1 查询是否有对应表删除的数据
select * from 表名 as of timestamp to_timestamp('2020-12-15 14:57:47', 'yyyy-mm-dd hh24:mi:ss');
1.2 创建临时表并把查询到的删除数据保存到临时表内
create table 临时表名 as select * from 表名 as of timestamp to_timestamp('2020-12-15 14:59:00', 'yyyy-mm-dd hh24:mi:ss');
1.3 把临时表的数据插入到正式表内
insert into 表名 select * from 临时表名;
1.4 删除临时表数据和临时表
drop table 临时表名;
2. 删除数据库里面数据相同的数据
delete from 表名 where rowid in
(select rowid from 表名
minus
select max(rowid) from 表名
group by 数据相同的条件);