레이블이 MOM/BTP인 게시물을 표시합니다. 모든 게시물 표시
레이블이 MOM/BTP인 게시물을 표시합니다. 모든 게시물 표시

2024-04-05

SOAP UI에서 호출시 is not a valid SOAP version 에러

현상정리

  • SOAP UI호출시 PO 메시지 모니터링 로그 상태는 Log version으로 확인되거나 로그가 안보이고 로그뷰어에서만 호출이력이 보이는 경우
  • 보통 Log version상태는 전송되는 데이터타입과 PO의 데이터타입 메시지 구조가 상이할때도 발생되는데 → 확인 후 다른 원인으로 발생되는 현상이였음

에러내용

SOAP UI에서 에러발생 시 전송했던 데이터 호출시 아래와 같은 오류가 확인되어었음
⁠<soap:Value xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">ns1:VersionMismatch</soap:Value>
⁠<soap:Text xml:lang="en">"[XML Namespace], the namespace on the "[Message Type명]" element, is not a valid SOAP version.</soap:Text>

원인&해결

  • Log  version과 SOAP version 현상은 ICO오브젝트를 다시 저장 후 엑티브하고 해결
  • is not a valid SOAP version 오류같은 경우 내 자리에서만 ⁠SOAP UI에서 기본적으로 생성되는 요청구조의 ⁠<soapenv:Envelope><soapenv:Header><soapenv:Body>⁠를 제거 하면 동일한 오류가 재현됨

"하나 의문인건 SOAP UI에서 발생된 오류가 SOAP구조로 전송 안되어 발생된 에러라면? 왜 갑자기 이런 오류가 PO에서 발생되었고 상대방 클라이언트에서는 PO의 ICO를 다시 저장한것만으로 해결이 되었는데 내 자리에서 SOAP UI호출 시 SOAP구조로 안보내는경우 is not a valid SOAP version이 발생되는건지 의문임"

"왜 SOAP UI 버젼은 다를지라도 상대방과 난 같은 SOAP UI를 사용하는데 왜 내 SOAP UI에서만 오류가 발생되는건지 모르겠음"

2024-03-26

XPI Inspector르르 사용하여 HTTP SSL컨넥션 확인 테스트


SSL인증서 작업은 SAP PO프로젝트나 운영할때 수시로 해야하는 부분이였으며 연결과정에서 인증서 오류가 발생되어 해결하는 과정도 있었음

이전에는 인증서교체나 에러확인 시 수행중인 인터페이스로 확인했던적도 있었는데 XPI Inspector를 사용하여 확인하는 방법도 있어 테스트하면서 정리해보려고 함

전체조건

  • XPI Inspector를 사용하려면 미리 설치가 되어있어야한다고 함
    • 설치 방법으로는 파일 다운로드 후 NWDS 배포방식이 있는듯
  • 테스트를 위한 SOAP,REST Receiver 채널 등 타겟 URL셋팅필요(시나리오 구성해야함)

XPI인스펙터 실행 및 테스트

  • 인스펙터 URL은 /xpi_inspector/index.jsp로 실행
  • Example은 11 (Authentication, SSL & PP), SSL Server URL Address는 타겟 채널의 URL의 도메인을 입력
  • 스타트 버튼 누른다음 테스트로 만든 인터페이스를 실행
  • 스탑버튼을 누르면 로그수집 후 결과가 화면상에 출력됨

로그 분석

  • 로그는 .zip 압축파일로 다운로드 가능
  • SAP System,Java Instances,Server Nodes,JEE Services 항목들을 볼수 있음

솔라스(Solace)는 어떤 미들웨어인가요?(특징 등)

아는 지인분한테 솔라스(Solace)에 대해 듣게되어 정리해보려고 함

솔라스란

  • Solace는 캐나다에 본사를 둔 미들웨어 회사
  • 실시간 대용량 데이터 이동 솔루션
  • ICBM(IoT,Cloud,Big Data,Mobile)에 대해 지원
  • 바클레이 외에 씨티,도이치,스탠다드차타드 은행 등 금융권에서 많은 고객확보
    • 그외 미국 대형 IT제조사,통신사 등 도입 및 주요고객으로 싱가포르 국토교통청이 있다고 함 
  • "SK하이닉스, 솔라스 펍섭+ 플랫폼 도입으로 데이터 관리 최적화" 20200613
    • 각 지사별 실시간 조치 대응 필요 → 기존 접근 방식은 유지보수와 변경힘듬
    • 네트워크 대역폭 문제 발생 → 정보에 대한 실시간 가시성을 제한
    • SK하이닉스 IT시스템 마이그레이션 하여 기존 문제점 해결
  • Solace PubSub+와 Apache Kafka 비교내용 존재-solace.com
    • Solace는 Kafka를 기반으로 구축 → PubbSub+르르 사용하면 카프카로 더많은 작업을 수행할수 있다?

솔라스 특징

  • 메시징 통합 → 여러환경(클라우드,온-프레미스 등)에서 Pub/Sub+큐+Request/Reply+스트리밍 등 요구충족
  • PubSub+는 개방형프로토콜(AMQP,JMS,MQTT,REST,WebSocket 등 지원
    • 벤더 락인(Lock-in) 제약없이 사용가능한듯

SAP PO시스템 운영 시 도움되는 프로그램

SAP PO시스템을 운영하며 PO내 기본적인 기능들인 MessageMonitoring로그,데이터 그리고 Adapter 엔진상태를 볼수 있는 핑테스트 등 통해서 운영은 가능하나 송,수신 시스템 연계하는 인터페이스를 개발하고 테스트를 하는 입장에서는 소스/타겟 시스템의 연계 방식과 최대한 재연이 필요할때도 있었음

아래는 PO운영과 테스트시나리오에 도움이 되는 프로그램에 대해 정리했음

Notepad++

  • 문서편집기이자 소스코드 편집기
  • 플러인을 추가하여 원하는 기능을 사용할수 있음
    • XML Tools를 사용하여 PO의 XML데이터 정렬과 문법체크 등사용
    • JSON Viewer json포맷 데이터를 보기좋게 정렬
    • SQLLinForm를 사용하여 복잡한 쿼리 정렬과 수정
    • Compare를 사용하여 복잡한 쿼리 비교 사용
  • 자바매핑이나 UDF소스를 정렬하여 분석할때 사용

SAP GUI

  • SAP 서버에 연결할수 있는 GUI클라이언트
  • 듀얼스텍일때는 컨넥션추가,셋팅 등 작업에 사용하였음
  • 싱글스텍인 현재는 프록시연계 방식의 인터페이스의 모니터링이나 기타 확인용도로 사용하고 있음

SoapUI

  • 오픈 소스 웹 서비스 테스트 애플리케이션
  • SOAP이나 REST 연계방식의 테스트 및 확인용도로 사용하고 있음

2024-03-19

Message Type안에 XML Namespace는 왜 넣어야하는 걸까?

SAP PO의 소스가 SOAP 등 연계방식인 경우 ESB의 메시지타입을 생성하게 되면 XML네임스페이스는 디폴트로 들어가 있고 이렇게 생성된 오브젝트로 소스쪽에 WSDL를 배포하면 
소스쪽은 그 WSDL가지고 개발 툴에서 제너레이션 해서 PO에서 생성된 네임스페이스대로 호출을 하거나 임의로 SOAP구조,네임스페이스,호출 소스를 미리 구현하여 실제 PO를 호출할때 소스와 PO가 네임스페이스가 달라 호출이 실패되는 경우도 있었음
실제 네임스페이스는 무엇을까 이런 의문을 통해 관련 내용을 정리해보려고 함

네임스페이스란

  • URI(Uniform Resource Identifier)로 표현
  • 네임스페이스 이름을 URL로 사용 → 도메인 유일보장 값
  • 네임스페이스명 접두사(prefix) 사용 → 쿼리의 컬럼명 뒤 별칭(Alias) 같은
  • XML안에 엘리먼트 앞에 접두사를 사용하여 네임스페이스 별로 구분 가능
  • SOAP메시지안에 메소드,데이터항목 등을 구별할수 있게 해준다고함
  • XML 요소 간의 이름에 대한 충돌 방지하는 방법 제공
  • XML네임스페이스 선언은 xmlns나 xmlns:로 시작
  • 두가지 마크업 언어(HTML,WML 등) 합쳤을때 동일한 이름의 엘리먼트에 대한 충돌방지

PO에서의 네임스페이스

  • ESR네임스페이스 생성하려면 소프트웨어 컴퍼넌트가 있어야하고 그안에 네임스페이스는 여러개 생성할수 있음
  • 네임스페이스 종류는 Repository Namespaces, XML Namespaces가 있음
  • Repository Namespaces는
    • ES Repository 디자인 요소의 객체 이름간에 충돌을 방지하기 위해 사용
    • 프록시 방식(SPROXY티코드)에서 네임스페이스를 식별자 정의
    • Integration Directory에서 Receiver 시스템에 동일한이름,네임스페이스가 존재한다면? 식별할수 없다고 함

2024-03-16

JDBC Adapter의 PreparedStatement 메모리 누수가 있을까?

2020-04-14에 작성된 JDBC dapter with Oracle high heap space consumption 글을 재정리하면

  • PO 7.5(SP15)로 업그레이드 후 Oracle 12c JDBC연계
  • 일반 트랜잭션 모드의 처리가 느려 배치모드로 옵션체크,파라메타 추가
    • 파라메터는 sqlBindMode,dateWithBindMode 추가
  • 시스템 메모리 부족으로 현상 
    • oracle.jdbc.driver.T4CPrepareStatement클래스 메모리 사용
    • 해당 채널의 중지하면 메모리 감소하는것을 확인
  • 최신버젼 드라이버(19.3),poolWaitingTime,note 1916598를 적용했을시 별다른 효과를 보지 못한것 같음

2916999-Memory Leak when using sqlBindmode with Batch process in JDBC receiver adapter

  • JDBC 어댑터에서 메모리 누수 현상은 있었음
  • T4CPreparedStatement > java.util.LinkedList 힙덤프 내용에서 처리 후 닫지 못하는 현상있다고함  
  • SAP Note 952402 설명대로 패키지 적용이 필요하다고 함

그외 자바프록시,다른 어댑터, 파서, 지원방식 등에서 메모리 누수/부족 현상이 확인되었던것 같음

2717777-OOM in PI XML Hardener
1297935-SyncMessageRemover may cause memory leak
 1974920-Fixes in cleanup of synchronous message store
2654452-High CPU Usage on SAP Process Orchestration instance
948169-High memory consumpton when using Java proxies

2024-03-14

힙 덤프 분석을 위한 Eclipse Memory Analyzer tool 사용방법 정리

 출처: 1883568-How to self analyze a Heap Dump using MAT


https://eclipse.dev/mat/ 에서 Memory Analyzer 1.15.0 Release 다운로드

처음 실행 할때 아래와 같은 메시지가 확인되면 실행 안됨
Version 1.8_201 of the JVM is not suiable for this product. Version: 17 or greater is required
현재 내 컴퓨터에 설치된 JVM버전은 맞지 않은것 같음

툴을 설치한 폴더안에 MemoryAnalyzer.ini 파일내용을 수정하여 해결할수 있다고 하는데
-Dosgi.requiredJavaVersion=1.8을 추가

추가 후 실행해보면 로딩 로고가 나오지만 안됨
An error has occurred. See the log file [로그파일경로]/1710314750556.log
어느 사이트에서는 .ini파일내용에 javaw.exe 자바를 실행하는 가상머신 경로가 없어서 그런다고 하여 추가해봄
-vm
[JDK설치경로]/bin/javaw.exe
동일함

1.13버젼에서는 Version: 11이 필요하다고 하는데 1.10에서는 실행이 됨

이클립스외에 MAT관련 SAP확장패키지 설치

OOM(OutOfMemory)에러에 대한 원인 및 해결방안에 대한 정리

SAP PO에서 발생되는 OOM(OutOfMemory)에 에러원인과 해결방안은 다양한것 같음

SAP PO에서의 OOM에러 원인들은

  •  예를들어 자바프록시 등 내 개발자가 생성한 로직에 잘못된 코드나 메모리 누수가 있는 경우 → 예를들어 테스트 없이 운영배포 후 무한루프 로직이나 라이브러리 사용과는 다른 구현
  • 커스텀으로 개발된 코드에서 사용한 외부 라이브러리에 버그가 있는 경우 → 예를들어 레퍼런스가 없는 서비스 지원이 끊긴 라이브러리
  • 인터페이스 시 사이즈 제한으로 인한 강제 에러나 대용량 사이즈 처리로 인한 부하가 발생된 경우 → 예를들어 소스시스템에서의 대용량 전송 및 타겟쪽 조회 시 대용량사이즈 리턴
  • PO내의 처리관련 설정 보다 더 많은 건수나 빈도수로 호출되어 정체가 되는경우 → 예를들어 소스시스템에서의 무작위 호출
  • 시스템내 처리중인 메시지 건수가 많고 이 데이터를 쿼리실행 할때 → 예를들어 집계쿼리 실행이나 인터페이스 내 PO테이블 조회 등
  • 트레이스 로그는 모르겠지만 시스템 내 많은 로깅이 쌓일때 → 예를들어 로그레벨 수정으로 인한 불필요한 로깅 등

해결방안으로는

  • 무작위로 호출되어 에러가 발생되는 경우 → 소스 배치인경우 일단 중지 후 에러난 로그나 처리중인건들은 확인 후 재처리나 캔슬처리
  • 불필요한 로깅 → 시스템 로그레벨을 조정하거나 자바프록시내 로깅은 해당 인터페이스를 수정
  • 메모리 누수같은경우
    • 노드추가나 JVM파라메터 추가하는경우에도 문제가 지속적으로 발생되는 경우가 있다고 함
    • 힙 메모리 크기를 늘리는 경우에는 OOM오류를 지연될 뿐이라고 함

Log Viewer 'Analyzed structure: 0. Level 2...'이런 에러메시지는 왜 나오는걸까?

내용을 요약하자면

  • 메시지 모니터링 Audit로그에는 안보이고 로그뷰어에만 보이는 메시지인듯
  • Log Configuration에 error,info 상태에서도 나오는 메시지
  • 전송방식,DB종류와 상관없이 발생되는것 같음
  • Receiver JDBC방식에서만 발생되는것 같음
  • 로그뷰어의 특정 로케이션에서 발생되는 것 같음

로그뷰어의 내용으로는

Category: /Applicatons/ExchangeInfrastructure/AdapterFramework/Services/ADAPTER/ADMIN/JDBC
Location: com.sap.aii.adapter.jdbc.xml2sql.processList()
Application: sap.com/com.sap.aii.af.app
Thread: XI XI2JDBC[채널명]_474633
Customer Message Component: BC-XI-CON-AFW
Message:
Analyzed structure:
0. Level 2 Name: [메시지구조]
1. Level 5 Name: [메시지구조]
2. Level 4 Name: [메시지구조]
관련 인터페이스는 채널명 통해 찾을수도 있는데 NWDS > SAP MMC통해  ./log/applications.log 파일 통해 찾는데 더 쉬울수도 있을것 같음

저 위에 Analyzed structure 메시지구조들은 AI한테 물어보면 '메시지 구조분석 과정 발생되는 문제로 번호는 구조의 인덱스 번호' 이해가 되지만 해당 메시지 해결방안으로는 힌트를 얻을수 없었음

2024-02-28

그루비(Groovy)스크립트에 대한 정리

그루비 스크립트란?

  • JVM(Java Virtual Machine)에 실행되어 문법이 JAVA(객체지향,구문 등)와 비슷하다고 함 → 마이그레이션 간단할수도
  • 그외 JVM에서 실행되는 언어들도 존재 → 그언어들도 마이그레이션 쉬울까?
  • 자바개발자를 위한 스크립트 언어라는 점
    • 새로운 언어를 배울때 방대한 API를 알아야하는 부담을 덜수 있는듯
  • 자바와 호환되고 클래스파일 그대로 그루비에서 사용할수 있는 듯
  • 아파치 그루비 자바 플랫폼으로 구축
  • 그루비는 2003년부터 히스토리가 시작된것으로 확인
    • 2022년에는 Groovy 4출시, 현재는 Groovy5 alpha버젼 출시
  • 파이썬,루비,스몰토크 언어의 특징을 더한 동적언어?
  • 자바보다는 간결한 구문으로 코드를 작성할수 있음 → 단순함?
  • 그루비는 많은 메모리가 필요할수도 있다?
  • 그레일즈(Grails) → 그루비 기반 웹애플리케이션 개발 프레임워크
  • 인터프리터가 없음 
    • 인터프리터는 코드를 한 줄씩 읽어 내려가며 실행하는 프로그램
    • 그루비컴파일러(groovyc)에 의해 자바클래스 파일 변환(.class)
    • 실행 직전 그루비 클래스로더(GroovyClassLoader)에 실시간 컴파일 후 JVM에 올라간다고함
  • 자바코드를 그루비 코드에서 불러 사용할수 있다고 함
  • SAP IS(Integration Suite)에서도 그루비를 사용할수 있음

SAP에서의 Groovy는

  • SAP IS(CPI,Cloud Platform Integration)의 필수적이고 중요한 기능
  • 그루비로 통합향상 및 복잡한 문제를 해결할수 있다고함
    • "기존 PI/PO 그리고 다른 자바 기반 EAI솔루션에서 표준으로 제공되는 라이브러리나 기능으로 해결할수 없는 문제를 자바로 해결했던것처럼" 

2024-02-24

NWDS의 Profiling 서버 등록 시 'No jvmmond is running' 에러내용 정리

전에 잘 등록되었던것으로 기억이 나는데.. 이번에 PO메모리에 약간 부하가 있는것 같아 Manage Hosts...에 호스트:1099 등록해서 확인해보려니 아래와 같은 메시지가 발생
No jvmmond is running!

해당 에러메시지로 찾아본 내용
방화벽,네트워크,RMI 등 관련 내용이 나오는거서 보니 혼자 해결할수 없는 문제로 보임

1099 포트에 대한 핑 테스트는 tcping.exe툴을 사용했고 다운로드 주소는 https://elifulkerson.com/projects/tcping.php 이며 Windows > System32 폴더에 넣고 CMD창에서 사용하면 됨
그래서 핑 결과는?
tcping [아이피] [포트]
Probing 아이피:포트/tcp - No response - time=2010.107ms
Ping statistics for 아이피:포트
 4 probes sent.
 0 successful, 4 failed. (100.00% fail)
Was unable to connect, cannot provide trip statistics.

역시.. 혼자서는 해결이 어려워보임

SAP PO 데이터베이스 테이블 관련 정리

SAP PO운영하다 보면 BC_*나 XI_* 등 이런 테이블명으로 시작되는 내용을 보게 되는데 각 각의 테이블의 설명이 필요할것 같아 내용찾아 정리해보았음 

BC_*

BC_MSG
  • PI 7.0x에서는 XI_AF_MSG 테이블 명
  • 자바스텍의 메시지 마스터성 테이블
  • 비동기 방식의 메시지 하나 = 테이블에는 하나의 ROW
BC_MSG_VERSION
  • 메시지 편집,스테이징 될때 메시지 버젼
  • Receiver and Interface determination(MS) 단계후에 생성된다고 함
  • 타겟이 여러개인 분할메시지 인경우 MS,AM단계 이후 하나의 버젼이라는 것을 알려준다고함
BC_MSG_LOG
  • 로깅 후 버전당 하나의 레코드가 생성
BC_MSG_LOG_STAT
  • 로깅 후 메시지당 하나의 레코드
  • 모니터링 목적으로 사용
BC_MSG_AUDIT
  • 7.0x이하에서는 XI_AF_MSG_AUDIT이라고 함
  • RWB_PIMON에서 볼수 있는 AUDIT로그
  • 7.1이상에서는 기본적으로 오류/에러 메시지에 대해 DB에 생성된다고 함

2024-02-12

보안강화를 위한 리버스 호출이란?(SAP 웹 디스패처)


리버스 호출이란?

  • 보안네트워크(인트라넷)에서 네트워크 연결 설정하는 기술이라고 함 → 네트워크 보안 강화
  • 일반적인 시나리오에서는 A가 B로 연결 시도후 
  • 정상적으로 연결이 되면 데이터 전송
  • 리버스 호출에서는 B가 A연결을 설정 후 A가 B에게 데이터를 전송할수 있음
  • 리버스 호출설정은 표준설정보다 더 복잡할수 있다고 함
  • SAP는 웹 디스패쳐 간 설정으르 권장
  • 웹디스패쳐와 백엔드 시스템 간 직접 설정이 피하라고 얘기하는 듯
  • 리버스 호출은 연결보다 안전하게 설정하는게 더 중요하다고 얘기하는 듯

하나의 예로 양과 늑대의 어느 동화 내용이 떠오르는데

첫번째: 나쁜늑대가 양의 집 문을 똑똑 두들기고 들어가는 것
두번째: 양이 문틈으로 착한늑대인지 나쁜늑대인지 확인 후 잠긴 문을 열어주는 것
두가지 시나리오를 보면 두번째가 더 안전해 보임

PGP 구성 및 암,복호화 모듈 파라메터 내용 정리


PGP 구성

  • 채널의 PGP(Pretty Good Privacy) 모듈 구성으로 암호화된 전자데이터를 전송
  • 암복호화 키를 파일시스템에 저장
  • 개인키는 유출이 안되어야하고 운영체제 수준의 권한을 사용하여 보호해야한다고 함
  • 키가 포함된 폴더에는 OS권한 사용자에게 읽기권한을 부여
  • 모듈이름은 대소문자를 구분한다고함
  • 어댑터에 모듈을 사용하기 위해서는 PGP모듈이 사전에 배포되어야함

모듈,파라메터

복호화
모듈네임
localejbs/PGPDecryption 등
파라메터 네임
keyRootPath,ownPrivateKey,pwdOwnPrivateKey 등

암호화
파트너 공개키 사용하여 암호화 하고 자신의 개인 키를 사용하여 메시지에 서명한다고 함
모듈네임
localejbs/PGPEncryption 등
파라메터 네임
asciiArmored,dynamicFileName,dynamicNamespace,keyRootPath,patnerPublicKey 등

그외 여러 파라메터와 설명은 출처 사이트를 참고하시면 좋음

다른 관련글

2024-02-04

SAP PO 아밥프록시 시나리오 Integration Suite 마이그레이션 관련 MDR 내용정리

'ABAP Proxy In Integration suite - Best practice recommendation' 사이트를 보면 krishg라는 사람이 PO의 아밥프록시 시나리오를 IS로 마이그레이션 할때 권장사례를 찾고 있음

프록시를 마이그레이션하는 옵션중에 MDR? 프록시 구조가 바뀌어 ESR를 사용못하게 되는 경우 XI어댑터 대신 SOAManager를 사용, 웹서비스로 전환할수 있게 한다고 함

ESR이란 

Enterprise Services Repository(ES Repository)는 인터페이스를 위한 DataType이나 SOA(Service Oriented Architecture)등을 정의 엑세스 관리,서비스 하는 중앙 저장소인가 봄

MDR은 

Backend Metadata Repository 보통 PI/PO에서 생성한 Service Inteface 오브젝트에 따라 SAP의 SPROXY티코드에서 해당 아밥프록시를 생성하는게 일반적인 방법임
MDR은 PO없이도 프록시를 생성할수 있는 방법인것 같은데 IS(CPI)로 프록시를 마이그레이션하는 효과적인 방법인듯함

How to design ABAP Proxies without ESR(using MDR) 사이트에서는 ABAP-WS-Proxies와 ABAP-XI-Proxies방식을 얘기하는데 두가지 차이는 아래와 같다고 얘기함
WS-Runtime은 SOA매니저를 통한 웹서비스
XI-Runtime은 로컬Integration Engine을 사용한 SOAP XI 3.0프로토콜
XI 3.0은 PO의 프록시 채널의 메시지 프로토콜과 동일해보이며 SOA매니저 같은경우 PO없이도 프록시 지원하는 SAP 시스템에서 웹서비스를 통한 인터페이스가 가능한 기능임
MDR관련 티코드로는 SPXNMIG,SPROXY,SPXNGENAPPL 등이 있음

2024-01-31

MYSQL 중국 간체자 에러에 대한 정리

java.sql.BatchUpdateException: Data truncation: Incorrect string value: \xF0... [서비스네임].[테이블명].[컬럼명] at row 1
위와 같은 에러가 발생되었는데 MYSQL 전송시 이모지 데이터와 다르게 중국 간체자데이터로 인한 문제같은경우 좀 확인이 까다로운것 같음
찾아본 관련 내용을 정리해보면
  • 잘못된 문자열 값이 항상 \xF0으로 시작됨
  • 중국어 간체자(GB2312)
    • 간자체(음과 뜻이 같은데 획이 간략화된 문자)
    • 확장 중국어 문자는 4바이트 영역을 사용
  • MYSQL 접속후에 'SHOW VARIABLES' 명령을 입력하여 언어셋 확인가능
    • 테이블속성을 보면 Charset과 컬럼이 UTF8MB4
    • Collation이 utf8mb4_unicode_ci나 general ci
    • 하지만 조회된 character_set_*과 collation_*로 시작되는 언어셋이 다른경우 왠지 안되는것 같은 느낌
  • set names은 mysql 도움말에 따르면 아래의 효과
    • 타겟 서버와 설정이 어떤지 모르는경우 그냥 변경가능하는 듯
    • GB2321은 중국어 간체, BIG5는 중국어 번체용 인코딩
    • 쿼리 실행전에 'set names [언어셋]' 실행하면
    • character_set_client|results|connection 언어셋 바뀌는 듯?
  • 한중일 케릭터셋 리스트(CJK)은 MYSQL버젼에 따라 다를수 있다고 함

SAP PO 'Mandatory key xml.recordsetStructure missing!' SFTP에러 정리

아는 지인의 에러를 재 확인

에러내용

processing local module localejbs/AF_Modules/MessageTransformBean
아래 부터 에러
using Transform.Class: com.sap.aii.af.sdk.xi.adapter.Conversion
Transformer Conversion3.0.5226 Error initializing
java.lang.Exeption: Mandatory key xml.recordsetStructure missing!

채널에 설정된 AF_Modules/MessageTransformBean모듈의 설정된 Transform.Class 등 파라메터에 대한 컨버젼 에러로 보이며 해당 파라메터나 값을 수정시 해결이 가능한것으로 보임

에러내용으로 찾은 관련 내용이 담긴 사이트로는 아래와 같음

그외 3394349 - PO MessageTransformBean is taking long time to process large payloads > Standard SAP Modules | SAP Help Portal 사이트를 보면 아래와 같은 내용을 확인할수 있는데

SFTP 'PrivateKey[Private Key Entry] not found in KeyStoreView[Private Key View] 에러정리


에러내용은

Error Message could not be forwarded to the JCA adapter. Reason: java.lang.IllegalArgumentException: 
PrivateKey[Private Key Entry] not found in KeyStoreView[Private Key View]

에러내용으로 찾아본 사이트로는


원인으로 추정되는 내용으로는

NWA > Certificates and Keys: Key Storage의 Entry Type이 'PRIVATE KEY' 여야 하는데 'CERTIFICATE'로 잘못 임포트된것 같다고 함

Snowflake(스노우플레이크)에 대한 정리

인터넷상에서 수집한 내용으로 실제와 다른내용도 포함될수 있으니 이점 유의 부탁드리겠습니다.

기업개요

  • 몬태나주 보즈먼에 본사위치
  • 클라우드 컴퓨팅 기반 데이터 클라우드 회사
  • 2012년 7월 설립
  • 2014년 10월에 공개 출시
  • 클라우드 컴퓨팅 기반 데이터 웨어하우징 회사
  • 상장 당시 워렌 버핏이 이례적으로 공모주에 거액 투자 → 시장의 큰 주목
  • 기존 주도했던 SAP,오라클 등 온프레미스 기반 데이터베이스 시장과 다르게 클라우드 데이터 플랫폼 시장의 클라우드 데이터 관리 전문기업
  • 데이터 저장,처리,시각화,머신러닝까지 한번에 할수 있는 클라우드기반 통합데이터 플랫폼

서비스

  • 데이터웨어하우스(SaaS)를 제공 → 복잡구성된 데이터 웨어하우스 관리
  • 빠르고 사용쉽게 유연한 데이터스토리지,처리및 분석 솔루션 제공
  • AWS에서 스노우플레이크를 제공

SAP PO-Snowflake 간 연계관련 정리

  • PO JDBC어댑터에서 Snowflake DB연결할때 발생되는 드라이버 오류에 대한 현상과 해결방안 등의 내용
  • 신규 DB연계 시 JDBC공급업체에 PO내 자바버젼과 호환되는 JDBC드라이버를 다운로드 필요

  • SAP PO에서 Snowflake JDBC드라이버 사용시 XML데이터 변환 실패에 대한 내용
  • 우회하여 해결하는 방법을 알려주고 있지만 SAP 공식적인 해결방법은 아닌듯
  • 3299186-Snowflake Connectivity using CPI노츠에서의 CPI와 Snowflake에서 지원하는 오픈 컨넥터로 가능한듯
    • 그외 어댑터 지원 관련되서는 SAP Cloud Integration > Connectivity(Adapters)사이트 통해 확인 가능함