1. 程式人生 > >MY/SQL_誤將表刪除DROP,或刪除表中資料DELETE還原

MY/SQL_誤將表刪除DROP,或刪除表中資料DELETE還原

1.DROP刪除表找回

--查詢回收站

SELECT * FROM RECYCLEBIN;

--回收站裡存在被刪除表,恢復表(h表)
flashback table h to before drop ;

--查詢表
SELECT * FROM h;

--如果想徹底刪除,執行指令碼:

DROP TABLE H PURGE;  

附:清除回收站裡的資訊: 
清除指定表:purge table H;
清除當前使用者的回收站:purge recyclebin;
清除所有使用者的回收站:purge dba_recyclebin;

2.delete 刪除表資料尋回

--按特定時間點恢復
select timestamp_to_scn(to_timestamp('2018-01-30 09:00:00','yyyy-mm-dd hh24:mi:ss')) from dual;

執行上面指令碼得到資料 :  135127128

select * from retable_name as of scn 135127128;

--拿回記錄建立臨時表
create table temp_retable_name as 
select * from retable_name as of scn 135127128;

--如果DELETE 刪除了所有的資料,可直接用插入指令碼,確保表名一致

INSERT INTO retable_name select * from retable_name as of scn 135127128;