오라클 캐릭터셋 변경 문의드립니다. 0 4 6,273

by 오뚝이 캐릭터셋 변경 [2014.10.02 14:07:58]


일본 프로젝트를 진행 중으로

NLS_LANGUAGE=AMERICAN
NLS_CHARACTERSET=JA16SJIS
NLS_NCHAR_CHARACTERSET=AL16UTF16

위 환경에... 한글 등록시 깨지는 현상이 발생해 좀전에 문의 글을 올렸습니다.

------------------------------------

DB 캐릭터셋을 UTF8로 변경하는 방법도 검토중입니다.

(DB를 자체 셋팅하여 일본어 + 한국어 데이터 등록/유지 되면 문제되지 않습니다.)

MIGRATION 작업은 없고

납기시 일부 DATA에 대해 INSERT SQL문으로 제공만 하면 됩니다. (일본어 DATA만 제공)

(문제 없을것 같습니다.^^)

 

DB 캐릭터셋을 UTF8 변경하는 방법을 알려주시면 감사하겠습니다.

(단, 이미 등록되어 있는 일본어가 깨지지 않아야 합니다.

       일본어/한글 한글자가 3바이트, 2바이트 상관 없습니다.^^

      이미 등록된 데이터는 2BYTE, 새로 등록되는 데이터는 3BYTE가 되도 됩니다.)

NLS_LANGUAGE=?
NLS_CHARACTERSET=?
NLS_NCHAR_CHARACTERSET=?

구글링으로 찾았는데.. 위 캐릭터셋을 무엇으로 해야하는지 감이 안오네요

http://joke00.tistory.com/176

 

도움 부탁드립니다.

 

 

by 오뚝이 [2014.10.02 15:03:48]

NLS_LANGUAGE=AMERICAN
NLS_CHARACTERSET=AL32UTF8  (한글 3BYTE)
NLS_NCHAR_CHARACTERSET=AL16UTF16

 

변경해서 DB 재기동 하면 될까요??

NLS_CHARACTERSET=AL16UTF8

한글 2BYTE로 할려면 AL16UTF8로 하면 되나요???


by DJ [2014.10.02 15:05:18]

Characterset 변경은 그렇게 단순하진 않습니다.

예전에 10g에서 Characterset 변경한 경험을 토대로 말씀드리면, 

csscan 으로 관련 report를 뽑은 후에 column 길이 변경등을 수행한 후에 해당 schema export.

그리고  csalter 로 수정을 진행한 후 import 진행하였는데요. 내용을 좀 보시고 Test 쪽에서 진행을 먼저해 보신후에 작업을 하시길 권장합니다.

아래 아주 간단히 나와있는 내용 참조하시고요.

http://www.oracle-base.com/articles/10g/character-set-migration.php

Oracle MOS(Metalink) support.oracle.com 에서 아래 문서 참조하세요. 자세하게 나와있습니다.

Doc ID 260192.1  - Changing the NLS_CHARACTERSET to AL32UTF8 / UTF8 (Unicode)


by 오뚝이 [2014.10.02 16:34:32]

감사합니다.

1. AL32UTF8 로 캐릭터셋 변경하니  기존 데이터가 깨지네요. ㅎㅎ

2. 전체 OBJECT DROP 후 다시 IMPORT

   - IMPORT COLUMN LENGTH 오류로 중단...

3. 결론

    - dj 님이 알려주신 방법으로 할려구요 ^^

 

 


by DJ [2014.10.02 15:19:04]

참고로 보통 다국어 지원으로 AL32UTF8 사용을 권장합니다.

(제가 확인한 바는  AL16UTF8 characterset은 존재하지 않습니다.)

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입