개요
Data Block Address는 데이터파일 번호와 블록번호가 결합된 주소로 데이터 블록이 데이터 파일의 몇번째에 위치한 블록인지를 알려주는 주소값입니다.
DBA(Data Block Address) 값으로 해당 block number, datafile 번호를 확인하는 방법을 안내합니다.
방법
DBA(Data Block Address) 값이 16871262 일 때,
datafile 번호는 dba 값의 상위 10bit, block 번호는 dba 값의 하위 22bit입니다.
아래는 2진수로 변경하여, Datafile 번호, Block Number, Object 검색하는 방법입니다.
1.
DBA번호를 2진수로 변경합니다.
•
16871262 → 1000000010110111101011110
2.
하위 22bit 와 나머지 비트로 구분합니다.
•
100 / 0000010110111101011110
•
Datafile 번호 : 100(2) => 4(10)
•
Block Number : 0000010110111101011110(2) => 94046(10)
3.
위에서 구한 값을 통해 Object를 검색합니다.
select * from dba_extents
where file_id=4
and 94046 between block_id
and (block_id + blocks - 1);
SQL
복사