ORACLE
Oracle Flashback Database 완전 정복 | 전체 복구 기능
samie
2025. 4. 16. 11:13
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 Database | Point-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)를 통해 변경 이력을 장기 보관하는 방법을 소개하겠습니다.