본문 바로가기

IT관련

오라클 에러메시지 영어로 한글로 표시방식 변경하는 방법 (NLS_LANG)

Oracle SQL*Plus 등에서 SQL문을 실행할 때 나오는 에러 메세지가 어떤 시스템에서는 한글로 나올때가 있고, 어떤 시스템에서는 영어로 메시지가 나오는 경우가 있습니다.

 

에러 메시지 내용을 파악하기에는 한글로 메시지를 보는 것이 우리에게 편하긴 하지만, 가끔 해당 에러메시지로 구글링해서 관련 정보를 찾아보고자 할때는 영문메시지가 훨씬 유리합니다.

구글에서 한글로 검색했을때보다 영어로 검색했을때 훨씬 많은 정보가 나오기 때문입니다.

 

그럼, 어떤 경우에 오라클 에러메시지가 영어로 나오고, 어떤 경우에 한글로 나올까요?

 

이건 오라클 환경변수 NLS_LANG 와 관계있습니다. 

 

 

DB서버에 할당된 NLS_LANG 정보는 위와같이 "env | grep NLS" 커맨드로 확인할 수 있습니다.

 

NLS_LANG 은 점(".")을 기준으로 앞에 Language 정보와 뒤에 Characterset 정보로 구성되어 있습니다.

Characterset 정보는 DB를 처음 생성할때 정해지는 것으로 NLS_LANG 환경정보 세팅할때 항상 DB와 똑같이 맞춰줘야 합니다.

 

하지만, 앞에있는 Language 정보는 바꿔서 사용할 수 있고, 이걸 AMERICAN_AMERICA 로 해주면 오라클이 화면에 표시되는 메시지를 영어로 출력하고, KOREAN_KOREA 로 세팅해주면 화면에 표시되는 메시지를 한글로 출력합니다.

 

 

위와 같이 영어로 에러메시지가 나오는 것을 아래와 같이 export 명령으로 NLS_LANG 값을 바꿔주면 한글로 확인할 수 있습니다.

 

 

NLS_LANG 값을 KOREAN_KOREA 로 바꿔주면, 에러메시지도 한글로 나오고 sqlplus 접속시 나타나는 메시지도 한글로 나오는 것을 확인할 수 있습니다.

 

반대로, NLS_LANG 값을 AMERICAN_AMERICA 로 바꿔주면 모든 메시지가 영어로 표시됩니다.

 

Oracle, Error Message