1. RAC 환경에서 Voting Disk Access 불가로 Undo Block Corruption 발생
RAC환경, Node당 약 3,000개 세션 접속중.
Voting Disk Access 불가로 CRS & DB 재기동되면서 ORA-600 [4097] Error !!
<== 1번 Undo block 문제이므로, 아래와 같이 조치.
undo_management = manual
_offline_rollback_segments=(...)
Drop & Re-create Undo TBS !!
. 재기동후 (Undo 재생성후) ORA-600 [4097] [25027] [kcfrdb_3] Error 발생
. undo$ 및 기타 Object 확인,
. PK, Index Rebuild Online으로 일부 해결됨.
. 모든 Index Rebuild 작업하다 CPU 100%로 Kill...
. 이후 Table 생성도 안됨
<==10046 trace 결과 obj$, seg$ 정상 insert, tab$ insert시 ORA-600 [4097]
. 모든 trace는 Undo 관련 Invalid Undo Header.... error 발생
. 각 Instance 별 Undo를 각각을 사용해야 하는데 1번 Instance가 2번 Undo segment를,
2번 Instance 1번 Undo Segment를 사용하고 있음.
2. 이후 복구시 생각할 것 들...
. Active Tx가 많은 상황에서 Undo Corrupt 복구시...
. system dbf backup
. SMON startup시 Active Tx Recovery 및 undo clean-up 하지 않도록
10511, 10513 Event를 함께 사용하여 했으면 ??
3. 해결방법 (ORA-600 [4097] [25027] [kcfrdb_3] ...
. _smu_debug_mode = 4
. _offline_rollback_segments=(...) <== 총 141개
. starup restrict; <== 142번 Undo가 생성됨, 기존은 _SYSSMU1$가 생성되어 꼬임...
. drop rollback segment ...;
. Drop TBS & Re-Create
4. undo_management = manual & _smu_debug_mode=4 차이 ??
## 참고자료
_smu_debug_mode 의미.
_smu_debug_mode=1024 and SMON event 10513, disable SMON tx recovery
## 2pc_pending Error 발생시 사용
rollback force '7.12.102';
Commit;
alter system set "_smu_debug_mode" = 4;
begin
dbms_transaction.purge_lost_db_entry('local_tran_id');
end;
## Undo 관련 자료
http://www.exemwiki.com/?p=2723
## 관련 event
10511, 00000, "turn off SMON check to cleanup undo dictionary"
// *Cause:
// *Action:
10512, 00000, "turn off SMON check to shrink rollback segments"
// *Cause:
// *Action
10513, 00000, "turn off SMON Parallel recovery"
// *Cause:
// *Action
댓글 없음:
댓글 쓰기