1. 언두 유지 시간 ( Undo Retention Time)
참고
언두 유지 (Undo Retention) : 자동 언두 관리 방식을 사용할 때 비시스템 언두 세그먼트의 데이터를 언두 유지 시간 설정만큼 유지하는 기능
2. 비시스템 언두 세그먼트의 익스텐스 상태
3. 오라클 9i에서의 언두 유지 기능
3.1 익스텐트 훔치기 (Extent Stealing)
9i에서 사용하는 기능으로 사용 중인 트랜잭션이 없으나 언두 유지 시간 설정에 의해 유지되고 있는 언두 익스텐트를 재사용하는 기능
--> 이 기능으로 인해 크기가 부족한 경우 ORA-1555 snapshot too old 에러가 발생할 가능성이 높다.
4. 오라클 10g에서의 언두 유지 기능
4.1 익스텐트 훔치기 (Extent Stealing)
4.2 자동 언두 유지 (Automatic Undo Retention)
참고
v$UNdOSTAT에서 동적으로 변하는 언두 유지 시간 값을 확인할 수 있다. 이 뷰는 10분 간격으로 언두 세그먼트 사용 통계 수치가 표시된다.
select to_char(begin_time, 'YYYY-MM-DD HH24:MI') begin_time,
to_char(end_time, 'YYYY-MM-DD HH24:MI') end_time,
maxquerylen max_sql, tuned_undoretention
from v$undostat;
4.3 언두 테이블스페이스 생성 옵션
4.3.1. undo 영역 유지에 관련된 것
--> 설정값 변경이 가능하다.
-- 개런티 모드로 생성
create undo tablespace undotbs1
datafile '/oradata/undo/undotdbs1.dbf' size 100M
retention guarantee;
-- 노개런티로 바꿈
alter tablespace undotbs1 retention noguarantee;
-- 설정값 확인
select tablespace_name, retention
from dba_tablespaces
where tablespce_name in ('undotbs1','undotbs2')
4.3.2 테이블 스페이스 공간 관련
-- 사용 예
create undo tablespace undodtbs1
datafile '/oradata2/undotbs1.dbf' size 50M
autoextend on next 10M maxsize 500m;
-- 조회
select tablespace_name, file_name, autoextensible, maxbytes
from dba_data_files
where tablespace_name in ('UNDOTBS1','USERS')