좋은 정보가 있어서 공유합니다.
Oracle 몇 버젼부터 되었는지는 모르겠지만,
Oracle 8i 에서도 되더라구요
------------------------------------------
SQL> Delete from TEST where num = 1;
SQL> Commit;
------------------------------------------
. Oracle에서 데이타 Delete후에 Commit을 때렸는데
10분 정도 지나서 고객이 " 앗 그 데이타 지우면 안됩니다. 복구해주세요~ "
라면 정말 좀 난감하시죠.. 간단히 해결할 수 있습니다.
------------------------------------------
SQL> Select *
From TEST
AS OF timestamp(systimestamp - interval '15' minute )
Where num = 1;
------------------------------------------
이렇게 조회하면 15분 전에 존재했던 데이타가 조회됩니다
간단히 Insert Select로 북귀 하시면 됩니다
------------------------------------------
SQL> Insert into TEST
Select *
From TEST
AS OF timestamp(systimestamp - interval '15' minute )
Where num = 1;
------------------------------------------
당근 Commit은 날려야죠
시간이 얼마까지 작동할지는 확실히는 모르겠고,
대략 2시간 정도까지라고 합니다.
Oracle 몇 버젼부터 되었는지는 모르겠지만,
Oracle 8i 에서도 되더라구요
------------------------------------------
SQL> Delete from TEST where num = 1;
SQL> Commit;
------------------------------------------
. Oracle에서 데이타 Delete후에 Commit을 때렸는데
10분 정도 지나서 고객이 " 앗 그 데이타 지우면 안됩니다. 복구해주세요~ "
라면 정말 좀 난감하시죠.. 간단히 해결할 수 있습니다.
------------------------------------------
SQL> Select *
From TEST
AS OF timestamp(systimestamp - interval '15' minute )
Where num = 1;
------------------------------------------
이렇게 조회하면 15분 전에 존재했던 데이타가 조회됩니다
간단히 Insert Select로 북귀 하시면 됩니다
------------------------------------------
SQL> Insert into TEST
Select *
From TEST
AS OF timestamp(systimestamp - interval '15' minute )
Where num = 1;
------------------------------------------
당근 Commit은 날려야죠
시간이 얼마까지 작동할지는 확실히는 모르겠고,
대략 2시간 정도까지라고 합니다.



최근 덧글