개발자가 많은 사이트에서 간혹 스튜디오 기동시 connection refuse 오류가 발생한다. 이는 JEUS에서 설정한 db connection pool과 통합서버의 http-listener의 thread pool 갯수 (webtob-listener를 사용하고 있다면 webtob-listener의 pool 갯수) 와 연관이 있다. JEUS 6 기준으로 JEUSMain.xml 파일과 WebMain.xml 파일의 다음 설정 부분을 변경한다. (http-listener 기준) JEUSMain.xml oracle proframe4.0 oracle.jdbc.pool.OracleConnectionPoolDataSource ConnectionPoolDataSource ora11c oracle.jdbc.pool.Or..
상주배치란? 상주 배치는 일반 배치의 일회성 특성에 스케줄 관리 기능을 포함하여 설계된 배치이다.일반 배치는 일회성 프로그램으로서 "수행 → 실행 → 종료"의 과정을 거치는 반면 상주 배치는 "수행 → {실행 반복} → 종료"의 과정으로 수행한다. 다시 말해 상주 배치는 특정 주기와 간격으로 배치를 수행할수 있도록 설계된 배치이다. 이러한 상주 배치의 요건을 구현하기 위해서 Tmax의 UCS 서버의 기능을 이용하고 있다.(ProFrame 배치 프로그래밍 안내서 발췌) 상주배치모듈 작성전에 상주배치서버(UCS서버)를 만들어야 한다.UCS서버 작성 방법은 두가지가 있는데 스튜디오에서 만드는 방법과 인프라 운영자가 기존 UCS 서버를 copy해서 만드는 방법이 있다.대부분의 사이트에서는 시스템에 치명적 영향을..
IPPR은 전문을 수신하는 프로프레임 서비스이고 OPPR은 전문을 송신하는 서비스 이다.IPPR을 통해 프로프레임 서비스를 호출하게 되면 OPPR을 통해 출력전문을 생성하는데 프로젝트 초기 설계된 표준전문설계에 맞게 전문을 조립하도록 pfmOpprExternalProcess.c 소스를 커스터마이징 한다. 기본 default는 system 헤더 + customize 헤더 + error message 헤더 + message 헤더 + output Data 이다. 여기서 문제가 되는 10byte는 정상일때 error message 헤더 + message 헤더 의 길이이다. 두 메세지 해더는 가변으로 error 발생시나 message 셋팅시 길이가 늘어나고 보통 정상 처리 될경우 00000, 00000 각각 5b..
ipcs -ma 명령어로 shared memory 주소를 사용하는 프로세스의 정상 기동 여부 확인이 가능하다. TCacheTDL shared memoryTMAX 운영기의 경우 위 3가지 체크로 기동여부 확인 가능하고개발기의 경우 추가적으로 제우스와 로그서버, 뷜드서버의 기동 여부를 확인해야 한다.(ps -ef | egrep 'jeus|LogServedr|PfmBuildServer') ipcs -ma | grep 유저명 | grep -v D- m 20972398 0x00070015 --rw-rw-rw- proframe tmax proframe tmax 0 402685000 13697404 13697404 13:22:29 13:22:30 13:22:29m 11535241 0x0002888b --rw-----..
dbx는 Unix 소스 레벨 debugger다. 프로프레임에서 발생하는 core는 dbx를 이용하여 분석이 가능하다. dbx로 core 분석법을 알아보기 위해 일단 core를 발생시킬 소스를 만들어서 컴파일 한다. dbx를 사용하기 위해서는 컴파일 옵션으로 -g를 넣어줘야 하는데 프로프레임 make 파일에 기본적으로 -g 옵션을 사용하고 있다. 다음은 프로프레임 서비스 모듈에 코어를 발생시킬 소스를 추가한 것이다. 일단 core를 분석하기 위해서 core가 어떤 프로그램에서 발생했는지 알아본다. 일반적으로 core 파일은 core를 발생시킨 바이너리와 동일한 폴더에 생성되지만 프로프레임은 보통 $PFM_CORE_DIR/{코어발생날짜}/{코어발생모듈} 폴더에 core 파일을 생성한다. file 명령어를 사..
프로프레임의 DBIO는 DML문만 생성 가능하다. CREATE, DROP, TRUNCATE, ANALYZE 등의 DDL문은 DBIO로 생성이 불가능하다.그렇다면 DDL문을 프로프레임에서 사용하기 위해서는 어떻게 해야될까?방법은 두가지가 있다. DBA에게 function으로 해당 DDL문을 만들어달라고 하여 그 function을 호출하는 select DBIO를 만든 후해당 DBIO를 사용하는 비즈모듈을 만들어서 제공한다. 이 방법의 문제점은 oracle function이 DDL문을 지원하지 않는다는 점이다. 이 경우 function을 만들때 dynamicSQL을 사용하여 DDL을 excute 하도록 만들면 된다. DDL문을 function으로 만들수 없음create or replace function f ..
pfmTCacheInvalidate API는 TCache가 관리하는 cache_name 테이블에서 입력된 key에 해당하는 레코드 데이터를 초기화 한다. 사용법은 다음과 같다. long pfmTCacheInvalidate( const char* cache_name, const char* key, long flags ); 구성설명cache_namepfmtcache.cfg의 “CACHE_NAME”에 정의한 캐쉬 이름key입력 데이터의 앞 부분부터 pfmtcache.cfg 파일에 기록된 “SIZE_KEY”의 길이 만큼의 데이타flagsinvalidate를 할 때 내부적으로 사용하는 flag기본적으로 “0”의 값으로 세팅return 값성공시 : 0실패시 : negative pfmTCacheInvalidate 함..
프로프레임 연동된 DB의 계정정보가 바뀔경우 다음과 같은 설정을 함께 바꿔줘야 한다. 환경변수변경DB의 IP도 변경되었다면 $TNS_ADMIN/tnsnames.ora 파일을 수정해야한다. (DBA 에게 요청하여 sid 의 ip,port 수정)$ENVHOME/profile.oracle 파일의 CONNECTON_INFO를 수정하여 준다. (SID가 변경되었다면 SID도 수정) profile.oracle 수정 후 terminal 재접속 하여 환경변수가 변경된 것을 확인한다. DBIO connect 프로그램 및 스튜디오 접속정보 수정 $PFMDEVDIR/pfmDbioConnectDB/pfmDbioConnectDB.c 파일 안의 runtime, compile, srcgen의 db connection 정보를 변경한..
외부 라이브러리 api 추가등의 이유로 따로 환경변수를 추가하기 위해 profile을 수정하거나 추가하였다고 가정하자.해당 라이브러리의 inc 폴더와 lib 폴더를 경로를 make 파일에 추가하여야 되는데 새로 추가한 환경변수로 경로를 잡으려고 해도 스튜디오 컴파일시 make 파일에서 추가된 환경변수를 못읽어와 컴파일 오류가 발생한다. EX> 추가된 환경변수: export EXTLIBDIR = /home/extlibmake 파일에 추가된 경로: -I$(EXTLIBDIR) 스튜디오 컴파일시 make 파일 실행될때 -I$(EXTLIBDIR)을 못읽어와서 에러 발생. 이 경우 log서버와 build 서버를 재기동 해준다.log서버와 build서버는 기동 시점의 환경변수를 물고있기 때문에 profile 변경시 ..
간혹 프로젝트 중간에 테이블 컬럼정보가 부득이하게 변경되어해당 테이블 관련 DBIO를 모두 재빌드 해줘야하는 상황이 있다. 이때 다음과 같은 주의사항이 있다. 컬럼의 length가 바뀌었다면 해당 column에 대한 메타 정보도 수정해당 테이블에 대한 모든 dbio 에서 메타정보동기화 버튼 누른후 재빌드 메타정보동기화 버튼 ==> DBIO 생성시 pmap쪽에 dbio의 입출력 구조체도 생성되는데 이미 서버에 떨어진 소스이기 때문에 동기화가 안됨. dbio 별로 건건이 메타정보동기화 버튼을 눌러서 새로 pmap 소스를 생성하고 재빌드를 해줘야함. 재빌드된 dbio의 caller 모듈을 모두 검색해서 EMB창에서 모듈정보재구성을 해준뒤 해당 모듈들을 모두 재빌드 (caller 모듈에 dbio의 입출력 구조체..
- Total
- Today
- Yesterday
- 아마존 입사
- AWS Associate Solution Architect
- 아마존 이직
- GCP 자격증 후기
- SA란
- 2022 회고
- 뱅크샐러드 면접
- Terraform
- AWS 취업 후기
- AWS 인터뷰
- AWS 후기
- GCP 이직
- 프로프레임
- ProFrame
- 구글 이직
- 오라클
- AWS 입사
- AWS 신입 채용
- Terraform GCP
- AWS 이직
- AWS 면접
- AWS TECH U
- AWS 신입
- 구글 입사 후기
- dbio
- AWS 문화
- expect 스크립트
- gcp 자격증
- TECH U ASA
- oracle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |