컴퓨터활용/티맥스 32

xa_NULL trc 파일

티맥스가 DBMS 와 거래할 때의 로그가 보관되는 곳이 xa_NULL 파일이다. 엄밀히 말하면 오라클의 클라이언트 모듈이 남기는 파일이다. (티맥스나 턱시도 같은 미들웨어가 남기는 것이 아님) 모든 거래의 로그를 남기게 되므로 용량이 무지막지하게 크기도 하지만 장애가 났을 때는 중요한 근거 자료가 된다. xa_NULL 파일은 다음과 같이 생겼다. 102946.40932.0: xaocommit: xid=0x1-02c00000038a7126-0000001, rmid=0, flags=0x0 102946.40932.0: xaocommit: rtn 0 보통 파일명은 xa_NULL03252021.tr c 와 같이 중간에 일자가 들어간다. 이 파일구성은 거래시각, 처리 프로세스의 ID가 먼저 나오고 그 다음 라인에 ..

HTL-27569 F HTL0048: Listen port (80) is in use. Try to bind to that port again in 10 seconds. errno=13(Permission denied)

HTL-27569 F HTL0048: Listen port (80) is in use. Try to bind to that port again in 10 seconds. errno=13(Permission denied) 웹투비 기동할 때 이런 오류가 날 경우 이것을 점검해야 한다. 웹투비 bin 디렉토리에 htl 에 system 권한이 있어야 한다. 시스템권한을 주는 방법은 chmod +s htl 인데 이것을 실행하려면 root 권한으로 실행해야 한다. 제대로 시스템권한이 먹으면 아래와 같이 s가 중간에 끼어서 보일 것이다. -rwsrwsrwx 1 root root 428631 2013-09-24 10:38 htl* 이러한 현상은 1024 번 이하의 포트에 개별 프로그램이 사용하지 못 하도록 시스템이 제..

시스마스터 관리

□ 시스마스터를 제거 JEUSMain.xml 속의 아래와 같은 설정을 제거 -Xbootclasspath/p:/home/tmax/sysmaster/agent/dc/sminst_rt.jar:/home/tmax/sysmaster/agent/dc/sminst.jar -Dsm.property=/home/tmax/sysmaster/agent/dc/properties/sm3.properties -agentlib:/home/tmax/sysmaster/agent/dc/dcagent64 -javaagent:/home/tmax/sysmaster/agent/dc/sminst.jar □ 서버기동 및 다운 기동 : 마스터를 먼저 기동하고 각 에이전트를 기동한다. 다운 : 각 에이전트를 다운하고 마스터를 다운한다. bin 디렉토리..

DBIO 내부 오류 메시지

프로프레임 DBIO를 호출한 후 오류 리턴 받았을 때 참고할 수 있는 내부 오류에 대한 메시지 이다. HTML clipboard 에러코드 에러 코드 Macro명 원인 해결방안 -90000001 PDB_ERR_UNKNOWN 알수 없는 에러 코드 정의 되지 않은 에러 코드 -90000002 PDB_ERR_CONNECTION DB 연결 정보를 가져올 수 없음 사이트 커스터마이징 소스인 pfmDbioConnectDB.c 의 pfmDbioConnectDBInput 부분의 passwd_runtime / passwd_compile / passwd_srcgen 설정 확인(Sybase 는 passwd_runtime / passwd_srcgen 설정 확인) -90000003 PDB_ERR_CONNECTION_TDLCALL..

PLS-S-00201, identifier 테이블명 must be declared 오류

테이블을 신규 생성하고 최초에 DBIO를 하나 만들어서 컴파일을 하면 다음과 같은 오류 메시지를 만날 수 있다. PROC 프로그램 속에서 사용된 변수(identifier)가 도통 뭔지 알 수 없다는 메시지이고 보면 원인을 쉽사리 짐작할 수 있다. 어쨌거나 이 메시지는 테이블이 없다는 메시지 이므로 DBIO컴파일할 때 접속하는 유저ID가 무엇인지 확인을 하고 이 유저에게 GRANT를 주고 SYNONYM을 주도록 DBA 에게 요청을 해야 해결 될 수 있다. 일반 변수라면 (혹시 테이블의 컬럼) 해당 컬럼이 실제로 존재하는 지 테이블 스키마를 점검해야 한다. -----> 2. Compile the source generated awhile ago >>> Begins to process pfmDbioAFEE_P..

커서오픈 후 예외처리 기술 필요

안녕하세요? 이종구 부장님의 명(?) 을 받고 메일을 보냅니다. 혹시 해당 되시는 분이 있다면 소스를 점검해 주시길 바랍니다. 커서오픈할 경우 프로프레임 스튜디오에서 생성되는 기본 소스에는 에러코드를 세팅하는 부분이 없습니다.프로프레임에서는 기본 틀만 소스생성하고 세부적인 코딩은 개발자가 해야 하는 몫입니다. 대부분의 개발자들이 while 루프 안 쪽에는 코딩을 많이 하시지만 이 커서오픈 부분의 에러처리는간과하고 그냥 내버려 두시는 경우가 많은데 바람직하지 않습니다. 실제로 커서 오픈하다가 오류가 발생하게 되면 단말화면에 제대로된 오류를 받아 볼 수 없기 때문에 난감한 상황에 빠지게 됩니다. 커서오픈할 때 오류가 발생되면 에러코드를 세트하지 않고 오류 return 해 버렸기 때문에 프레임웍에서 다음과 같..

내가 실행한 마지막 서비스 로그 보기 쉘

프로프레임 환경하에서 프로젝트를 수행하다가 보면 그 방대한 티맥스 로그를 보면서 개발하는 것이 쉬운 일이 아니다. 티맥스와 같은 미들웨어는 서비스를 하나의 서버로 묶어서 로그를 생성시키는데 서버의 로그를 보면 다른 서비스의 로그도 같이 섞여 있기 때문에 단순히 vi로 열어서 보거나 tail 로 걸어서 보는 것도 한계가 있다. 로그파일에서 내가 마지막으로 수행한 서비스의 로그만 골라내어서 볼 수 있다면 얼마나 개발에 도움이 될 것인가? 내가 몸담고 있는 H은행 프로젝트의 예를 들어서 쉘을 작성해 보고 각자의 프로젝트에 환경에 맞도록 응용하여 자신의 쉘을 만들어 사용한다면 즐거운(?) 코딩을 할 수 있지 않을까 생각해 본다. 1. 서버명을 구한다. H은행 프로젝트에서는 서비스명을 넣으면 소속되어 있는 서버명..

공통모듈의 필러 관리하기

개요 공통모듈을 개발하는 사람은 입출력 구조체에 필러를 미리 만들어 두는 것이 좋다. 특히 통합테스트 단계에서는 이관이라는 프로세스를 통하여 개발에서 단위테스트가 완료된 공통모듈을 별도의 실행환경인 테스트장비로 옮겨서 실행하기 때문에 절대적으로 필요하다. 모듈의 입출력 구조체 사이즈가 바뀌게 되면 이 모듈을 끌어다 쓰는 프로그램들도 모두 같이 이관되어 줘야 하는데 상황에 따라서는 이관할 수 없는 상황이 있을 수 있기 때문이다. 예를 들면 테이블스키마가 변경중이라 개발과 테스트의 테이블스키마가 다르거나 한참 로직을 변경하는 중이라 단위테스트가 완료되지 못 한 경우가 있을 수 있다. 데이타 타입별 사이즈 프로프레임에서 사용하는 구조체형 변수 타입인 PfmNumber 는 원래 24 byte 이고 long 은 ..

구조체 컴파일이 필요한 경우

프로프레임에서는 구조체를 컴파일하는 독특한 작업이 있다. C 개발자라면 구조체는 structure 이고 structure 를 어떻게 , 왜 컴파일해야 하는지 의아해 한다. 이것은 당연한 질문이고 궁금해해야 하는 것이 맞다. 프로프레임에서는 스튜디오로 구조체를 하나 작성하게 되면 이 구조체에 따는 전문(메시지)가 같이 생성된다. 이 때 생성된 구조체 및 전문(메시지)의 헤더 파일은 $PMAPINCDIR 디렉토리에 있다. [cbsdev]cd $PMAPINCDIR [cbsdev]ls -al *mfeecal_trsc_ptcl_reg_in* -rw-rw-r-- 1 pfm tmax 17257 9월 1일 18:24 pfmMappermfeecal_trsc_ptcl_reg_in_sub01MsgFld.h -rw-rw-r-..

모듈정보 재구성 을 해야 하는가?

최근에 프로프레임 스튜디오 사용자들이 모듈의 입출력구조체의 멤버 항목의 추가 및 삭제할 경우에도 모듈정보 재구성을 하는 것을 보았다. 그러나 사실은 이런 경우에 하는 모듈 정보 재구성은 불필요한 작업이다. 모듈정보 재구성을 해야 하는 경우 1. ARRARY처리하는 DBIO 인 경우 ARRAY 의 개수가 변경된 경우 또는 lock query 를 사용하였다가 해제한 (반대의 경우도 마찬가지) 경우 2. 해당모듈의 프로그램의 논리명이 변경된 경우 3. 해당모듈의 프로그램의 입출력 구조체가 변경된 경우 ( 구조체의 멤버변수가 추가/삭제된 변경이 아니라 구조체 자체가 삭제된 후 새로 만들었거나 다른 이름의 구조체로 재지정한 경우를 말함 ) 이것은 정확히 메타정보(EMB형태의 flow를 XML형태로 저장해 놓은 정..

반응형