在平时的工作中难免会遇见一些误操作的情况,特别是一些比较重要的数据,例如生产上面的数据,那么oracle 闪回 将带你走出烦恼。
一、查询误删数据:
方式1:通过scn查询误删数据
获取系统版本的scn
select dbms_flashback.get_system_change_number from dual;
找到系统对应的scn闪回:
select * from 表1 as of scn 1136165;
方式2:通过时间查询误删数据
SELECT * FROM 表1 AS OF TIMESTAMP TO_TIMESTAMP( 误删以前的时间 );
eg:
SELECT * FROM employees
AS OF TIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH24:MI:SS')
WHERE last_name = 'Chung';
二、闪回数据:
语法:flashback table 表1 to {[before drop [rename to new_table_name]] | [SCN | TIMESTAMP] expr [enable | desable] triggers}