oracle数据库误删恢复

一、按时间点恢复
1、赋予Flash存储的权限:
ALTER TABLE GM_USER.T_SHSJGL_AREL ENABLE  ROW MOVEMENT;

2、表数据还原到指定时间点
FLASHBACK TABLE GM_USER.T_SHSJGL_AREL TO TIMESTAMP TO_TIMESTAMP('2014-11-21 11:00:00','yyyy-mm-dd hh24:mi:ss');



二、按SCN点恢复
1、获得当前SCN
SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER FROM DUAL;

2、如果能够确切知道删除之前SCN最好,如果不知道,可以进行闪回查询尝试
SELECT COUNT(*) FROM GM_USER.T_SHSJGL_RFREF AS OF SCN 4500109;

3、查到数据都在的SCN,恢复数据
INSERT INTO GM_USER.T_SHSJGL_RFREF SELECT * FROM T1 AS OF SCN 4500109;

你可能感兴趣的:(oracle,sql)