본문으로 건너뛰기

Altibase 모니터링

exemONE Altibase 데이터베이스 모니터링 상세 가이드

1. 지원 버전

Altibase 버전지원 여부비고
Altibase 6.3 이상✅ 지원v3.0.506.15 버전부터 지원

Altibase 6.3 드라이버 적용 방법

Altibase 6.3 사용 시 별도 ODBC 드라이버를 DB-Agent에 등록해야 모니터링이 가능합니다.

Docker 모드 실행 시

  1. 전달받은 T209934_libaltibase_odbc-64bit-ul641.so 파일을 $EXEMONE_HOME/containers/exemone-db-agent/libs 디렉토리에 복사
  2. 파일명을 libaltibase_odbc-64bit-ul64.so로 변경
  3. docker-compose.yml 파일의 db-agent 모듈 볼륨 항목에 경로 추가:
$EXEMONE_HOME/containers/exemone-db-agent/libs/libaltibase_odbc-64bit-ul64.so:/usr/local/lib/altibase/libaltibase_odbc-64bit-ul64.so

  1. db-agent 모듈 재시작:
$EXEMONE_HOME/scripts/restart db-agent

Binary 모드 실행 시

  1. 전달받은 드라이버 파일을 $EXEMONE_HOME/libs 디렉토리에 복사
  2. 파일명을 libaltibase_odbc-64bit-ul64.so로 변경
  3. docker-compose.yml 파일에 볼륨 경로 추가:
$EXEMONE_HOME/libs/libaltibase_odbc-64bit-ul64.so:/usr/local/lib/altibase/libaltibase_odbc-64bit-ul64.so
  1. db-agent 모듈 재시작:
$EXEMONE_HOME/.onctl restart db-agent

2. 필수 권한

2-1. 기본 모니터링 권한

권한설명
CREATE SESSIONDB 접속 권한
SELECT ANY TABLE모든 테이블(SYSTEM_, V$)에 대한 SELECT 권한

권한 부여 SQL 예시

-- 모니터링 계정에 기본 권한 부여
GRANT CREATE SESSION TO exemone;
GRANT SELECT ANY TABLE TO exemone;

2-2. Kill Session 권한

조건설명
SYS 계정 필수Altibase는 Kill Session이 SYS 계정만 가능
  • exemone 계정으로는 Kill Session이 불가하므로, Kill Session 기능을 사용하려면 모니터링 계정을 SYS 계정으로 등록해야 합니다.

2-3. Plan 조회 추가 권한

구문 유형필요 권한
SELECT기본 권한으로 조회 가능 (추가 권한 불필요)
UPDATEUPDATE ANY TABLE
DELETEDELETE ANY TABLE
INSERTINSERT ANY TABLE
EXECUTE절 내 함수 사용EXECUTE ANY PROCEDURE

또는 ALL PRIVILEGES를 부여하여 모든 권한을 한번에 설정할 수 있습니다.

-- DML Plan 조회를 위한 추가 권한 부여
GRANT DELETE ANY TABLE TO exemone;
GRANT INSERT ANY TABLE TO exemone;
GRANT UPDATE ANY TABLE TO exemone;
GRANT EXECUTE ANY PROCEDURE TO exemone;

-- 또는 전체 권한 부여
GRANT ALL PRIVILEGES TO exemone;

2-4. Plan 조회 불가 구문

(1) 예외 처리된 구문 (EXPLAIN PLAN 옵션과 무관하게 실제 실행되는 구문)

  • CREATE TABLE, CREATE PROCEDURE, CREATE QUEUE, ALTER, DROP, TRUNCATE, EXECUTE, LOCK, GRANT

(2) 개발 스펙상 Plan 제공 대상에서 제외된 구문

  • MOVE, DEQUEUE, ENQUEUE

3. 사전 설정

3-1. SQL 수행 시간 수집 설정

파라미터기본값권고값설명
timed_statistics0 (비활성화)1 (활성화)수행되는 모든 SQL문의 수행 시간을 v$statement에 기록
ALTER SYSTEM SET timed_statistics = 1;
  • 기본값 0에서는 SQL 수행 시간이 기록되지 않으므로, 반드시 1로 변경해야 SQL 수행 시간 데이터를 수집할 수 있습니다.

5. 모니터링 확인

Instance Detail Slide

(1) Information

  • Agent: Instance Name, Status, Instance Group Name, DB Version, Agent Version, Last Boot Time, Uptime
  • Machine: Host Name, Host IP, OS, Kernel Version
  • Replication Map: Instance에 연결된 Replication 정보

(2) Metric

  • Default로 최근 5분 데이터를 표시하며, 인스턴스 지표를 모니터링합니다.

(3) Active Session

  • 실행 중인 Active Session 목록을 실시간으로 확인합니다. Multi Kill 기능으로 다수 세션 동시 종료가 가능합니다.

(4) SQL List

  • 최근 수집된 SQL 목록을 확인하며, DB/Digest/SQL Text 검색 및 합계/평균 토글 기능을 제공합니다.

(5) Lock Info

  • Lock 상태의 Session 목록과 Holder 정보를 확인합니다. Multi Kill로 Lock Session 종료가 가능합니다.

(6) Memory Table List

  • Memory Table List를 확인하는 화면입니다.

(7) Memory Module List

  • Memory Module List를 확인하는 화면입니다.

(8) Alert / (9) Parameter / (10) Host Process List

  • Alert 발생 현황, DB 파라미터 조회, 호스트 프로세스 목록(PID, Process Name, CPU, Memory 등) 모니터링을 제공합니다.

Replication Detail Slide

(1) Information

  • 인스턴스에 연결된 레플리케이션의 디테일의 정보를 표시하는 화면입니다.
  • 주요 항목: Replication Information, Sender Information, Receiver Information

(2) Metric

  • 인스턴스에 연결된 레플리케이션의 디테일의 Metric을 표시하는 화면입니다.

Top N Analysis

Stacked Area Chart를 활용하여 특정 기간 동안의 Top SQL을 조회하는 기능을 제공합니다.

Trend Analysis

날짜 별, 시간 별 성능 추이 확인이 가능한 화면으로, 특정 시점의 정밀한 성능 분석 기능을 제공합니다.

  • 하단 탭: Session, Lock Tree, SQL Summary, Top Event, Long Active Session, Top Processes

Replication Analysis

최대 2일 이내의 이중화(Replication) 성능 추이 확인이 가능한 화면으로, 특정 시점의 정밀한 성능 분석 기능을 제공합니다.

(1) Replication Detail

Altibase의 Replication Object 별로 상세 지표를 제공합니다.

  • 주요 항목: Loss Rate Chart, Top Replication Objects Grid, Sender Charts, Receiver Charts

참고 문서: