라벨이 jdbc인 게시물 표시

oracle.net.disableOob 설명

-Doracle.net.disableOob=true ctrl-c와 같이 query문 실행 중지는 default로 out-bound 전송을 한다. 이 옵션으로 in-bound 전송으로 전환 할 수 있다. oob(out of bound) 전송에서 문제가 있는 상황은 다음에 자세히... 출처:  http://www.dba-oracle.com/phys_disable_oob.htm

JDBC Socket Timeout

이미지
* WAS와 DBMS 통신시 타임아웃 계층 이해 1. TransactionTimeout   - 어플리케이션에서 트랜잭션으로 묶은 단위의 timeout   - Spring에서 xml이나 @Transactional을 이용해서 설정 할 수 있다 2. StatementTimeout   - query statement 하나당 timeout   - 기본적으로는 JDBC의 java.sql.Statement.setQueryTimeout(int timeout) 메소드로 설정   - ORM에 따른 설정 방법 제공 3. SocketTimeout   - JDBC 드라이버와 DBMS 사이의 socket timeout   - connectTimeout과 socketTimeout 두 가지가 있음   - connectTimeout: socket 연결에 관한 timeout   - socketTimeout: socket read/write 관한 timeout 비고) Transaction은 다수(n개)의 statement를 포함할 수 있기 때문에 n * StatementTimeout + 𝝰 이상으로 잡아줘야 하고, SocketTimeout은 하나의 statement가 끝날때 까지는 유지해 줘야 함으로 StatementTimeout 보다는 크게 잡아 줘야 한다. 위 내용은 출처에서 내가 필요한 내용 위주로 간추린 것인데, 주로 Oracle을 사용하다 보니 이에 대해 Socket Timeout 포커스를 맞춰 적어 보면, MySQL을 사용할 때는 아래처럼 url query param으로 줬었는데 jdbc:mysql://xxx.xx.xxx.xxx:3306/database?connectTimeout=60000&socketTimeout= Oracle의 경우는  oracle.jdbc.ReadTimeout=milliseconds 로 설정이 가능한데 , D...