温馨提示×

ubuntu oracle怎么监控

小樊
38
2026-09-23 02:24:10
栏目: 云计算

在 Ubuntu 上监控 Oracle 数据库,可以从 操作系统层 和 数据库层 两个维度来做。下面按常见场景给你一个实用清单。


一、操作系统层监控(Ubuntu)

1. 基础资源监控

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

关注:

  • CPU 使用率
  • 内存 & Swap
  • 磁盘 IO
  • 文件系统空间(Oracle 数据文件、归档日志)

2. Oracle 进程监控

ps -ef | grep ora_

常见进程:

  • ora_pmon_*:进程监控
  • ora_dbw*:数据写
  • ora_lgwr:日志写
  • ora_ckpt:检查点

3. 监听状态

lsnrctl status

4. 日志监控

tail -f /u01/app/oracle/diag/rdbms/*/trace/alert*.log

重点看:

  • ORA- 错误
  • 死锁
  • 表空间不足

二、数据库层监控(SQL)

1. 实例状态

SELECT instance_name, status, database_status
FROM v$instance;

2. 表空间使用率

SELECT
  tablespace_name,
  ROUND(used_space*8/1024,2) used_mb,
  ROUND(tablespace_size*8/1024,2) total_mb,
  ROUND((used_space/tablespace_size)*100,2) used_pct
FROM dba_tablespace_usage_metrics;

3. 会话与等待事件

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

4. 锁监控

SELECT * FROM v$lock;
SELECT * FROM dba_blockers;

5. 归档日志

ARCHIVE LOG LIST;

三、自动化 & 可视化监控方案

1. Oracle 自带

  • Oracle Enterprise Manager (OEM)
  • Automatic Workload Repository (AWR)
@?/rdbms/admin/awrrpt.sql

2. 开源方案(推荐)

  • Prometheus + node_exporter + oracle_exporter
  • Grafana
  • Zabbix(带 Oracle 模板)

示例(oracle_exporter):

oracle_exporter --default.metrics=metrics.toml \
  --custom.metrics=metrics.toml \
  --web.listen-address=:9161

3. 告警

  • 表空间 > 85%
  • 会话数异常
  • 归档满
  • ORA- 错误
  • 主备延迟(Data Guard)

四、常见运维建议

  • 定期跑 AWR / ASH
  • 监控 redo log 切换频率
  • 设置邮件/钉钉/企业微信告警
  • 对生产库禁止 rm 操作

如果你能告诉我:

  • Oracle 版本(11g / 12c / 19c)
  • 单机还是 RAC / Data Guard
  • 想要 命令行 / 脚本 / 图形化

我可以给你一套具体可落地的监控方案。

0 踩