본문 바로가기

Web Develop Tech/Oracle9i Fundmantal II

ORACLE - Database Archive 모드 구성



목표


  • ARCHIVELOG 모드와 NOARCHIVELOG 모드 사이의 차이 설명
    • NOARCHIVELOG : 데이터베이스 운용 중에 리두로그의 기록을 하지 않습니다.
      • 백업 및 복구 시점에는 데이터베이스 운용을 중단해야 합니다.
      • 백업 시점과 복구시점이 아주 짧은 경우에는 아카이브 로그처럼 RECOVERY가 가능합니다.
      • 하지만 NOARCHIVELOG 모드시, 일반적으로는 백업 시점과 복구 시점이 짧은 경우가 없으므로 복구를 할 경우에는 백업시점부터 - 복구시점까지의 과정을 모두 수행합니다.
      • ROLLFORWARD 를 수행후, 다시 COMMIT되지 않은 데이터를 ROLLBACK 시킵니다.
    • ARCHIVELOG : 데이터베이스 운용 중에 리두로그의 기록을 계속 수행합니다.
      • 백업하는 날짜에 데이터베이스를 가동하면서 백업이 가능합니다.
      • 복구 시에도 복구할 파일만 OFFLINE으로 만들고 백업을 수행합니다.
      • 단점이라고 하면 아카이브 로그 파일이 남게될 비용(저장소)이 문제입니다.
      • 아카이브가 생성될 경로는 외부매체로 저장 및 전송이 불가능하며, 가동중인 DB가 설치된 PC의 다른 파티션 디스크 및 물리디스크에만 저장이 가능합니다.
  • ARCHIVELOG 모드를 위한 Database 구성
  • 자동 Archive 활성화
  • Log에 대한 수동 Archive 수행
  • 여러 Archive Process 구성
  • 원격 대상을 포함하는 여러 대상 구성

▶Redo Log History

▶NOARCHIVELOG Mode

▶ARCHIVELOG Mode

  • 시퀀스 번호를 기준으로 아카이브 로그를 생성합니다.

▶ARCHIVELOG Mode 변경

  • ALTER DATABASE 변경을 해야합니다.
  • 이 모드 변경을 할 때는, MOUNT 상태여야 합니다.
  • 아카이브 프로세스가 필요하며, 아카이브 파일이 생성될 경로 및 형식이 지정해야 합니다. 3가지 파라미터 설정
    1. SPFILE이라면, 위의 그림 1번 수행 전에, PFILE 이라면 위의 그림 1번 수행 후에 파라미터 수정을 해주어야 합니다.
    2. 정상적으로 종료 /abort 하면 안됩니다.
    3. startup mount 를 통하여, ALTER DATABASE ARCHIVELOG 모드로 변경합니다.
    4. ALTER DATABASE OPEN

▶자동 및 수동 아카이브

  • 자동 : LOG_ARCHIVE_START = TRUE
    • 일반적으로 위의 방식을 사용합니다.
  • 수동: LOG_ARCHIVE_START = FALSE
    • 아카이브를 DBA가 수동으로 해주어야 합니다.

▶복수 ARCn Process 설정

  • Dynamic parameter인 LOG_ARCHIVE_MAX_PROCESSES는 Instance 시작 시 시작되는 Archive Process의 수를 제어한다.
  • 최고 10개의 Arcn Process 지정할 수 있다.
    • 동적 파라미터이기 때문에 운용중에도 수시로 변경이 가능합니다.
  • Arcn Process의 수는 ALTER SYSTEM으로 변경할 수 있다.

▶추가 아카이브 프로세스 정지 또는 시작

▶인스턴스 시작 시 자동 아카이브 활성화

  • 위 그림의 두 개 파라미터는 초기에 지정해놔야 합니다.

▶인스턴스 시작 후 자동 아카이브 활성화

  • ARCn은 필수 백그라운드 프로세스가 아니기 때문에, 인스턴스 다운을 발생시키지 않지만, 아카이버는 필수가 아니기 때문에, 다운이 된다면 아카이브만 정지됩니다.
  • 이때 DBA는 DB를 함부로 내려서는 안되며, ALTER SYSTEM ARCHIVE LOG START를 이용하여 실행시킵니다.

▶자동 아카이브 비활성화

  • DBA는 ALTER SYSTEM ARCHIVE LOG STOP 명령을 통하여 아카이브를 수시로 정지시킬 수 있습니다.

▶아카이브 로그 대상 지정

  • LOG_ARCHIVE_DEST_n을 사용하여 최고 10개의 Archive 대상을 지정한다.
  • LOG_ARCHIVE_FORMAT을 사용하여 Log Sequence Number와 스레드 번호를 File이름의 일부로 포함시킨다.
    • 일반적으로 arch_%t_%s.arc 로 지정했다면. arch_과 .arc는 의미가 없습니다.
    • 확장자는 중요하지 않습니다.
    • %t : 스레드를 의미합니다.
      • 스레드는 다른말로 인스턴스를 의미합니다. > 싱글 데이터베이스라면. 이 스레드도 의미가 없습니다.
      • 다만, 스레드가 병렬서버일 경우에는 의미가 있습니다.
    • %s : 시퀀스번호를 의미합니다.
      • 말 그대로 로그의 헤더에 기록되는 시퀀스 번호를 의미합니다.
    • 참고 : 소문자를 권장합니다. 대문자를 포함하면.. 운영체제가 짜증나게 해요!!!!

▶복수 아카이브 로그 대상 지정

  • LOG_ARCHIVE_DEST_n을 사용하여 최고 10개의 Archive 대상 지정한다. Archive 대상은 다음 위치에 있을 수 있다.
    • 로컬 디스크
    • 원격 Standby Database
      • 운용중인 DB와 동일하게 셋팅만 해놓고, 대기하는 데이터 베이스입니다.
      • 실제 많이 사용하지 않지만,
      • LOCATION 이 로컬디스크라는 말입니다. 뒤에는 경로가 들어갑니다.
      • 두번째 경로에는 SERVICE가 나왔는데, 이 서비스는 TNS에 있는 서비스 입니다. 원격이죠.

▶LOG_ARCHIVE_DEST_n옵션

  • Archive 위치를 MANDATORY 또는 OPTIONAL로 설정한다.
  • Failure 후 재시도하기 전까지의 시간을 정의한다.
    • REOPEN : 초 단위 시간을 정의해주면 그 시간만큼 대기하다가 다시 재시작하기 위한 대기시간입니다.

▶Local 대상의 최소 수 지정

  • LOG_ARCHIVE_MIN_SUCCEED_DEST parameter
  • >>>>>>>>>>>>>" log_archive_min_succed_dest = 2 "
  • online redo log group 을 재사용할 수 있는 경우
    • Archive를 모두 Mandatory 위치에서 수행한 경우
    • Archive 된 로컬 위치의 수가LOG_ARCHIVE_MIN_SUCCEED_DEST parameter의값보다 크거나 같은 경우

▶대상으로의 Archive 제어

  • Archive 대상은 Dynamic 초기화 parameter LOG_ARCHIVE_DEST_STATE_n 로 비활성화
  • 대상에 대한 Archive를 다시 활성화

▶파일 이름 형식 지정

▶Archive Log 정보 얻기

요약


  • ARCHIVELOG 모드를 위한 Database 구성
  • 자동 Archive 활성화
  • Log에 대한 수동 Archive 수행
  • 여러 Archive Process 구성
  • 여러 대상 구성