Db/Oracle

oracle server character set 변경

seongsland 2012. 2. 16. 18:42
====================================================================================

1. UPDATE

 

SQL> update sys.props$ set value$='KO16KSC5601' where name='NLS_CHARACTERSET';  
1 row updated. 

SQL> update sys.props$ set value$='KO16KSC5601' where name='NLS_NCHAR_CHARACTERSET';  
1 row updated. [언어셋 변경] 
SQL> update sys.props$ set value$='AMERICAN_AMERICA.KO16KSC5601' where name='NLS_LANGUAGE';  
1 row updated

commit;
 
oracle server restart!!!!!!

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

 

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

2. ALTER DATABASE

 

-- NLS_CHARACTERSET 확인
SELECT * FROM nls_database_parameters
WHERE parameter='NLS_CHARACTERSET' or
parameter='NLS_LANGUAGE'
-- NLS_CHARACTERSET 변경
-- Oracle 계정으로 로그인
sqlplus "/ as sysdba"

-- 재부팅
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;

ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;

-- 아래처럼 변경한다. character set 은 KO16MSWIN949 도 사용가능 하다.
ALTER DATABASE CHARACTER SET KO16KSC5601;
 
-- 혹시 superset 이 틀리다는 오류가 나면 아래처럼 강제로 수정할 수 있다.
ALTER DATABASE CHARACTER SET INTERNAL_USE KO16KSC5601;
-- 종료
SHUTDOWN IMMEDIATE;
-- 시작
STARTUP;

 
참조 : http://blog.daum.net/_blog/BlogTypeView.do?blogid=07lLS&articleno=12369596&_bloghome_menu=recenttext#ajax_history_home