database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 11321 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 11321
ORACLE 9I 에서의 NATIONAL CHARACTERSET("AL16UTF16" )
작성자
정재익(advance)
작성일
2002-07-12 09:54
조회수
12,818

ORACLE 9I 에서의 NATIONAL CHARACTERSET("AL16UTF16" )

 

===================================================

Description

~~~~~~~~~~~

Oracle 9i 에서는 NCHAR(National Character Set) 를 UTF8 와 AL16UTF16 만을 지원한다. AL16UTF16 는 Oracle 9i 에서 새롭게 소개된 character set으로 16 bit unicode data 이다. 그러므로 기존에 다양한 NCHAR 를 설정한 Oracle 8/8i 의 client에서 Oracle 9i 로 connect시 지원하지 않는 NCHAR 로 문제가 야기될 수 있다.

 

National Language Support character 이 지원하는 datatypes 은 다음과 같다.

    National Language Support character datatypes: 
                NCHAR 
                NVARCHAR2 
                NCLOB. 

 

Oracle 9i 에서는 default NATIONAL CHARACTER SET 이 AL16UTF16 으로 설정되어 DB가 생성된다. 8/8i 에서는 지원하지 않는 character set 이므로 character set이 깨지는것을 막고 data가 정상적으로 저장되게 하기 위해서는 8/8i 의 client side에 NLS patch 를 적용해야만 한다. (NCHAR, NVARCHAR2 or NCLOB column data 사용이 가능하게 된다.)

 

다음과 같은 경우 문제 발생

~~~~~~~~~~~~~~~~~~~~~~~~

- 8/8i 과 9i 연동해서 datatype을 NCHAR, NVARCHAR2 or NCLOB 를 사용하고자 할 경우

- Oracle 8/8i client 에서 9i의 NCHAR, NVARCHAR2 or NCLOB data 를 수정하거나 읽고자 할 경우

 

Possible Symptoms

~~~~~~~~~~~~~~~~~

a. Client 8/8i 에서 Oracle 9i 에 접속하여 NCHAR, NVARCHAR2 or NCLOB column 의 data를

access 하고자 할때 다음 처럼 quer가 수행된다.

          eg: Assume a table NC defined as ( A VARCHAR2(10), B NVARCHAR2(100) ) 
                    From an Oracle8 client running WE8DEC: 
           
                                SQL> insert into nc values('hello','hello'); 
                                SQL> select * from nc; 

                                A B 
                                ---------- ---------------------------- 
                                hello h e l l o 
                                                        ^^ Note the extra spaces between characters 

 

b. db link 를 이용하여 data 를 access 하고자 할때 ORA-24365 에러 발생

              SQL> select * from nc@v9.world; 
                                          * 
                                ERROR at line 1: 
                                ORA-02068: following severe error from V9.WORLD 
                                ORA-24365: error in character conversion 

 

Workarounds

~~~~~~~~~~~

새로운 character set 에 대한 이해가 가능토록 Patch 적용을 수행하거나 NATIONAL CHARACTER SET 으로 UTF8을 사용하는 것이다.

 

Patch 적용후에 query를 수행한 결과 
    Eg: 
                                SQL> select convert(b,'WE8DEC') from nc; 

                                CONVERT(B,'WE8DEC') 
                                ---------------------------------- 
                                hello 

 

만약 Oracle 8/8i 를 Oracle 9i로 migratio 을 해야 한다면 다음 단계를 따라야 한다.

 

Migration Path

~~~~~~~~~~~

Oracle8/8i에서 NCAHR 를 사용하는 경우 우선 Oracle server 8.2로 다음 단계처럼 migration 을 수행한다.(character set이 UTF8 인경우 제외)

1) NCHAR, NVARCHAR, or NCLOB column이 포함된 table에 대해 모두 export를 한다.

2) NCHAR, NVARCHAR, or NCLOB column이 포함된 table을 모두 drop 한다.

3) Oracle8 Migration Utility를 이용하여 Oracle 8.2 로 upgrade를 한다.

4) export 받은 table을 모두 import 한다.

 

다음은 patch 에 대한 정보이다.

 

Patches

~~~~~~~

Oracle intends to make patches available for 8.1.7 and 8.0.6 on all platforms where these releases are available. These patches can be used with any patch set release on that platform.

Eg: The patch for 8.0.6 on HPUX 32 bit can be used with 8.0.6.0, 8.0.6.1, 8.0.6.2 or 8.0.6.3.

The patches must be installed in the ORACLE_HOME of any tools being used to connect to the Oracle9i database, and in the ORACLE_HOME of any Oracle8/8i server which uses database links to an Oracle9i instance.

 

Oracle does not intend to make patches available for any other releases unless explicitly requested to do so. Any such request would need to be made whilst the target release is still in its "Error Correction Support" period. (Note : 8.1.6 will be desupported from October 2001)

 

References

~~~~~~~~~~

Note. 140014.1

Notification of desupport of other NCHAR character sets besides UTF8 and AL16UTF16 <Note:102633.1>

The base bug for tracking patches for this issue is <Bug:1634613>

[Top]
No.
제목
작성자
작성일
조회
11333Oracle ODBC 설정법
정재익
2002-07-12
7699
11327Linux 용 오라클 제품관련 FAQ
정재익
2002-07-12
6508
11322EXPORT받은 DUMP 파일의 CHARACTER SET 확인 방법
정재익
2002-07-12
8828
11321ORACLE 9I 에서의 NATIONAL CHARACTERSET("AL16UTF16" )
정재익
2002-07-12
12818
11320DBMS_JOB PACKAGE의 사용 방법과 예제
정재익
2002-07-12
8755
11307Oracle 기초강좌 (11) [2]
정재익
2002-07-11
17993
11306Oracle 기초강좌 (10)
정재익
2002-07-11
18554
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다