前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >oracle恢复几天前的数据,恢复oracle数据到以前的某个时间点

oracle恢复几天前的数据,恢复oracle数据到以前的某个时间点

作者头像
全栈程序员站长
发布2022-09-13 14:21:37
9440
发布2022-09-13 14:21:37
举报
文章被收录于专栏:全栈程序员必看

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

今天下午发现oracle数据库的参数表不知道被谁执行的语句都没有加条件,所以整个数据都乱了,不能用,查到了一下午,找到了几个解决办法,记录在此。

一、

执行如下SQL将test_temp表中的数据恢复到 2014 05 28 11:00:00

注意,这里一定要先删除全部数据,否则可能会导致数据重复

delete from test_tmp;

insert into test_tmp select *

from test_tmp as of timestamp to_timestamp(‘2014-05-28 11:00:00′,’yyyy-mm-dd hh24:mi:ss’)

commit;

二、 select timestamp_to_scn(to_timestamp(‘2014-05-27 11:00:00′,’YYYY-MM-DD HH:MI:SS’)) from dual; 或select * from sys.smon_scn_time order by time_dp desc;得到结果 71547785 然后 insert into test_tmp select * from test_tmp AS OF SCN 71547785

其实前两种是一样的 下面看第三种

三、 select * from v$sqlarea ;SELECT * FROM v$session;SELECT * FROM v$session a,v$sqlarea b WHERE b.ADDRESS = a.PREV_SQL_ADDR; 通过这条语句找到的数据是有限的 因为有的用户可能已经断开和oracle的连接了

如果你看到以上方法能够解决你的问题,哪就不要犹豫,快点动 手吧,因为如果动手晚了,之前的操作的数据记录可能就要被覆盖了,因为存储不大的话要被循环使用的,我在20140527日的下午5点30分发现参数表被 破坏了,而且执行的语句是在下午的2点08分,当时首先想到的是把前几天导出来过的数据恢复进去,可是这样的就丢失了哪几天的数据,当第二天来了找到了以 上的两个方法时已经晚了,可以恢复到下午2点20分时的数据,但是2点时候的数据已经被擦掉了, 哎 呜呼哀哉!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160796.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档