Oracle/TroubleShooting

    Too may open files

    >  Too many open files. - WebLogic 로그 중 다음과 같은 Error Log가 떨어질 수 있다. 이는 JVM이 ulimit 제약으로 인해 기동을 위한 더 이상 새로운 파일을 열지 못하기 때문에 나타나는 현상이다. WebLogic 상에서 ulimit 값을 늘리기 전에 우선 OS의 설정 값을 토대로 설정해야 한다.  open files 값을 확인 =================================================================== WebLogic의 commBaseEnv.sh 설정 ${COMMON_HOME}/common/bin/commBaseEnv.sh의 ulimit 값을 설정하여 해결할 수 있다. 또한 Too Many Open Files 에러 문구..

    weblogic Servlet annotation 관련 이슈

    환경은 AIX고 weblogic 10.3.6에서 12.2.1.4로 업그레이드 하는 과정에서 생겨난 이슈이다. application 소스 파일은 동일한 것을 바라보며, JDK 또한 변하지 않은 상황에서 생겨난 이슈. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee " target="_blank" rel="noopener">http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" metadata-complete="true"> 참고로 metadata-complete 옵션을 처음에는 태그로 주었는데 다음과 같은 에러가 나타났었다. The e..

    WebLogic SSL 에러 - PKIX Path Building Failed

    웹로직에 SSL을 추가했음에도 불구하고 로그에 다음과 같은 메시지가 나타나는 현상이 있다. Exception in thread "Main Thread" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target ... Caused by: sun.security.validator.ValidatorException: PKIX path building failed: s..

    WebLogic JDK 7에서 8로 업그레이드 후 TLS 관련

    JDK 7을 사용하는 WebLogic 10.3.6을 JDK 8을 사용하는 WebLogic 14.1.1로 업그레이드 한 이후 TLS 관련한 issue가 발생하였다. SSL은 변경된 것 없이 이전 jks 파일을 그대로 사용하나, JAVA가 업그레이드 됨에 따라 TLS1.0, TLS1.1 지원을 하지 않아서 발생한 에러로 확인된다. 이 때 다음과 같이 WebLogic 측에서 TLS를 변경/확인 할 수 있다. - ${JAVA_HOME}/jre/lib/security/java.security를 변경한다. => 반드시 jre 밑에 있는 java.security를 변경해야 되는 점 유의 jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \..

    Waiting on Condition

    고객사 중 weblogic 운영 장비에서 netstat -an 을 통해 확인해보면 100개 이상의 CLOSE_WAIT state가 잡혀 있다는 문제가 발생했다. 이에 대한 자세한 분석을 위해 thread dump를 분석하였다. 여기서 이상했던 점은 weblogic 관련 thread들이 모두 "Waiting on Condition" 상태에 있었다는 점이다. 위 현상은 weblogic이나 application에서의 문제점은 아닐 수도 있다는 접근으로 분석해보았다. Waiting on Condition은 Thread가 조건 변수(Condition Variable)에 의해 대기 중인 상태임을 의미한다. 이 상태의 thread의 경우 내부 VM의 조건 변수를 기다리고 있다. 이들은 Java 객체가 아니기 때문에 ..

    WebLogic console 404 error

    웹로직을 기동할 때 기동 자체에는 문제가 없으나, Console URL로 접속할 때 404 에러가 나타나는 경우가 발생했다. 위 404가 뜨는 원인은 다양하겠지만, 그 중 겪은 문제에 대한 원인은 다음과 같았다. # Error log

    JTA Timeout 관련 Error

    JTA timeout은 30 ~ 3600 까지 설정이 가능하고, Oracle은 임의의 값이긴 하지만, 만약 병목현상이 일어나서 timeout 값을 증가시켜야 할 경우 300을 우선적인 권장값으로 두고 있다. => 다만 초기 설정값에서 점점 값을 낮춰가면서 위의 해당 문구가 많이 나타나지 않는 지점까지 지속적으로 적정값을 찾아야 한다. => JTA timeout 값이 너무 클 경우, 걸려 있는 thread 숫자가 많을 때 시스템이 때때로 중단될 수 있다는 점을 유의해야 한다. => 최종 목표는 JTA timeout 값을 조정하여 JTA timeout exception을 하루 기준, 아예 없거나 아주 적게 확인되는 수치로 조정하는 것이다. 다만 JTA timeout을 설정할 때 DISTRIBUTED_LOCK..

    Missing SerializedSystemIni.dat

    WebLogic 기동 중 Missing SerializedSystemIni.dat 이라는 에러 문구와 함께 기동이 안되는 이슈가 발생했다. SerializedSystemIni.dat은 WebLogic 도메인에 필요한 암호화 및 암호 해독에 쓰일 hash 값을 저장해놓은 파일이다. WebLogic은 중요 파일을 암호화 할 때 AES 알고리즘을 사용하며, 이에 각 도메인은 고유의 Encryption, Salt, Cypher 키를 보유하여 SerializedSystemIni.dat에 해당 키를 보관하게 된다. (참고 : https://blueyikim.tistory.com/174) Missing SerializedSystemIni.dat 에러가 나타났을 때는 다음과 같이 조치를 취할 수 있다. 1. 백업 도메..