오라클에서 데이터를 이관하는 방법 중 전통적인 유틸리티인 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';
'생계 > Oracle' 카테고리의 다른 글
AWS S3 통한 EC2 RDS 오라클 데이터펌프 사용하기 impdp (0) | 2025.02.28 |
---|---|
[oracle] 소프트 파싱 과 하드파싱 (0) | 2024.12.11 |
오라클 스탠다드 SE 엔터프라이즈 EE 차이 및 활용 (0) | 2024.06.01 |
oracle wallet 사용하기 (0) | 2023.09.20 |
[oracle] 히든 파라미터 체크 hidden parameter (0) | 2023.07.03 |