EAI 시스템 운영을 하다보면 연계시스템으로 인하여 EAI도 영향받는 인터페이스들에 대한 조사나 테스트 그리고 연계 시 사용되는 소스나 파일등을 업데이트하는 경우가 발생되는데요.
JDBC방식의 연계 IF들이 많거나 다양한 DB종류와 연계되는 SAP PO의 인터페이스들도 이런 상황들이 생길수 있는데 예를들어 오라클 DB의 마이그레이션이 되는경우 그 버젼에 맞게 SAP PO의 JDBC드라이버(.jar파일)을 업데이트 하는 경우가 있습니다.
이글은 SAP PO안의 JDBC드라이버를 업데이트할때 순서에 대해 간략하게 정리한 내용입니다.
SAP PO. JDBC Adapter for MS SQL Server and Oracle. Step by step guide 참고
SAP PO에서 JDBC드라이버를 사용하는 위치는 JDBC Adapter, 자바프록시 등에 사용되는 Custom JDBC Drivers 등이 있는데요. NWA에 생성되는 데이터소스 방식과 다르게 JDBC 어댑터의 경우는 com.sap.aii.adapter.lib.sda에 포함된 드라이버에 의존합니다.
JDBC Adapter 드라이버 업데이트하는 순서
1. 현재 설치된 JDBC드라이버 확인
1829286 - Checking the drivers installed for the JMS and JDBC Adapter 참고NWA(SAP NetWeaver Administrator) > Configuration > Infrastructure > Java Class Loader Viewer
Component Type 'liverary' 선택 후 cm.sap.aii.adapter.lib 컴퍼넌트 이름으로 현재 PO 디폴로이 된 JDBC드라이버를 확인합니다.
2. SAP PO의 자바버젼 확인
NWA > Configuration > Infrastructure > System Information 에서 자바버젼 확인 그외 VM Name,Vendor,Rutime 버젼,자바 Kernel버젼 및 파라메터 등을 확인할수 있습니다.
3. 업데이트할 JDBC드라이버 확인 및 다운로드
941317 - XI/PI JDBC Adapter: Known Problems/Incompatibilities 참고항상 SAP NetWeaver 릴리즈의 JVM 버전과 호환되는 JDBC드라이버 버젼을 사용해야 한다고 하며 SAP에서 JDBC 어댑터에서 사용되는 드라이버에 대해 권장하지 않고 해당 데이터베이스 관리 시스템 공급업체에 문의하라는 내용으로 보았습니다. 그리고 드라이버 문제 시 SAP에서는 해당 공급업체와 지원이나 파트너 계약을 맺지 않아서 SAP에서 직접 드라이버 공급업체(오라클,MSSQL등)에 연락까지는 안하는것 같습니다.
SAP PO, JDK, JDBC버젼 호환성 체크방법과 Oracle JDBC FAQ를 참고
Custom JDBC Drivers는 어떻게 업데이트할까?
NWA의 JDBC데이터소스 방식은 기타 애플리케이션이나 리모트 데이터베이스 등에 접속할때 사용되는것 같습니다.JDBC 드라이버 업데이트 후 대응
JDBC어댑터 연계한 인터페이스나 드라이버 문제에 대해 아래 노츠내용을 보고 웬만한건 해결이 가능하지 않을까 생각이 듭니다.
831162 - FAQ: XI 3.0/PI 7.0/PI7.1/PI7.3 JDBC Adapter 참고
1. JDBC 드라이버 배포
2. 유니코드 처리
3. 날짜 필드 처리
4. 자리 표시자가 있는 SQL_QUERY/SQL_DML에 대한 아포스트로피 이스케이프
5. 트랜잭션 처리(수신자)
6. JDBC 수신기가 있는 Lotus Domino
7. 네트워크 수준 연결 문제
8. 처리(Sender)
9. J2EE JDBC 컨넥터 및 연결 폴링
10. Oracle JDBC 드라이버(classes12.zip/classes12.jar)교착 상태
11. 운영체제명령
12. JDBC 드라이버
13. 많은 JDBC Sender채널을 생성 후 성능 문제
14. Microsoft SQL Server: "수동 트랜잭션 모드에서는 복제된 연결을 시작할 수 없습니다."
15. NULL값 처리
16. 수신자: 첫번째 메시지 처리 중 Java.sql.SQLException
17. jDBC 드라이버 결함/기술지원
18. MSSQL서버에서 UPDATE_INSERT사용: Java.sql.SQLException 중복 키를 삽입할수 없음
19. MSSQL서버 2005 드라이버를 사용하는 동안 ClassNotFoundException발생
20. 오라클: ORA-08177: 이 트랜잭션에 대한 엑세스를 직렬화 할수 없습니다.
21. 오라클: Oracle JDBC 10.2.0.x 드라이버가 있는 Oracle 9.2.0.x데이터 베이스
22. java.sql.SQLException: IO예외: 연결 재설정/소켓 설정 오류/피어에 의한 연결 재설정/소켓 쓰기 오류
23. JDBC수신자가 처리한 메시지는 영원히 전달 상태에 있음(행로그)
24. JDBC연결을 테스트합니다.
25. XI의 SP20/21로 업그레이드 PI의 SP12/SP13으로 JDBC수신기 채널 오류발생
26. MSSQL Server또는 Oracle데이터베이스에 유니코드 데이터 삽입으로 인해 유니코드문자가 손상됨(예: 일본어,한국어,중국어,그리스어 등)
27. Maximum Concurrency 및 poolWaitingTime 설정효과
28. 걸려있는 Enqueue-Lock를 수동으로 삭제하는 방법
29. 수신 측 JDBC어댑터에서 메시지를 처리하면서 XML형식을 설계할 때 권장사항
30. SQL바인딩 모드는 JDBC어댑터의 성능을 향상시킵니다.(드라이버가 지원하는 경우)
31. PI JDBC어댑터에 반영된 AF스케쥴러 관련 변경 사항
32. PI JDBC발신자채널에서 OOM오류를 방지하기 위한 최대 메시지 크기 제한 구성
33. JDBC 송,수신 채널에서 'JjdbcDriverTracLevel' 파라미터 사용
34. 런터임 시 로드되는 드라이버
35. 바인딩 모드에서 JDBC수신기 통신 채널과 함께 표준 데이터 베이스 기능 사용
36. 최대폴링 간격
댓글 없음:
댓글 쓰기