select rowid ,
dbms_rowid.rowid_object(rowid) as data_object_id, -- 오브젝트 ID
dbms_rowid.rowid_relative_fno(rowid) as file_id, -- 데이터파일 ID
dbms_rowid.rowid_block_number(rowid) as block_id, -- 블록 ID
dbms_rowid.rowid_row_number(rowid) as row_slot, -- 로우 슬롯 ID
employee_id
from hr.employees;

select file_name from dba_data_files where file_id=5;

! dd if=/dev/zero of=/u01/app/oracle/oradata/ORA19C/example01.dbf bs=8192 seek=168 count=2 conv=notrunc :

메모리에 있는 값을 불러올 수 도 있으니 메모리값 초기화
alter system flush buffer_cache;
장애가 발생된걸 확인할 수 있다.

rman에서 전체 체크
validate database;
- 문제가 없는 파일 같은 경우는 OK로 표시되지만, 문제가 있을 경우 FAILED로 표시됨

문제가 있는 데이터파일만 체크
validate datafile 5;

validate로는 문제가 생긴 block_id까지는 알 수 없어 list failure로 확인해야한다.

rman을 통해 failure에 대한 advise를 받고 복구 스크립트 확인
- recover을 block 단위로 하는걸 볼 수 있다.

자동복구
repair failure;
