오라클 10g NLS_CHARACTERSET 한국어 KO16KSC5601 또는 KO16MSWIN949변경하기...

|

http://blog.daum.net/cjsxowls/12369596

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"

-- DB 종료상태에서...
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;

 
And