본문 바로가기
컴퓨터 활용(한글, 오피스 등)/50_2.운영체제_리눅스

[Oracle] CHARACTER SET 변경

by 3604 2023. 11. 28.
728x90

출처: https://forgiveall.tistory.com/204

//// 케릭터셋 변경하기1

1. CHARACTER SET 확인

SQL> select * from nls_database_parameters where parameter like '%CHARACTERSET%';

 

2. CHARACTER SET 변경 오로지 SYS로 접속해야만 한다.

SQL> sqlplus '/as sysdba' 

 

3. 시스템종료 & 마운트 접속

SQL> shutdown immediate;

SQL> startup mount; 

 

4. 일반사용자의 세션 가능 제한 

SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; 

SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; JOB 프로세스 정지 

SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; JOB 프로세스 정지 

 

5. CHARACTER SET 변경 

SQL> ALTER DATABASE OPEN; DB 오픈 

SQL> ALTER DATABASE CHARACTER SET KO16KSC5601; 

SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE KO16KSC5601; 혹시 오류가 나면 강제 변경 

 

6. 변경된 CHARACTER SET 확인

SQL> select * from nls_database_parameters where parameter like '%CHARACTERSET%';

 

시스템종료 

SQL> shutdown immediate;

 

 

 

///// 케릭터셋 변경하기 2

<케리터셋 확인>

select parameter, value from nls_database_parameters where parameter = 'NLS_CHARACTERSET'

SELECT parameter, value FROM nls_database_parameters WHERE parameter like '%CHAR%';

SELECT * FROM sys.props$ where name='NLS_CHARACTERSET';

 

 

 

<케릭터셋 변경>

- 방법1

SYSTEM 계정으로 connect 한다.

update sys.props$ set value$='AL32UTF8' where name='NLS_CHARACTERSET';  

update sys.props$ set value$='AL32UTF8' where  name='NLS_NCHAR_CHARACTERSET';

 

update sys.props$ set value$='KOREAN_KOREA.KO16MSWIN949' where name='NLS_LANGUAGE';

commit;

 

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;

ALTER DATABASE CHARACTER SET INTERNAL_USE KO16MSWIN949;

SHUTDOWN IMMEDIATE;

STARTUP;

 

 

-방법2

C:\>sqlplus /nolog;

sql>conn /as sysdba;

변경하고자하는 캐릭터셋을 수정

update sys.props$ set value$='UTF8' where name='NLS_CHARACTERSET';

update sys.props$ set value$='UTF8' where name='NLS_NCHAR_CHARACTERSET';

 

update sys.props$ set value$='KOREAN_KOREA.UTF8' where name='NLS_LANGUAGE';

 

commit;

 

 

-방법3

오라클 삭제하고 새로운 케릭터셋으로 다시 설치한다.

 

<오라클 삭제>

1. services.msc를 실행해서 오라클 관련 서비스를 모두 정지합니다.

2. OUI (Oracle Universal Installer)를 이용하여 오라클 관련 제품을 삭제합니다.

3. regedit를 실행해서 오라클이 포함된 경로들을 모두 삭제합니다. (경우에 따라 경로가 다를 수 있음)

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 삭제

HKEY_LOCAL_MACHINE\SOFTWARE\SYSTEM\ControlSet001\Services 삭제 (Oracle 포함 삭제)

HKEY_LOCAL_MACHINE\SOFTWARE\SYSTEM\ControlSet002\Services 삭제 (Oracle 포함 삭제)

HKEY_LOCAL_MACHINE\SOFTWARE\SYSTEM\CurrentControlSet\Services 삭제 (Oracle 포함 삭제)

HKEY_CLASSES_ROOT -> Oracle과 Ora로 시작되는 것 삭제

4. 재부팅합니다.

5. 오라클이 설치되어있는 디렉토리들을 삭제합니다.

출처: https://forgiveall.tistory.com/204 [하하하하하:티스토리]

728x90