2023년 8월 23일 수요일

오라클 JDBC Receiver Adapter 인터페이스 행 현상 해결 테스트

반복적으로 발생되는 특정 인터페이스의 행 현상 해결을 위한 과정에 대한 내용을 담고 있으며 여기서 다루는 해결방법의 결과는 아직 확인이 안된 부분입니다.

인터페이스 행 현상 정리

  • 스레드 상태는 계속 실행중 상태
  • 스레드 Call Stack로그에서 이부분을 확인
    java.lang.Thread.State: RUNNABLE
     sun.nio.ch.FileDispatcherImpl.read0
  • Message Monitoring로그는 'Delivering' 상태
  • 로그를 캔슬했을때 실패
  • 최대 몇일동안 행현상(실행중) 상태로 남아있음
  • 오라클 세션,테이블락 해제 후 해결된적 있음
  • SAP PO 노드 재시작 후 에러 발생후 리트라이 성공

해당 현상은 자바기반의 솔루션,플랫폼,프로그램 등에서 오라클 접근 시 스레드가 어떤한 이유로 무한프루(실행중)상태로 남는 경우를 확인했었고 SAP PO-오라클 연계에서만 발생되는 문제가 아니였습니다.
스레드 행현상 관련 사례
  • Troubleshooting App Unresponsiveness Due to Oracle DB
  • Stuck Threads when fetching data from external datasource with many records (Doc ID 2866950.1)
  • How to solve blocking thread issue?

해결과정

위 사례들을 보면 아래와 같은 셋팅할수 있는 파라메터를 볼수 있는데
-Dsun.net.client.defaultConnectTimeout
-Dsun.net.clinet.defaultReadTimeout
-Doracle.jdbc.ReadTimeout

이걸 참고로 사이트나 SAP노츠를 검색할때 아래와 JDBC Adapter의 Additional Parameters에 셋팅할수 있는 정보를 볼수 있었습니다.
driver:oracle.jdbc.ReadTimeout
driver:oracle.net.CONNECT_TIMEOUT

관련사이트와 노츠
  • 1078420-XI/PI JDBC Adapter: Setting JDBC driver properties for DB
  • 801367-XI 3.0 JDBC Adapter: Additional Parameters
  • [SAP EAI] SAP PI/PO JDBC Adapter - Setting JDBC driver properties for DB

그외 오래전에 제 블로그의 'Polling is not possible in the JDBC sender channel of SAP PO 7.5' 글에 위 파라메터에 대해 언급한 내용이 있었는데 이번에 테스트를 해보고 결과를 확인해봐야겠습니다.

그동안 테스트한 과정인데
Disconnect from Database After Processing Each Message나 Batch Mode 체크 해제 그리고 sqlBindMode파라메터 값을 제거하거나 아래 파라메터를 추가했을때 강제로 타임아웃에러가 발생된다거나 특이사항은 없었습니다.
sqlquerytimeout = 1
driver:oracle.jdbc.ReadTimeout = 1000
driver:oracle.net.CONNECT_TIME = 1000
poolWaitingTime = 6000
taskTimeout = 3

'SAP XI JDBC Communication Channels Not Polling or Hanging' 오래된 글을 보면 
노드 충돌 시 JDBC샌더채널 폴링이 안되는 현상과 리시버채널에서의 처리중 상태에 대한 관련내용을 확인할수 있습니다.
제가 찾고자 하는 리시버 채널에서의 '처리중' 상태로 멈춰져 있는 현상을 방지하기 위한 관련 파라메터로는 driver:oracle.jdbc.ReadTimeout, driver:oracle.net.CONNECT_TIME이게 확인이 되긴 하지만 설정된 값에 따라 강제로 에러가 발생되지는 않는것 같고
'[SAP EAI] SAP PI/PO JDBC Adapter - Setting JDBC driver properties for DB'글과 SAP Note 1078420을 보게 되면 여기에 나와있는 파라메터 속성값? 은 드라이버 버젼별로 차이가 있는것 같습니다.(파라메터가 안되는 원인?) 

댓글 없음:

댓글 쓰기

최근글

9월 태안~천안 아이와 3박4일 가족 여행지