误删表或者delete from XXX没有带条件清空表后不要慌,能恢复的,咱有flashback table咱怕啥
只要删除的人没有加PURGE就好。
oracle还是够抗造的
一、删表恢复
flashback table tablename_has_deleted to before drop
二、清表数据恢复
1.确认一下数据对不对,是不是你想恢复的节点
select * from TABLENAME_DATA_CLEANED as of timestamp to_timestamp(‘误操作的时间点前一丢丢’, ‘yyyy-mm-dd hh24:mi:ss’);
国内要注意时区的问题,需要减8小时
有可能你用实际的时间点查询报错,ora-没记住,基本上是因为你输入时间太靠前了,系统都没到达这个时间点
2.恢复数据
个人建议适用查询插入的方式,省事,但是数据量大不建议用这个
insert into TABLENAME_DATA_CLEANED (select * from TABLENAME_DATA_CLEANED as of timestamp to_timestamp(‘误操作的时间点前一丢丢’, ‘yyyy-mm-dd hh24:mi:ss’));
谨慎一点先备份,视情况决定要不要清表
create table TABLENAME_DATA_CLEANED_BAK as select * from TABLENAME_DATA_CLEANED – 备份一下表如果表里有数据的话
delete from TABLENAME_DATA_CLEANED – 再清一下
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/38737.html