Zabbix监控Oracle 19c数据库完整配置指南
Zabbix监控Oracle 19c数据库完整配置指南
本文将详细介绍如何使用Zabbix配置Oracle 19c数据库监控,包括安装、配置、问题排查等全过程。本指南适合新手独立完成配置。
1. 环境准备
1.1 系统要求
- Oracle 19c数据库服务器
- Zabbix服务器(版本5.0或更高)
- Zabbix Agent 2
1.2 前提条件
- Oracle数据库正常运行
- Zabbix服务器已安装并配置
- 具有Oracle数据库和服务器的管理员权限
2. 安装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# 安装Zabbix Agent 2
yum install zabbix-agent2# 启动服务并设置开机自启
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
3. 配置Zabbix Agent 2
编辑配置文件 /etc/zabbix/zabbix_agent2.conf:
Server=<Zabbix服务器IP>
Hostname=<本机主机名>
重启Zabbix Agent 2服务:
systemctl restart zabbix-agent2
4. 创建Oracle监控用户
以具有管理员权限的用户(如SYS)登录Oracle数据库,执行以下SQL语句:
-- 创建用户
CREATE USER C##zabbix_mon IDENTIFIED BY zabbix
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON users
CONTAINER=ALL;-- 授予基本权限
GRANT CREATE SESSION TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ANY DICTIONARY TO C##zabbix_mon CONTAINER=ALL;-- 授予特定对象的查询权限
GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.DBA_TABLESPACES TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.DBA_USERS TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.DBA_DATA_FILES TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$ACTIVE_SESSION_HISTORY TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$ARCHIVE_DEST TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$ASM_DISKGROUP TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$DATABASE TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$DATAFILE TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$INSTANCE TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$LOG TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$OSSTAT TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$PGASTAT TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$PROCESS TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$SESSION TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$SYSMETRIC TO C##zabbix_mon CONTAINER=ALL;
GRANT SELECT ON SYS.V_$SYSTEM_PARAMETER TO C##zabbix_mon CONTAINER=ALL;
5. 配置Oracle监控
创建文件 /etc/zabbix/zabbix_agent2.d/oracle.conf:
Plugins.Oracle.Sessions.cdb1.Uri=tcp://localhost:1521
Plugins.Oracle.Sessions.cdb1.User=C##zabbix_mon
Plugins.Oracle.Sessions.cdb1.Password=zabbix
Plugins.Oracle.Sessions.cdb1.Service=cdb1
6. 配置环境变量
编辑 /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"
重新加载systemd配置并重启服务:
sudo systemctl daemon-reload
sudo systemctl restart zabbix-agent2
7. 在Zabbix Web界面添加主机
- 登录Zabbix Web界面
- 进入 Configuration -> Hosts
- 点击 “Create host”
- 填写以下信息:
- Host name: <Oracle服务器名称>
- 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_mon
- {$ORACLE.PASSWORD} = zabbix
- 点击 “Add” 保存
8. 验证监控
- 进入 Monitoring -> Latest data
- 选择刚添加的Oracle主机
- 查看是否有Oracle相关的监控项开始收集数据
9. 常见问题及解决方法
9.1 Zabbix Agent 2无法连接到Oracle
症状:Zabbix Agent 2日志中出现 “Cannot connect to Oracle” 错误。
解决方法:
- 检查Oracle监听器是否正常运行
- 验证
oracle.conf中的连接信息是否正确 - 确保防火墙允许Zabbix Agent 2访问Oracle端口(通常是1521)
9.2 ORA-00000: DPI-1047错误
症状:出现 “ORA-00000: DPI-1047: Cannot locate a 64-bit Oracle client library” 错误。
解决方法:
- 确保正确设置了ORACLE_HOME和LD_LIBRARY_PATH环境变量
- 检查Oracle客户端库是否为64位版本
- 重新启动Zabbix Agent 2服务
9.3 权限不足
症状:Zabbix无法收集某些Oracle指标。
解决方法:
- 检查C##zabbix_mon用户是否有足够的权限
- 可能需要额外授予一些系统视图的SELECT权限
9.4 数据收集延迟
症状:Oracle监控数据更新缓慢。
解决方法:
- 检查Zabbix服务器和Agent的性能
- 调整数据收集间隔
- 优化Oracle查询性能
9.5 用户创建失败
症状:创建C##zabbix_mon用户时出错。
解决方法:
- 确保以具有足够权限的用户(如SYS)执行创建用户的SQL语句
- 检查密码是否符合Oracle的密码策略
- 确保在正确的容器中执行命令(如果使用多租户架构)
9.6 表空间问题
症状:用户创建成功但无法使用。
解决方法:
- 确保users和temp表空间存在且有足够空间
- 检查用户的配额设置
10. 结论
通过以上步骤,你应该能够成功配置Zabbix来监控Oracle 19c数据库。记得定期检查监控数据,及时调整配置以满足不断变化的需求。如遇到其他问题,可查阅Zabbix和Oracle的官方文档或寻求社区帮助。
注意事项:
- 确保所有密码符合安全策略。
- 定期审查和更新监控用户的权限。
- 保持Zabbix和Oracle软件的及时更新。
- 根据实际需求调整监控项和触发器。
通过细心配置和及时排障,您可以建立一个可靠的Oracle数据库监控系统,为数据库的稳定运行提供有力支持。
相关文章:
Zabbix监控Oracle 19c数据库完整配置指南
Zabbix监控Oracle 19c数据库完整配置指南 本文将详细介绍如何使用Zabbix配置Oracle 19c数据库监控,包括安装、配置、问题排查等全过程。本指南适合新手独立完成配置。 1. 环境准备 1.1 系统要求 Oracle 19c数据库服务器Zabbix服务器(版本5.0或更高&a…...
静态路由与交换机配置实验
1.建立网络拓扑 添加2台计算机,标签名为PC0、PC1;添加2台二层交换机2960,标签名为S0、S1;添加2台路由器2811,标签名为R0、R1;交换机划分的VLAN及端口根据如下拓扑图,使用直通线、DCE串口线连接…...
【jvm】讲讲jvm中的gc
目录 1. 说明2. 主要算法2.1 标记-清除算法2.2 复制算法2.3 标记-整理算法3. 主要回收器3.1 Serial GC3.2 Parallel GC3.3 CMS(Concurrent Mark-Sweep)GC3.4 G1(Garbage-First)GC 4. 触发条件4.1 Minor GC(Young GC&am…...
openlayers地图事件
OpenLayers是一个开源的JavaScript库,用于在Web上创建交互式地图。它提供了许多地图事件,使用户可以与地图进行交互。以下是OpenLayers常用的地图事件: 1. click:当用户单击地图时触发该事件。 2. dblclick:当用户双…...
杂记9---一些场景git操作汇总
背景:不同项目需求,所需要git操作集合,不太一样,这里汇总记录一下。 场景1:给本地项目添加到远程仓库的新建分支上 把本地节点保存在自己库的一个分支: git init git remote add origin xxx.git 远程仓库…...
Mysql索引,聚簇索引,非聚簇索引,回表查询
什么是索引 数据库索引是为了实现高效数据查询的一种有序的数据数据结构,类似于书的目录,通过目录可以快速的定位到想要的数据,因为一张表中的数据会有很多,如果直接去表中检索数据效率会很低,所以需要为表中的数据建立…...
【优选算法 二分查找】二分查找算法入门详解:二分查找小专题
x 的平方根 题目解析 算法原理 解法一: 暴力解法 如果要求一个数(x)的平方根,可以从 0 往后枚举,直到有一个数(a),a^2<x,(a1)^2>x,a即为所求; 解法二:二分查找 …...
如何将CSDN博客下载为PDF文件
1.打开CSDN文章内容 2.按键盘上的f12键(或者右键—审查元素)进入浏览器调试模式,点击控制台(Console)进入控制台 3.在控制台输入以下代码,回车 4.在弹出的打印页面中将布局设置成横向,纵向会…...
pdf转word/markdown等格式——MinerU的部署:2024最新的智能数据提取工具
一、简介 MinerU是开源、高质量的数据提取工具,支持多源数据、深度挖掘、自定义规则、快速提取等。含数据采集、处理、存储模块及用户界面,适用于学术、商业、金融、法律等多领域,提高数据获取效率。一站式、开源、高质量的数据提取工具&…...
2024年下半年网络工程师案例分析真题及答案解析
2024年下半年网络工程师案例分析真题及答案解析 试题一(15分) [说明] 公司为某科技园区的不同企业提供网络服务,不同企业的业务有所不同,每个企业因业务需要在不同的地点有多个分支机构。其拓扑结构如图1所示。企业用户通过楼层接入交换机、楼栋汇聚交换机和区域交换机接…...
English phonetic symbol
英语音标发音表-英语48个音标在线读 (jiwake.com) 【英语音标教程】从此学会国际音标|英式音标|BBC音标教程全解_哔哩哔哩_bilibili 元音 单元音 /iː/,/ɪ/ 这两个音不是发音长短的区别, /uː/ /ʊ/ 上面那个就正常读,下面那个她的气大概是往你斜…...
普及组集训--图论最短路径设分层图
P4568 [JLOI2011] 飞行路线 - 洛谷 | 计算机科学教育新生态 可以设置分层图:(伪代码) E(u,v)w;无向图 add(u,v,w),add(v,u,w); for(j1~k){add(ujn,vjn,w);add(vjn,ujn,w);add(ujn-j,vjn-j,0);add(vjn-j,ujn-j,0); } add(ujn-j,vjn-j,0); add(vjn-j,uj…...
SYN6288语音合成模块使用说明(MicroPython、STM32、Arduino)
模块介绍 SYN6288中文语音合成模块是北京宇音天下科技有限公司推出的语音合成模块。该模块通过串口接收主控传来的语音编码后,可自动进行自然流畅的中文语音播报。 注:SYN6288模块无法播报英文单词和句子,只能按字母播报英文 ;而…...
Spring完整知识三(完结)
Spring集成MyBatis 注意 Spring注解形式集成MyBatis时,若SQL语句比较复杂则仍采用映射文件形式书写SQL语句;反之则用注解形式书写SQL语句,具体可详见Spring注解形式 环境准备相同步骤 Step1: 导入相关坐标,完整pom.…...
保姆级教程Docker部署Redis镜像
目录 1、创建挂载目录和配置文件 2、运行Redis镜像 3、查看redis运行状态 1、创建挂载目录和配置文件 # 创建宿主机Redis配置文件存放目录 sudo mkdir -p /data/docker/redis/conf# 创建Redis配置文件 cd /data/docker/redis/conf sudo touch redis.conf 到Github上找到Redi…...
子类有多个父类的情况下Super不支持指定父类来调用方法
1、Super使用方法 super()函数在Python中用于调用父类的方法。它返回一个代理对象,可以通过该对象调用父类的方法。 要使用super()方法,需要在子类的方法中调用super(),并指定子类本身以及方法的名称。这样就可以在子类中调用父类的方法。 …...
AI大模型ollama结合Open-webui
AI大模型Ollama结合Open-webui 作者:行癫(盗版必究) 一:认识 Ollama 1.什么是Ollama Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和…...
RK3568笔记2:NOR_Flash和NAND_Flash与SDMMC和eMMC
1. 本质区别 特性NOR Flash/NAND FlashSDMMC/eMMC定义基础存储器(原始闪存芯片)基于闪存芯片的存储模块,带有控制器组成结构只有原始存储芯片存储芯片 控制器控制方式需主机直接控制,读写逻辑由主机完成内置控制器,主…...
windows python qt5 QChartView画折线图
环境:windows pyqt5 ,用QCartView画折线图 环境需要提前安装 pip install PyQtChart 折线图随着时间推移会不断移动,主动更新x轴坐标 import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout from PyQt5.QtChart imp…...
阿里云通义千问:全面解析智能云服务先锋
一、技术架构与基础 模型构建基石 采用大规模语料库训练,涵盖多领域知识,如科学、历史、文学等,确保知识储备丰富多样。运用先进的神经网络架构,深度优化模型结构,提高信息处理效率与准确性。持续的语料更新机制&…...
3步轻松掌握:163MusicLyrics歌词下载完全指南
3步轻松掌握:163MusicLyrics歌词下载完全指南 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为找不到高质量的LRC歌词而烦恼吗?163MusicLyri…...
智能路由器项目解析:基于策略路由实现多线路流量智能调度
1. 项目概述:一个“聪明”的路由器能做什么?最近在GitHub上看到一个挺有意思的项目,叫smart-router,作者是c0nSpIc0uS7uRk3r。光看名字,你可能会觉得这又是一个关于家庭网络优化的工具,但点进去仔细研究后&…...
Windows Cleaner终极指南:3步彻底解决C盘爆红问题,让电脑重获新生!
Windows Cleaner终极指南:3步彻底解决C盘爆红问题,让电脑重获新生! 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 还在为Wind…...
量化交易强化学习环境TradingGym:从Gym接口到实战策略训练
1. 项目概述:一个为量化交易策略量身定制的强化学习训练场如果你正在尝试将强化学习(Reinforcement Learning, RL)应用到股票、期货或加密货币的量化交易中,大概率会遇到一个共同的困境:环境太难搭了。市面上的回测框架…...
Kubernetes部署Valheim游戏服务器:云原生技术赋能游戏运维实践
1. 项目概述:当维京英灵殿遇上容器编排如果你和我一样,既沉迷于《英灵神殿》(Valheim)里与好友共建家园、挑战上古巨兽的乐趣,又恰好是一名整天和Kubernetes(k8s)打交道的开发者或运维ÿ…...
开源技能安全仪表盘:从架构解析到CI/CD集成的DevSecOps实践
1. 项目概述:一个面向技能开发者的安全仪表盘最近在折腾一些智能设备上的技能开发,发现一个挺普遍但容易被忽视的问题:我们花大量时间在功能实现和用户体验上,但技能本身的安全性评估,往往只能等到上线后,通…...
DIY智能电机推子:从闭环控制到MIDI交互的硬件实战
1. 项目概述与核心价值如果你玩过专业的音频混音台,或者在一些高端的灯光控制台上见过那种会自己“嗖”一下滑到指定位置的推子,那你一定对电机推子(Motorized Fader)不陌生。这东西的魅力在于,它既是精准的模拟输入设…...
为什么92%的设计师调不出正宗铂金印相?3个被忽略的色彩科学陷阱与CIE LAB空间修正公式
更多请点击: https://intelliparadigm.com 第一章:铂金印相的视觉本质与历史语境 铂金印相(Platinum Print)并非一种数字图像处理技术,而是一种19世纪末诞生于摄影化学工艺巅峰的物理显影体系。其视觉本质在于——铂金…...
构建高质量Awesome教程库:从Claude Code实战到开发者知识体系搭建
1. 项目概述:一个为Claude Code打造的开发者知识库 最近在GitHub上看到一个挺有意思的项目,叫“awesome-claudcode-tutorial”。光看名字,你可能会有点懵——“Claude Code”是什么?这其实是一个由开发者社区推动的、围绕特定AI编…...
基于Trinket M0与伺服电机的宠物激光护目镜DIY全攻略
1. 项目概述与核心思路给自家毛孩子做个赛博朋克风的万圣节装备,这个想法在我脑子里盘桓很久了。市面上那些宠物装饰要么千篇一律,要么就是简单的布料缝制,总感觉少了点“硬核”的趣味。直到我看到伺服电机和激光二极管这两个小玩意儿&#x…...
