티스토리 뷰
그냥 제가 개발하면서나
아니면 심심할때 가지고 놀려고 CentOS하고 우분투에 오라클을 설치해서 쓰고 있었는데
이 두 개의 데이터베이스에서 익스포트/임포트 하려니 두 오라클 캐릭터셋이 시망으로...
한글 데이터가 이상하게 보이고 하여서 centos의 오라클의 데이터셋을 변경하게 되었습니다.
네이버나 구글에서 보니 뭐 업데이트를 이용한 방법도 있고 하던데... 전 잘 안되더군요...
그래서 그것으로 해봤는데 안되는 분들은 한번 확인해보시기 바랍니다.
우선 한번 확인을 해봐야겠죠?
아래의 쿼리를 실행하여 보시면 됩니다.
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
---------------------------------------- -------------
AL16UTF16 NVARCHAR2
AL16UTF16 NCHAR
AL16UTF16 NCLOB
KO16MSWIN949 VARCHAR2
KO16MSWIN949 CHAR
KO16MSWIN949 CLOB
비정상적인 느낌(?)은 이런 식으로 나오는 경우입니다.ㅋㅋ 그냥 봐도 뭔가 좀 이상하시죠?ㅋㅋ
처] 오라클 캐릭터 셋CHARACTERSET CHARACTERSET
TYPES_USED_IN
-----------------------------------------------------
AL16UTF16 NCHAR
AL16UTF16 NVARCHAR2
AL16UTF16 NCLOB
US7ASCII CHAR
US7ASCII VARCHAR2
WE8DEC VARCHAR2
US7ASCII CLOB
TYPES_USED_IN
-----------------------------------------------------
AL16UTF16 NCHAR
AL16UTF16 NVARCHAR2
AL16UTF16 NCLOB
US7ASCII CHAR
US7ASCII VARCHAR2
WE8DEC VARCHAR2
US7ASCII CLOB
CHARACTERSET TYPES_USED_IN
-----------------------------------------------------
AL16UTF16 NCHAR
AL16UTF16 NVARCHAR2
AL16UTF16 NCLOB
US7ASCII CHAR
US7ASCII VARCHAR2
WE8DEC VARCHAR2
US7ASCII CLOB
제가 사용하고자 하는 "KO16MSWIN949" 캐릭터셋이 저렇게 3가지로 멀쩡하게 나오면 괜찮구여..
뭔가 중복되는게 있거나 다른 캐릭터셋이 하나 끼어 있거나 하다면 문제가 있는 겁니다.
저도 데이터베이스의 사용자의 입장에 있고 설치나 설정은 잘 모르기 때문에
이런저런 구차한 설명을 장황하게 해드릴수 있을것 같지 않고....
그냥 과정을 보겠습니다.ㅋㅋㅋㅋ
oracle@hanuli7:/home/oracle>sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.3.0 Production on Thu Jun 5 16:45:42 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 5094195200 bytes
Fixed Size 2191400 bytes
Variable Size 922750936 bytes
Database Buffers 4160749568 bytes
Redo Buffers 8503296 bytes
Database mounted.
SQL> alter system enable restricted session;
System altered.
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
System altered.
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
System altered.
SQL> ALTER DATABASE OPEN;
Database altered.
SQL> COL VALUE NEW_VALUE CHARSET
SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
VALUE
--------------------------------------------------------------------------------
KO16MSWIN949
SQL> COL VALUE NEW_VALUE NCHARSET
SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_NCHAR_CHARACTERSET';
VALUE
--------------------------------------------------------------------------------
AL16UTF16
SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;
old 1: ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET
new 1: ALTER DATABASE CHARACTER SET INTERNAL_USE KO16MSWIN949
Database altered.
SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;
old 1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET
new 1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16
Database altered.
SQL> SHUTDOWN IMMEDIATE;
STDatabase closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> STARTUP;
ORACLE instance started.
Total System Global Area 5094195200 bytes
Fixed Size 2191400 bytes
Variable Size 922750936 bytes
Database Buffers 4160749568 bytes
Redo Buffers 8503296 bytes
Database mounted.
Database opened.
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP;
ORACLE instance started.
Total System Global Area 5094195200 bytes
Fixed Size 2191400 bytes
Variable Size 922750936 bytes
Database Buffers 4160749568 bytes
Redo Buffers 8503296 bytes
Database mounted.
Database opened.
SQL>
이렇게 했을 때 저는 위에서 정상적으로 보이는 경우처럼 잘 나오더군요...
아.. 혹시나 위의 과정을 보시기 전에 오라클의 설정에서 'parallel_server' 값을 확인해서
false상태이거나 아예 없는지 확인을 해보시기 바랍니다.
이 설정은 오라클 설정 디렉토리에서 "INIT.ORA" 파일을 찾아 보시거나
SQL> show parameter parallel_server;
으로 확인 가능하십니다.
이 값이 만약 true 이라면 false으로 변경 후 위의 과정을 모두 정상 클리어 하시고
다시 값을 원래대로 복원하시기 바랍니다.
그럼 모두 열심히 IT 발전을 위하여 노력하세요!! ^^
- Total
- Today
- Yesterday
- Spring
- 이클립스
- 오라클
- 원격저장소
- log4jdbc
- SEED 알고리즘
- remote repository
- tibero database export import
- Oracle
- Publish+Over+SSH
- 서버
- 설치
- 스프링
- tbexport
- 메이븐
- 쿼리로그
- svn 서비스 등록
- 우분투
- Tibero
- 사용자변경
- 원격배포
- 티베로
- sql log
- 윈도우
- maven
- plugin execution not covered
- 티베로는 나에게 어울리지 않아
- tbimport
- 엑스플랫폼
- tibero database backup
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |