본문 바로가기
나혼자 웹사이트 만들기/DB

[ORACLE] FLASHBACK을 이용하여 데이터 복구

by coldbrew_ 2023. 1. 12.
반응형

Oracle에서 FLASHBACK 명령은 데이터를 보고 쿼리하고 이전 시점으로 복원하는 데 사용됩니다. 이 명령은 Oracle 플래시백 기술 기능의 일부로, 데이터베이스를 이전 시점으로 "플래시백"하여 해당 시점 이후 데이터베이스에 적용된 변경 사항을 실행 취소할 수 있습니다.

 

FLASHBACK 이란?

FLASHBACK 명령은 실수로 삭제되거나 수정된 ​​데이터를 복구하는 데 사용할 수 있으며, 장애 또는 기타 문제가 발생한 경우 데이터베이스를 특정 시점으로 복원하는 데 사용할 수도 있습니다.

FLASHBACK TABLE 명령을 사용하여 테이블을 이전 상태로 복원할 수 있습니다. 이 명령의 구문은 다음과 같습니다.

FLASHBACK TABLE table_name TO TIMESTAMP 타임스탬프;

FLASHBACK DATABASE 명령을 사용하여 전체 데이터베이스를 이전 상태로 복원할 수도 있습니다. 이 명령의 구문은 다음과 같습니다.

 

타임스탬프로의 플래시백 데이터베이스 타임스탬프

FLASHBACK QUERY 명령을 사용하여 테이블의 이전 상태에서 특정 데이터를 선택할 수도 있습니다. 이 명령의 구문은 다음과 같습니다.

FLASHBACK TABLE table_name TO TIMESTAMP 타임스탬프 AS OF TIMESTAMP 타임스탬프 QUERY SELECT ...;

플래시백 기능을 활성화하고 사용하기 전에 보존 시간을 설정하는 것이 중요합니다. 또한 수행 중인 Flashback 수준에 따라 더 많은 디스크 공간이 필요할 수 있습니다.

 

FLASHBACK 예시

1
FLASHBACK TABLE table_name TO BEFORE DROP;
cs

 

1
FLASHBACK SCHEMA schema_name TO BEFORE DROP;
cs

 

1
FLASHBACK DATABASE TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR);
cs

CREATE TABLE 및 INSERT 문에서 FLASHBACK 절을 사용하여 테이블의 특정 행을 이전 상태로 복원할 수도 있습니다.이 명령을 사용하기 전에 데이터베이스에서 플래시백을 활성화해야 합니다. 또한 원하는 복원 지점과 일치하도록 시간 매개변수를 조정해야 할 수도 있습니다.

플래시백은 플래시백 로그를 활성화한 경우에만 작동하며 보존 기간은 복구 기간을 포함할 수 있을 만큼 충분히 길어야 합니다.

또한 이 명령은 undo_retention 보장이 아닌 실행 취소 테이블스페이스에서만 작동합니다.

반응형

댓글