1. 도입부
2023년 3월 xx일 평온하게 일을 하던 어느날 오후
제가 담당하는 홈페이지가 갑작스럽게 접속이 잘 안된다는 연락을 받습니다.
보통의 일상이면 WAS서버에 행 걸린 사소한 문제이므로 그냥 컴퓨터 다루듯이 재부팅해보면 되는데,
그래도 계속 안된다고 합니다.
2. 초기 증애증상
어플리케이션 담당하시는 개발자분이 확인해볼때는 WAS에서 DB 세션이 가득 찼다는 이야기를 하고,
CPU 자원이 갑자기 99%까지 올라가면서 자꾸 서버가 죽는 것 같다고 합니다.
3. 1차 장애시도-미해결
DB세션이면 사용자가 많아서 그런가? 물론 접속수가 평달보다 높은 것도 맞기 때문에,
세션수가 부족하면 세션수를 늘려보고
CPU 자원이 부족한거 같으니 할당된 CPU를 늘려봅니다.
여기까지 했는데도 처리가 안됩니다. (째깍째깍...)
장애처리에 어느정도 시간이 걸릴 것 같은 느낌이 들었습니다.
장애처리 지연을 이용자에게 안내하고, 본격적으로 원인파악을 해봅니다.
WAS 로그를 계속 보면서 멈춤현상이 발생하는 원인을 보는데, 구체적인 원인파악이 어렵습니다.
어쩔때는 5분안에 서버가 다운되고, 아니면 1시간동안 잘 되다가 다운되고..
4. DB로그를 통한 ORA-3136 에러 확인 및 설정값 조치
최근에 소스반영한 SQL 쿼리쪽에서 문제가 있는건지 이리저리 머리를 싸매다가
DB로그쪽을 보니 ORA-3136 에러를 발견했습니다.
DB엔지니어에게 물어보니 접속시간이 오래걸려서 Time Out이 발생한다는 건데
갑자기 DB 접속하는데 그럴수가 있나...싶기도 하지만 일단 네트워크 엔지니어를 통해서
방화벽 장비들의 DB 통신 타임아웃 설정을 확인합니다. 하지만 역시나 문제 없음...
더욱더 미궁에 빠지게 되는데
http://www.koreaoug.org/administration/11662
ORA-3136 inbound connection time out & JDBC Io exception: Connection reset - Admin - 한국오라클사용자그룹
개발자로 부터 디비로 접속 하는 과정에서 간헐적으로 에러가 발생을 한다는 문의를 받게 되어 로그를 확인 해보니 비슷한 시간대에 ORA-3136 이 발생 하는 것을 확인 했습니다. [2023-02-09 16:31:06.127
www.koreaoug.org
주요내용은
서버의 $java_home/jre/lib/security/java.security 경로로 들어가서
/dev/urandom 의 값을 /dev/urandom 으로 변경하면 된다는 내용입니다.
5. 조치결과
그렇게 설정값을 바꾸고나서 보니까 접속이 안되는 상황(세션오류나 CPU 과부화 현상 등)이 발생하지 않았습니다.
JDBC 11.2.0.1 이상인 버전에서 발생할 수 있다는 건데, 그럼 잘 쓰다가 왜 오늘 발생한 건지는 의문이네요..
장애를 해결한 이후로 현재까지 동일증상이 발생하지 않았지만 이런 장애는 좀처럼 찾기 어려운 것 같습니다.
'공공 정보화 사업 관리' 카테고리의 다른 글
정보서비스 취약점 점검에 대한 생각 (0) | 2023.08.13 |
---|---|
과업심의위원회 개최 후기 (0) | 2023.04.02 |
메일시스템 클라우드 전환 이행에 대한 생각 (0) | 2022.11.06 |
2022 사이버공격방어대회 참가준비 (0) | 2022.09.12 |
디지털서비스 전문계약제도 설명회 참석 후기 (0) | 2022.07.04 |