본문 바로가기
Database

오라클 데이터베이스의 아카이브 로그 모드 이해하기

by 굿센스굿 2024. 12. 4.
반응형


오라클 데이터베이스의 **아카이브 로그 모드(ARCHIVELOG MODE)**는 데이터베이스의 장애 복구, 백업, 데이터 보호를 위한 중요한 기능입니다. 아카이브 로그 모드는 데이터베이스의 트랜잭션 로그를 안전하게 보관하여 데이터 복구를 지원합니다. 이 글에서는 아카이브 로그 모드의 개념, 설정 방법, 운영 전략, 그리고 실무 사례를 살펴보겠습니다.


1. 아카이브 로그 모드란?

오라클 데이터베이스는 모든 트랜잭션을 **로그 파일(Redo Log)**에 기록합니다.

  • 비아카이브 로그 모드(NOARCHIVELOG MODE): 로그 파일이 채워지면 새로운 로그 파일로 덮어쓰기(Overwrite)됩니다. 과거 로그 파일은 유지되지 않으므로 장애 발생 시 복구 범위가 제한됩니다.
  • 아카이브 로그 모드(ARCHIVELOG MODE): 로그 파일이 채워질 때마다 해당 로그 파일을 다른 위치에 백업(아카이빙)합니다. 이를 통해 모든 트랜잭션 기록을 보관하고 복구에 활용할 수 있습니다.

아카이브 로그 모드의 주요 이점

  1. 완전한 데이터 복구 지원
  2. 장애나 손실이 발생했을 때, 아카이브 로그를 활용해 가장 최근 상태까지 데이터를 복구할 수 있습니다.
  3. 온라인 백업 가능
  4. 데이터베이스가 실행 중일 때도 데이터를 백업할 수 있습니다.
  5. 데이터 보호 강화
  6. 중요한 데이터를 잃지 않도록 안전하게 보관합니다.

2. 아카이브 로그 모드 활성화

아카이브 로그 모드를 활성화하려면 데이터베이스를 MOUNT 상태로 변경한 뒤 설정을 적용해야 합니다.

설정 절차

  1. 데이터베이스의 현재 모드 확인
    데이터베이스가 아카이브 로그 모드인지 확인합니다.
  2. SELECT LOG_MODE FROM V$DATABASE;
  3. 아카이브 로그 모드로 변경
    다음 단계를 순서대로 실행합니다:
  4. -- 데이터베이스를 중지 SHUTDOWN IMMEDIATE; -- MOUNT 상태로 시작 STARTUP MOUNT; -- 아카이브 로그 모드 활성화 ALTER DATABASE ARCHIVELOG; -- 데이터베이스 열기 ALTER DATABASE OPEN;
  5. 아카이브 로그 경로 설정 확인
    아카이브 로그 파일이 저장될 경로를 확인하거나 설정합니다.
  6. SHOW PARAMETER LOG_ARCHIVE_DEST;
  7. 아카이브 로그 모드 활성화 여부 확인
    설정이 완료되었는지 다시 확인합니다.
  8. 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. 아카이브 로그 모드 설정 시 주의사항

  1. 디스크 공간 모니터링
    아카이브 로그가 너무 많이 생성되면 디스크 공간 부족으로 데이터베이스가 중단될 수 있습니다.
  2. 자동 백업 정책
    아카이브 로그를 주기적으로 백업하여 데이터 손실 위험을 줄이고 디스크 공간을 확보합니다.
  3. 권한 관리
    아카이브 로그 파일 경로에 대한 적절한 읽기/쓰기 권한을 설정해야 데이터베이스가 정상적으로 로그를 기록할 수 있습니다.
  4. 운영 환경 점검
    아카이브 로그 모드가 적합한 운영 환경인지 확인하세요. 트랜잭션이 빈번하지 않은 환경에서는 비아카이브 로그 모드가 적합할 수 있습니다.

7. 결론

아카이브 로그 모드는 데이터 보호와 장애 복구를 위한 강력한 기능으로, 데이터베이스 운영에서 필수적인 역할을 합니다.

  • 운영 환경: 트랜잭션이 빈번하고 데이터 손실이 치명적인 환경에서 반드시 사용해야 합니다.
  • 효율적인 관리: 자동 백업 및 디스크 공간 관리를 통해 안정적인 운영을 유지해야 합니다.

아카이브 로그 모드를 올바르게 이해하고 활용하여 데이터베이스의 안정성과 복구 능력을 한 단계 높여보세요!

반응형