개발은 너무해

Diagnostics) Oracle10g DB 접속 안될때 sqlplus 에서 SYSTEMSTATE DUMP 받기 본문

Oracle/Oracle Scrap

Diagnostics) Oracle10g DB 접속 안될때 sqlplus 에서 SYSTEMSTATE DUMP 받기

까칠 평생초보 2011.12.22 11:26
http://kr.forums.oracle.com/forums/thread.jspa?threadID=619271&tstart=0 

=========================================================================

PURPOSE
--------------------------------------------------------------------------------

Oracle10g 이상에서는 HANG 발생으로 DB 접속 안될때 OS 디버거 사용안하고도 
sqlplus -prelim 옵션으로 간단하게 SYSTEMSTATE DUMP 를 받을 수 있다. 

EXPLANATIONS
--------------------------------------------------------------------------------

1. 사용방법

$ sqlplus -prelim / as sysdba
SQL> oradebug setmypid
SQL> oradebug unlimit
SQL> oradebug hanganalyze 1
SQL> oradebug dump systemstate 266 
30 초 WAIT
SQL> oradebug dump systemstate 266 
30 초 WAIT
SQL> oradebug dump systemstate 266 

2. 주의사항 

(1) 9.2.0.6 이상에서는 SYSTEMSTATE DUMP LEVEL 266 사용을 권장한다.
LEVEL 266 는 프로세스의 short call stack 을 생성하여 blocker 원인 분석에 유용하다.

(2) 오라클 엔지니어들이 사용하는 SYSTEMSTATE DUMP 분석 툴에서 한 트레이스 
파일에 있는 여러개의 SYSTEMSTATE DUMP 들을 비교하여 blocker 를 결정하므로 
SYSTEMSTATE DUMP 들이 한 트레이스 취합되도록 동일 세션에서 30초 간격으로 3번 수행한다.

(3) -prelim 옵션 사용시 ORA-7445 에러발생하면 PGA 변수 초기화하여 사용한다.

sqlplus -prelim '/ as sysdba'
oradebug setmypid
oradebug unlimit;
oradebug call ksmcpg
oradebug dump systemstate 266

(4) SYSTEMSTATE DUMP LEVEL 266 사용시 OS 에따라 프로세스의 short call stack 
생성 속도와 부하가 다르므로 프러덕션에서 사용 전에 꼭 테스트 후 사용 권장한다.
만약 LEVEL 266 이 너무 느리거나 부하가 많다면 LEVEL 10 을 사용한다.

References
--------------------------------------------------------------------------------
Note 121779.1 - Taking Systemstate Dumps when You cannot Connect to Oracle 
Note 417879.1 - ORA-07445 kgllkd With -prelim Option When Running System State Dump

============================================================================================

[경험담]
sqlplus "/as sysdba" 로 접속하였을 때
무슨 이유인지는 모르겠지만 hang이 걸린것 처럼 커서만 깜빡이고 접속이 되질 않았다.

위 설명대로 하였지만,
sqlplus -prelim / as sysdba  조차도 접속이 되질 않아 테스트를 못해보고 있는 상황이다.

결국에는 시스템을 껐다켜니 접속이 되었다.
 
0 Comments
댓글쓰기 폼