Oracle

    MDS 와 AGL에 대하여

    WebLogic ~ Oracle RAC를 연동하는 data source에 대한 정리글이다. WebLogic에서 자체적으로 RAC 드라이버를 사용할 수도 있긴 하지만, 여기서 다루고자 하는 것은 MDS(Multi-DataSource)와 AGL(Active GridLink-DataSource)의 차이점이다. Generic Data Source Handling for Oracle RAC Outages It is possible to use a generic data source with Oracle RAC with some limitations. These limitations complicate transaction processing, monitoring, and graceful handling of RA..

    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 state Admin

    WebLogic 서버의 상태를 확인할 때, 보통 RUNNING을 두고 서버의 기동 유무를 확인하게 된다. What's ADMIN state? In the ADMIN state, WebLogic Server is up and running, but available only for administration operations, allowing you to perform server and application-level administration tasks. Read [1] to find out what you can do when a server instance is in the ADMIN state. For example, you can resume its state from the WebLogic ..

    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

    WebLogic Cluster 관련 정리 글

    우선 WebLogic에서 session을 복제하는 방법에는 다음과 같은 것들이 존재한다. 1. In-memory replication - In-memory를 사용하게 되면 WebLogic은 session stated를 한 서버에서 다른 서버로 복사하게 된다. Primary 서버는 첫번째 연결이 되는 client의 primary session state를 생성시키고 이를 secondary 서버에 복사하게 된다. 이 복제는 kept-up-to-date(거의 실시간) 으로 진행되며, primary 서버가 죽을 때 secondary 서버가 복제된 session을 사용하게 된다. - persistent-store-type은 replicated 또는 replicated_if_clustered를 사용하게 된다. 2...

    JTA Timeout 관련 Error

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