728x90
반응형

출처 Hello Workflow ~ | 다크
원문 http://blog.naver.com/darkh0s/60018963157

오라클 한글이 깨질때 Character Set 이 안맞을때, 서버와 클라이언트가 서로 안 맞기 때문이다.
Character Set 확인 및 변경.


######## 서버 설정 ########

1. 확인

SELECT NAME,VALUE$ FROM PROPS$
 WHERE NAME ='NLS_LANGUAGE' OR
 NAME ='NLS_TERRITORY' OR
 NAME ='NLS_CHARACTERSET';

 

NLS_LANGUAGE :
 데이터 베이스에서 메세지를 보여줄때의 메세지 언어 설정이다 AMERICAN 되여있다
NLS_TERRITORY :
 금액을 표시 할때 날짜를 표현할때 표현 방법이다
 AMERIC 방식은 금액은 "$" 날짜는 DD-MON-YY 형식이고
 한글 방식은 :금액은"//" (원) 표시 날짜는 YYYY-MM-DD 형식으로 보여준다
NLS_CHARACTERSET :
 데이블명 컬럼명을 한글로 사용할수있다 컬럼의 데이터는 정의 된 값과 상관없이 한글입력이 가능하다

 


2. 변경

update props$ set VALUE$='KO16KSC5601' where name='NLS_CHARACTERSET';

위 스크립트를 돌리고 오라클 인스턴스를 재시작하면 됨.

 

데이터가 있는경우는 아래 방법을 씀.

SVRMGR> SHUTDOWN IMMEDIATE; -- or NORMAL

데이터백업

SVRMGR> STARTUP MOUNT;
SVRMGR> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SVRMGR> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SVRMGR> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SVRMGR> ALTER DATABASE OPEN;
SVRMGR> ALTER DATABASE CHARACTER SET KO16KSC5601;
SVRMGR> SHUTDOWN IMMEDIATE; -- OR NORMAL
SVRMGR> STARTUP;

 

 


######## 클라이언트 설정 ########

Unix)

프로파일에 다음을 수정(추가) 한후 프로파일을 다시 로드한다.
vi .profile
export nls_lang=korea_korea.ko16ksc5601
:x
. ./.profile

 

Windows)

레지스트리를 수정(추가) 한다.
registry :
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG = KOREAN_KOREA.KO16KSC5601
또는 (오라클 10g)
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG = KOREAN_KOREA.KO16MSWIN949

 

728x90
반응형

'SQL > ORACLE' 카테고리의 다른 글

[본문 스크랩] START WITH와 CONNECT BY 관련 용어  (0) 2014.02.13
[Oracle]rownum을 이용한 페이징 처리 문제  (0) 2014.02.13
[Oracle]요일 구하기  (0) 2014.02.13
[Oracle]케릭터셋 변경하기  (0) 2014.02.13
[펌] Translated Oracle Product QNA  (0) 2014.02.13
[펌] 오라클 nls-lang  (0) 2014.02.13
[펌] 오라클 nls_lang  (0) 2014.02.13
[펌]인덱스  (0) 2014.02.13
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,