1. Oracle Enterprise Manager (OEM)
OEM是Oracle官方提供的标准数据库监控工具,支持全面监控Oracle数据库的性能指标(如SQL执行效率、缓冲区命中率、锁等待)、空间使用情况、资源分配及系统运行状态。通过Web界面可实现集中化管理,适合企业级用户对Oracle数据库进行全面运维监控。
2. 第三方系统监控工具
sudo apt-get install nmon安装,使用sudo nmon -c 10持续监控10秒。虽不直接针对Oracle,但能帮助分析系统资源瓶颈对数据库的影响。sudo apt-get install glances安装,启动后实时展示系统关键指标(CPU、内存、磁盘、网络),支持按内存/进程排序,间接反映Oracle数据库的资源占用情况。htop(sudo apt-get install htop)比top更直观,可按CPU/内存使用率排序,快速定位消耗资源的Oracle进程(如ora_pmon、ora_dbw0)。sudo apt-get install netdata),能快速发现系统层面的性能异常。check_oracle)实现对Oracle数据库的监控(状态、负载、备份情况),支持分布式告警,适合传统运维场景。3. Oracle专用命令行工具
lsnrctl status)、日志(lsnrctl logfile)及性能(lsnrctl monitor),帮助排查网络连接问题。SELECT name, gets, getmisses, (gets - getmisses)/gets*100 AS buffer_hit_ratio FROM v$buffer_pool;(命中率<90%需优化);SELECT event, count(*) AS waits FROM v$session_event GROUP BY event;(识别高并发等待事件,如db file sequential read);SELECT a.sid, a.serial#, b.username, a.status, a.osuser, a.machine FROM v$session a, dba_users b WHERE a.username = b.username AND a.lockwait IS NOT NULL;(查找锁等待会话)。@?/rdbms/admin/awrrpt.sql(AWR)或@?/rdbms/admin/ashrpt.sql(ASH)生成报告,分析数据库性能趋势(如SQL执行时间变化、等待事件分布),需开启AWR收集功能。EXPLAIN PLAN FOR SELECT * FROM table_name WHERE condition;生成计划,再通过SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);查看。4. 脚本与日志监控
tail -f /var/log/lsnrctl.log实时查看Oracle监听器日志,或通过ELK(Elasticsearch+Logstash+Kibana)分析数据库日志(如alert.log),快速定位错误(如ORA-)或异常。