반응형
1. 기존의 데이터를 수정하지는 않는다.
2. 다음 쿼리를 통해 캐릭터셋이 2개 이상 조회된다면 (같은 케릭터셋이 2개의 타입이라면..) 데이터를 주고 받을 때 정상적이지 않을수 있다 ~.
select distinct(nls_charset_name(charsetid)) CHARACTERSET,
decode(type#, 1, decode(charsetform, 1, 'VARCHAR2', 2, 'NVARCHAR2','UNKOWN'),
9, decode(charsetform, 1, 'VARCHAR', 2, 'NCHAR VARYING', 'UNKOWN'),
96, decode(charsetform, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),
112, decode(charsetform, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')) TYPES_USED_IN
from sys.col$ where charsetform in (1,2) and type# in (1, 9, 96, 112);
3. 시스템 환경을 케릭터 셋으로 변경한다.(/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;
COL VALUE NEW_VALUE CHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
COL VALUE NEW_VALUE NCHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';
ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;
SHUTDOWN IMMEDIATE;
STARTUP;
-- yes, 2 times startup/shutdown . This is not a typo
SHUTDOWN IMMEDIATE;
STARTUP;
절차
SQL> SHUTDOWN IMMEDIATE;<do a full backup>
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 KO16KSC5601;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;
참고 사이트 : http://www.oracle.com/technology/global/kr/pub/columns/oracle_nls_2.html
반응형
'Database > ORACLE' 카테고리의 다른 글
데이터 필드에 한글여부 확인 하기 (0) | 2009.06.15 |
---|---|
oracle 10.2.0.3 or 10.2.0.4 업그레이드후 ORA-01092 발생할 경우 (0) | 2009.05.06 |
ORA-06552 ORA-06553: PLS-553: 에러 해결 방법 (0) | 2009.03.21 |
Oralce Comments (주석) 정보를 옮기는 방법.... (0) | 2009.03.20 |
Oracle 10g 공간 줄일수 있는 테이블 찾기와 Shrink 실행하기 ~ (0) | 2009.03.09 |