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' 카테고리의 다른 글
[ORACLE] ORA-06553, PLS-553 : character set name is not recognized (0) | 2014.08.21 |
---|---|
[ORACLE] CONCAT, || (0) | 2014.08.20 |
[ORACLE] 한글깨짐현상 문제해결방법 (0) | 2014.08.13 |
[ORACLE] Import & Export (1) | 2014.08.13 |
[ORACLE] ORACLE 10g XE HTTP포트 변경 (0) | 2014.08.13 |