[ORACLE] ORACLE-12505 Error 해결법

2014. 8. 16. 13:09 - Song's IT

ORA-12505 오류는 DriverManager Object를 이용하여 오라클과 연동 시 SID를 찾지 못할 때 발생하는 에러이다.

이에 대한 원인으로는 호스트 시스템 이름 변경, IP변경(ex. 유동 IP)이 있다.


우선

실행 > cmd > lsnrctl services

를 차례로 실행해보자.



자신이 접속하고자 하는 SID가 있는 경우, 없는 경우가 있다.


우선 SID가 없는 경우의 해결방법이다.

필자는 방금 전 VMWare내에서 NAT로 IP를 변경하였기 때문에 CLRExtProc과 PLSExtProc 2개밖에 뜨지 않았다.

이럴 경우 SID를 찾지 못해 시스템계정으로도 로그인이 되지 않는 것을 볼 수 있다.


다시

cmd > sqlplus "/as sysdba"

로 로그인을 한 뒤

startup

으로 오라클 서비스를 실행시켜주자.


그 후,

connect 접속계정ID / password

를 사용하여 로그인을 해보자.


로그인을 하게되면 자동으로 해당 SID가 실행될 것이다.

다시 cmd창을 열어

lsnrctl services

를 쳐보면 SID가 여러개 추가된 것을 볼 수 있다.


서비스가 재시작 되며 정상적으로 재 실행 된 것이다.



SID가 있는 경우, 설정파일의 문제라고 볼 수 있다.

Oracle을 설치한 폴더 내에서 network라는 폴더를 찾아가 보자.


내부에 listener.ora, tnsnames.ora파일이 있을 것이다.

해당 파일을 열어보게 되면

(host=@)(port=1521) 

이라는 부분이 보일 것이다.



만약 시스템의 호스트 이름을 변경했다면 @부분에 변경된 이름을 설정해 주어야지만 제대로 된 localhost IP를 읽어올 수 있다.




다른 카테고리의 글 목록

Database/Oracle 카테고리의 포스트를 톺아봅니다