티스토리 뷰

이중화된 WAS1, 2번과 이중화된 DB1, 2번의 구조이다.(테스트를 한 구성은 WAS는 JEUS8, DBMS는 ORACLE12이다)

WAS1, 2가 운영되고 있는 상태에서 DB1을 재기동을 하면 

1. DB1이 기동되기 전까지 DB2으로 RAC(Real Application Cluster) 구성되어 모든 트랜잭션이 넘어감

2. DB1이 기동되면 들어오는 트랜잭션이 분배되겠지...(안됨 T.T)

원인은 DB Connection-pool 때문인데 DB1번이 다시 기동되었음에도 불구하고 감지 못했다.(스마트하게 감지하는 것이 있을까 해서 확인해 보니 Connection Validation(커넥션 유효성 검사) 기능이 있는데 체크가 안되어 있었다.)

 그래서 체크를 해주면 되는데 주기적으로 체크를 하니 아무리 가벼운 체크 쿼리라도 DB에 부하를 준다. 그래서 보통은 체크를 풀어놓는 경우가 많다. DB 1번 기동후 강제로 연결을 분배하려면 아래 그림과 같이 해당 Connection pool을 클릭해서 refresh를 클릭하면 다시 connection을 맺으면서 1, 2번 동일하게 들어간다.

728x90
반응형
댓글