삐주
초급 개발자
삐주
전체 방문자
오늘
어제
  • 분류 전체보기 (126)
    • Programming (14)
      • JAVA (4)
      • Spring (0)
      • Python (5)
    • Database (12)
      • Oracle (0)
      • Sybase (3)
      • HANA DB (1)
    • Algorithm (10)
      • 백준 문제풀이 (0)
      • 문제로 풀어보는 알고리즘 프로그래밍 (1)
      • 프로그래머스 (8)
    • SAP (43)
      • EAI (37)
      • EAI 예제 (1)
      • ABAP (4)
      • SAP BC (0)
    • Tool (4)
      • Eclipse (0)
    • Infra (3)
      • Network (3)
      • OS (0)
      • Storge (0)
    • Etc (21)
      • 시사 (15)
      • 맛집 (0)
    • Study (12)
      • 파이썬 머신러닝 프로젝트 (1)
      • 영어 (7)
      • 리눅스마스터 (3)
      • SQLD (0)

태그

  • DB
  • EAI
  • DATABASE
  • sap
  • 프로그래머스
  • pI
  • SAP EAI
  • error
  • 코로나
  • 코로나19

티스토리

반응형
250x250
hELLO · Designed By 정상우.
삐주

초급 개발자

[SAP EAI] SAP PI/PO JDBC Adapter - Setting JDBC driver properties for DB
SAP/EAI

[SAP EAI] SAP PI/PO JDBC Adapter - Setting JDBC driver properties for DB

2022. 5. 31. 11:20
728x90
반응형

https://launchpad.support.sap.com/#/notes/801367

이번 글에서는 SAP PI/PO의 JDBC Adapter의 JDBC driver properties 설정하는 방법에 대해 설명하겠습니다.

Properties List

JDBC Sender Adapter Parameters

1. ClusterSyncMode

Parameter name clusterSyncMode
Parameter type String
Possible Parameter values "lock" or "scheduler"
Parameter value default scheduler
"scheduler": 기본값으로 설정되어 항상 하나의 서버 노드에만 채널 인스턴스가 활성화됨을 보장하는 세팅값이다. Adapter는 Scheduler에 의해 할당된 서버노드에서 local로 실행이 됩니다. 노드가 충돌하거나 'relocMode' 값에 도달하기 전까지는 Adapter의 폴링은 하나의 서버 노드에서 실행됩니다.('relocMode'에 대한 내용은 Notes 1355715를 참고하세요)
"lock": 이 옵션은 서버 노드에서 실행되는 채널의 인스턴스가 하나만 있는지 확인합니다. 이 옵션을 선택할 경우, JDBC Adapter는 서버 노드에서 대기열(Enqueue)을 Lock 시킵니다. Lock은 채널 개체에 잠금이 설정되어 첫번째 인스턴스가 완료될 때까지(Success/Fail) 처리중인 경우가 아니면 두번째 인스턴스(동일한 채널에서 가져온 것이라도)가 구성된 데이터베이스 테이블에서 데이터를 가져올 수 없이 독립적으로 구성되어 대기열에 누적되지 않습니다. 이 설정의 또다른 측면은 폴링이 모든 서버 노드에 적용된다는 것이다. 따라서, 인스턴스가 획득한 잠금에 따라 모든 서버 노드에 영향을 줄 수 있습니다.
relocMode를 간단하게 설명하자면 하나의 서버노드에서 작업을 실행하다가 문제가 생겼을 경우 바로 다른 서버노드에서 실행하는 것이 아닌 해당 노드에서 relocMode에 설정한 값만큼 다시 접속을 시도하게 설정하는 값입니다.

2. msgLimit

Parameter name msgLimit
Parameter type Boolean
Possible Parameter values "true" or "false"
Parameter value default false
기본적으로 JDBC Sender Channel은 채널 구성에 제공된 쿼리를 충족하는 데이터베이스에서 사용 가능한 모든 행을 선택합니다. 하지만 간혹 가져온 tuples의 갯수로 인한 과부하로 인해 채널에서 OOM(OutOfMemory) 오류가 발생합니다. 그를 방지하기 위해 tuples/size의 크기를 제한하기 위해 'msgLimit'이 도입되었다.(Notes 1296819 참고)

3. sqlquerytimout

Parameter name sqlquerytimeout
Parameter type int
Possible Parameter values non-negative number
Parameter value default 0
'sqlquerytimeout'는 데이터베이스 수준의 쿼리 시간 초과 매개변수를 설정하는데 사용할 수 있습니다. default값은 0이며, 기본값의 경우 쿼리시간 초과가 데이터베이스 기본값으로 유지되는 경우 default값으로 지정합니다. 값은 seconds(초) 단위로 설정되며 0보다 큰 임의의 숫자로 설정할 수 있습니다. (Notes 1078420 참고)

4. driver:<database-specific-timeout-parameter>

Parameter name driver:<database-specific-timeout-parameter>
Parameter type String
Possible Parameter values database-specific
Parameter value default NA
"driver:"를 동반한 매개변수의 경우 데이터베이스 특정 시간 초과 매개변수에 접두어로 지정됩니다. 이 항목에 지정된 매개변수는 각 데이터베이스의 관련성을 확인하지 않습니다.(Notes 1078420 참고)

JDBC Receiver Adapter Parameters

1. logSQLStatement

Parameter name logSQLStatement
Parameter type Boolean
Possible Parameter values "true" or "false"
Parameter value default false
PI/PO 메세지 내용에서 JDBC Adapter에 의해 생성된 SQL문을 확인할 수 있어 분석에 도움이 될 수 있습니다.
단, 해당 파라메터는 테스트 단계에서만 사용하는것을 권장하며 실제 운영단계에서는 사용하지 않는것을 권장합니다.

2. sqlBindMode

Parameter name sqlBindMode
Parameter type Boolean
Possible Parameter values "true" or "false"
Parameter value default false
"sqlBindMode"는 유사한 쿼리가 많이 실행되어야하는 경우에 사용되어집니다. 해당 파라메터를 사용하는 목적은 동일한 테이블에서 쿼리를 실행하는데 사용되어지는 구현 레벨에서 PreparedStatement를 사용할 수 있다. 따라서 쿼리실행에 있어 성능이 향상되는 효과를 볼 수 있습니다. 해당 아이디어는 일반 쿼리를 만들고 나중에 채울 자리 표시자를 갖는 것입니다. 이 쿼리는 한번 컴파일되어 여러번 실행이 가능하게 됩니다. 그럴경우 데이터베이스에서 쿼리를 컴파일 하는 시간이 절약되어 시간이 어느 정도 단축됩니다.
Statement의 특징
 - SQL 구문 실행
 - 스스로는 SQL 구문을 해석할 수 없어 Database에 전달하는 역할을 수행
 - SQL 관리는 가능하지만 연결 정보를 갖지 않는다
Ex) INSERT INTO TABLE_NAME (COL1,COL2,COL3) VALUES (col1,col2,col3)

PreparedStatement
 - Statement의 기능을 향상시킨 구문
 - 인자(매개변수)와 관련된 작업이 가능
 - 코드 안정성 및 가독성이 높음
 - 코드량이 Statement 구문보다 증가함(매개변수를 set해줘야 하기 때문이다.)
 - 텍스트 SQL 호출
Ex) INSERT INTO TABLE_NAME(COL1,COL2,COL3) VALUES(?,?,?)

3. dataWithBindMode

Parameter name dataWithBindMode
Parameter type Boolean
Possible Parameter values "true" or "false"
Parameter value default false
This parameter is used in addition to parameter #2 under category-"JDBC Receiver Adapter Parameters". The purpose of having this parameter is that when there is a necessity to have a standard database function which needs to be a part of the query. This parameter helps in adjusting the query accordingly. In addition to this parameter, some modifications are needed to be done to the input XML. Please refer note#: 2072891; in order to understand the construction of the XML.

Oracle에서만 사용가능

driver:oracle.jdbc.ReadTimeout (JDBC 10.2.0.3 이상 사용 가능) 단위: milliseconds; 예시 : 6000(6초); default = 0
driver:oracle.net.CONNECT_TIMEOUT (JDBC 10.2.0.3 이상 사용 가능) 단위: milliseconds; 예시 : 6000(6초); default = 0
JDBC Adapter를 사용하여 DB에 연결을 할때 연결시간이 길어져 Driver에서 콜백이 돌아오지 않아 영구적으로 행이 걸려있는 경우가 있습니다. 그럴 경우 ReadTimeout과 CONNECT_TIMEOUT properties를 사용하여 문제를 해결할 수 있습니다.

 

참고
Notes
Notes 1078420 1078420 - XI/PI JDBC Adapter: Setting JDBC driver properties for DB
Notes 801367 801367 - XI 3.0 JDBC Adapter: Additional Parameters
   
SubNotes
Notes 1355715 1355715 - AF Scheduler to avoid using cluster communication
Notes 1296819 1296819 - Configuring Maximum Message Size Limits for OOM Error
Blog
인스피언 [XI/PI] JDBC 채널의 timeout 설정
코딩하는 흑구 [JDBC] PreparedStatement 개념 및 예제
미래금융인 JAVA - PreparedStatement 사용하기

 

728x90
반응형

'SAP > EAI' 카테고리의 다른 글

[SAP EAI] SAP PO(Process Integration) - SOAP Adapter 타임아웃 파라메터 세팅(Timeout parameters in SOAP Sender/Receiver Adapter)  (0) 2024.02.08
[SAP EAI] FTP Error - FTPEx: 425 Unexpected reply codeCan't open data connection.  (0) 2022.07.06
[SAP EAI] SAP PI - Error: Active Version There is a version conflict resulting from an import  (0) 2022.05.25
[EAI] Log File - defaultTrace & application  (0) 2021.11.23
[SAP EAI] Community  (0) 2021.11.12
    'SAP/EAI' 카테고리의 다른 글
    • [SAP EAI] SAP PO(Process Integration) - SOAP Adapter 타임아웃 파라메터 세팅(Timeout parameters in SOAP Sender/Receiver Adapter)
    • [SAP EAI] FTP Error - FTPEx: 425 Unexpected reply codeCan't open data connection.
    • [SAP EAI] SAP PI - Error: Active Version There is a version conflict resulting from an import
    • [EAI] Log File - defaultTrace & application
    삐주
    삐주

    티스토리툴바