|
먼저 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# 이 나옵니다..
|