Flashback Qurey(闪回查询) oracle数据库数据恢复

今天由于错误操作,导致数据库代码丢了几千行。
菊花一紧,冷汗直流。
关键时刻张茂林与倪闻伯,脚踏七色祥云,犹如盖世英雄
SELECT *
FROM dba_source
AS OF TIMESTAMP TO_TIMESTAMP (‘2018-08-23 08:00:00’, ‘YYYY-MM-DD HH24:MI:SS’)
WHERE owner=‘OLP’ and name =‘PKG_R50’
上述一个闪回查询。
功能是 查询OLP用户的PKG_R50包2018-08-23 08:00:00时间的数据。

Flashback Query
Flashback Query这一特性,最常被应用的就是修复误操作的数据了。注意,这并不是说Flashback Query能够恢复数据。Flashback Query本身不会恢复任何操作或修改,也不能告诉你做过什么操作或修改,实际上Flashback Query特性实际应用时,是基于标准SELECT的扩展,借助该特性能够让用户查询到指定时间点的表中的记录,相当于拥有了看到过去的能力.

SELECT * FROM A_TABLE AS OF TIMESTAMP SYSDATE-5/1440;
上述例句为 查询A_TABLE 5分钟前的数据
???
SYSDATE-5/1440是啥意思,1440又是怎么来的?
首先60(分)×24=1440,这样就计算出一天拥有多少分钟,SYSDATE是系统函数,用来取得当前的系统时间(以天为单位),SYSDATE-5/1440,得出的就是距当前时间5分钟前的记录了。(看不懂就代数)

flashback table '需要恢复数据的表名' to timestamp to_timestamp('数据丢失的前一时间点','yyyy-mm-dd hh24:mi:ss');

flashback 语句够很好的进行数据恢复,不过需要oracle10以上

特此记录。以作警示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值