coding
hadoopCJ的gravatar头像
hadoopCJ2019-10-09 09:59:56
oracle删错数据了,要跑路吗,等一下,先抢救一下

轻舟能过万重山,遇到问题别发慌。说来惭愧,最近出现一次写update语句忘了加where条件,还好连得我本地测试库,不然就嗝屁了。不过万一连得正式库,那咋办呢,于是自己上网搜了一下,有前辈也遇到过,整理如下;

oracle不小心删除数据并且已经提交。oracle有一个闪回表功能
一:根据时间来恢复:
1、查询数据库当前时间(目的是为了检查数据库时间是否与你电脑时间相近,避免时间不同而将数据恢复到错误时间点)
select  to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
2、查询删除数据时间点之前的数据
select * from 表名 as of timestamp to_timestamp('2016-08-11 16:12:11','yyyy-mm-dd hh24:mi:ss');
(若没有数据 ,将时间继续提前)
3、恢复数据
flashback table 表名 to timestamp to_timestamp('2016-08-11 16:12:11','yyyy-mm-dd hh24:mi:ss');
大功告成,数据恢复成功;
但是也可能会出现问题,比如报错:ORA-08189:未启用行移动功能,不能闪回表;
不要怕,这个很简单;
alter table 表名 enable row movement;
然后再次执行上面SQL即可。

 


打赏

已有1人打赏

最代码官方的gravatar头像

分享到:

最近浏览
小灰灰520 LV4昨天
月亮
coding喵 LV16前天
太阳
zhu120212 LV1前天
星星
凌秋枫 LV810月17日
月亮月亮
HWinner LV110月17日
星星
亚索King LV410月17日
月亮
温涛温涛温涛 LV810月16日
月亮月亮
cxdxfx12 LV1010月16日
月亮月亮星星星星
给你五块 LV110月16日
星星
xxymxxym5937 LV210月16日
星星星星
最代码广告位
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友