0️⃣ RMAN 복구의 기본 원리
👉 복구는 항상 “백업의 반대 순서”로 진행
Control File
→ Datafile (Level 0)
→ Datafile (Level 1)
→ Archive Log
→ OPEN RESETLOGS
1️⃣ 데이터 복구 유형
- 완전 복구
- 불완전 복구
2️⃣ 장애 시 복구 유형
- Data File 손상(DB는 살아있음)
- 전체 Data File 손상(DB OPEN 불가)
- Control File 손상
- spfile 손상
완전 복구
Full 복구👇
더보기
- 전체 Data File을 복구
- 최신 시점까지 복구
- 모든 Archive Log가 존재해야만 복구 가능
MOUNT 단계:
SQL> shutdown immediate;
SQL> startup mount;
복구:
RMAN> restore database;
RMAN> recover database;
DB OPEN:
SQL> alter database open;
특정 Dafa File 복구 👇
더보기
- 특정 Data File만 복구할때
- 해당 Data File을 최신 SCN까지 복구
- DB OPEN 상태에서 복구 가능
장애 Data File 넘버 조회:
-- SQL로 조회
SQL> SEELCT file#, name FROM v$datafile;
-- RMAN에서 조회
RMAN> report schema;
해당 Data File OFF:
SQL> alter database datafile 7 offline;
해당 Data File 복구:
RMAN> restore datafile 7;
RMAN> recover datafile 7;
해당 Data File ON:
SQL> alter database datafile 7 online;
Tablespace 단위 복구 👇
더보기
- 특정 Tablespace 복구할때
해당 Tablespace OFF:
SQL> alter tablespace users offline;
해당 Tablespace 복구:
RMAN> restore tablespace users;
RMAN> recover tablespace users;
해당 Tablespace ON:
SQL> alter tablespace users online;
Archive Log만 복구 👇
더보기
- archive log 전체 복구
RMAN> restore archivelog all;
불완전 복구
불완전 복구는 redo 기록을 의도적으로 중간에서 끊는 작업이기 때문에,
Oracle은 그 지점 이후의 redo를 모두 폐기하고 새 redo 흐름을 시작해야 함으로 RESETLOGS가 필수
더보기
- 특정 시점까지 복구 가능
- DB MOUNT 상태에서만 가능
- RESETLOGS 및 SET UNTIL 필수 조건
👉 RESETLOGS 이후 필수적으로 FULL(Level 0) 백업을 진행하여 시작점을 만들것❗
DB MOUNT:
SQL> shutdonw immediate;
SQL> startup mount;
특정 시점까지 복구:
RMAN> run{
set until time "to_date('2026-02-05 13:00:00', 'YYYY-MM-DD HH24:MI:SS')";
restore database;
recover database;
}
DB OPEN 및 RESETLOGS 진행:
SQL> alter database open resetlogs;
'🗄️ DB_이야기 > # 🛢️ Oracle' 카테고리의 다른 글
| [Oracle] RMAN 복구(IMAGE COPY) (0) | 2026.02.09 |
|---|---|
| [Oracle] RMAN 백업(IMAGE COPY) (0) | 2026.02.08 |
| [Oracle] RMAN 백업(BACKUPSET) (0) | 2026.02.05 |
| [Oracle] RMAN 환경설정 (0) | 2026.02.02 |
| [Oracle] RMAN 개념 및 아키텍처 정리 (0) | 2026.01.30 |