onmonitor 실행시 아래와 같은 에러메시지가 나오면서 실행이 안됨
4GL run-time error number -7204.
LANG or LC_COLLATE environment variable is invalid.
아래는 Informix find error에서 찾은 에러에 대한 설명
-7204
__________________________________________________________
LANG or LC_COLLATE environment variable is invalid.
Either the LANG or the LC_COLLATE environment variable setting is invalid. Set either or both variables to the values that your system supports.
Guide to GLS 책에서LANG 와 LC_COLLATE는 시스템 locale에 관련된 환경변수임을 알 수 있었음. 또한 클라이언트가 DB에 접속하기 위해서 CLIENT_LOCALE, DB_LOCALE, SERVER_LOCALE의 세가지 환경변수를 적절히 설정해 주어야 한다는 것을 읽을 수 있었음.
locale 명령을 실행했을 때의 결과
LANG=ko
LC_CTYPE="ko"
LC_NUMERIC="ko"
LC_TIME="ko"
LC_COLLATE="ko"
LC_MONETARY="ko"
LC_MESSAGES="ko"
LC_ALL=ko
LANG 와 LC_COLLATE 변수는 모두 ko로 잡혀있음. locale -a로 확인해본 결과 ko는 시스템이 지원해주고 있는 locale name인 것으로 확인됨. 따라서 CLIENT_LOCALE, DB_LOCALE, SERVER_LOCALE 세 변수를 조정해 보기로 함. 그러나, 어떻게 조정해도 onmonitor는 실행되지 않았고, 오히려 dbaccess등 다른 utility까지 실행이 안되는 상태가 됨. 몇번의 시도 끝에 이 세 변수로 문제를 해결하려 한 것은 방향착오였던 것으로 판단함. 시스템을 다시 처음 상태로 돌려놓고 다른 방법을 찾기 시작.
다시 locale -a실행. 지원되는 locale 목록을 보던 중 kl_GL 이라는 이름의 locale을 발견. LANG 와 LC_COLLATE 를 kl_GL로 바꾸어 주고 다시 접속한 후 onmonitor 실행.
여전히 에러가 발생했으나 에러 메시지는 다음과 같이 바뀌어 있었음.
4GL run-time error number -7206.
LANG or LC_CTYPE environment variable is invalid.
또한 dbaccess는 정상적으로 작동하는 것을 확인함.
이후로 에러메시지의 변화에 따라서 LC_CTYPE, LC_NUMERIC, LC_MONETARY 변수를 모두 kl_GL로 세팅한 후 onmonitor가 실행됨
|