1) 트랜잭션이 발생하면 비활성 상태의 익스텐트에 before image를 기록 합니다. (1번 익스텐트라고 가정)
2) 트랜잭션이 길어지면 2번 익스텐트에 계속 쓰기를 합니다. (2번 익스텐트) 트랜잭션이 새 익스텐트에 쓰기 시작하는 이 단계를 wrap 이라 부릅니다
3) 2번 익스텐트에서 기록을 하다가 공간이 부족하면 다시 3번 익스텐트로 확장을 합니다.
4) 3번 익스텐트가 아직 활동(Active)중이라면 4번 익스텐트에 가지 않고 새로운 익스텐트를 생성합니다. 이것을 확장(extend)라고 부릅니다. 포인터는 익스텐트를 건너 뛰어 두번째, 또는 그 외의 익스텐트로 이동할 수 없습니다 롤백세그먼트는 circular 구조로 되어있기 때문이죠.
롤백 세그먼트는 이러한 방식으로 MAXEXTENTS 파라미터에 지정된 익스텐트의 최대 갯 수에 도달할 때까지 성장(grow)할 수 있습니다.
롤백 세그먼트가 성장된 후 Active중이던 Extent가 트랜잭션의 완료로 InActive되면 롤백 세그먼트는 OPTIMAL 파라미터에서 지정한 크기(Byte)로 Extent를 반환해서 공간을 할당 해제함으로써 자동으로 크기를 축소 합니다.
ALTER ROLLBACK SEGMENT명령으로 크기를 감소시킬 수 있습니다.
ALTER ROLLBACK SEGMENT 롤백세그먼트이름 SHRINK [TO Integer K|M ]
크기를 지정하지 않으면 OPTIMAL에서 지정한 크기로 감소합니다.
- 강좌 URL : http://www.gurubee.net/lecture/1727
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.