글 작성자: HEROHJK

DB가 조금 복잡해지다 보면, 에러가 발생하게 되고, 이를 발견하기가 여간 쉬운일이 아닙니다.


정말 출중한 DBA라면 손쉽게 발견을 하고, 처리를 하겠지만, 신입 개발자인 저에게는 상당히 어렵고, 귀찮은 일 입니다.


현재 사내에서 DB에 관한 이슈가 발생하여, 고객이 상품 결제를 해도, 간혹 처리가 되지 않는 문제가 있습니다.


트리거쪽에서 오류가 나는데, 원인을 모르니 DB라도 확인 해 보기 위해서 쿼리로그를 남겨보았습니다.


모든 쿼리와, 결과에 관한 로그는 이렇게 저장할 수 있습니다.


set global general_log=on; # 전체 로그를 on/off
show variables like 'general%'; # 결과, 경로 확인


이런식으로 하면 로그파일이 저장이 됩니다.


추가적으로, 쿼리시간이 오래 걸리는것만 따로 볼수가 있습니다


slow_query_log = 10 # 슬로우 기준 시간 설정
set global slow_query_log=on; # 슬로우 로그 on/off
show variables like 'slow%'; # 결과, 경로 확인


이런식으로 쿼리 설정을 하고, 해당 경로에 가면 실시간으로 쿼리에 관한 로그파일이 저장이 됩니다.


제네럴 로그를 켜면, 모든 쿼리문이 들어오게 되므로, 용량이 상당히 커집니다.


저같은 경우, cron을 이용하여 매일 저녁 6시에 지워지도록 설정을 해 두었었는데,


이게 어느날 먹통이 되더니 작동을 안하게 되었습니다.


그리고 오늘 확인할 일이 있어서 확인을 해보니, 30기가짜리의 로그파일이 저장되 있었습니다...


저는 Visual Studil 외 작업을 할때는 NotePad++ 프로그램을 주로이용하는데, 


파일이 너무 커서 열리지가 않았습니다.


그래서 텍스트파일을 분할 할 방법을 찾아 보았습니다.


Gsplit 이라는 프로그램이 마침 있더군요.


간단합니다. 분할 용량을 정하고, 분할을 하면 되는데, 


시간도 나름 빠르고, 사용법도 간단하여 금방 처리를 할 수 있었습니다.


파일은 gsd라는 확장자로 저장이 되는데, 문서편집기로 똑같이 열수 있었습니다.

반응형