oracle闪回操作

一、查询指定时间的数据快照

--1、查询执行过SQL语句,确定快照的时间
SELECT R.FIRST_LOAD_TIME,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
 

二、恢复数据

--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;
 

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

你可能感兴趣的:(oracle,oracle,误删表,闪回)