'2025/03/12'에 해당되는 글 1건

  1. 2025.03.12 exp imp 유틸리티 사용 시 주석 한글 깨지는 현상
생계/Oracle2025. 3. 12. 17:05
반응형

오라클에서 데이터를 이관하는 방법 중 전통적인 유틸리티인 export/ import 가 있다. 

데이터펌프가 옵션도 더 많고, 성능, 모니터링 측면에서 더 유리하지만 상황에 따라 exp/imp 방식을 써야할때도 있다.

이 때 소스쪽 환경과 타겟쪽 환경의 차이로 인해 주석이 깨져서 import 되기도 한다. 

그 원인은 data 와 주석을 export 할때 dump 파일의 주석과 데이터를 처리하는 방식의 차이 때문이다. 

- Export/Import 시 주석은 덤프 파일 내 SQL 문장으로 텍스트 형태로 기록된다. 따라서 클라이언트의 `NLS_LANG` 설정에 따라 인코딩이 결정된다. 그래서 아래와 같이 exp 유틸 사용전에 설정을 타겟과 동일하게 변경해준다. 

 => export NLS_LANG=AMERICAN_AMERICA.AL32UTF8  
      exp ...

또는 주석이 많지 않다면 데이터베이스의 DBA_COL_COMMENTS 등의 시스템 테이블에서 스크립트를 바로 추출할수도 있다. 

   -- 테이블 주석
   SELECT 'COMMENT ON TABLE ' || table_name || ' IS ''' || comments || ''';' 
     FROM all_tab_comments 
    WHERE owner='USER';

   -- 컬럼 주석
   SELECT 'COMMENT ON COLUMN ' || table_name || '.' || column_name || ' IS ''' || comments || ''';' 
     FROM all_col_comments 
    WHERE owner='USER';
   
   

반응형
Posted by 돌고래트레이너