Oracle ORA-12505 ERROR

Oracle 11g에서 잘 쓰던 Java 코드를 10g로 변경하니 아래와 같은 에러가 발생했다.


Message: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)
        at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:536)
        at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:228)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)

URL에서 구분자를 인식 못 해 생기는 문제로 보인다.
아래와 같이 변경하니 잘 된다.

이전 > String url = "jdbc:oracle:thin:@XXX.XXX.XXX.XXX:1521:SID";
수정 > String url = "jdbc:oracle:thin:@XXX.XXX.XXX.XXX:1521/SID";
PORT와 SID 사이에 ':'대신 '/'로 바꾸어 준다.

추가:
개발 도중 11g와 10g에 동시에 접속해야 하는 경우가 있었다. 어떤 이유인지 모르겠으나 클라이언트 쪽 jdbc 드라이버가 양쪽에 정상적으로 접속하지 못하는 문제가 있었다. 11g는 11g용, 10g는 10g용 드라이버를 사용해야 문제없이 사용 가능하다. 드라이버 혼용하지 마시길..

댓글

이 블로그의 인기 게시물

mysql DATETIME형의 기본값으로 현재시간 설정

FIX::장치가 더 이상 응답하지않거나 연결이 끊어졌습니다.

FIX :: LACP bonding 구성시 트래픽이 한쪽 포트로 몰리는 현상