반응형
1. 데이터베이스 백업 및 복구의 중요성
데이터베이스 백업 및 복구는 시스템 장애, 데이터 손실, 하드웨어 고장 등 예기치 못한 상황에서 데이터의 무결성과 가용성을 유지하기 위한 핵심적인 작업입니다. 오라클 데이터베이스에서는 다양한 백업 및 복구 방법을 제공하며, 이를 통해 데이터 손실을 최소화할 수 있습니다.
2. 오라클 백업의 종류
오라클 데이터베이스의 백업은 크게 두 가지로 나눌 수 있습니다.
- 물리적 백업 (Physical Backup)
- 데이터베이스 파일(데이터 파일, 제어 파일, 리두 로그 파일 등)을 복사하여 저장.
- RMAN(Recovery Manager): 오라클에서 제공하는 백업 및 복구 도구를 이용하여 수행.
- 논리적 백업 (Logical Backup)
- 데이터베이스 객체(테이블, 인덱스 등)나 데이터를 논리적으로 덤프하여 저장.
- 데이터 펌프(Data Pump) 또는 EXP/IMP(Export/Import) 유틸리티 사용.
3. 백업 및 복구 작업의 주요 구성 요소
- 데이터 파일
- 실제 데이터가 저장된 파일.
- 데이터 손실 시 복구 대상의 핵심.
- 제어 파일(Control File)
- 데이터베이스 구조, 파일 경로 등을 관리하는 메타데이터 파일.
- 리두 로그 파일(Redo Log File)
- 트랜잭션 변경 내역을 기록.
- 복구 시 데이터 복원에 사용.
- 아카이브 로그(Archive Log)
- 리두 로그의 백업본으로, 데이터 손실 없이 지속적인 복구를 가능하게 함.
4. 백업 방법
(1) RMAN을 이용한 물리적 백업
RMAN은 오라클에서 제공하는 강력한 백업 및 복구 도구입니다.
- RMAN 백업 설정
- RMAN> BACKUP DATABASE;
- 아카이브 로그 백업
- RMAN> BACKUP ARCHIVELOG ALL;
(2) 데이터 펌프를 이용한 논리적 백업
데이터 펌프는 오라클 객체 및 데이터를 내보내고 가져오는 유틸리티입니다.
- 데이터 내보내기 (EXPORT)
- expdp system/password DIRECTORY=data_pump_dir DUMPFILE=backup.dmp LOGFILE=backup.log FULL=Y
- 데이터 가져오기 (IMPORT)
- impdp system/password DIRECTORY=data_pump_dir DUMPFILE=backup.dmp LOGFILE=restore.log FULL=Y
(3) 사용자 정의 스크립트를 이용한 백업
데이터베이스 파일을 수동으로 복사하거나 사용자 정의 스크립트를 작성하여 정기적인 백업 수행.
5. 복구 방법
(1) RMAN을 이용한 복구
- 전체 데이터베이스 복구
- RMAN> RESTORE DATABASE; RMAN> RECOVER DATABASE;
- 특정 테이블 복구
RMAN을 사용하여 특정 테이블 공간만 복구 가능.
(2) 논리적 복구 (Data Pump 또는 IMP/EXP)
- 개별 테이블 복구
데이터 펌프를 사용하여 특정 테이블을 복구 가능.impdp system/password DIRECTORY=data_pump_dir DUMPFILE=backup.dmp TABLES=employees LOGFILE=restore_employees.log
(3) 아카이브 로그를 이용한 복구
아카이브 로그를 사용하면 데이터베이스 장애 후 특정 시점으로 복구 가능.
SQL> RECOVER DATABASE UNTIL TIME 'YYYY-MM-DD HH24:MI:SS';
6. 백업 및 복구 계획의 구성
- 백업 주기 설정
- 전체 백업(Full Backup): 주기적으로 수행.
- 증분 백업(Incremental Backup): 변경된 데이터만 백업하여 시간 및 저장 공간 절약.
- 아카이브 로그 관리
- 아카이브 모드를 활성화하여 지속적인 데이터 보호.
- 복구 시나리오 테스트
- 주기적으로 복구 테스트를 수행하여 백업의 신뢰성을 확인.
7. 예제 시나리오
데이터 손실 발생 시 복구
- 장애 상황: 직원 테이블(employees)의 데이터가 삭제됨.
- 복구 방법: RMAN과 아카이브 로그를 사용하여 데이터 복구.
-- RMAN 복구 명령어
RMAN> STARTUP MOUNT;
RMAN> RESTORE TABLESPACE users;
RMAN> RECOVER TABLESPACE users;
RMAN> ALTER DATABASE OPEN;
8. 결론
오라클 데이터베이스의 백업 및 복구는 데이터 보호를 위한 필수 작업입니다.
- RMAN과 데이터 펌프는 각각 물리적, 논리적 백업을 위한 강력한 도구이며,
- 아카이브 로그는 데이터 무결성을 유지하면서 복구 가능성을 높입니다.
체계적인 백업 및 복구 계획을 수립하고, 주기적인 테스트를 통해 데이터베이스의 안정성과 가용성을 보장해야 합니다.
반응형
'Database' 카테고리의 다른 글
오라클 SQL 실행 계획 분석하기 EXPLAIN PLAN (0) | 2024.12.03 |
---|---|
오라클 데이터베이스 성능 튜닝 기초: 쿼리 최적화 (0) | 2024.12.03 |
오라클 ROLLBACK SEGMENT의 역할과 설정 (0) | 2024.12.03 |
오라클 데이터베이스 권한 관리: GRANT와 REVOKE의 활용 (0) | 2024.12.03 |
오라클 DB에서 USER 및 SCHEMA의 개념 이해하기 (0) | 2024.12.03 |