본문 바로가기
INFRA/DB

[ORACLE]Redo, Undo, Archive

by 근현대사 2023. 6. 24.
반응형

Redo, Undo, Archive

 

 모두 데이터베이스의 일관성과 내구성을 유지하기 위한 핵심 요소입니다. 각각의 역할과 기능은 다음과 같습니다
  1. Redo 로그:
    Redo 로그는 데이터베이스에서 발생하는 변경 작업을 기록하는 데 사용됩니다. Redo 로그는 시스템 장애 발생 시 데이터의 손실을 최소화하고 복구를 가능하게 합니다. 변경 작업(INSERT, UPDATE, DELETE 등)이 수행될 때마다 Redo 로그 버퍼에 기록되고, 일정 크기나 시간에 도달하면 디스크에 영구 저장됩니다. Redo 로그는 데이터베이스 복구 시에 사용되며, 시스템 장애 시에 변경 작업을 재실행하여 데이터베이스를 일관된 상태로 복구하는 데 도움을 줍니다.
  2. Undo 데이터:
    Undo 데이터는 트랜잭션의 롤백(Rollback)을 지원하고, 일관성 및 격리 수준을 유지하기 위해 사용됩니다. 트랜잭션 실행 도중 변경된 데이터는 Undo 세그먼트에 저장되어 이전 상태로 롤백될 수 있습니다. Undo 세그먼트는 롤백 세그먼트(Rollback Segment)로도 알려져 있습니다. Undo 데이터는 사용자에게 일관된 데이터 뷰를 제공하고 동시성 제어를 위해 사용됩니다.
  3. Archive 로그:
    Archive 로그는 Redo 로그의 영구 저장소입니다. Redo 로그는 주로 메모리 버퍼에 유지되지만, Archive 로그를 통해 디스크에 보관됩니다. Archive 로그는 데이터베이스의 백업과 장애 복구에 중요한 역할을 합니다. 주로 백업 용도로 사용되며, 데이터베이스의 전체 복구나 특정 시점으로의 복구에 사용될 수 있습니다. 또한, 데이터베이스의 로그 스위칭(Log Switching)과 관련하여 여러 개의 Redo 로그 그룹을 관리하는 데에도 사용됩니다.
Redo, Undo, Archive는 데이터베이스 시스템의 핵심 구성 요소로서, 데이터 일관성, 내구성, 백업 및 장애 복구에 중요한 역할을 담당합니다. 이들은 데이터베이스의 안정성과 가용성을 유지하는 데에 기여하며, 데이터의 손실을 최소화하고 시스템 장애 시 복구를 용이하게 합니다.

 

Redo, Undo, Archive 위치와 관리방법

 

  1.  Redo 로그는 물리적으로 두 가지 위치에 저장됩니다.
    a. Redo 로그 버퍼: Redo 로그 버퍼는 시스템 메모리 내의 영역입니다. 변경 작업(INSERT, UPDATE, DELETE 등)은 먼저 Redo 로그 버퍼에 기록됩니다. 이 버퍼는 데이터베이스가 실행 중인 동안에만 존재하며, 변경 작업이 발생할 때마다 버퍼에 기록됩니다.
    b. Redo 로그 파일: Redo 로그 파일은 디스크에 영구적으로 저장되는 파일입니다. Redo 로그 파일은 일련의 그룹으로 구성되며, 각 그룹은 여러 개의 멤버(log member)로 구성될 수 있습니다. 데이터베이스는 일정 크기나 시간 단위로 Redo 로그를 디스크에 기록하고, 기록이 완료되면 새로운 로그 그룹을 생성합니다.
    Redo 로그 관리 방법은 데이터베이스의 구성에 따라 다를 수 있지만, 일반적으로 오래된 로그 그룹은 Archive 로그로 이동하거나 백업 작업 후 삭제될 수 있습니다.
  2. Undo 데이터는 트랜잭션의 롤백을 지원하기 위해 두 가지 위치에 저장됩니다.
    a. Undo 세그먼트: Undo 세그먼트는 데이터베이스의 특정 세그먼트로 할당된 영역입니다. 이 영역은 트랜잭션 실행 도중 변경된 데이터의 이전 상태를 저장하는 데 사용됩니다. Undo 세그먼트는 일정 크기로 나누어지며, 활성 트랜잭션에 의해 사용되는 데이터는 Undo 세그먼트에 저장됩니다.
    b. Undo 테이블스페이스: Undo 테이블스페이스는 Undo 세그먼트의 논리적인 컨테이너입니다. 여러 개의 Undo 세그먼트가 포함될 수 있으며, 이러한 세그먼트는 트랜잭션의 동시성 제어를 위해 사용됩니다. Undo 테이블스페이스는 데이터 파일로 디스크에 저장되며, 필요에 따라 크기를 조정할 수 있습니다.
    Undo 데이터의 관리 방법은 UNDO_RETENTION 매개변수를 설정하여 유지 기간을 조정하거나, 자동으로 관리되는 옵션인 AUTOEXTEND를 사용하여 테이블스페이스 크기를 자동으로 확장하는 등의 방법으로 이루어집니다.
  3. Archive 로그는 디스크에 영구 저장되는 Redo 로그의 복사본입니다. 일반적으로 두 가지 위치에 저장됩니다.
    a. 로그 디렉토리: Archive 로그 파일은 운영 체제의 파일 시스템에서 지정된 로그 디렉토리에 저장됩니다. 이 디렉토리는 데이터베이스의 구성에 따라 설정되며, 여러 디렉토리를 지정하여 로그 파일을 분산 저장할 수도 있습니다.
    b. 백업 장치: Archive 로그 파일은 백업 장치(테이프 드라이브 등)로도 백업될 수 있습니다. 이를 통해 장애 시에 복구를 위한 보조 백업을 수행할 수 있습니다.
    Archive 로그는 주로 백업과 장애 복구에 사용되며, 데이터베이스의 복구 작업에서 중요한 역할을 담당합니다. Archive 로그 관리는 데이터베이스 관리자가 수동으로 수행할 수도 있으며, Oracle의 Enterprise Manager와 같은 도구를 사용하여 자동화된 관리도 가능합니다.
반응형

'INFRA > DB' 카테고리의 다른 글

DB(DATABASE)란  (0) 2023.06.17