hadoopCJ的gravatar头像
hadoopCJ 2019-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即可。

 


打赏

已有2人打赏

我去买G橘子的gravatar头像 最代码官方的gravatar头像
最近浏览
太阳泪  LV6 2021年6月28日
水光浮藻  LV6 2021年3月4日
wwwbl123  LV2 2021年2月19日
hzlhtdy  LV2 2020年11月28日
小牛犊不服 2020年11月16日
暂无贡献等级
dingjiaqiang  LV5 2020年10月29日
疯狂的阳仔  LV7 2020年9月9日
lininj 2020年7月31日
暂无贡献等级
海盗来了  LV20 2020年6月30日
Roxing  LV5 2020年5月20日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友