Character Set상의 중복 또는 오류 때문에 일어나는 현상입니다.
Export시 호환이 되는 Character Set으로 하지 않아 중복현상이 일어나는 경우가 있습니다.
우선,
실행 > cmd 입력
sqlplus “/as sysdba"
를 입력해 SQLPLUS를 실행시킨 후 아래의 Query를 실행합니다.
현재 Oracle의 Charset을 확인하는 Query입니다.
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);
실행 후 아래와 같거나 유사한 결과를 얻을 수 있습니다.
CHARACTERSET | TYPES_USED_IN |
WE8ISO8859P1 | VARCHAR2 |
KO16KSC5601 | CHAR |
KO16KSC5601 | CHAR |
WE8ISO8859P1 | NCLOB |
AL16UTF16 | CLOB |
KO16KSC5601 | NVARCHAR2 |
AL16UTF16 | NVARCHAR2 |
KO16KSC5601 | CLOB |
AL16UTF16 | NCHAR |
NVARCHAR2 의 Characterset이 중복되어 잡혀있는 것이 핵심입니다.
만약, 위의 표와같이 중복된 것이 있다면 아래의 SQL구문을 순차적으로 실행하시면 되겠습니다.
실행 > cmd 입력
SQL> sqlplus /nolog
SQL> conn /as sysdba
SQL> shutdown immediate;
를 입력해 봅니다.
만약 Error발생시
shutdown abort;
를 입력해 봅니다.
그래도 Error가 난다면
실행 > cmd 입력
sqlplus “/as sysdba" 혹은 sqlplus /nolog 입력 후
conn sys/pass as sysdba
를 입력한뒤
shutdown immediate; 나 shutdown abort;
를 입력합니다.
이어서
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> COL VALUE NEW_VALUE CHARSET SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET'; SQL> COL VALUE NEW_VALUE NCHARSET SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET'; SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET; SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET; SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP; SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP; |
여기까지 실행 시 다시 처음에 CharacterSet확인 Query를 실행시키면 아래와 같이 중복제거 된 결과를 볼 수 있습니다.
CHARACTERSET | TYPES_USED_IN |
KO16KSC5601 | VARCHAR2 |
KO16KSC5601 | CHAR |
KO16KSC5601 | CLOB |
AL16UTF16 | NCLOB |
AL16UTF16 | NVARCHAR2 |
AL16UTF16 | NCHAR |
'Database > Oracle' 카테고리의 다른 글
[ORACLE] CONCAT, || (0) | 2014.08.20 |
---|---|
[ORACLE] ORACLE-12505 Error 해결법 (1) | 2014.08.16 |
[ORACLE] 한글깨짐현상 문제해결방법 (0) | 2014.08.13 |
[ORACLE] Import & Export (1) | 2014.08.13 |
[ORACLE] ORACLE 10g XE HTTP포트 변경 (0) | 2014.08.13 |