恢复oracle被误更新数据的办法

本文介绍如何使用Oracle数据库中的ASOFTIMESTAMP特性恢复误删或误改的数据。通过具体示例展示了如何设置SQL语句来获取30分钟前的数据快照,以便于数据的恢复。

我们在平时操作数据库时,有时候可能误操作删除或更新了数据。

oracle有as of timestamp进行数据恢复

UPDATE base_device t1
SET t1.backfield =
  (SELECT backfield
  FROM base_device AS OF TIMESTAMP SYSDATE - 30 / 1440
  WHERE t1.id = id
  );

数据库表:base_device
修改字段:backfield
当前时间:SYSDATE
30      :30分钟前
1440    :24*60m=1440m(分钟)


SYSDATE-30/1440是啥意思,1440又是怎么来的?
首先60(分)×24=1440,这样就计算出一天拥有多少分钟,SYSDATE是系统函数,用来取得当前的系统时间(以天为单位),SYSDATE-30/1440,得出的就是距当前时间30分钟前的记录了。后面示例中需要计算之前的某个时段时,均是使用这一方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值