
[INS-20802] 오라클을 재 설치 하면서 애 먹었던 에러이다..
해당 포스팅은 oracle 12c 32bit 버전을 설치하며 겪은 에러 해결 방법이다
12c 이외의 버전 혹은 64bit 설치시에 해당 에러가 발생했다면, 포스팅된 해결 방법과 다른 원인 일 확률이 높다.
하지만 해당 방법 어느것을 사용해 보았지만 설지가 되지 않았다.
위 에러 메세지를 무시한 채로 설치 진행하였을 경우, 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 호출의 문제가 아니었다.
oranjni12.dll를 키워드로 검색 결과 스택오버플로우에서 해답을 얻을 수 있었다.
문제의 원인은 oraparam.ini 파일의 오류로 32bit Oracle 설치파일에 버그가 있다고 한다.
설치파일 폴더의 install/oraparam.ini를 연다

MSVCREDIST_LOC=vcredist_x64.exe 를 MSVCREDIST_LOC=vcredist_x86.exe으로 수정한다.
저장 후 인스톨러를 재 실행한다.
위 과정을 거치면 정상적으로 설치를 마칠 수 있다.
에러를 해결하기 위해 특정 에러코드만 가지고 이 블로그 저 블로그의 해결책을 시도해 보는데 너무 시간을 많이 낭비했다.
같은 에러코드라도 발생 원인은 천차만별이기 때문에 에러 로그를 먼저 꼼꼼히 확인하는게 문제를 해결하는데 더 빠른 방법이었다.