2012년 9월 26일 수요일

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용 드라이버를 사용해야 문제없이 사용 가능하다. 드라이버 혼용하지 마시길..

댓글 없음:

FIX :: ssh 접속이 느리고, /var/log/messages에 systemd-logind.service failed. 메시지가 남을 때

ssh 접속이 느릴 때가 있습니다. 보통은DNS가 제대로 설정되지 않았는데 /etc/ssh/sshd_config에 UseDNS가 yes로 되어 있을 때 발생합니다. 위와 같을 경우 /etc/ssh/sshd_config파일에서 아래와 같이 수정 후 ...