[Java] java.sql.SQLRecoverableException: IO 오류: Connection reset

2018. 11. 14. 13:34개발언어/Java

리눅스환경 자바 프로그램 ojdbc6.jar oracle11G 커넥션 불가 현상

 


원인

11g JDBC (ojdbc6.jar : JDK 6의 JDBC API를 구현한 드라이버 클래스 파일 JDK 6, 7, 8 지원) 사용시 connect string 암호화를 위해 /dev/random을 이용해서 40byte의 난수 생성후 connect string을 암호화함 

/dev/random은 변동이 적은 시스템에서는 난수 생성이 중단(block)된다는 문제점이 있음 

/dev/random으로부터 40byte의 난수를 얻지 못했을때 JDBC는 connect string을 암호화하지 못하고 

암호화가 되지 않아서 DB접속을 못하는 현상이 발생함


해결

자바 실행시 -Djava.security.egd=file:///dev/urandom 옵션 추가

java -jar -Xms1024m -Xmx1024 /test/test.jar 

-> java -jar -Xms1024m -Xmx1024 -Djava.security.egd=file:///dev/urandom /test/test.jar