Background Image

FORUM

조회 수 3109 추천 수 0 댓글 6
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Linux 64bit
CUBRID Ver.
11.3
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
서버단 파라미터

sql_trace_slow, sql_trace_execution_plan 의 설정 변경 방법 문의

1. 디비단에서의 명령어

2. 서버단 cubrid.conf(현재 conf파일에는 미설정)

 

브로커별 파라미터

slow_log, slow_log_dir 의 설정 변경 방법 문의

1. 디비단 명령어

2. 서버단 cubrid_broker.conf(현재 conf파일에는 미설정)

ㄴ ex) [broker]

SLOW_LOG = ON   <<< 추가?

 

  • ?
    큐브02 2025.02.25 10:25
    안녕하세요.
    말씀해주신 sql_trace_slow, sql_trace_execution_plan 두 파라미터 모두 cubrid.conf에 설정해주시면 됩니다.
    또한 DBA계정에 한해 동적 변경 가능한 파라미터로, csql에서도 ;set 명령어 혹은 set parameters 명령어로 원하시는 값으로 변경하실 수 있습니다.
    https://www.cubrid.org/manual/ko/11.3/sql/query/set.html#set
    https://www.cubrid.org/manual/ko/11.3/csql.html#csql-intro

    slow_log, slow_log_dir 파라미터는 cubrid_broker.conf 파일에 기재하시면 되며 설정을 원하는 브로커 명 밑 파라미터에 기재 또는 변경 하시면 됩니다.
    두 파라미터 또한 동적 변경 가능하며 브로커에서 파라미터를 동적으로 변경하시기 위해서는 아래 명령어를 이용하시면 됩니다.
    명령어 예시) broker_changer 브로커명 파라미터명 변경값
    https://www.cubrid.org/manual/ko/11.3/admin/control.html#changing-broker-parameter

    각 파라미터에 대해 궁금하신 점이 있다면 매뉴얼 참고 부탁드립니다.
    https://www.cubrid.org/manual/ko/11.3/admin/config.html#id1

    감사합니다.
  • ?
    sherpa1 2025.03.05 09:41
    추가적으로 질문 하나 드립니다.
    slow query로 로그가 찍히는 경우와 일반 sql log로 찍히는 경우의 구분 기준이 어떻게 될까요?
    slq trace slow 모드 및 설정값에 따른건가요?
    맞다면 설정 예시 한 번 부탁드립니다.
  • ?
    정만영 2025.03.05 10:04
    CUBRID에서 브로커 SQL 로그(slow log) 기록 시간을 변경하려면 LONG_QUERY_TIME 파라미터를 설정해야 합니다.
    cubrid_broker.conf 파일에서 LONG_QUERY_TIME 값을 원하는 시간(초) 단위로 설정합니다.
    예를 들어, 10초 이상 실행된 SQL 문을 slow log에 기록하려면 "LONG_QUERY_TIME=10" 변경하고 적용하려면 브로커를 cubrid broker restart 재시작해야 합니다.
    이 설정을 통해 실행 시간이 LONG_QUERY_TIME 값을 초과하는 쿼리가 $CUBRID/log/broker/sql_log/<broker_name>_<cas_id>.slow.log 파일에 기록됩니다​.
  • ?
    sherpa1 2025.03.05 15:07
    친절한 답변 감사합니다.
    1. 그렇다면 slow query를 예로 들면 데이터베이스단의 이벤트로그에 찍히는 이벤트 로그(sql_trace_slow 설정 시, $CUBRID/log/server)
    와 브로커단의 sql_log(slow_log, slow_log_dir, long_query_time 설정 시, $CUBRID/log/broker)의 차이는 무엇인 가요
    2. sql log가 all 일 때, slow log가 off라면 응답시간을 초과한 sql에 대한 로그는 기록하지 않나요?
    2-1. sql_log의 설정값과 slow_log의 설정값 중 우선되는 것이 궁금합니다.
    (ex, sql log=all / slow log=on 이면 각각 $CUBRID/log/broker/sql.log과 $CUBRID/log/broker/slow.log에 기록되는지
    혹은 설정된 시간을 초과한 장기 실행에 대한 로그는 slow.log로 남고 이 외는 sql.log로 남는지)
    3. 마지막으로 현재 서버로그를 에러로그,이벤트로그로 구분되어 있는 것 같은데 이를 포괄하는 시스템로그가 있을까요? 있다면 무엇일까요? (csql.err가 가까워 보이나 이는 에러만 기록하는 것 같습니다)
  • ?
    정만영 2025.03.05 16:30

    안녕하세요.

     

    1, 서버단(sql_trace_slow)과 브로커단(slow_log)의 차이
    - sql_trace_slow는 서버단(CUBRID 엔진)의 slow query 추적 기능으로 sql_trace_execution_plan 파라미터와 같이 사용해야 합니다.(매뉴얼 참조: https://www.cubrid.org/manual/ko/11.3/admin/config.html)
    - 설정된 임계 시간을 초과하는 SQL 실행을 서버 에러 로그($CUBRID/log/server/)에 기록합니다​.
    - slow_log는 브로커단(CAS)에서 SQL 실행 로그를 관리하는 설정입니다.
    - long_query_time 값을 초과한 SQL이 브로커 slow log($CUBRID/log/broker/slow.log)에 기록됩니다​.

    2, sql_log = all, slow_log = off인 경우
    - sql_log=all이면 모든 SQL 실행 로그가 기록됩니다($CUBRID/log/broker/sql.log)​.
    - 하지만 slow_log=off라면 설정된 long_query_time을 초과하는 SQL이 slow.log에 기록되지 않습니다.
    - 따라서 응답 시간이 초과된 SQL이라도 sql.log에는 기록되지만, slow.log에는 기록되지 않습니다.

    3, sql_log=all, slow_log=on이면
    - 모든 SQL 실행 기록은 $CUBRID/log/broker/sql.log에 저장
    - long_query_time을 초과하는 SQL만 $CUBRID/log/broker/slow.log에 기록
    - 즉, slow_log는 sql_log 설정의 서브셋(subset) 개념으로 동작합니다.
    - 모든 SQL 로그는 sql.log에 남지만, long_query_time을 초과한 질의만 slow.log에도 기록됩니다​.

    4, 서버 로그의 종류와 시스템 로그
    - 에러 로그 ($CUBRID/log/server/*.err) - 데이터베이스 서버 오류 발생 시 기록​.
    - 이벤트 로그 ($CUBRID/log/server/*.event) - 락 이벤트 (lock timeout 등) 기록​.
    - SQL 로그 ($CUBRID/log/broker/*sql.log) - 브로커에서 처리한 SQL 기록​.
    - Slow Query 로그 ($CUBRID/log/broker/*slow.log) - long_query_time을 초과한 SQL 기록​.

    - csql.err 로그는 CSQL 인터프리터 명령어를 수행한 위치 파일이 생성되고 CSQL 오류만 기록.
    - 기타 로그($CUBRID/log) 명령어 및 HA 이중화 오류, 이벤트 로그등 관련 기록
    - 모든 로그를 포괄하는 "시스템 로그" 개념은 존재하지 않으며, 목적별로 분리된 로그를 참고해야 합니다.

  • ?
    sherpa1 2025.03.05 16:49
    답변 감사합니다!

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

  2. OS 이전 문의

  3. 'cannot communicate with server' 에러 문의 드립니다.

  4. shrink 같은 기능 문의

  5. 디비버(DBeaver) DDL스크립팅 관련 오류

  6. API 결과 문의

  7. 백업 자동화 편집 질문입니다.

  8. 큐브리드 api 관련 문의드립니다

  9. 재배포 관련 문의드립니다.

  10. 큐브리드 매니저 서버 HTTP 요청

  11. max_clients 관련 질의 있습니다.

  12. 오토커밋설정 off 관련 문의드립니다.

  13. 큐브리드 db, linux, java 버전 별 tls, rsa등 필요 설정 사항 관련 문의

  14. 큐브리드 매니저 서버 패치 질문드립니다.

  15. 질의 자동화 설정 방법

  16. cubrid restore 시 오류

  17. 안녕하세요. 구버전 다운로드 관련 문의드립니다.

  18. Slow 로그 관련 파라미터 설정 변경 문의

  19. CUBRID 관련 최근 논문 및 학회지 정보 문의

  20. 11.2 데이터베이스 생성 오류

  21. Linux cubrid 설치 path 는 어떻게 될까요???

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 213 Next
/ 213

Contact Cubrid

영업문의 070-4077-2112 / 기술문의 070-4077-2148 / 대표전화 070-4077-2110 / Email. contact_at_cubrid.com
Contact Sales