오라클 데이터베이스의 **아카이브 로그 모드(ARCHIVELOG MODE)**는 데이터베이스의 장애 복구, 백업, 데이터 보호를 위한 중요한 기능입니다. 아카이브 로그 모드는 데이터베이스의 트랜잭션 로그를 안전하게 보관하여 데이터 복구를 지원합니다. 이 글에서는 아카이브 로그 모드의 개념, 설정 방법, 운영 전략, 그리고 실무 사례를 살펴보겠습니다.
1. 아카이브 로그 모드란?
오라클 데이터베이스는 모든 트랜잭션을 **로그 파일(Redo Log)**에 기록합니다.
- 비아카이브 로그 모드(NOARCHIVELOG MODE): 로그 파일이 채워지면 새로운 로그 파일로 덮어쓰기(Overwrite)됩니다. 과거 로그 파일은 유지되지 않으므로 장애 발생 시 복구 범위가 제한됩니다.
- 아카이브 로그 모드(ARCHIVELOG MODE): 로그 파일이 채워질 때마다 해당 로그 파일을 다른 위치에 백업(아카이빙)합니다. 이를 통해 모든 트랜잭션 기록을 보관하고 복구에 활용할 수 있습니다.
아카이브 로그 모드의 주요 이점
- 완전한 데이터 복구 지원
- 장애나 손실이 발생했을 때, 아카이브 로그를 활용해 가장 최근 상태까지 데이터를 복구할 수 있습니다.
- 온라인 백업 가능
- 데이터베이스가 실행 중일 때도 데이터를 백업할 수 있습니다.
- 데이터 보호 강화
- 중요한 데이터를 잃지 않도록 안전하게 보관합니다.
2. 아카이브 로그 모드 활성화
아카이브 로그 모드를 활성화하려면 데이터베이스를 MOUNT 상태로 변경한 뒤 설정을 적용해야 합니다.
설정 절차
- 데이터베이스의 현재 모드 확인
데이터베이스가 아카이브 로그 모드인지 확인합니다. - SELECT LOG_MODE FROM V$DATABASE;
- 아카이브 로그 모드로 변경
다음 단계를 순서대로 실행합니다: - -- 데이터베이스를 중지 SHUTDOWN IMMEDIATE; -- MOUNT 상태로 시작 STARTUP MOUNT; -- 아카이브 로그 모드 활성화 ALTER DATABASE ARCHIVELOG; -- 데이터베이스 열기 ALTER DATABASE OPEN;
- 아카이브 로그 경로 설정 확인
아카이브 로그 파일이 저장될 경로를 확인하거나 설정합니다. - SHOW PARAMETER LOG_ARCHIVE_DEST;
- 아카이브 로그 모드 활성화 여부 확인
설정이 완료되었는지 다시 확인합니다. - SELECT LOG_MODE FROM V$DATABASE;
3. 아카이브 로그 관리
아카이브 로그 모드가 활성화되면, 로그 파일이 지속적으로 생성되므로 효율적인 관리가 중요합니다.
1) 아카이브 로그 파일 목록 확인
아카이브된 로그 파일 정보를 조회할 수 있습니다:
SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME, ARCHIVED
FROM V$ARCHIVED_LOG;
2) 로그 파일 삭제
사용하지 않는 오래된 로그 파일은 삭제해 디스크 공간을 확보해야 합니다:
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
위 명령은 7일 이전의 모든 아카이브 로그를 삭제합니다.
3) 자동 로그 백업
아카이브 로그 파일을 주기적으로 백업하여 안전하게 보관합니다:
rman TARGET /
BACKUP ARCHIVELOG ALL DELETE INPUT;
이 명령은 백업 후 아카이브 로그 파일을 삭제합니다.
4) 디스크 공간 관리
아카이브 로그 파일 경로가 꽉 차면 데이터베이스가 멈출 수 있으므로, 적절한 디스크 공간을 유지해야 합니다.
4. 아카이브 로그 모드의 실무 활용
1) 장애 복구
데이터베이스 장애 발생 시 아카이브 로그를 활용하면 백업 시점 이후의 모든 데이터를 복구할 수 있습니다.
rman TARGET /
RUN {
RESTORE DATABASE;
RECOVER DATABASE;
}
2) PITR(Point-In-Time Recovery)
아카이브 로그를 사용해 특정 시점까지 데이터베이스를 복원할 수 있습니다.
rman TARGET /
RUN {
SET UNTIL TIME "TO_DATE('2024-12-01 10:00:00', 'YYYY-MM-DD HH24:MI:SS')";
RESTORE DATABASE;
RECOVER DATABASE;
}
3) 데이터 동기화
데이터베이스 복제나 스탠바이 데이터베이스(Standby Database) 구축 시 아카이브 로그를 활용하여 실시간 데이터를 동기화할 수 있습니다.
5. 비아카이브 로그 모드와 비교
특징 ARCHIVELOG MODE NOARCHIVELOG MODE
장애 복구 지원 | 백업 시점 이후까지 완전 복구 가능 | 백업 시점 이후 데이터는 복구 불가 |
백업 가능 여부 | 데이터베이스 실행 중 온라인 백업 가능 | 데이터베이스를 중지해야 백업 가능 |
로그 파일 처리 | 아카이브 로그 파일 생성 및 보관 | 로그 파일 덮어쓰기 |
디스크 공간 요구 | 아카이브 로그 저장 공간 필요 | 추가 디스크 공간 요구 없음 |
적용 환경 | 트랜잭션이 중요한 운영 환경 | 테스트 및 비중요 환경 |
6. 아카이브 로그 모드 설정 시 주의사항
- 디스크 공간 모니터링
아카이브 로그가 너무 많이 생성되면 디스크 공간 부족으로 데이터베이스가 중단될 수 있습니다. - 자동 백업 정책
아카이브 로그를 주기적으로 백업하여 데이터 손실 위험을 줄이고 디스크 공간을 확보합니다. - 권한 관리
아카이브 로그 파일 경로에 대한 적절한 읽기/쓰기 권한을 설정해야 데이터베이스가 정상적으로 로그를 기록할 수 있습니다. - 운영 환경 점검
아카이브 로그 모드가 적합한 운영 환경인지 확인하세요. 트랜잭션이 빈번하지 않은 환경에서는 비아카이브 로그 모드가 적합할 수 있습니다.
7. 결론
아카이브 로그 모드는 데이터 보호와 장애 복구를 위한 강력한 기능으로, 데이터베이스 운영에서 필수적인 역할을 합니다.
- 운영 환경: 트랜잭션이 빈번하고 데이터 손실이 치명적인 환경에서 반드시 사용해야 합니다.
- 효율적인 관리: 자동 백업 및 디스크 공간 관리를 통해 안정적인 운영을 유지해야 합니다.
아카이브 로그 모드를 올바르게 이해하고 활용하여 데이터베이스의 안정성과 복구 능력을 한 단계 높여보세요!
'Database' 카테고리의 다른 글
오라클 데이터 파일과 로그 파일의 이해 (0) | 2024.12.04 |
---|---|
오라클 UNDO 테이블스페이스의 역할과 관리 (0) | 2024.12.04 |
오라클 START WITH로 계층 쿼리 시작하기 (0) | 2024.12.04 |
오라클 SQL: CONNECT BY로 계층적 데이터 관리 (0) | 2024.12.04 |
오라클 WITH 절로 복잡한 쿼리 간소화하기 (0) | 2024.12.04 |