ORACLE/TroubleShooting2012. 8. 8. 10:45
반응형

● 개요

Block Corruption의 원인을 확인할 수 있다.
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

     : 파일에 훼손된 블럭이 있는지 검사하는 유틸리티
       블럭 일관성 확인.

OS] dbv 파일명

  ◎ analyze
     : logical block check를 수행함.

SQL> analyze table table_name validate structure cascade;

  ◎ 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을 낮춘다.
      복원에 적절한 백업을 알아서 찾음.

RMAN> BLOCKRECOVER DATAFILE 5 BLOCK 49, 50, 51, 52;


기타 참고사항

- DBA
  : Data Block Address의 약자


- Fix와 Repair의 사전적 의미
  - Fix : 간단한 것을 고침
  - Repair : 기술력이 많이 드는 것을 고침

Block_Corruption.pdf

반응형
Posted by [PineTree]