IT 기술/Oracle

Oracle 9i character set 변경

ㅇㅔ ㄷㅡ 2008. 1. 28. 15:21

 아래 내용은 구글, 네이버 등의 사이트에서 검색한 내용중에서 실제로 적용이 되었던 내용입니다. 물론 실제로 적용이 되었던 환경은 리눅스가 아니라 SUN 장비에 Solaris 9 이였습니다.64비트 CPU였구요. 하지만 리눅스 서버에서도 잘 되리라 생각합니다.


-----------------------------------------------------------------------------------------------

운영체제 : RedHat Linux 9
DBMS : Oracle 9i


1. 문자셋 확인

 SQL>select * from v$nls_parameters where parameter like '%CHARACTER%';


2. 문자셋 변경

 SQL>STARTUP MOUNT;
 SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
 SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
 SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
 SQL>ALTER DATABASE OPEN;
 SQL>ALTER DATABASE CHARACTER SET [UTF8];  // [변경하고자 하는 문자셋] ,AL32UTF8
 SQL>SHUTDOWN IMMEDIATE;
 SQL>STARTUP;


 

 ORA-12712 ; new character set must be a superset of old character set

 해당 메세지의 경우 문자셋 변경이 어렵다.


 위와 같은 메세지가 나오는 경우 기존 오라클 인스턴스를 삭제 후

 $ORACLE_HOME/bin/dbca 를 실행하여 새로운 인스턴스를 만드는 것이 추천 방법이다.


 ※ 언어가 문자셋을 말하는 것은 아니다.


NLS_LANG=KOREAN_KOREA.KO16KSC5601