본문 바로가기

전체 글69

[Spring] 인터셉터 트러블 슈팅 문제상황 : controller의 model 객체 안에 필요한 값이 없었으나,(location) view로 넘어가며, model에 값들이 주입되어 있다. 원인: 이는 인터셉터에서(SponsorSessionCheckIntercepter) postHandle을 통해 model에 값을 주입 해주고 있었기 때문 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { Principal principal = request.getUserPrincipal(); Authentication authentic.. 2022. 12. 27.
[Oracle] 시퀀스 캐시 문제 상황 시퀀스 no 갑자기 100씩 뛰어넘음 시퀀스 캐시를 100으로 설정 Shared Pool에 가지고 있던 시퀀스 캐시 100개가 Shared Pool age out(shared pool 용량 초과, max_age 시간 초과 등 DB전략에 의함)에 의해 사라져 버리고 새로 발급받았기 때문 2022. 12. 27.
[Oracle] 계층형 쿼리 계층형 쿼리란? 상하 수직 관계의 구조(트리 형태)로 이루어진 구조. 이 구조를 만드는 쿼리가 계층형 쿼리이다. (ex: 부서 밑에 하위 부서) 계층형 쿼리 구조 SELECT [컬럼]... FROM [테이블] WHERE [조건] START WITH [최상위 조건] CONNECT BY [NOCYCLE][PRIOR 계층형 구조 조건]; 사용 예시 CREATE TABLE DEP ( DEP_CD NUMBER NOT NULL, -- 부서코드 PARENT_CD NUMBER, -- 상위부서 코드 DEPT_NAME VARCHAR2(100) NOT NULL, -- 부서이름 PRIMARY KEY (DEP_CD) ); SELECT DEPT_NAME, DEP_CD, PARENT_CD, LEVEL FROM DEP START W.. 2022. 12. 27.
[Oracle] Connection Pool Error 매번 사용자가 DB요청을 할 때마다 드라이버를 로드하고 커넥션 객체를 생성하여 연결하고 종료하면 매우 비효율적이다. 따라서 Connection Pool을 사용하는데, 일정 시간이 지나면 Connection Pool을 초기화 한다. (Was에서 설정한 TimeOut시간과, DB에 TimeOut시간 별개로) 이때 Connection을 날렸으나 사라진 connection Pool을 날린다면 에러가 날 수 있다. (로직에 따라 Stream is closed 에러도 날 수 있음) 2022. 12. 27.