[oracle] 문자 설정 변경
1. exp 할때
KO16MSWIN949 문자 설정과 AL16UTF16 NCHAR 문자 설정에서 엑스포트가 종료되었습니다
서버는 KO16KSC5601 문자 집합을 사용합니다 (문자집합 변환이 가능합니다)
이 부분을 유심히 봐둔다
~~~문자 설정 : NLS_LANG
~~~NCHAR 문자 설정 : NLS_NCHAR_CHARACTERSET
서버는 ~~~ 문자 집합 : NLS_CHARACTERSET
내 컴터에서 문자셋 확인 후
select parameter, value from nls_database_parameters where parameter like '%CHAR%';
exp한 컴퓨터의 문자셋과 똑같이 설정한다.
SQL> conn /as sysdba
연결되었습니다.
SQL> shutdown immediate
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> startup mount;
ORACLE 인스턴스가 시작되었습니다.
데이터베이스가 마운트되었습니다.
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 원하는NLS_CHARCTERSET;
alter database character set UTF8 -->에러가 난다면 강제로 변환(아래줄)
*
1행에 오류:
ORA-12712: 새로운 문자 집합은 이전 문자 집합의 대집합이어야 합니다
SQL> alter database character set internal_use 원하는NLS_CHARCTERSET;
데이타베이스가 변경되었습니다.
SQL> update sys.props$ set value$='원하는NLS_CHARCTERSET' where name='NLS_CHARACTERSET';
1 행이 갱신되었습니다.
SQL> update sys.props$ set value$='원하는NLS_NCHAR_CHARACTERSET' where name='NLS_NCHAR_CHARACTERSET';
SQL> commit;
SQL>shutdown immediate
SQL>startup
SQL> exit
c:> set NLS_LANG=KOREAN_KOREA.원하는 NLS_LANG
그 다음에 imp 실시
[참고] - http://blog.naver.com/PostView.nhn?blogId=joypheonix&logNo=100055772375