반응형

Oracle Flashback 복구 가이드 및 ORA-38706 오류 조치
오라클 데이터베이스는 Flashback Database 기능을 통해 특정 시점으로 데이터를 되돌릴 수 있습니다. 이는 물리적 복구(restore)보다 훨씬 빠르고 간편하게 장애 이전 상태로 복원할 수 있는 강력한 기능입니다. 아래에서는 플래시백 설정, 복구 절차, 그리고 대표적인 오류 ORA-38706의 원인과 해결 방법을 순서대로 살펴봅니다.
1️⃣ 오라클 플래시백(Flashback) 복구 개요
- Flashback Database는 데이터파일에 기록되는 Redo 정보와 별도로 Flashback Log를 활용합니다.
- 데이터 손상, 잘못된 DML 수행, Drop 등의 실수를 빠르게 복구할 수 있습니다.
- 물리 백업(RMAN restore)보다 속도가 빠르고, 아카이브 로그 보관 공간도 절약됩니다.
2️⃣ Flashback 기능 설정 확인
SQL> SELECT FLASHBACK_ON FROM V$DATABASE;
FLASHBACK_ON
------------------
YES
값이 YES일 경우 플래시백 기능이 활성화된 상태입니다.
만약 NO로 표시된다면 아래 절차를 통해 활성화할 수 있습니다.
3️⃣ Flashback 기능 활성화 절차
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE FLASHBACK ON;
SQL> ALTER DATABASE OPEN;
Flashback 로그는 FRA(Fast Recovery Area)에 저장되므로, FRA 경로 및 용량을 반드시 사전에 확보해야 합니다.
💡 확인 명령어:
SQL> SHOW PARAMETER db_recovery_file_dest;
SQL> SHOW PARAMETER db_recovery_file_dest_size;
4️⃣ Flashback 복구 실행 방법
아래 예시는 특정 시점으로 데이터베이스를 복구하는 과정입니다.
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> FLASHBACK DATABASE TO TIMESTAMP TO_TIMESTAMP('2025-10-31 09:30:00', 'YYYY-MM-DD HH24:MI:SS');
SQL> ALTER DATABASE OPEN RESETLOGS;
- 복구 대상 시점은 Alert Log나 SCN 기반으로 지정할 수 있습니다.
RESETLOGS명령은 복구 이후 새로운 로그 체인을 시작할 때 필수입니다.
5️⃣ ORA-38706 플래시백 오류 원인 및 조치
오류 메시지:
ORA-38706: Cannot turn on flashback database logging
원인:
- DB가 ARCHIVELOG 모드가 아닌 상태에서 Flashback을 활성화 시도
- FRA 공간 부족 또는 경로 미설정
- Flashback 로그 파일 손상 또는 권한 문제
조치 방안:
-- 1. ARCHIVELOG 모드 확인
SQL> ARCHIVE LOG LIST;
-- 2. FRA 경로 재설정
SQL> ALTER SYSTEM SET db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' SCOPE=BOTH;
SQL> ALTER SYSTEM SET db_recovery_file_dest_size=50G SCOPE=BOTH;
-- 3. Flashback 재활성화
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE FLASHBACK ON;
6️⃣ 플래시백 로그 관리 팁
- FRA 공간은
V$RECOVERY_FILE_DEST뷰에서 주기적으로 모니터링 - Flashback 로그는 자동 삭제되지 않으므로 용량 관리 필요
- 정기적인
BACKUP VALIDATE및RMAN CROSSCHECK수행
✅ 요약:
Flashback Database는 단순한 복구 기능이 아닌, DB의 시간 여행(Time Travel) 기능입니다. 단, ARCHIVELOG 모드 및 FRA 설정이 올바르지 않으면 ORA-38706 오류가 발생하므로 사전 점검이 필수입니다.
Flashback Database는 단순한 복구 기능이 아닌, DB의 시간 여행(Time Travel) 기능입니다. 단, ARCHIVELOG 모드 및 FRA 설정이 올바르지 않으면 ORA-38706 오류가 발생하므로 사전 점검이 필수입니다.
반응형
LIST
'경험 공유 > DBMS' 카테고리의 다른 글
| [Oracle] 오라클 LogMiner — 실습 케이스 (시간/SCN 기반) & 자동 복구 SQL 생성 스크립트 (0) | 2025.11.02 |
|---|---|
| [Oracle] ORA-06512와 함께 발생하는 대표 에러 종합 가이드 (2) | 2025.11.01 |
| [PostgreSQL] HA 클러스터 인식 오류 (/etc/hosts 권한 문제) (1) | 2025.11.01 |
| [Oracle] OGG-01004 오류 조치 (1) | 2025.10.31 |
| [Oracle] ORA-00020: 최대 프로세스 수 초과 오류 ( 관련 에러 ) (2) | 2025.10.23 |
