作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验
擅长主流数据Oracle、MySQL、PG、openGauss运维对于TimescaleDB来说对于TimescaleDB来说
备份恢复,安装迁移,性能优化、故障应急处理等
可提供技术业务:
1.DB故障处理/疑难杂症远程支援
2.Mysql/PG/Oracle/openGauss
数据库部署及数仓搭建
•••
微信:jem_db
QQ交流群:587159446
公众号:IT邦德
@
-
1.OEM
-
1.1 概述
-
1.2 分类
-
1.3 EMCC
-
2.Zabbix监控
-
2.1 概述
-
2.2 监控Oracle
-
3.Prometheus
-
3.1 概述
-
3.2 监控Oracle
-
4.oratop工具
-
4.1 概述
-
4.2 监控活动会话
-
5.总结
在运维领域有这么一句话,监控做不好,救火救到老!如何释放您繁重的Oracel运维工作,以下介绍常用的一些Oracle监控工具。
1.OEM
1.1 概述
Oracle Enterprise Manager(OEM)是Oracle的标准数据库监控工具。它可以检测Oracle数据库系统的性能指标、空间、资源使用情况和系统运行状态等。同时,这个工具还可以自动监控和修复错误,从而实现数据库系统的高可用性和高可靠性。
1.2 分类
OEM包括了EMDC、EMDE、EMGC和EMCC
EMDC:Enterprise Manager Database Control,使用emca命令创建。用于12c之前,针对单实例的数据库。EMDC不支持Oracle Database 12c,在12c中取消了EMDC,而是被EMDE取代了。
EMDE:Enterprise Manager Database Express,不需要额外安装,只需要配置一个端口即可使用,pdb和cdb都可以配置EMDE。从12c开始,用于维护管理单个数据库。
EMGC:Enterprise Manager Grid Control,可以监控多台数据库服务器。用于12c之前。
EMCC:Enterprise Manager Cloud Control,可以监控多台数据库服务器,EMCC比EMGC功能更加强大,从Oracle 12c开始使用。
1.3 EMCC
EMCC,全称Oracle Enterprise Manager Cloud Control,是Oracle提供的一套集中化监控工具,可以对数据库、操作系统、中间件等进行监控,通过OMS(Oracle Management Service)收集监控数据并将监控信息存入对应Oracle资料数据库并对收集的数据进行处理与展示;使用agent部署在受监控机或远程监控实现监控采集。可实现短信、邮件、SNMP等多方式实现实时告警。同时EMCC在监控Oracle数据库方面,是功能最全面、最强大的存在。
2.Zabbix监控
2.1 概述
Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
2.2 监控Oracle
博客地址:
https://jeames.blog.csdn.net/article/details/126966338
3.Prometheus
3.1 概述
Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。
3.2 监控Oracle
1.客户端下载
下载oracle客户端安装包,配置安装
https://www.oracle.com/database/technologies/instant-client/downloads.html
这里下载linux版:
oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm
2.配置环境变量
export ORACLE_HOME=/usr/lib/oracle/19.3/client64
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG='simplified chinese_china'.ZHS16GBK
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
使配置完的环境变量生效
source ~/.bashrc
3.下载oracle_exporter
https://github.com/iamseth/oracledb_exporter/releases
export DATA_SOURCE_NAME=用户名/密码@ 数据库服务名
注意:某些字符在xshell中执行需要转义
//例如:
export DATA_SOURCE_NAME="system/cserver_6U@ORCL"
后台启动: nohup ./oracledb_exporter &
http://127.0.0.1:9161/
4.prometheus 配置
job_name: oracle
static_configs:
targets: [‘127.0.0.1:9161‘]
labels:
instance: oracle
5.grafana 配置 dashbord
https://grafana.com/grafana/dashboards/3333
4.oratop工具
4.1 概述
oratop是Oracle提供的一款轻量级实时监控工具,oratop的最大特点是支持实时轻量级监控。在Oracle 12c的EM Express之前,OEM还是一个重体积的组件。相比之下,oratop完全适合那些想使用数据库实时监控功能,但是又不愿意启动OEM的用户需要。从功能上看,oratop主要的特点有:监控当前的数据库活动;监控数据库性能;识别当前阻塞会话和瓶颈会话。oratop是一个典型的“绿色”软件,不需要安装,只需要给一个运行目录即可。需要注意的是,oratop需要以oracle用户运行,且需要配置环境变量,主要是配置LD_LIBRARY_PATH路径。
4.2 监控活动会话
Oratop的本质和优势在于轻量型和实时。一个很小的程序,可以在自身消耗较小的情况下发现问题。
/oratop -i 10 / as sysdba
/oratop -i 10 username/password@tns_alias
5.总结
在Oracle数据库中,哪怕是最小的系统问题都可能影响业务的稳定运行,所以DBAs需要密切关注系统中出现的任何问题。此外,运用以上提及的高可用性工具能够有效地帮助DBA解决问题,提高Oracle数据库系统的可靠性和性能。
一款强大的监控系统可以事前及时预警发现故障,事后提供详实的数据用于追查定位问题。
目前业界有很多不错的监控工具可供选择,本文提到的一些监控工具希望能帮到大家