温馨提示×

ubuntu oracle怎样监控

小樊
40
2026-10-16 12:46:39
栏目: 云计算

在 Ubuntu 上监控 Oracle 数据库,可以从系统层面和数据库层面两个维度来做。下面给你一套实用方案,从简单到专业。


一、系统层面监控(Ubuntu)

1. 基础资源监控

top
htop
free -h
df -h
iostat -x 1

查看 CPU、内存、磁盘 IO、Swap。

2. Oracle 进程监控

ps -ef | grep ora_

常见进程:

  • ora_pmon_*:进程监控
  • ora_dbw*:数据写
  • ora_lgwr*:日志写

3. 监听状态

lsnrctl status

二、Oracle 自带工具(最常用)

1. Oracle Enterprise Manager(OEM)

  • 图形界面
  • 监控:
    • 表空间
    • SQL 性能
    • 会话
    • 等待事件

访问:

https://localhost:5500/em

2. 使用 SQL*Plus 手动监控

表空间使用率

SELECT
  tablespace_name,
  ROUND(used_percent,2) used_pct
FROM dba_tablespace_usage_metrics;

会话监控

SELECT sid, serial#, username, status, event
FROM v$session
WHERE status='ACTIVE';

等待事件

SELECT event, total_waits
FROM v$system_event
ORDER BY total_waits DESC;

三、日志与告警监控

1. Alert Log

$ORACLE_BASE/diag/rdbms/*/trace/alert_*.log

可用 tail -f 实时监控。

2. 监听器日志

$ORACLE_HOME/network/log/listener.log

四、自动化 & 可视化监控(推荐)

1. Prometheus + Oracle Exporter

  • 轻量
  • 配合 Grafana

组件:

  • oracle_exporter
  • Prometheus
  • Grafana

监控指标:

  • 连接数
  • 表空间
  • SQL 执行时间

2. Zabbix 监控 Oracle

  • 官方模板支持
  • 报警邮件/钉钉

3. Nagios

  • 适合传统运维
  • 插件:check_oracle

五、常见监控指标(重点关注)

  • 表空间使用率 > 85%
  • 活跃会话数异常
  • 长时间等待事件
  • 归档日志暴增
  • ORA 错误(alert log)

六、快速建议方案

  • 个人/小环境:SQL*Plus + alert log
  • 生产环境:OEM 或 Prometheus + Grafana
  • 运维团队:Zabbix / Nagios

如果你愿意,可以告诉我:

  • Oracle 版本(11g / 12c / 19c)
  • 是否生产环境
  • 想用图形化还是命令行

我可以给你具体配置步骤。

0 踩