My Oracle Support Banner

AL32UTF8 / UTF8(유니코드) 데이터베이스 캐릭터셋 개념 (Doc ID 1607876.1)

Last updated on APRIL 04, 2019

적용 대상:

Oracle Database - Enterprise Edition - 버전 8.0.3.0 과(와) 그 후속
Oracle Database - Standard Edition - 버전 8.0.3.0 과(와) 그 후속
Oracle Database Cloud Schema Service - 버전 N/A 과(와) 그 후속
Oracle Database Exadata Cloud Machine - 버전 N/A 과(와) 그 후속
Oracle Cloud Infrastructure - Database Service - 버전 N/A 과(와) 그 후속
이 문서의 내용은 모든 플랫폼에 적용됩니다.

목적

이 문서에서는 AL32UTF8 데이터베이스 캐릭터셋으로 전환하고 유니코드 클라이언트를 사용할 경우 발생하는 문제를 처리하기 위한 몇 가지 실용적인 힌트 제공합니다.
AL32UTF8로 변환하려면 Note 260192.1 Changing the NLS_CHARACTERSET to AL32UTF8/UTF8 (Unicode)  in 8i, 9i , 10g and 11g 또는 Note 1272374.1 The Database Migration Assistant for Unicode (DMU) Tool을 참조하십시오.

이 노트는 AL32UTF8/UTF8로 전환할 때 참조할 수 있도록 작성되었지만 대부분의 사실은 다른 기타 멀티바이트 캐릭터셋(ZHS16GBK, ZHT16MSWIN950, ZHT16HKSCS, ZHT16HKSCS31, KO16MSWIN949, JA16SJIS...)으로 변경할 때도 적용되며 AL32UTF8을 xx16xxxx 대상 캐릭터셋으로 치환하면 됩니다. 그러나 AL32UTF8로 전환하는 것이 훨씬 더 나을 것입니다.

범위

이 노트는 AL32UTF8을 사용하며, 이 노트에 포함된 모든 정보는 달리 명시되지 않은 한 UTF8의 경우에도 동일합니다.
UTF8 및 AL32UTF8은 Oracle 에서 불리우는 이름이고 UTF-8(- 포함)은 유니코드 표준 UTF-8 인코딩 체계를 나타냅니다.
 

중요: 10.1.0.5를 비롯하여 10.2.0.4보다 낮은 모든 10g 버전에서 (AL32)UTF8 또는 기타 멀티바이트 캐릭터셋으로 Expdp/Impdp를 사용하지 마십시오. 11.1.0.6도 영향을 받습니다.
해당 명령은 사용자가 Impdp측에서 패치 5874989를 적용하지 않은 한 데이터 손상을 초래합니다. Expdp는 영향을 받지 않습니다. "이전" exp/imp 툴은 영향을 받지 않습니다. 이 문제는 10.2.0.4 및 11.1.0.7 패치셋에서 해결되었습니다.
윈도의 경우 수정본이 다음에 포함되어 있습니다.
10.1.0.5.0 패치 20(10.1.0.5.20P) 이상(Note 276548.1 참조)
10.2.0.3.0 패치 11(10.2.0.3.11P) 이상(Note 342443.1 참조)

상세 내역

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


이 문서에서
목적
범위
상세 내역
 A) 자주 묻는 질문:
 A.1)Nchar, Nvarchar2 또는 Nclob를 사용해야 합니까?
 A.2) 사용 중인 운영 체제에서 유니코드가 지원되어야 합니까, 아니면 OS 레벨에서 캐릭터셋을 설치해야 합니까?
 A.3) Oracle RDBMS의 유니코드 캐릭터셋 및 유니코드 버전은 무엇입니까?
 A.4) Oracle AL32UTF8/UTF8 데이터베이스에서 -여기에 언어 또는 문자 삽입-이(가) 지원/정의/알려져 있습니까?
 A.5) 다른 NLS_CHARACTERSET에서 AL32UTF8 또는 UTF8로 어떻게 변환합니까?
 A.6) 새로운 Oracle 버전으로도 업그레이드하고 싶은데 AL32UTF8로 전환하는 작업은 업그레이드 전에 합니까, 아니면 후에 합니까?
 A.7) 데이터베이스에서 내 응용 프로그램이 AL32UTF8 또는 UTF8과 함께 잘 작동할 것인지 어떻게 알 수 있습니까?
 B) 서버 측면에서의 의미.
 B.1) 다음에 대한 데이터 저장: AL32UTF8(ORA-01401 / ORA-12899, 삽입 중).
 B.2) AL32UTF8로 전환하면 데이터베이스가 얼마나 커집니까?
 B.3) AL32UTF8에서 문자의 코드포인트가 변경될 수 있습니까?
 B.4) 변환 사용 시 SP2-0784, ORA-29275 및 ORA-600 [kole_t2u], [34] 오류/문자 손실의 의미.
 B.5) UTF8 에서 AL32UTF8 로 변환이 필요하나요 ? UTF8에서 AL32UTF8로 어떻게 변환합니까?
 B.6) AL32UTF8 데이터베이스에서 데이터를 임포트하거나 데이터베이스 링크를 사용하여 데이터를 이동하는 중 ORA-01401/ORA-12899 발생.
 B.7) 비US7ASCII 문자를 사용하는 객체 및 사용자 이름.
 B.8) 사용자의 비밀번호에는 10g 이하 버전의 단일 바이트 데이터만 포함할 수 있음.
 B.9) DBMS_LOB.LOADFROMFILE을 사용하는 경우.
 B.10) UTL_FILE을 사용하는 경우
 B.11) sqlldr 또는 외부 테이블을 사용하는 경우.
 B.12) "바이너리"(  pdf, doc, docx, jpeg, png) 또는 암호화 데이터(비밀번호)를 CHAR, VARCHAR2, LONG, CLOB 문자 데이터 유형에 저장하지 않아야 함.
 B.13) 문자열 함수는 바이트가 아니라 문자에 대해 작동함(length, like, substr 등).
 B.14) LPad 및 Rpad는 문자가 아니라 "표시 단위"로 계산됨.
 B.15) LIKE 및 INSTR 사용.
 B.16) 문자 값을 반환하는 문자 함수가 데이터를 자동으로 자를 수 있음.
 B.17) 구체화된 뷰/CTAS를 AL32UTF8 db에서 사용할 경우 컬럼 크기가 두 배/세 배로 증가하고 데이터베이스 링크가 비AL32UTF8 db를 가리킴(또는 그 반대일 수 있음).
 B.18) 커서를 사용하여 비AL32UTF8 데이터베이스에서 데이터를 인출할 때 ORA-01406 또는 ORA-06502 발생(PL/SQL)
 B.19) HTMLDB를 사용하는 경우.
 B.20)디렉토리 또는 파일 이름에 비US7ASCII 이름을 사용하는 경우.
 B.21) XDB(xmltype)를 사용할 경우.
 B.22) 마이크로 기호 또는 터키어의 i 및 I 문자에서 upper 및 NLS_upper로 인해 예상치 못한 결과가 발생하는 경우.
 B.23) lower 및 NLS_lower가 그리스어 시그마 대문자 Σ에서 소문자로의 변환을 시그마 기호의 위치를 기반으로 처리하지 않는 경우.
 B.24) AL32UTF8로 전환한 후에 ORA-24816: 실제 LONG 또는 LOB 컬럼 오류 후에 제공된 확장된 비LONG 바인드 데이터가 표시되는 경우
 B.25) CPU 및 메모리 사용에 대한 영향은 무엇입니까?
 C) 클라이언트측.
 C.1) NLS_LANG에 대한 일반적인 오해.
 C.3) UTF-8(유니코드) 클라이언트가 되도록 Microsoft Windows 클라이언트 구성.
 C.4) sqlplus에서 출력의 기본 컬럼 너비가 변경됨.
 C.5) 유니코드 클라이언트가 되도록 웹 기반 클라이언트 구성.
 C.6) Sqlplus 또는 Oracle SQLDeveloper를 사용하여 스크립트 삽입 비US7ASCII 데이터 실행.
 C.7) UTF8 또는 AL32UTF8로 설정된 NLS_LANG을 사용하는 것보다 sqlplus를 사용하여 파일을 스풀하는 것이 더 느림.
 C.8) Oracle Applications 사용.
 C.9) Portal 사용.
 C.10) Oracle Forms PDF 및 유니코드
 C.11) OracleAS 10g 메타데이터 저장소를 호스트하는 AL32UTF8로 데이터베이스 변경.
 D) 알려진 문제
 E) 기타 유용한 참조
참고

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.