在Oracle中誤刪除資料後並commit後的資料恢複辦法

來源:互聯網
上載者:User

在Oracle中誤刪除資料後並commit後的資料恢複辦法

背景:表A資料誤操作,被delete了,恢複。

--1.先備份A表當前資料。

--2.查詢某時間點前的SCN號碼

SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < To_Date(某時間點, 'YYYYMMDD hh24:mi:ss');

--3.查看某時間點的A表資料

SELECT * FROM A AS OF SCN '步驟2的SCN號';

--4.如果查看資料是想要的資料,則恢複

SELECT row_movement FROM user_tables WHERE table_name = 'A';

--5.步驟4結果如果為DISABLE ,則執行下面這句話,否則跳過

ALTER TABLE A  ENABLE ROW MOVEMENT;

--6.執行

FLASHBACK TABLE A TO SCN '步驟2的SCN號';

--7.如果原來為enable則不用執行,否則執行

ALTER TABLE A DISABLE ROW MOVEMENT;

--8.如果許可權不夠,就換個DBA使用者進行上述操作

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.