● Character Set
: encoding scheme
숫자로 글자를 표현, 글자와 숫자를 mapping한 코드표
encoding 은 byte sequence로 표시
서버(DB)와 클라이언트의 character set을 꼭 맞출것
서버(DB)와 클라이언트의 character set을 맞춰줬는데도 글자가 깨질 경우 OS의 code page를 확인해 볼 것.
◎ 서버(DB)
- US7ASCII : 7bit => 영어 데이터만 들어온다면 저장소, 메모리 등을 고려했을 때 최적
- WE8ISO8859P1 : 8bit
- 한글용 character set
KO16KSC5601 : 16bit, 예전에 쓰던 한글 character set (깨지는 글자 많음, 샾, 먄, 믜)
=> KO16MSWIN949 : 16bit, 최근에 주로 씀.
- AL32UTF8 : 가변길이, 한글을 2byte로 인식하기 때문에 export후 import시에 문제 없음.
-AL16UTF16 : 고정길이
- UTF-8
단점 : 한글이 3byte로 입력됨. 데이터 export할 경우 3byte이므로 import시에 KO16MSWIN949일 경우 import않됨.
character set에는 single byte, 가변길이 character set 만 허락됨.
national charater set에는 고정길이 character set만 써야함.
◎ 클라이언트
- profile 또는 레지스트리의 환경변수
NLS_LANG = □□□□□_◇◇◇◇◇.__________ => 반드시 서버 쪽과 같은 character set으로 설정할 것
- 서버 쪽의 character set 확인 쿼리
● NLS (National Language Support)
◎ NLS를 설정할 수 있는 부분
1. parameter file
- NLS_LANGUAGE = American
- NLS_Territory = China => 다른 것을 써도 됨.
2. profile or 레지스트리
- NLS_LANG = spanish_china.O16MSWIN949
- NLS_LANG와 NLS_LANGUAGE중 NLS_LANG이 우선 순위가 높으므로
NLS_LANG이 설정되어 있다면 NLS_LANGUAGE는 설정할 필요가 없다.
3. alter session set nls_* = ?
- 해당 세션에서만 적용됨.
4. 함수 to_char(col1, '...','NLS_L*')
◎ Locale Builder
: 날짜형식 등을 바꿀 수 있는 utility
예) 1월 -> 첫달
● Sort
: 정렬시에 언어에 따른 sort 가 잘못될 경우를 대비해서 nls_sort parameter를 변경하거나 nlssort()함수를 사용할 수 있다.
◎ nls_sort parameter
- 영어를 사용할 경우(default)
- 프랑스어를 사용할 경우
◎ nlssort() 함수
기타 참고사항
- OS에서 nls_lang 환경변수 확인 방법
- nls_comp의 특성(비교시에 language)
nls_sort = binary(default)
french_m
nls_comp = binary(default)
ANSI(비교 매커니즘을 nls_sort parameter에 정의된 값을 따른다.)
- 대소문자 상관없는 정렬을 가능하게 하려면?
{예) ABCD....abc -> AaAaBbBbCCCccC}
: nls_sort = <nls_sort_name> [Ai | Ci]
참고 : http://www.oracle.com/technology/global/kr/pub/columns/nls_list.html
: encoding scheme
숫자로 글자를 표현, 글자와 숫자를 mapping한 코드표
encoding 은 byte sequence로 표시
서버(DB)와 클라이언트의 character set을 꼭 맞출것
서버(DB)와 클라이언트의 character set을 맞춰줬는데도 글자가 깨질 경우 OS의 code page를 확인해 볼 것.
◎ 서버(DB)
SQL> create database 이름
character set __________
national character set ____________;
character set __________
national character set ____________;
- US7ASCII : 7bit => 영어 데이터만 들어온다면 저장소, 메모리 등을 고려했을 때 최적
- WE8ISO8859P1 : 8bit
- 한글용 character set
KO16KSC5601 : 16bit, 예전에 쓰던 한글 character set (깨지는 글자 많음, 샾, 먄, 믜)
=> KO16MSWIN949 : 16bit, 최근에 주로 씀.
- AL32UTF8 : 가변길이, 한글을 2byte로 인식하기 때문에 export후 import시에 문제 없음.
-
- UTF-8
단점 : 한글이 3byte로 입력됨. 데이터 export할 경우 3byte이므로 import시에 KO16MSWIN949일 경우 import않됨.
character set에는 single byte, 가변길이 character set 만 허락됨.
national charater set에는 고정길이 character set만 써야함.
◎ 클라이언트
- profile 또는 레지스트리의 환경변수
NLS_LANG = □□□□□_◇◇◇◇◇.__________ => 반드시 서버 쪽과 같은 character set으로 설정할 것
- 서버 쪽의 character set 확인 쿼리
SQL> select * from database_properties;
또는
SQL> select * from nls_database_parameters;
또는
SQL> select * from nls_database_parameters;
● NLS (National Language Support)
◎ NLS를 설정할 수 있는 부분
1. parameter file
- NLS_LANGUAGE = American
- NLS_Territory = China => 다른 것을 써도 됨.
2. profile or 레지스트리
- NLS_LANG = spanish_china.O16MSWIN949
- NLS_LANG와 NLS_LANGUAGE중 NLS_LANG이 우선 순위가 높으므로
NLS_LANG이 설정되어 있다면 NLS_LANGUAGE는 설정할 필요가 없다.
3. alter session set nls_* = ?
- 해당 세션에서만 적용됨.
4. 함수 to_char(col1, '...','NLS_L*')
◎ Locale Builder
: 날짜형식 등을 바꿀 수 있는 utility
예) 1월 -> 첫달
OS] lbuilder
● Sort
: 정렬시에 언어에 따른 sort 가 잘못될 경우를 대비해서 nls_sort parameter를 변경하거나 nlssort()함수를 사용할 수 있다.
◎ nls_sort parameter
- 영어를 사용할 경우(default)
SQL> alter session set nls_sort = binary;
- 프랑스어를 사용할 경우
SQL> alter session set nls_sort = french_m;
◎ nlssort() 함수
SQL> select fr_word
from words
order by nlssort(fr_word, 'nls_sort=french_m');
from words
order by nlssort(fr_word, 'nls_sort=french_m');
기타 참고사항
- OS에서 nls_lang 환경변수 확인 방법
OS] echo $NLS_LANG
or
OS] env | grep NLS_LANG
or
OS] env | grep NLS_LANG
- nls_comp의 특성(비교시에 language)
nls_sort = binary(default)
french_m
nls_comp = binary(default)
ANSI(비교 매커니즘을 nls_sort parameter에 정의된 값을 따른다.)
- 대소문자 상관없는 정렬을 가능하게 하려면?
{예) ABCD....abc -> AaAaBbBbCCCccC}
: nls_sort = <nls_sort_name> [Ai | Ci]
참고 : http://www.oracle.com/technology/global/kr/pub/columns/nls_list.html
'Oracle > Admin' 카테고리의 다른 글
alert_SID.log (0) | 2010.03.24 |
---|---|
index rebuild 작업 (0) | 2010.02.25 |
Security (0) | 2010.01.08 |
Resource Manager (0) | 2010.01.07 |
ASM(Automatic Storage Management) (0) | 2010.01.07 |