ORACLE

오라클 12C UNDO TABLESPACE 관리

정보 집합 2023. 10. 11. 15:35
반응형

undo 테이블은 롤백하거나 실행취소에 사용되는 테이블 스페이스 입니다.

커밋전 기록했다가 롤백시 복구 용으로 사용됩니다.

 

dba_tablespaces 에서 CONTENTS 컬럼이 UNDO로 설정되있으면 UNDO 테이블 스페이스입니다.

 

UNDO EXTENT는 4가지 상태로 변경되는데 아래 쿼리로 상태가 확인 가능하다.

 

 

 

select e.tablespace_name,e.status,e.u_size,f.f_size from 

(select e.tablespace_name,e.status,(sum(e.bytes)/1024/1024) as u_size from dba_undo_extents e
group by e.tablespace_name,e.status) e

inner join 

(select f.tablespace_name,sum(f.bytes)/1024/1024 as f_size from dba_data_files f
group by f.tablespace_name) f on f.tablespace_name = e.tablespace_name
order by e.tablespace_name,e.status;

1. EXPIRED : 저장 보증기간이 지남 FREE로 반환은 안되있고 rewrite 가능

2. UNEXPIRED : 쿼리는 끝났지만 저장 보증기간이 지나지 않아 아직 저장하고있음

3. ACTIVE : DML을 실행중 

4. FREE : free_extent 상태 위 쿼리에서는 안나오고 dba_free_extents로 조회해야 확인 할 수 있다.

    commit후 특정 상황에서 EXPIRED에서 반환된다.

 

 

 

 

 

* 언두 테이블 스페이스 RETENTION 속성

1.GUARANTEE : 언두 유지시간을 엄격히 적용

2.NOGUARANTEE : 공간이 모자랄 경우 기존 유지기간을 지키지 않고 오래된 것부터 해지하면서 관리

 

* AUTO 자동확장/수동확장 같은경우는 dba_data_files에 autoextensible 속성으로 확인

1.YES : 파일할당 용량 자동 확장

2.NO: 파일할당 용량 수동확장

 

* show parameter undo  [  undo_retention 속성 ] : 오라클 UNDO 유지시간 (단위 초)

- 초기화 파일에서 설정하거나, ALTER SYSTEM 명령을 사용하여 동적으로 수정 가능

 

=============== UNDO 테이블 스페이스 관리에는 ===============

테이블 스페이스의 RETENTION 속성과 dba_data_files의  autoextensible  속성을 조합하여 나오는

4가지 방법이 있습니다.

 

1. NO + NOGURENTEE :

보증시간이 345,600초(4일)와 UNDO_RETENTION 중 큰 값으로 설정되고 EXPIRED 가용확인 => FREE_EXTENT가용확인 =>autoextensible이 NO이기 때문에 파일확장이 안되서 패스 => UNEXPIRED 가용확인 =>오류

 

2. YES + NOGURENTEE :

v$undostat의 maxquerylen의 길이 +300초 또는 undo_retention속성중 큰 초로 보증시간이 설정되고 EXPIRED 가용확인 => FREE_EXTENT가용확인 =>autoextensible이 YES이기 때문에 파일확장 가용확인=>  UNEXPIRED 가용확인 =>오류 

 

3.NO + GURENTEE :

보증시간이 345,600초(4일)와 UNDO_RETENTION 중 큰 값으로 설정되고 EXPIRED 가용확인 => FREE_EXTENT가용확인=>autoextensible이 NO이기 때문에 파일확장이 안되서 패스 => UNEXPIRED 가용확인 =>오류

 

4.YES + GURENTEE :

v$undostat의 maxquerylen의 길이 +300초 또는 undo_retention 속성중 큰 초로 설정되고 EXPIRED 가용확인 => FREE_EXTENT가용확인 => autoextensible이 YES이기 때문에 파일확장 가용 확인 => UNEXPIRED 가용확인 =>오류

 

==========오우 쒯 어려워==========

 

 

 

 

 

반응형