DB2 기술지원을 하다, 혹은 DB2 사용하다 문제가 생겨 DB2 진단로그(db2diag.log)를 열어 보다 보면 너무나 많은 메시지들과, 한 메시지가 여러 줄에 걸쳐져서 보기 힘들었을 것이다.

db2diag 명령어를 통하여 주요 메시지만 걸러서 볼 수는 있었지만, 시간단위 한 줄로 편히 보기에는 불편했다.

DB2 V9.7에서 db2diag 명령어의 -fmt 옵션이 추가되었는 줄 알았는데, V9.5에서도 -fmt 옵션이 지원이 되어 "사용자가 원하는 방식으로" 메시지를 정돈해서 볼 수 있게 되었다.

그래서 "특정 DB"의 메시지 레벨이 "Warning, Severe, Error"인 메시지의 PID, TID, PROC, APP핸들과 메시지를 정돈해서 볼 수 있다.

다음 명령어는 "timestamp 를 줄 단위"로 메시지를 정돈해서 볼 수 있다.

db2diag -time YYYY-MM-DD -gi db=디비명 -level Warning,Severe,Error -fmt "%{ts} [%{level}] PID:%{pid} TID:%{tid} PROC:%{proc} DB:@{database} APPHDL:@{apphdl} @{message}" >> db2diag_output.log

위 명령어 결과를 통해 "문제 시 되는 에러 메시지"를 확인하여, 해당 메시지의 "시간 대" 및 "PID" 등의 값을 통해 해당 메시지를 제대로 볼 수 도 있을 것이다.

참고로 V9.7 부터는 dbm(인스턴스) 구성 변수 중 diagsize 값(단위 MB) 설정을 통하여 진단로그 및 통지로그(nfy)가 크기가 무한정 늘어나는 것을 방지할 수 있다.

+ Recent posts