Data block이나 Index block이 corrupt 난 경우


이 방법은 백업으로 복구가 불가능 할경우 최대한 마지막 방법 입니다. 오라클 권고 사항은 절대 아닙니다. 


Data block이나 Index block corruption으로 인해 startup 되지
않거나 어떤 object select못할 경우에 다음과
같은 event 사용 합니다.

 


10210
:
Check Data block integrity


  event 지정하면 kernel 강제적으로 data block 대한 integrity check 하도록 한다. event 지정하면 data
block
Disk에서 Cache 읽혀질 check 한다. 만약 corrupt 발생 했다면, ORA-600 error
발생 시키고, 해당 block corrupted
block
이라는 mark 한다(sequence number 0).  event 지정하면
performance
5~10% 감소  된다.


10211
:
Check Index block integrity


  event index block
대한 integrity
check
하도록 한다.


10231
:
Skip corrupted block on << table scan
>>


  event 지정하면 scan corrupted
block
skip한다. 그리고 trace
file
생성한다.


10232
:
Dump corrupted blocks symbolically gotten by
<<kcbget>>


  Corrupted Block 대한 정보를 Dump한다.


 


 

Block corrupt
대표적인 error
ORA-00600[3398], ORA-00600[4519], ORA-00600[3339]
이다.  만약
ORA-00600[3398]
발생 했다고
가정하면

우선 init.ora 아래의 event 지정합니다.


  event=”10210 trace name context forever,
level 10″

  event=”10211 trace name context forever,
level 10″


 이후 database startup 후에 trace 발생하면 어떤 object error인지를 파악할
있습니다. 만약 table error 경우에는


                  event=”10231
trace name context forever, level 10″


지정하고 해당 table export받은 후에 drop 하고
다시 import하면 됩니다.


만약 index 경우에는 해당 index drop 후에 재생성
하면 됩니다.


Comments

comments

haisins

오라클 DBA 박용석 입니다. haisins@gmail.com 으로 문의 주세요.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다