참고
kor 버전으로 받는다면 기본적으로 설치되는 버전은 KO16MSWIN949 일 경우가 많다.
한글을 지원하는 Character Set을 비교해보자.
1. KO16KSC5601
- 한글 지원상태 : 한글 2350자
- 지원버전 : 7.x
- 한글바이트 : 2바이트
2. KO16MSWIN949
- 한글 지원상태 : KO16KSC5601 + 확장 ( 총 11172자 )
- 지원버전 : 8.0.6 이상
- 한글바이트 : 2바이트
3. UTF8
- 한글 지원상태 : 한글 11172자
- 지원버전 : 8.0 이후
- 한글바이트 : 3바이트
4. AL32UTF8
- 한글 지원상태 : 한글 11172자
- 지원버전 : 9i Release 1 이상
- 한글바이트 : 3바이트
UTF8은 많은 문자를 지원하지만 한글을 3바이트 소모한다는 단점이 있다.
(못느낄 정도로 빠른 컴퓨터가 별 차이가 없을 듯함)
** National Characterset은 UTF8과 AL16UTF16(기본값)만 지원
캐릭터셋이 어떻게 설정되어 있나 확인 쿼리는 다음과 같다
Oracle Character Set 변경
1. 접속
sqlplus '/as sysdba'
2. 확인
select distinct(nls_charset_name(charsetid)) CHARACTERSET, decode(type#, 1, decode(charsetform, 1, 'VARCHAR2', 2, 'NVARCHAR2','UNKOWN'), 9, decode(charsetform, 1, 'VARCHAR', 2, 'NCHAR VARYING', 'UNKOWN'), 96, decode(charsetform, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'), 112, decode(charsetform, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')) TYPES_USED_IN from sys.col$ where charsetform in (1,2) and type# in (1, 9, 96,112);
3. 변경
Characterset: KO16MSWIN949,National Characterset: AL16UTF16 로 변경하는 방법
update sys.props$ set value$='KO16MSWIN949' where name='NLS_CHARACTERSET';
update sys.props$ set value$='AL16UTF16' where name='NLS_NCHAR_CHARACTERSET';
update sys.props$ set value$='KOREAN_KOREA.KO16MSWIN949' where name='NLS_LANGUAGE';
commit;
shutdown immediate;
startup mount;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
alter database character set KO16MSWIN949;
shutdown immediate;
startup;
Characterset: WE8MSWIN1252,National Characterset: AL16UTF16 로 변경하는 방법
update sys.props$ set value$='WE8MSWIN1252' where name='NLS_CHARACTERSET';
update sys.props$ set value$='AL16UTF16' where name='NLS_NCHAR_CHARACTERSET';
update sys.props$ set value$='AMERICAN_AMERICA.WE8MSWIN1252' where name='NLS_LANGUAGE';
commit;
shutdown immediate;
startup mount;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
alter database character set KO16MSWIN949;
shutdown immediate;
startup;
'DB (Mysql, Oracle, Maria, ...)' 카테고리의 다른 글
우리가 착각하고 있는 NLS_LANG - PHP에서 오라클 exp후, 한글이 ?로 나오는 경우 (0) | 2011.02.16 |
---|---|
갑자기!! 오라클 사용자 계정의 암호가 만기된 경우 (0) | 2010.10.17 |
Oracle/PLSQL: To_Char Function (FM option) (0) | 2009.04.14 |
오라클 인덱스/트리거/제약조건 바꾸기 (0) | 2009.03.12 |
오라클 User 및 DB삭제 + 추가 (0) | 2008.09.26 |