oracle恢复表数据

2022-11-09 16:44:50 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

误删表或者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://javaforall.cn/190290.html原文链接:https://javaforall.cn

0 人点赞