본문 바로가기
DB/ORACLE

DB 엔진 - DB block header

by jun.s.gi 2022. 12. 26.
728x90

Segment의 첫 번째 Extent의 첫 번째 block은 Segment header block이다.

header 구성  
Block id block의 위치 주소
Transaction slot block 내부의 row에 마지막으로 실행됐던 트랜잭션에 대한 정보를 담는다. 디폴트로 5개를 유지한다.

1) Transaction id : Tr의 id
2) Commit scn : 마지막으로 commit 된 시간 도메인 
3) UBA(Undo block Address) : undo data 주소

UBA는 undo segment의 header에 Transaction table에도 존재함.

undo segment transaction table에 UBA의 주소로 가면 

 - update(DML), transaction id, file id, block id, row id, column 명, old data 값 등 undo 데이터가 저장되어있다.

 

Row ID

 - 테이블에 row를 insert하는 순간 row id가 생성된다.

처음 6자리 : Object ID로 단 한 개이다.

다음 3자리 : Relative file address로 물리적 상대주소임, 파일을 찢어내거나 하면 바뀜

다음 6자리 : Block address

다음 3자리 : Row id

728x90

'DB > ORACLE' 카테고리의 다른 글

DB 엔진 - 도메인 char, varchar2  (0) 2022.12.28
DB 엔진 - 병행성과 일관성, Lock  (0) 2022.12.26
DB 엔진 - 기동 순서, 복구, 백업  (0) 2022.12.23
DB 엔진 - Execution  (0) 2022.12.22
DB 엔진 - Parsing, hash value  (0) 2022.12.20