2014년 3월 25일 화요일

ORACLE NLS_LANG, NLS_LANGUAGE, NLS_TERRITORY[오라클교육잘하는곳/오라클교육추천/오라클학원추천/ORACLE학원교육추천/ORACLE교육학원추천/실무오라클교육]

ORACLE NLS_LANG, NLS_LANGUAGE, NLS_TERRITORY[오라클교육잘하는곳/오라클교육추천/오라클학원추천/ORACLE학원교육추천/ORACLE교육학원추천/실무오라클교육]


ORACLE NLS_LANG, NLS_LANGUAGE, NLS_TERRITORY

NLS_LANG : 오라클 데이터베이스의 환경변수 값이 아니라 사용자 환경을 Oracle DB 알려주는 역할을 하는 환경변수.
NLS_LANG = [언어]_[영역].[문자셋]
<language>_<Territory>.<client characterset>
예) AMERICAN_ARERICA.KO16KSC5601, AMERICAN_AMRRICA.UTF8, KOREAN_KOREA.KO16KSC5601

언어 :현재 사용자가 사용하는 언어적 특성을 결정짓는 값
      문자셋, 정렬방식, 날짜 표기에 사용되는 기호(년/월/일, YYYY/MM/DD) 
      Default 값은 AMERICAN 이다.
      실제 날짜 표기(TO_CHAR,TO_DATE 실행시 - 월요일, MON 으로 표시를 좌우하는 NLS_DATE_FORMAT 값은 NLS_LANGUAGE 을 따른다.

영역 :현재 사용자 언어의 영역의 특성을 결정짓는 값
       Language 값만 설정하면, Language 값을 따른다. ( KOREAN ==> KOREA )
문자셋 :현재 사용자의 시스템이 인식할 수 있는 문자셋의 값
만약에 Windows Client에서 한국어 환경을 사용하는 경우 NLS_LANG 값을′KOREAN_KOREA.KO16MSWIN949′로
유닉스 Client에서 한국어를 입출력한다면 다음과 같이 NLS_LANG을 ′KOREAN_KOREA.KO16KO16KSC5601′로 설정 할 수 있다.

NLS관련 주요 변수
NLS_TERRITORY : 영역 설정 - NLS_LANG 변수값에 의해 자동 설정
설정 방법예 : ALTER SESSION SET NLS_TERRITORY = 'KOREA'
NLS_LANGUAGE : 언어 설정- NLS_LANG 변수값에 의해 자동 설정 초기화변수
설정 방법예 : ALTER SESSION SET NLS_TERRITORY = 'KOREAN'
NLS_LANG : 언어,영역, 캐릭터셋 설정 - 기본값은 ′AMERICAN_AMERICA.US7ASCII′
설정 방법예 : OS 환경변수로 설정
NLS_COMP : SQL에서의 비교 방식(<,>,=) 설정 - BINARY값으로 비교
설정 방법예 : ALTER SESSION SET NLS_COMP =''
NLS_SORT : 문자열의 정렬방법 설정 - NLS_LANGUAGE값에 따라 결정
설정 방법예 : ALTER SESSION SET NLS_SORT = 'KOREAN_M'
 
[NLS_LANG 지정 방법]
     1. SESSION LEVEL
      - select * from nls_session_parameters 로 확인 가능
      - 변경 방법1.
      SQL> select * from nls_session_parameters
           where PARAMETER in  ('NLS_LANGUAGE','NLS_TERRITORY','NLS_DATE_FORMAT','NLS_DATE_LANGUAGE','NLS_SORT');
           PARAMETER                      VALUE
          ------------------------------ ----------------------------------------
          NLS_LANGUAGE                   AMERICAN
          NLS_TERRITORY                  AMERICA
          NLS_DATE_FORMAT                DD-MON-RR
          NLS_DATE_LANGUAGE              AMERICAN
          NLS_SORT                       BINARY
      SQL> SELECT SYS_CONTEXT('USERENV','LANGUAGE') "NLS SET" from dual;
     
      NLS SET
      --------------------------------------------------------------------------------
      AMERICAN_AMERICA.US7ASCII
         
        -- 변경 
        SQL> ALTER SESSION SET NLS_LANGUAGE='KOREAN';

      - 변경 방법2.
        UNIX, WINDOWS 환병변수에서 NLS_LANG 값을 변경한다.
        UNIX - export NLS_LANG=American_America.US7ASCII 설정
        Windows - SET NLS_LANG=American_America.US7ASCII 설정
   
                    
   2. INSTANCE LEVEL
    - SELECT * FROM NLS_INSTANCE_PARAMETERS ; 를 통해서 확인 가능
    - SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME LIKE '%nls%';
   3. DB LEVEL
    - SELECT * FROM NLS_DATABASE_PARAMETERS ;
    - SELECT NAME, VALUE$ FORM SYS.PROPS$ WHERE NAME LIKE '%NLS%' ;

댓글 없음:

댓글 쓰기