SQL Loader 문자셋(character set)관련
$ sqlldr로 제대로 자료 입력이 안될때 - 케릭터 셋 꼬여서 엉망진창일때..
 

1. DB 새로 생성 권장
① 설치시 케릭터셋 선택 : KO16MSWIN949
 
② 환경변수 설정
$ vi /home/oracle/.bash_profile
 

- 오라클 7 버전일 경우
ORA_NLS32=$ORACLE_HOME/ocommon/nls/admin/data
 
- 오라클 8 ,8i ,9 버전일 경우
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
 
- 오라클 10g 버전일 경우
ORA_NLS10=$ORACLE_HOME/nls/data
 
 
오라클 9i 버전부터는 위 파라미터를 지정하지 않아도 기본 디렉토리를 사용한다.
ORA_NLS32 파라미터는 8 버전 이상부터는 사용할 필요 없으며, ORA_NLS33 파라미터는 10g 버전 이상부터 사용할 필요가 없다.


 
★ 본인 환경은 10g이므로
export ORA_NLS10=$ORACLE_HOME/nls/data
export LANG=C

.bash_profile 에 이것 두개 추가
 
③ Putty 환경설정
문자셋(character set) : CP949로 설정
Unicode Mode에 체크되어 있으면 안됨.






★ SQL Loader 사용전 확인 사항
1. NLS_LANG 환경변수 체크

$ env | grep NLS_LANG
NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949


2. ORACLE_HOME 환경변수 체크

$ env | grep ORACLE_HOME
ORACLE_HOME=/home/oracle/product/10g


→ 이 변수가 잘못되면 ORA-12560: TNS:protocol adapter error 가 발생 할수 있다.

3. LD_LIBRARY_PATH 환경변수 체크 (Unix 만 해당)

$ env | grep LD_LIBRARY_PATH
LD_LIBRARY_PATH=/home/oracle/product/10g/lib:/lib:/usr/lib:/usr/local/lib


→ 이 변수가 잘못되면 libwtc8 library cannot be found. 에러가 발생 할수 있다.

4. ORA_NLS33 이나 ORA_NLS10 환경변수 확인

$ env | grep ORA_NLS33
$ env | grep ORA_NLS10
ORA_NLS10=/home/oracle/product/10g/nls/data


※ 참고 : ORA_NLSxx 환경변수 버전별 적용 및 수정
위 ② 환경변수 설정 참고 
Posted by 딩구르
,