문제해결
본 장에서는 OSC 설치할 때 발생할 수 있는 에러 중 자주 발생하는 유형을 소개하고, 유형별 해결방법을 기술한다.
1. 개요
OSC 설치 과정에서 발생하는 에러는 다음의 3가지 경로를 통해 발견할 수 있다.
-
${OPENFRAME_HOME}/UninstallerData/log/install_OSC.log 파일을 텍스트 에디터로 직접 열어 확인한다.
-
OpenFrame을 설치한 후 수동으로 스크립트를 실행할 때 기록되는 에러를 확인한다.
-
OpenFrame 기동을 확인할 때 나타나는 서버 상태 로그 정보를 확인한다.
2. 에러 유형 및 해결방법
잘못된 설치용 속성 파일로 인해 OpenFrame 설치 중 빈번히 발생하는 에러 및 유형별 해결방법에 대해 설명한다.
2.1. 라이선스 파일
라이선스 파일이 존재하지 않거나 손상된 경우 또는 라이선스 기간이 만료된 경우 다음과 같은 에러가 발생한다.
-
유형
OpenFrame을 기동할 때 해당 모듈 서버가 올바르게 실행되지 않으며, tmadmin을 통해 서버 상태를 확인할 때 NRDY가 표시된다. 서버가 올바르게 실행되고 있는지 확인하기 위해 tmadmin을 실행한 후 si 명령어를 실행한다. 자세한 내용은 설치 확인을 참고한다.
예를 들어 OSC의 애플리케이션 서버의 라이선스 파일인 licosc.dat 파일에 문제가 발생하면 애플리케이션 서버가 올바르게 실행되지 않는다. 애플리케이션 서버명이 OSCOIVP1이라고 할 경우 ${OPENFRAME_HOME}/log/tmax/ulog 디렉터리의 OSCOIVP1_TCL1MMDDYYYY.err 로그 파일을 통해 다음과 같은 에러 내용을 확인할 수 있다.
다음은 라이선스 파일이 존재하지 않는 경우이다.
191516 U CHK0001 /home/oframe/OpenFrame/license/licosc.dat file open fail: 2 (I) SVR3016 SVR OSCOIVP1 (19/51) tpsvrinit fail. [SVR0027]
-
해결방법
라이선스 관련 문의는 TmaxSoft의 기술 지원에 문의한다.
2.2. 공유 메모리
다음은 공유 메모리 키 값이 중복될 경우의 설명이다.
-
유형
설치용 속성 파일에 등록한 공유 메모리 키 값이 다른 사용자 또는 프로그램에 의해 사용 중인 키 값과 중복될 경우 해당 공유 메모리를 사용하는 OpenFrame 애플리케이션 서버가 제대로 기동되지 않는다.
이 경우 설치 확인에서 tmadmin을 통해 서버 상태를 확인하면 해당 서버가 NRDY 상태인 것을 확인할 수 있다.
다음은 유저가 사용하는 공유 메모리 키 값이 중복되었을 경우 oscboot할 때 발생하는 에러 메시지이다.
OSCBOOT : OSC RTSD loading(OSCOIVP1) [fail] OSCBOOT : OSC Region(OSCOIVP1) [fail] OSCBOOT : cics_ctrl_boot(region=OSCOIVP1)=-53017 error
-
해결방법
발생한 에러코드를 oferror을 통해 특정 공유 메모리에서 발생한 것을 확인한다. 설치용 속성 파일에서 해당 공유 메모리 키 값을 수정하고 다시 설치를 시도하거나 ${OPENFRAME_HOME}/config 디렉터리에 위치한 환경설정 파일의 해당 값을 찾아 수정한 다음 기동한다.
2.3. 보안 모듈
다음은 보안 모듈에서 라이브러리 접근을 차단하는 경우의 설명이다.
-
유형
Linux의 보안 모듈인 SELinux를 사용하는 일부 Linux 시스템의 경우 SELinux의 보안 정책상 일부 라이브러리의 접근을 차단하여 다음과 같은 에러가 발생할 수 있다.
"cannot restore segment prot after reloc: Permission denied"
-
해결방법
다음 2가지 방법을 사용하여 문제를 해결할 수 있다.
-
Permission denied가 발생하는 라이브러리를 대상으로 다음과 같이 chcon을 실행한다. 라이브러리에 따라서는 슈퍼 유저 권한이 필요할 수도 있다.
chcon -t texrel_shlib_t [원하는 so 라이브러리]
-
슈퍼 유저로 접속한 다음 아래와 같이 /etc/sysconfig/selinux 파일을 수정하여 SELInux를 비활성화한다. 단, 이 방법은 보안 정책을 약화시킬 수 있으므로 권장하지는 않는다.
SELINUX=disabled
-
2.4. VTAM DB 테이블
다음은 VTAM DB 테이블이 미리 생성되어있지 않은 경우의 설명이다.
-
유형
OSC 기동을 위해서는 VTAM DB 테이블이 미리 생성되어 있어야 한다. 없을 경우 Region을 기동할 때 아래와 같은 메시지가 출력된다.
OSCBOOT : vtam_appl_register_region() failed: rc(-109922), region(OSCOIVP1)
-
해결방법
VTAM DB 테이블이 정상생성되어 있는지 확인한다.
VTAM DB 테이블은 baseinit 실행 시 생성되므로 자세한 설명은 OpenFrame Base "툴 참조 안내서를 참고한다.