DB가 먹통일때 oradebug 사용
작성자 관리자 작성시간 2016-02-23 12:48:31
 

먼저 SESSION 이 접속이 가능하다면 V$SESSION, V$SESSION_WAIT 로 어떠한 이벤트가 원인이 되는지를 파악하셔야 합니다.

그리고 만일 SESSION이 접속불가능한 상태라면 10g 에서 세션을 맺지 않고서도 바로 DMA(direct memory access) 를 할 수 있는 방법을 제공하고 있습니다.

>SQLPLUS -prelim / as sysdba
SQL> oradebug setmypid
SQL> oradebug unlimit
SQL> oradebug call ksmcpg
=> -prelim 옵션 사용시 ORA-7445 에러 발생할 경우 상기 옵션을 사용하여 PGA 변수 초기화 수행합니다.

SQL>oradebug errorstack 3
SQL>oradebug hanganalyze 12       
SQL>oradebug close_trace

prelim옵션으로 연결해서 현재 어떠한 세션이 hang을 유발했는지를 파악합니다.

아래 oradebug 로 생성된 trace 파일을 확인해보시면

hang  state 항목에 행을 나오는 latch나 enqueu 항목이 존재하는 sid, serial# 이 나옵니다..


목록 | 입력 | 수정 | 답변 | 삭제