-
[Oracle] Undo(언두)란개발/데이터베이스 2022. 1. 3. 01:12
데이터베이스의 변경사항을 롤백하거나 실행 취소하는데 사용되는 정보를 생성하고 관리합니다. 이러한 정보는 주로 커밋(Commit)되기 전의 트랜잭션 작업에 대한 기록으로 구성됩니다.
사용 용도
- Rollback 명령문 시 트랜잭션 Rollback
- Data base 복구
- 읽기 일관성 제공
- Flashback 기능을 사용하여 논리적 복구
- Flashback Query 사용하여 이전 시점의 데이터 분석
특징
- 트랜잭션 작업 기록
- 데이터를 변경하는 모든 트랜잭션에 대해 캡처된다.
- 적어도 트랜잭션이 종료될 때 까지는 보존된다.
- 지원하는 작업 :
- 롤백 작업
- 읽기 일관성 Query
- Oracle Flashback Query, Oracle Flashback Transaction, 및 Oracle Flashback Table
- 실패한 트랜잭션 recovery
트랜잭션 및 언두 데이터
- 각 트랜잭션은 하나의 언두 세그먼트에만 할당된다.
- 하나의 언두 세그먼트는 한 번에 여러 개의 트랜잭션을 처리할 수 있다.
Undo(언두) 데이터와 Redo(리두) 데이터 비교
언두 리두 기록 내용 변경 사항을 언두하는 방법 변경 사항을 재생성하는 방법 사용 목적 롤백, 읽기 일관성, Flashback 데이터베이스 변경사항 롤포워드 저장 위치 언두 세그먼트 리두 로그 파일 언두의 이미지가 원형으로 표현 된 것은 데이터가 서로 연결되어 돌아가는 것을 표현하려고 한 것이지 실제 모습은 아니라고 합니다. 언두 관리
자동 언두 관리- 전용 언두 테이블스페이스에서 언두 데이터 및 Undo space 관리 완전 자동화
- 모든 세션에 대해 적용
- 장기 실행 Query를 충족하도록 AUTOEXTEND 데이블 스페이스 자체 튜닝
- Retention을 최적화 하도록 고정 크기 테이블스페이스에서 자체 튜닝
Flashback 작업을 지원하는 DBA 작업
- 언두 Retention 구성
- 언두 테이블스페이스를 고정 크기로 변경
- 공간 및 "Snapshot too old" 오류 방지
언두 카테고리
카테고리 설명 활성 : 커밋되지 않은 언두 정보 활성 트랜잭션을 지원하며 uncommit 언두 정보는 덮어쓰이지 않는다. 만료되지 않음 : 커밋된 언두 정보 언두 retention 범위 내에 있어야 한다. 만료됨 : 만료된 언두 정보 활성 트랜잭션을 위한 공간이 필요하면 덮어쓰인다. '개발 > 데이터베이스' 카테고리의 다른 글
[Oracle] RMAN (0) 2022.01.17 [Oracle] Lock에 대한 정리 (2) 2022.01.10 [데이터베이스] 집합연산자 정리 (0) 2021.12.16 [데이터베이스] 시퀀스 정리 (1) 2021.12.05 [데이터베이스] 트리거 정리 (0) 2021.11.26