武汉做网站 九州科技/腾讯企点官网下载
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…...

阿里云通义千问:全面解析智能云服务先锋
一、技术架构与基础 模型构建基石 采用大规模语料库训练,涵盖多领域知识,如科学、历史、文学等,确保知识储备丰富多样。运用先进的神经网络架构,深度优化模型结构,提高信息处理效率与准确性。持续的语料更新机制&…...

QT 贪吃蛇
1.注意点 新new对象时,要food->show(),否则屏幕不显示 setText() 要求字符串 事件的触发必须写在QWidget中或这是他的子类才能触发,snake.cpp继承的是QTimer 产生动态的原因是定时器每间隔一秒执行一次 信号可以定义在别的.cpp中,只要连接…...

二、点亮希望之光:寄存器与库函数驱动 LED 灯
文章目录 一、寄存器1、存储器映射2、存储器映射表3、寄存器4、寄存器映射5、寄存器重映射6、总线基地址、外设基地址、外设寄存器地址7、操作寄存器(以操作一个GPIO口为例)1. 寄存器地址定义部分2. GPIOD_Configuration 函数部分3. main 函数部分 二、库…...

Oracle 用户管理模式下的恢复案例-不完全恢复
1. 不完全恢复的几种常用方法 01. recover database using backup controlfile 如果丢失当前控制文件,用冷备份的控制文件恢复的时候,用来告诉 oracle,不要以 controlfile 中的 scn 作为恢复的终点; 02. recover database until …...

SharpDevelop IDE IViewContent.cs类
文件位置:IViewContent.cs /// <summary>/// IViewContent is the base interface for "windows" in the document area of SharpDevelop./// A view content is a view onto multiple files, or other content that opens like a document/// (e.…...

Unity RectTransUtility工具类
这个工具主要是用于动态生成UI的情况。项目中我们通过配置UI的锚点、位置以及大小(位置、大小都是通过蓝湖看到的),然后通过代码动态生成UI。 大部分情况下只要合理设置锚点,那么生成出来的UI就已经满足了适配的要求。 using UnityEngine;public static…...

React性能优化
三个可以优化的地方 避免过度多次渲染 组件会在以下情况下重新渲染 注意:例如组件组合的形式,<Test><Counter></Counter></Test>,即使Test发生了重新渲染,Counter也不会重新渲染。另外使用React这样的库或框架时&a…...

前端开发流程实操:从概念到上线
在前端开发这个充满创意与技术挑战的领域,一个清晰的开发流程是确保项目顺利进行并达到预期效果的关键。 下面就和大家分享一下前端开发的实操流程。 一、项目启动与需求分析 前端开发不是孤立的,它是整个项目的一部分,所以首先要与项目团…...

Metasploit使用
最近在学Metasploit,Metasploit是一个免费的、可下载的渗透测试框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击,是一个集成了渗透测试全流程的渗透工具。 图一 模块:模块组织按照不同的用途分为7种类型的模块 &am…...

Milvus向量数据库05-常见问题整理
Milvus向量数据库05-常见问题整理 1-什么是PipeLine 这张图展示了一个文档处理和搜索系统的架构,主要分为两个部分:Ingestion Pipeline(摄取管道)和 Search Pipeline(搜索管道)。下面是对图中各部分的详细…...

Ruby On Rails 笔记3——表的增删改查
1.Migration Migrations是一种便利的方法,能以重现的方式随时间推移改变数据库schema. 使用Ruby Domain Specific Language (DSL),因此你不用手写SQL,进而使你的schema和changes与数据库独立。 可以把每次migration看作是数据库的一个新“版本”。A schema开始时什么都没有…...