본문 바로가기
728x90
반응형

Oracle25

[Oracle] NVARCHAR2에서 VARCHAR2로 형 변환 하기 NVARCHAR2에서 VARCHAR2로 형 변환 하기 SELECT CAST(칼럼 AS VARCHAR2(1000)) FROM DUAL; -- NVARCHAR2 -> VARCHAR2 SELECT UNISTR(칼럼) FROM DUAL; -- VARCHAR2 -> NVARCHAR2 UNISTR, CAST를 통해 쉽게 변환이 가능하다. 2023. 10. 4.
[Oracle] LISTAGG 사용 시 적용 안 되는 케이스(NVARCHAR2) LISTAGG() 를 사용하여 A,B,C 이런 식으로 결과를 출력하려 했으나, 어떠한 이유인지 빈 값만 계속 출력되었다. 문법이나 기본 쿼리 구조상은 원인이 없다고 판단. 왜 결과가 안나오는 것일까? 발생 원인 다름이 아닌 LISTAGG 대상 컬럼이 NVARCHAR2 여서 그랬다.. 테스트 케이스 with test_table as ( select 1 as num, UNISTR('사과') as name from dual union all select 1, UNISTR('배') from dual union all select 2, UNISTR('귤') from dual union all select 2, UNISTR('참외') from dual ) select num, listagg(name, ',') wi.. 2023. 10. 4.
[Oracle] ORA-01839 : "지정된 월에 대한 날짜가 부적합합니다" 해결 feat. ChatGPT ORA-01839 : 지정된 월에 대한 날짜가 부적합합니다. ORA-01839: date not valid for month specified 평소에는 잘 실행되고 있던 쿼리가 갑자기 ORA-01839 에러와 함께 실패했습니다. 오라클 버전은 11g 입니다. 발생 원인 에러 메시지에 나와있듯이 날짜 연산에 관한 에러입니다. 테스트 케이스 -- 해당 쿼리의 결과 값은? SELECT TO_DATE('2023-03-31', 'YYYY-MM-DD') - INTERVAL '1' MONTH FROM DUAL; SELECT TO_DATE('2024-02-29', 'YYYY-MM-DD') - INTERVAL '1' YEAR FROM DUAL; 날짜 연산을 할 때 INTERVAL을 활용하여 연산이 가능합니다. DAY나 .. 2023. 4. 4.
DBCP(Database Connection Pool) validationQuery 설정 일정 시간 사용하지 않던 커넥션 풀을 다시 사용하려 할 때 지연되는 현상 해결 외부 데이터베이스와 연동을 하는 시스템에서 특정 시점부터 15분이 딜레이 되는 현상을 발견하여 해결하였습니다. 설정 정보나 코드는 변경되지 않았고, 갑자기 해당 현상이 발생했습니다. 발생 원인 - 딜레이 주기를 모니터링해보니 평균 2시간 이상 해당 커넥션 풀을 사용하지 않다가 처음 다시 사용하려고 할 때 15분 지연됨을 확인할 수 있었습니다. - 딜레이 이후 짧은 주기로 재사용할 때는 지연 현상이 발생하지 않았고, 이를 근거로 시스템의 유휴 상태인 커넥션 풀을 외부 DBMS에서 close() 해주고 있거나, 재시도 시 지연되어 해당 현상이 발생한다고 판단하였습니다. - 이를 해결하기위해 validationQuery를 주기적으로.. 2022. 6. 18.
728x90
반응형