redo log 대량 생 성 진단 처리 프로 세 스

redo log 대량 생 성 진단 처리 프로 세 스
본문 은 오리지널 문장 이 니 전재 할 때 출처 를 밝 혀 주 십시오.
http://write.blog.csdn.net/postedit/41249705 1. 압축 파일 로그 폭 증 시간 대의 압축 파일 로 그 를 가 져 옵 니 다: v $archived 를 조회 할 수 있 습 니 다.log 보기, 결합 completion시간 열 위치 추적
2. 이 압축 파일 로 그 를 덤 프
  ALTER SYSTEM DUMP LOGFILE '/u01/oracle/V7323/dbs/arch1_76.dbf'; 
   --경 로 를 당시 redo 압축 파일 의 경로 로 변경 하 십시오.
  이상 명령 은 userdump_dest 에서 trace 파일 을 만 듭 니 다. 이 trace 파일 을 Liux 에 전송 하 십시오 (루트 사용자 또는 Oacle 사용자 모두 가능)
3.
[root@hosta ~]# grep -A2 "^REDO RECORD" his_ora_29032886_dump_arch.trc > redo.log 
4.
OBJ: 429497295. 이것 은 undo 의 redo 기록 으로 2038012 번 나 타 났 다. 즉, redo 가 가장 많이 발생 한 것 은 undo 조작 이다.
[root@hosta ~]# grep OBJ: redo.log |awk -F "OBJ:" '{print $2}'|awk '{print $1}'|sort -n|uniq -c |sort -n -r
2038012 4294967295  <----   2038012 。
    107 60635
     60 60464
     30 59848
     29 62992
     29 60669
      9 59810
      8 60706
      8 59842

위의 마지막 열 에 주의 하 세 요: op, 이것 은 조작 표지 코드 입 니 다.
[root@hosta ~]# grep OBJ: redo.log |awk -F "OBJ:" '{print $2}' | more
4294967295 SCN:0x0001.96090e1b SEQ:  1 OP:5.2
4294967295 SCN:0x0001.96090e1e SEQ:  1 OP:5.4
4294967295 SCN:0x0001.96090e1f SEQ:  1 OP:5.2
4294967295 SCN:0x0001.96090e20 SEQ:  1 OP:5.4
4294967295 SCN:0x0001.96090e21 SEQ:  1 OP:5.2
4294967295 SCN:0x0001.96090e22 SEQ:  1 OP:5.4
4294967295 SCN:0x0001.96090e23 SEQ:  1 OP:5.2
4294967295 SCN:0x0001.96090e24 SEQ:  1 OP:5.4
4294967295 SCN:0x0001.96090e25 SEQ:  1 OP:5.2
4294967295 SCN:0x0001.96090e26 SEQ:  1 OP:5.4
4294967295 SCN:0x0001.96090e27 SEQ:  1 OP:5.2
4294967295 SCN:0x0001.96090e28 SEQ:  1 OP:5.4
4294967295 SCN:0x0001.96090e29 SEQ:  1 OP:5.2
4294967295 SCN:0x0001.96090e29 SEQ:  2 OP:5.4

5.
OP:5.2 Undo Header
OP:5.4 Commit
6.
[root@hosta ~]# grep -A2 "^CHANGE #" his_ora_29032886_dump_arch.trc > redo_c.log 
   ---이것 은 objectid 는 나타 난 횟수 에 따라 거꾸로 배열 합 니 다. 예 를 들 어:
이것 은 OBJ: 429497295 에서 3057384 번 이 나 타 났 다 는 것 을 설명 한다.
          OBJ: 15 에 1018128 번 나 왔 습 니 다.
OBJ: 429497295, 이것 은 undo 의 redo 기록 입 니 다.
OBJ: 15, 다음 과 같은 문구 로 조회 할 수 있 습 니 다: select objectname from dba_objects where object_id='15';
이상 에서 어떤 object 인지 찾 을 수 있 습 니 다.name 으로 인 한 redo log 폭 증.
어떤 조작 으로 인해 redo log 가 폭 증 했 는 지 확인 해 보 겠 습 니 다.
[root@hosta ~]# grep OBJ: redo_c.log |awk -F "OBJ:" '{print $2}'|awk '{print $1}'|sort -n|uniq -c |sort -n -r

위의 마지막 열 에 주의 하 세 요: op, 이것 은 조작 표지 코드 입 니 다.
[root@hosta ~]# grep OBJ: redo_c.log |awk -F "OBJ:" '{print $2}'|awk '{print $1}'|sort -n|uniq -c |sort -n -r
3057384 4294967295
1018128 15
    279 60669
    174 60635

참고 글:
http://www.traveldba.com/archives/479
http://blog.csdn.net/duanbeibei/article/details/6091507
저자: msdnchina 발표 2014 - 11 - 18 17: 18: 03 원문 링크
댓 글

좋은 웹페이지 즐겨찾기