티스토리 뷰

[ undo segment 할당 원리 ]
undo tablespace안에 undo segment가 할당되어 있는 구조.
segment에 할당되지 않은 사용자가 신규로 접속해서 DML을 수행할 경우, 해당 사용자의 서버 프로세스는 트랜잭션이 완료된 세그먼트가 있을 경우 그 undo segment를 덮어쓴다. 
모든 사용자가 트랜잭션 완료 전이라면 새로운 undo segment 생성하여 기록한다. 
이렇게 undo segment가 데이터파일의 저장공간이 허용하는 범위까지 늘어나다가 만약 데이터 파일에 더 공간이 없으면, 하나의 세그먼트에 두 개 세션 이상의 undo data를 기록한다.
그런 다음에도 공간이 없을 경우 해당 트랜잭션은 에러가 발생한다. 

undo tablespace는 크기가 증가하고 줄어들지는 않는 구조이다. 한 가지 대안은 다른 작은 크기의 undo tablespace를 신규로 생성해 undo tablespace를 그곳으로 변경 후 기존 undo tablespace를 삭제하는 방법이 있다. 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함