오라클에서 블록이란 것은 init<SID>.ora에 기록된 DB_BLOCK_SIZE에 지정된 값입니다.
디스크 상의 I/O가 일어나는 최소단위라고 생각하시면 됩니다.
따라서 하나의 블록에는 하나의 트랜잭션 이상은 기록할 수 없겠지요.
반면에 익스텐트란 것은 오라클이 추가적인 디스크 공간이 필요할 경우 할당하는 Chunk 입니다. 이건 테이블 스페이스나 테이블을 정의할 때 설정할 수도 있고, 디폴트
값이 쓰이기도 합니다.
이것은 블록에 비하면 상대적으로 단위가 크고, 항상 블록사이즈의 정수배가 됩니다.
오라클이 이렇게 추가적으로 익스텐트를 할당했다고 하더라도 해당 익스텐트를 한꺼
번에 다 쓰지는 않겠지요. 결국은 블럭단위로 기록이 이루어진다고 생각하시면 됩니다.
>>무식이 님께서 쓰시길<<
:: 오라클 문서를 보니까 다음과 같은 말이 있던데..
::
:: 롤백 세그먼트의 한 익스텐트에 하나 이상의 트랜잭션이 쓰기를 할수 있고,
:: 롤백 세그먼트의 각 블록은 오직 하나의 트랜잭션에서 나온 정보만을 기록할수 있음
::
:: 이말이 무슨 뜻인지 감이 오지 않네요..
::
:: 세그먼트는 여러 익스텐트로 구성되어 있고, 익스텐트는 여러개의 오라클블록으로 구성되어 있는데...
::
:: 여러 트랜잭션은 하나의 익스텐트에 쓸수 있고, 익스텐트의 오라클블록은 오직 한 트랜잭션의 정보만
:: 을 기록한다는 말인지?????
::
:: 그리고, 이것이 뭔말인지...감이 오지 않네요..
::
:: 답변해주시면 감사...
::
::
|