当前位置:Gxlcms > 数据库问题 > Oracle数据库的闪回操作(查询指定时间的数据、恢复数据)

Oracle数据库的闪回操作(查询指定时间的数据、恢复数据)

时间:2021-07-01 10:21:17 帮助过:88人阅读

,R.SQL_TEXT,R.* FROM V$SQLAREA R WHERE R.SQL_TEXT LIKE ‘%ABOUT YOUR SQL%‘ ORDER BY R.FIRST_LOAD_TIME DESC --2、查询基于指定时间的数据快照 SELECT * FROM YOUR_TABLENAME AS OF TIMESTAMP TO_TIMESTAMP(‘2019-02-05 20:00:00‘, ‘yyyy-mm-dd hh24:mi:ss‘); --以当前时间为准,125分钟之前的数据快照 SELECT * FROM YOUR_TABLENAME AS OF TIMESTAMP SYSDATE - 125 / 1440

二、恢复数据

FLASHBACK时,如果不确定删除的具体时间,在没有太多操作这个表的情况下,闪回的时间稍微提前一点。

  • 闪回表数据SQL语句:
--1、启动表的row movement特性
ALTER TABLE YOUR_TABLENAME ENABLE ROW MOVEMENT;

--2、闪回指定时间的快照
FLASHBACK TABLE YOUR_TABLENAME TO TIMESTAMP 
TO_TIMESTAMP(‘2018-04-23 16:06:00‘,‘yyyy-mm-dd hh24:mi:ss‘);

--3、关闭表的row movement功能
ALTER TABLE YOUR_TABLENAME DISABLE ROW MOVEMENT;

 

  • 闪回数据表的SQL语句:
--闪回表(通过TRUNCATE语句删除的表无法闪回)
FLASHBACK TABLE YOUR_TABLENAME TO BEFORE DROP;

 

Oracle数据库的闪回操作(查询指定时间的数据、恢复数据)

标签:order   回收   ring   run   class   决定   闪回   upd   trunc   

人气教程排行