delete한 데이터를 commit을 한 경우
수정할 때 별로 오래되지 않은 경우에는 다시 불러올 수 있음
해당 방법은 과거의 테이블을 불러오면서 그걸 다시 insert시키는 방법이다
insert into 테이블명
select * from 테이블명
as of timestamp (systimestamp - interval 'x' minute);
-- x 분 이전에 존재했던 테이블을 불러온다
예시
-- 테이블 생성
create table member_bak
as
select * from member;
-- 테이블 조회
select * from member_bak
-- rollback 가능, 스키마 구조가 살아있음
delete from member_bak;
commit;
-- 3분전 테이블 데이터 조회 (flashback)
-- 해당 결과는 delete를 수행했을 때만 가능
insert into member_bak
select * from member_bak
as of timestamp (systimestamp - interval '3' minute) ;
-- truncate : rollback불가능, 스키마 구조가 살아있음
truncate table member_bak;
-- drop : rollback불가능, 스키마 구조 사라짐
drop table member_bak;
commit;
'Spring' 카테고리의 다른 글
[Spring] CKEditor5 (0) | 2024.08.08 |
---|---|
[Spring] prod mapper로 변경 + 상품 추가 (0) | 2024.08.07 |
[Spring] Member와 사진 연결 (0) | 2024.08.06 |
[Spring] mapper interface (0) | 2024.08.06 |
[Spring] 스프링 form 태그, 이미지 저장(썸네일) (0) | 2024.08.05 |