본문 바로가기
반응형

DataBase8

Maria DB / HikariCP Connection 누수 개선 (Too many connections) 이슈 발생 현재 Maria DB를 사용하면서 Connection에 대한 이슈가 발생했다. 많은 개발자들이 DB에 달라 붙다보니 당연히 DB Connection Session이 늘어나게 된다. 그러면서 이제 1차적인 문제가 발생했다. Too many connections DB Setting을 통한 1차 해결 현재 DB 세팅은 max-pool-size가 150이며 Connection의 유휴상태(sleep)에서 default대기 시간이 8시간이다. -- max pool size 확인 show variables like '%max_connect%'; -- connection timeout 확인 show variables like 'wait_timeout'; 즉, 150개의 요청의 세션이 sleep상태로 살아있다.. 2023. 1. 20.
[MariaDB] Mysql Shell Script로 매일 자동 백업하기 작업개요 프로젝트 참여 개발자들이 개발서버 DB의 데이터들을 삭제하는 경우가 종종 있었다... (본인 포함) ㅡ.ㅡ;; 물론 개발서버 DB기 때문에 크리티컬하지 않은 데이터이지만, 프로세스를 확인하기 위해 다시 앞단의 데이터를 생성하기가 너무 번거롭고 백업정책은 있어야할 것 같아서 도입을 시작했다. 즉, 내가 귀찮아서 시작한다! 나의 귀찮음을 발판으로 우리에게 도움이 되길... 백업작업 Oracle을 사용할때는 As of Timestamp를 통해 스냅샷 찍어놓은 테이블의 과거데이터를 손쉽게 조회할 수 있었지만, MariaDB에서는 해당 기능이 없기 때문에 매일 한번씩 모든 테이블을 백업을 시키려 한다. MariaDB의 Option을 통한 자동백업을 서치해봤지만, 자체 옵션으로 자동백업하는 방법은 현재까지.. 2023. 1. 3.
[PostgreSQL] Lock해제 - AccessShareLock 풀기 AccessShareLock 이란? Oracle에서는 SELECT 동안 락을 잡지 않는다. 다만 SELECT 되는 동안 해당 테이블의 구조(컬럼변경, DDL 등) 를 바꾸지 못하도록 해당 테이블에 TM LOCK 을 거는데 딱히 성능에 지장을 주는 Lock이 아니다. PostgreSQL에서 TM LOCK에 해당하는 것이 AccessShareLock 이다. 성능에 지장을 주는 Lock이 아니기 때문에 크게 상관 안써도 되지만, 테스트 과정에서 DDL변경이 Block되기 때문에 Lock을 해제해줘야 한다. Lock 조회 SELECT t.relname, l.locktype, page, virtualtransaction, pid, mode, granted FROM pg_locks l, pg_stat_all_tab.. 2022. 10. 21.
PostgreSql에서 orafce install 설치하기 Oracle에서 Postgresql로 DB 컨버젼하면서 너무 많은 프로시저에서 Oracle함수에 대한 의존성을 가지고 있어 한번에 다 걷어낼 수 없는 상황이었다. 그래서 일단 Oracle데이터를 PostgreSql에서 그대로 컨버젼을 떠놓고 작동만 시키기 위해 Postgresql에서 Oracle 함수를 지원할 수 있어야 했다. 이를 지원해주는 게 orafce 이다. 아래 공식문서 링크의 설명을 보면, 이 모듈에는 Oracle 응용 프로그램을 PostgreSQL로 포팅하는 데 도움이되거나 일반적으로 유용 할 수있는 몇 가지 유용한 기능이 포함되어 있습니다. 라고 설명하고 있다. 정말 땡큐스럽게 따악 본인이 찾던 기능이다. GitHub - orafce/orafce: The "orafce" project im.. 2022. 9. 13.
반응형