ORACLE

Oracle Flashback Database 완전 정복 | 전체 복구 기능

samie 2025. 4. 16. 11:13
Oracle Flashback Database 완전 정복 | 전체 복구 기능

Oracle Flashback Database 완전 정복

운영 중인 데이터베이스에서 치명적인 실수나 데이터 손상이 발생했을 때, 백업 복구 외에 빠르고 강력한 방법이 있습니다.
바로 Oracle Flashback Database 기능입니다. 이 기능은 데이터베이스 전체를 과거 시점으로 복구할 수 있어, 대규모 복구 작업에 매우 유용합니다.

1. Flashback Database 개요

Flashback Database는 Oracle 10g 이상에서 지원되며, 데이터베이스 전체를 특정 시점으로 되돌리는 기능입니다. RMAN(Recovery Manager)을 이용하여 관리되며, 로그를 기반으로 복구가 이루어집니다.

2. 사용 조건 및 사전 설정

🔧 필수 조건

  • ARCHIVELOG 모드 활성화
  • Flashback 로그 저장을 위한 FRA(Fast Recovery Area) 설정
  • Flashback 기능 활성화

-- ARCHIVELOG 모드 확인
ARCHIVE LOG LIST;

-- FRA 설정
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/u01/oracle/recovery_area';
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=10G;

-- Flashback 활성화 (Mount 상태에서)
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE FLASHBACK ON;
ALTER DATABASE OPEN;

3. 복구 절차 및 명령어

✅ Flashback 시점 지정


-- 특정 시간으로 복구
FLASHBACK DATABASE TO TIMESTAMP TO_TIMESTAMP('2025-04-03 15:00:00', 'YYYY-MM-DD HH24:MI:SS');

-- SCN(System Change Number) 기반 복구
FLASHBACK DATABASE TO SCN 123456789;

✅ 복구 후 데이터베이스 열기


-- 복구 완료 후 RESETLOGS로 열기
ALTER DATABASE OPEN RESETLOGS;

4. 실전 예제

1. 데이터 삭제 실수 시 전체 복구


-- 예: 16시에 대규모 삭제 실수 발생
-- 15:50으로 복구
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
FLASHBACK DATABASE TO TIMESTAMP TO_TIMESTAMP('2025-04-03 15:50:00', 'YYYY-MM-DD HH24:MI:SS');
ALTER DATABASE OPEN RESETLOGS;

2. SCN 기반 복구


-- 삭제 직전의 SCN을 조회한 경우
FLASHBACK DATABASE TO SCN 130000000;
ALTER DATABASE OPEN RESETLOGS;

5. Flashback vs PITR

항목Flashback DatabasePoint-in-Time Recovery (PITR)
복구 대상 전체 데이터베이스 테이블스페이스 단위 또는 전체
복구 시간 수 분 이내 수십 분 ~ 수 시간
데이터 손실 매우 적음 (Flashback 로그 기반) 복구 시점 이후 데이터 손실 발생
사용자 권한 DBA만 가능 RMAN 전문가 필요

6. 실무 활용 팁

  • ✅ Flashback Database는 백업이 아닌 로그 기반 복구 기능입니다.
  • RESETLOGS 실행 후에는 이전 아카이브 로그가 무효화됩니다.
  • ✅ 주기적으로 FLASHBACK DATABASE TO RESTORE POINT를 설정해두면 빠른 복구가 가능합니다.

-- 복원 포인트 설정
CREATE RESTORE POINT before_migration GUARANTEE FLASHBACK DATABASE;

-- 복원 포인트로 복구
FLASHBACK DATABASE TO RESTORE POINT before_migration;

🔚 마무리

Oracle Flashback Database는 전체 시스템 복구가 필요할 때 매우 유용한 기능입니다.
백업이 필요한 상황보다 훨씬 빠르고 효율적인 복구가 가능하므로, 사전에 설정해두면 데이터 재난 대응력을 크게 높일 수 있습니다.

다음 포스트에서는 Flashback Data Archive (FDA)를 통해 변경 이력을 장기 보관하는 방법을 소개하겠습니다.