[SQL] 데이터 복구 - FLASHBACK TABLE

·2025년 7월 15일
0

SQL

목록 보기
115/126

실습1. emp 테이블을 전부 delete 하고 commit 하시오

delete from emp;
commit;

실습2. emp 테이블을 현재 시간에서 5분전으로 되돌리시오

-- 1. emp 테이블의 flashback table이 가능한 상태로 변경

-- row_movement가 DISABLED로 나옴
select table_name, row_movement
 from user_tables
 where table_name='EMP';
alter table emp enable row movement;

-- 다시 조회해보면 row_movement가 ENABLED로 바뀜
select table_name, row_movement
 from user_tables
 where table_name='EMP';	-- 테이블명 대문자로 써줘야됨
-- 2. emp 테이블을 현재시간에서 5분 전으로 되돌리시오

flashback table emp to timestamp
( systimestamp - interval '5' minute );

select * from emp;

문제1. dept 테이블을 모두 delete 하고 commit 하고나서 dept 테이블을 5분전으로 되돌리시오

delete from dept;
commit;

-- 1. emp 테이블의 flashback table 이 가능한 상태로 변경

select table_name, row_movement
 from  user_tables
 where table_name='DEPT';	-- 테이블명 대문자로 써줘야됨
 
alter table dept enable row movement;
 
select table_name, row_movement
 from  user_tables
 where table_name='DEPT';
 
-- 2. emp 테이블을 현재시간에서 5분 전으로 되돌리시오
 
flashback table  dept  to timestamp
( systimestamp  - interval '5' minute );
 
select * from dept;

0개의 댓글