728x90
반응형
Oracle 데이터베이스의 UNDO 세그먼트
Oracle 데이터베이스에는 UNDO 세그먼트라는 특수한 영역이 있어, 트랜잭션이 진행되는 동안 변경되기 전의 데이터를 저장합니다. 이 세그먼트는 트랜잭션 시작 시 자동으로 할당되며다음과 같은 목적으로 사용됩니다.
- 트랜잭션 롤백: 사용자가 트랜잭션을 롤백하거나 시스템 오류로 인해 트랜잭션이 비정상적으로 종료될 경우 데이터를 복구하는 데 사용됩니다.
- 읽기 일관성: 트랜잭션이 진행되는 동안 다른 사용자가 커밋되지 않은 변경 사항을 확인할 수 없도록 하여 트랜잭션 진행 전의 데이터 상태를 보장합니다.
ROLLBACK Segment / UNDO Segment
Oracle 8i 이전 버전에서는 롤백 세그먼트가 사용되었습니다. 이러한 세그먼트는 수동으로 관리되어야 했으며 크기 및 할당에 문제가 발생하는 경우가 많았습니다.
Oracle 9i에서는 UNDO 세그먼트가 도입되어 자동 관리 기능이 추가되었습니다. 이를 통해 사용자의 관리 부담이 줄어들었습니다. 하지만 log SQL 문이 실행될 때 오류가 발생하는 문제가 여전히 존재했습니다.
Oracle 10g에서는 UNDO_RETENTION 자동 최적화 기능이 추가되어 이러한 문제가 해결되었습니다.
UNDO와 REDO의 차이점
UNDO와 REDO는 데이터 변경을 처리하는 데 사용되는 두 가지 주요 Oracle 구성 요소입니다. 주요 차이점은 다음과 같습니다.
UNDO는 트랜잭션 중심, REDO는 데이터 중심!
- UNDO는 트랜잭션 중심이며 변경 사항을 롤백하는 데 사용됩니다.
- REDO는 데이터 중심이며 커밋된 변경 사항을 영구적으로 저장하는 데 사용됩니다.
UNDO 관련 파라미터
UNDO 세그먼트에는 다음과 같은 중요한 구성 파라미터가 있습니다.
- UNDO_MANAGEMENT: 자동 UNDO 관리 모드를 자동(AUTO) 또는 수동(MANUAL)으로 설정합니다.
- UNDO_TABLESPACE: UNDO 세그먼트를 저장할 테이블 스페이스를 지정합니다.
- UNDO_RETENTION: 커밋된 데이터에 대한 UNDO 데이터 보관 최소 시간을 초 단위로 지정합니다.
올바르게 구성된 UNDO 세그먼트는 Oracle 데이터베이스의 데이터 무결성과 성능에 필수적입니다.
728x90
반응형
'ORACLE > 아키텍처 기초' 카테고리의 다른 글
[Oracle] Bigfile Tablespace (BFT) (1) | 2024.04.25 |
---|---|
[ORACLE] 클러스터링 팩터(Clustering Factor) (0) | 2024.04.25 |
오라클 아키텍쳐 (5) Checkpoint (0) | 2023.09.14 |
오라클 아키텍쳐 (4) Redo Log File (0) | 2023.09.12 |
오라클 아키텍쳐 (3) Control File (0) | 2023.09.11 |