● 개요
Block Corruption을 찾을 수 있다.
- Analyze
- Dbverify
- DB_BLOCK_CHECKING
- DBMS_REPAIR
RMAN을 이용하여 Block Corruption을 repair 할 수 있다.
● Block corruption이란?
: 오라클 포맷이라고 인식되지 않은 블럭을 말한다.
◎ block을 읽거나 쓸 때마다 일관성 검사가 수행됨
- block 버전
- Cache에 있는 Datablock Address(DBA)와 block buffer의 주소를 비교
- block checksum : check의 합
◎ corrupt block의 종류
- disk corrupt
- logically(software) corrupt
● ORA-01578 : "ORACLE data block corrupted (file # %s, block # %s)": 에러
- corrupted data block을 찾았을 때 발생된다.
- alert.log에 남음
- 같은 file과 block이 자주 발생하면 media corruption일 가능성이 큼
- 다른 flie과 block이 발생하면 software일 가능성이 큼
● Block Corruption 관련 특징
◎ dbverify
: 파일에 훼손된 블럭이 있는지 검사하는 유틸리티
블럭 일관성 확인.
◎ analyze
: logical block check를 수행함.
◎ db_block_checking
: block check 관련 파라미터
TRUE일 경우, 모든 데이터 블럭들에 대해 블럭 checking을 수행
◎ db_block_checksum
: 데이터 블럭헤더에 쓸 때 검사.파라미터
셋팅하는 것을 권장.
◎ exp
: export중 block corruption이 있으면 도중에 멈춤
◎ flashback
◎ dbms_repair package
: 8i부터 사용가능.
손상된 블럭을 marking.또는 skip
◎ BMR(Block Media Recovery)
: 9i부터 사용가능.
MTTR을 낮춘다.
복원에 적절한 백업을 알아서 찾음.
기타 참고사항
- DBA
: Data Block Address의 약자
- Fix와 Repair의 사전적 의미
- Fix : 간단한 것을 고침
- Repair : 기술력이 많이 드는 것을 고침
'ORACLE > TroubleShooting' 카테고리의 다른 글
11gR2 GI PSU Patch 적용 작업 시 공간 부족 에러 사례 (0) | 2013.05.30 |
---|---|
2pc pending 처리 사용예 (Two Phase-Commit) (0) | 2012.12.06 |
ora-01578 (0) | 2012.08.08 |
ORA-1578 ORA-26040 in a LOB segment - Script to solve the errors [ID 293515.1] (0) | 2012.08.07 |
Handling Oracle Block Corruptions in Oracle7/8/8i/9i/10g/11g (0) | 2012.08.07 |