[ 문자셋 확인 ]
SELECT name, value$
FROM sys.props$
WHERE name = 'NLS_CHARACTERSET';
SELECT name, value$
FROM sys.props$
WHERE name = 'NLS_NCHAR_CHARACTERSET';
[ 언어셋 확인 ]
SELECT name, value$
FROM sys.props$
WHERE name = 'NLS_LANGUAGE';
AL32UTF8
- 한글 한자당 3바이트
- AL32UTF8: 한글 11,172자이며 UTF8과 다른점은 내셔널 캐릭터셋으로 설정이 불가능
AL16UTF8
- KO16KSC5601 :한글 완성형 2,350자지원 글자당 2바이트
- KO16MSWIN949: KO16KSC5601+확장 8822자 지원, 글자당 2바이트
- UTF8: 한글 11,172자 글자당 3바이트
- 3바이트 => 2바이트 한글로 변경하는 방법update sys.props$ set value$='KO16MSWIN949' where name='NLS_CHARACTERSET';update sys.props$ set value$='AMERICAN_AMERICA.KO16MSWIN949' where name='NLS_LANGUAGE';
- update sys.props$ set value$='KO16MSWIN949' where name='NLS_NCHAR_CHARACTERSET';
- select * from nls_database_parameters;
- 변경후 : 오라클 재부팅
DATA Base CharSet 변경 (이걸안하면 sqlgate 같은 gui 클라이언트 에서 스키마 보기가 안됨)
#> sqlplus 'sys / as sysdba'SQL>STARTUP MOUNT;SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;SQL>ALTER DATABASE OPEN;SQL>SHUTDOWN IMMEDIATE; - SQL>STARTUP;
- SQL>ALTER DATABASE CHARACTER SET KO16MSWIN949;
- SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
- SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
- SQL>SHUTDOWN IMMEDIATE;
- #> /etc/init.d/oracle-xe restart