분류 전체보기
Altibase Memory Tablespace Table을 Disk Tablespace로 이관 1. 왜 이관해야 했는가? 내가 참여하고 있는 프로젝트에선 Altibase의 Memory Tablespace만을 사용하고 있다. 비교적 적은 양의 Data만을 Altibase에 넣고 있었다고 생각하여 가끔 상태확인과 서버리소스 모니터링만 하고 DBMS에 대한 주기적인 모니터링을 하지 않았었다. 이런 오만함에 결국 Memory Tablespace의 사용률이 95퍼센트 근처에 도달해 있었다.(SWAP을 비정상적으로 많이 사용하고 있을 때라도 확인했어야 했다) 몇 번의 회의를 거듭하여 Altibase의 Memory Tablespace의 사용률을 줄이기 위해 몇 가지 방안이 나왔고 처리방법을 정했다. 서버들의 Sca..
KMP (Knuth-Morris-Pratt) Algorithm KMP 알고리즘은 주어진 문자열(M)에서 찾고자 하는 문자열(N)을 빠르게 찾아내는 알고리즘이다. KMP 알고리즘은 O(N+M)으로 문자열을 전체비교하는 문자열 완전검탐색 (Brute Force, 시간복잡도 : O(NM))보다 더욱 빠르게 원하는 문자열을 검색할 수 있다. KMP 알고리즘 이해 KMP 알고리즘의 이해는 다음 글들을 참고하면 좋을 것 같다. KMP : 문자열 검색 알고리즘 문자열 검색이 뭐지? 워드프로세서를 사용할 때 찾기 기능을 사용한적 있을 겁니다. 브라우저에서도 Ctrl+F 단축키를 눌러 검색할 수 있습니다. 아래 이미지는 브라우저에서 "테이프"를 검색했을 bowbowbow.tistory.com [알고리즘/ 파이썬] KMP..
발생 업무 중 과거 데이터들을 수집하기 위한 스크립트를 작성하고 실행시키니 다음과 같은 오류 발생 sqlDeveloper에선 발생하지 않으나 python의 cx_Oracle에서 실행할 때만 발생 해당 쿼리는 월 1일 ~ 월 말일 조건이 다수 존재하는 쿼리 원인파악 해당 에러는 말 그대로 date형 컬럼을 변환할 때(보통 to_date) 년도가 -4713에서 9999 사이의 값, 0이 아닌 값이여야 한다는 에러 테이블의 컬럼 타입과 입력한 데이터 타입이 다를 경우 데이터의 크기가 오라클의 MAX값을 초과한 경우 나의 경우는 datetime 객체를 std_date에 그대로 넣어버려서 문제가 발생 문제해결 --std_date : 기준년월 1일 SELECT data1, data2, date_data FROM s..
Paramiko Welcome to Paramiko! Paramiko는 클라이언트와 서버 기능을 모두 제공하는 SSH 프로토콜의 순수 Python 구현체(C와 Rust 확장을 사용하지만 암호화를 위해 사용) 일반적으로 원격 쉘 명령 실행과 파일전송과 같은 일반적인 클라이언트에 사용 Python 2.7 이상, 3.4 이상 사용할 수 있음 설치 python -m pip install paramiko 사용 연결 import paramiko client = paramiko.SSHClient() username = 'username' password = 'password' user_info_dict = { 'username' : username, 'password..