Oracle 19c 데이터베이스를 위한 Zabbix 통합 설정 절차
본 문서는 Zabbix Agent 2를 활용하여 Oracle 19c 데이터베이스의 상태를 실시간으로 모니터링하는 전체 과정을 단계별로 설명합니다. 초보자도 독립적으로 구성할 수 있도록 구조화된 안내를 제공합니다.
- 시스템 환경 준비
- 대상 시스템: Oracle 19c 설치된 서버
- 모니터링 서버: Zabbix Server (5.0 이상), Zabbix Agent 2
- 권한 조건: Oracle DB 관리자 권한, 서버 관리자 계정 접근 권한
- Zabbix Agent 2 설치
Oracle 서버에 다음 명령어로 Zabbix Agent 2를 설치합니다.
# Zabbix 저장소 추가
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# Agent 설치
yum install -y zabbix-agent2
# 서비스 시작 및 부팅 자동 실행 설정
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
- Agent 기본 설정 수정
설정 파일 /etc/zabbix/zabbix_agent2.conf 을 편집하여 다음 항목을 입력합니다.
Server=<Zabbix 서버 주소>
Hostname=<서버 고유 이름>
변경 후 서비스 재시작:
systemctl restart zabbix-agent2
- 모니터링용 사용자 생성
SYS 계정으로 접속하여 아래 SQL을 실행해 모니터링 전용 사용자를 생성합니다.
-- 사용자 생성
CREATE USER C##zabbix_monitor IDENTIFIED BY secure_password
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON users
CONTAINER=ALL;
-- 기본 권한 부여
GRANT CREATE SESSION TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ANY DICTIONARY TO C##zabbix_monitor CONTAINER=ALL;
-- 핵심 뷰 조회 권한 부여
GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.DBA_TABLESPACES TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.DBA_DATA_FILES TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$DATABASE TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$INSTANCE TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$LOG TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$SESSION TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$ACTIVE_SESSION_HISTORY TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$ASM_DISKGROUP TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$OSSTAT TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$PGASTAT TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$PROCESS TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$SYSTEM_PARAMETER TO C##zabbix_monitor CONTAINER=ALL;
GRANT SELECT ON SYS.V_$SYSMETRIC TO C##zabbix_monitor CONTAINER=ALL;
- Oracle 연결 설정 파일 작성
/etc/zabbix/zabbix_agent2.d/oracle_custom.conf 파일을 생성하고 아래 내용을 기입합니다.
Plugins.Oracle.Sessions.cdb1.Uri=tcp://localhost:1521
Plugins.Oracle.Sessions.cdb1.User=C##zabbix_monitor
Plugins.Oracle.Sessions.cdb1.Password=secure_password
Plugins.Oracle.Sessions.cdb1.Service=cdb1
- Oracle 환경 변수 설정
시스템 서비스 설정 파일(/etc/systemd/system/zabbix-agent2.service)에 다음과 같은 환경 변수를 추가합니다.
[Service]
Environment="ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1"
Environment="LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0/dbhome_1/lib"
Environment="PATH=$PATH:/u01/app/oracle/product/19.0.0/dbhome_1/bin"
변경 사항 반영 후 재시작:
sudo systemctl daemon-reload
sudo systemctl restart zabbix-agent2
-
Zabbix Web 인터페이스에서 호스트 등록
-
Zabbix 웹 대시보드에 로그인
-
Configuration → Hosts 메뉴 진입
-
Create host 클릭
-
필수 정보 입력:
- Host name: 실제 서버 이름 입력
- Groups: 적절한 그룹 선택
- Interfaces: Agent 타입, IP 및 포트(기본 10050) 입력
- Templates 탭에서
Template DB Oracle by Zabbix agent 2적용 - Macros 섹션에 다음 값을 설정:
{$ORACLE.CONNSTRING}=tcp://localhost:1521{$ORACLE.SERVICE}=cdb1{$ORACLE.USER}=C##zabbix_monitor{$ORACLE.PASSWORD}=secure_password
-
Add 버튼 클릭하여 저장
-
모니터링 정상 작동 확인
-
Monitoring → Latest data 선택
-
새로 등록한 오라클 호스트 선택
-
oracle관련 아이템들이 정상적으로 수집되는지 확인 -
주요 문제 해결 방법
9.1 Oracle 연결 실패
- 오류 메시지:
Cannot connect to Oracle - 원인 및 조치:
- Oracle 리스너가 실행 중인지 확인 (
lsnrctl status) oracle_custom.conf내 연결 정보 재확인- 방화벽에서 1521 포트 허용 여부 점검
9.2 DPI-1047 에러 발생
- 오류 메시지:
ORA-00000: DPI-1047: Cannot locate a 64-bit Oracle client library - 해결책:
ORACLE_HOME,LD_LIBRARY_PATH설정 검토- 64비트 클라이언트 라이브러리 설치 여부 확인
- Zabbix Agent 재시작
9.3 권한 부족
- 현상: 일부 메트릭 수집 불가
- 조치:
C##zabbix_monitor사용자에게 추가 조회 권한 부여- 필요 시
SELECT권한을 특정 시스템 뷰에 직접 부여
9.4 데이터 수집 지연
- 원인: 수집 주기 지연 또는 시스템 부하
- 개선 방법:
- Zabbix 서버 및 에이전트 리소스 상태 점검
Update interval조정- 복잡 쿼리 최적화 또는 분산 수집 구조 고려
9.5 사용자 생성 실패
- 원인: 권한 부족 또는 문법 오류
- 대응:
- 반드시
SYS계정으로 실행 - 비밀번호 강도 요건 충족 여부 확인
- 멀티테넌트 환경에서는 컨테이너 지정 필수
9.6 테이블스페이스 문제
- 현상: 사용자 생성은 성공했으나 접속 불가
- 원인 및 해결:
users,temp테이블스페이스 존재 여부 확인- 할당 용량 부족 시 확장 또는 공간 확보
- 사용자 할당량(
QUOTA) 설정 확인
- 마무리 조언
위 절차를 완료하면, 안정적인 오라클 19c 모니터링 시스템이 구축됩니다. 주기적으로 수집 데이터를 점검하고, 환경 변화에 따라 설정을 조정해야 합니다. 문제가 발생할 경우 공식 문서 또는 커뮤니티 지원을 활용하세요.
✅ 보안 팁:
- 모든 암호는 복잡성 기준 충족
- 정기적으로 모니터링 사용자의 권한 검토
- Zabbix 및 오라클 소프트웨어는 최신 상태 유지
- 필요 시 모니터링 항목과 트리거 조정
정교한 설정과 신속한 장애 대응을 통해 안정성 높은 데이터베이스 운영 환경을 확보할 수 있습니다.