- Cache Layer Data Block Header
20 Bytes (Fixed)
_ Data Block Address
_ INC : 소속된 Segment 가 변경될 때마다 증가 (4 bytes)
_ SEQ : Block 에 대한 수정이 발생할 때마다 증가 (4 bytes)
_ Data Struct Version
_ Block Type
- Transaction Layer Data Block Header
24 Bytes (Fixed) + 23 Bytes (1 ITL Entry) = 47 Bytes
_ SCN (System Change Number)
_ Number of ITLs
_ Flag (‘O’: on the free list, ‘-‘:not on the free list)
_ Type of Block (1 : Data, 2:Index)
_ Data Block Address of the next block on the free list
- Transaction Layer ITL Entries
Variable Length. 23 * (Number of ITLs – 1)
_ Transactin ID
_ undo block address
_ flag
_ Number of rows affected by this transaction
- ITL(Interested Transaction List) -
_ Block을 변경하는 모든 Transaction 은 ITL을 만들게 되며, Block 마다 기록됨.
_ INITRANS : Initial number of ITLs when a segment is created
_ MAXTRNS : Maximum number of ITLs for a given segment block
- Data Layer Fixed Header
14 bytes (Fixed)
_ block의 data area size
_ data layer header size
_ address pointer to the buffer holding the block
_ flag
_ number of tables
_ number of rows in the block
_ free space size
- Data Layer Variable Header
Number of tables * 4 + Number of rows * 2 (Table Directory, Row Dicrectory)
_ location of row
- Data Block Trailer (End of Block 4 bytes)
4 Bytes (Fixed) consists of INC + SEQ
Row Structure in a Block
- Row Header Information
_ row가 속한 table
_ row directory 상에 표현된 row index
_ row size(header + data)
_ flag
_ ITL entry or 0 (if the row is not locked)
* Row Chaining
- Row길이가 block size를 초과하는 경우 몇 개의 block에 걸쳐서 chaining된다.
- 한 row가 update되는데 필요한 free space가 부족하면 그 row는 다른 block으로 migrate된다.
- Row Chaining 이 발생해도 원래 Row 의 ROWID값은 변하지 않음 (ROWID 는 ROW 생성후 삭제시까지 변하지 않음)
- Chaining 이 많이 발생하면 많은 block을 access하여야 하므로 I/O performance가 저하된다.
'DB - ORACLE > Oracle DB Admin ' 카테고리의 다른 글
Oracle Enqueue 의 종류별 설명 (0) | 2015.09.07 |
---|---|
Create Table 테이블 생성문의 Storage Option 설명 (0) | 2015.09.03 |
Session vs Connection (0) | 2015.09.03 |
PARTITIONED INDEX의 종류 및 INDEX UNUSABLE 상태 정리 (0) | 2015.08.31 |
딕셔너리 통계정보 확인 방법(DBMS_STATS.SET_TABLE_STATS) (0) | 2015.08.31 |