티스토리 뷰

■에러

EXP-00091: 의심스러운 통계를 내보내는 중입니다.

 

■현상

이 에러는 현지 서버에서 데이터를 Export를 하기 위해 사내 환경에서 실행했을 때 발생한 에러이다.

미리 작성한 배치파일을 가지고 exp.exe를 실행한 결과 

export시 EXP-00091: Exporting questionable statistics가 발생했다.

 

■원인

EXP-00091 오류는 오류보다 경고에 가깝다.

의심스러운 통계 = 아마 도움이 되지 않는 불필요한 통계 정보를 출력하고 있다.

통계는 테이블의 전체 데이터 분포를 기반으로 작성되었으며 열의 상한값과 하한값은 고유한 내부 형식으로 가지고 있다.

이들 내부 정보에 영향을 주는 파라미터 및 환경 변수가 지정이 된 상태에서의 익스포트 처리가 되고 있다고 하는 것이다.

구체적으로는 일부 데이터를 선택한 추출을 하고 있거나,

데이터베이스의 NLS_LANGUAGE와 NLS_LANG 환경 변수의 캐릭터 세트의 차이, 사용하고 있는 버전의 차이등이 있다.

 

정리하자면 아래의 두가지 원인이다.

원인1. 데이터베이스 문자 코드와 환경 변수 'NLS_LANG'이 일치하지 않는 경우

원인2. 일부 테이블만 내보내는 경우 

 

특히 NLS_LANG의 설정은 이름이 긴 분 typo 확률이 높고, 1문자씩 재확인을 한다. 언더 스코어, 도트 배치 미스도 확인.

대소문자는 구별하지 않는다.

※ 실제로 사내에서 에러가 발생한 이유도  NLS_LANGUAGE와 NLS_LANG 환경 변수의 캐릭터 세트의 차이였다.

 

■대응 방법

동일한 환경에서 내보낼 때마다 동일한 경고가 발생한다.

쿼리 지정의 exp (query="WHERE ~" 옵션)의 경우에는 통계 정보의 export를 중지한다 (옵션: STATISTICS=none )

이 옵션을 사용하면 통계를 내보내지 않고 실행하면 경고가 발생하지 않는다.

EXP user/password@접속문자열 FILE=dmp파일의 경로 LOG=로그파일의 경로 STATISTICS=NONE

또한 NLS_LANG 환경변수가 미설정인지 확인한다.

한자 코드가 다른 내보내기(Export)의 경우 서버의 문자 집합으로 내보낸다.

통계 정보가 없는 정보에 가져오기(Import)를 할 서버의 인스턴스로 Imp를 실시하면,

다음의 GATHER STALE 작업 리스트에 올것이라고 생각되지만, 통계 정보의 재작성은 수동으로 실시하는 것이 좋다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함