Oracle 12c 64bit -> 32bit 재 설치 시 에러 [INS-20802] Oracle Net Configuration Assistant가 실패했습니다.

HMS·2024년 1월 18일

oracle 재 설치

목록 보기
2/3

oracle 12.1.0.2 32bit 버전 INS-20802 에러 발생 시 해결 방법

[INS-20802] 오라클을 재 설치 하면서 애 먹었던 에러이다..

해당 포스팅은 oracle 12c 32bit 버전을 설치하며 겪은 에러 해결 방법이다
12c 이외의 버전 혹은 64bit 설치시에 해당 에러가 발생했다면, 포스팅된 해결 방법과 다른 원인 일 확률이 높다.

시도한 해결방법

  1. 해당 에러로 구글에 검색하면 흔하게 나오는 해결 방법인 C:\Windows\System32\drivers\etchost\hosts 파일에 host를 지정하는 방식.
  2. 방화벽 끔
  3. 설치프로그램 관리자로 실행
  4. 재설치 사이에 실행되어버린 윈도우 업데이트 제거
  5. 클라이언트 프로그램 Oracle에서 다시 다운로드

하지만 해당 방법 어느것을 사용해 보았지만 설지가 되지 않았다.

위 에러 메세지를 무시한 채로 설치 진행하였을 경우, sqlplus를 실행시켰을 때 MSVCP140.dll 파일을 찾을 수 없음 에러 혹은 기타 다른 에러가 발생할 수 있다.
정상적으로 재설치 시에 해결되는 에러이기 때문에 여기서 시간을 낭비 하지 말아야 한다.

로그 파일 확인

에러의 원인을 알아 보기 위해 oracle의 에러 log파일을 확인해 보았다.

로그파일은
C:\Program Files (x86)\Oracle\Inventory\logs 경로에서 찾아 볼 수 있다.

정보: 'Oracle Net Configuration Assistant' 시작 중
정보: 'Oracle Net Configuration Assistant' 시작 중
정보: NetCAInternalPlugIn: ... adding </ouiinternal>
정보: Executing NETCA
......
경고: Skipping line: UnsatisfiedLinkError exception loading native library: oranjni12
정보: End of argument passing to stdin
정보: Read: java.lang.UnsatisfiedLinkError: C:\app\client\POSSM\product\12.1.0\client_1\BIN\oranjni12.dll: Can't find dependent libraries
경고: Skipping line: java.lang.UnsatisfiedLinkError: C:\app\client\POSSM\product\12.1.0\client_1\BIN\oranjni12.dll: Can't find dependent libraries
정보: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
정보: Read: 
경고: Skipping line: 
정보: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
정보: Read: Error: oracle.net.common.NetGetEnv.jniGetOracleHome()Ljava/lang/String;
경고: Skipping line: Error: oracle.net.common.NetGetEnv.jniGetOracleHome()Ljava/lang/String;
정보: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
정보: Read: Oracle Net Service 구성을 실패했습니다. 종료 코드는 다음과 같습니다. 1
경고: Skipping line: Oracle Net Service 구성을 실패했습니다. 종료 코드는 다음과 같습니다. 1
정보: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
정보: Completed Plugin named: Oracle Net Configuration Assistant
정보: Oracle Net Configuration Assistant을(를) 실패했습니다.
정보: Oracle Net Configuration Assistant을(를) 실패했습니다.

해당 로그를 천천히 뜯어 보니 host 호출의 문제가 아니었다.

문제점

  1. UnsatisfiedLinkError exception loading native library: oranjni12 : Oracle 설치 중에 필요한 네이티브 라이브러리(oranjni12.dll)를 찾을 수 없거나 로드할 수 없었다.
  2. java.lang.UnsatisfiedLinkError: C:\app\client\product\12.1.0\client_1\BIN\oranjni12.dll: Can't find dependent libraries: 이 에러는 oranjni12.dll 파일이 존재하지만, 이 DLL이 의존하는 다른 라이브러리를 찾을 수 없을 때 발생
  3. Oracle Net Service 구성을 실패했습니다. 종료 코드는 다음과 같습니다. 1: Oracle Net Service의 구성이 실패

해결

oranjni12.dll를 키워드로 검색 결과 스택오버플로우에서 해답을 얻을 수 있었다.
문제의 원인은 oraparam.ini 파일의 오류로 32bit Oracle 설치파일에 버그가 있다고 한다.

  1. 설치파일 폴더의 install/oraparam.ini를 연다

  2. MSVCREDIST_LOC=vcredist_x64.exe 를 MSVCREDIST_LOC=vcredist_x86.exe으로 수정한다.

  3. 저장 후 인스톨러를 재 실행한다.

위 과정을 거치면 정상적으로 설치를 마칠 수 있다.

결론

  1. 32bit Oracle을 설치하면서 INS-20802 에러 발생
  2. 설치파일 내부 install/oraparam.ini 의 설정 문제로 내부 설정을 수정하여 문제 해결

에러를 해결하기 위해 특정 에러코드만 가지고 이 블로그 저 블로그의 해결책을 시도해 보는데 너무 시간을 많이 낭비했다.
같은 에러코드라도 발생 원인은 천차만별이기 때문에 에러 로그를 먼저 꼼꼼히 확인하는게 문제를 해결하는데 더 빠른 방법이었다.


profile
안녕하세요

0개의 댓글