사례
서로 다른 인코딩 정보로 인해 imp 대상 서버에 dmp를 할 수 없는 문제
dmp 원본 서버 인코딩 : KO16KSC5601
imp 대상 서버 인코딩 : WE8ISO8859P15
해결방법
1. 오라클 데이터베이스 관리자로 접속하여 NLS_characterset, NCHAR의 CHARACTERSET에 한국어를 지원하도록 파라미터의 속성값을 KO16KSC5601로 변경
SQL> update sys.props$ set value$=’KO16KSC5601’ where name=’NLS_CHARACTERSET’;
1 row updated.
SQL> update sys.props$ set value$=’KO16KSC5601’ where name=’NLS_NCHAR_CHARACTERSET’;
1 row updated.
[언어셋 변경]
SQL> update sys.props$ set value$=’AMERICAN_AMERICA.KO16KSC5601’ where name=’NLS_LANGUAGE’;
1 row updated.
[변경사항 저장 및 데이터베이스 재연동]
SQL> commit;
Commit complete.
[오라클 재시작]
SQL> shutdown
Database closed.
Database dismounted.
Oracle instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 235999352 bytes
Fixed Size 450680 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
[변경사항 확인]
SQL> select * from v$nls_parameters;
2. 문자셋과 마찬가지로 오라클 데이터베이스 관리자로 접속하여 NLS_LANGUAGE 파라미터의 속성값을 AMERICAN_AMERICA.KO16KSC5601로 변경
오라클을 설치할 때 지정해 주었던 .bash_profile 파일에서 Oracle 언어 환경변수를 다음과 같이 변경해 준다.
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601