温馨提示×

linux oracle怎样监控

小樊
41
2026-09-25 17:28:59
栏目: 云计算

在 Linux 上监控 Oracle 数据库,可以从操作系统层面和数据库层面两个方向来做。下面给你一个比较实用、常见的监控方案总结。


一、Linux 系统层面监控(看资源)

1. CPU / 内存 / 负载

top
htop
uptime
free -h

2. 磁盘 I/O(Oracle 很依赖 IO)

iostat -x 1
df -h

重点看:

  • %util
  • await
  • 数据文件所在磁盘

3. 网络

netstat -anp | grep oracle
ss -tanp

4. Oracle 进程

ps -ef | grep ora_

常见进程:

  • ora_pmon_
  • ora_dbw0_
  • ora_lgwr_
  • ora_ckpt_

二、Oracle 数据库层面监控(看数据库状态)

1. 查看数据库状态

SELECT 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 username, status, count(*)
FROM v$session
GROUP BY username, status;

4. 等待事件(性能瓶颈)

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

5. 日志与告警

# 告警日志
$ORACLE_BASE/diag/rdbms/*/trace/alert_*.log

tail -f alert_*.log

三、Oracle 自带工具

1. Oracle Enterprise Manager(OEM)

  • 图形化
  • 最全面
  • 适合生产环境

2. AWR / ADDM

@?/rdbms/admin/awrrpt.sql
@?/rdbms/admin/addmrpt.sql

四、自动化监控方案(推荐)

1. 脚本 + 定时任务

  • shell 脚本采集
  • 发邮件 / 钉钉 / 微信报警

2. 监控平台

  • Zabbix(常用)
  • Prometheus + Grafana
  • Nagios

可监控:

  • Oracle 进程
  • 表空间
  • 连接数
  • 锁
  • 慢 SQL

五、常见监控重点总结

✅ 必须监控:

  • 数据库是否存活
  • 表空间使用率
  • 会话数
  • 告警日志
  • 磁盘空间

⚠️ 性能监控:

  • 等待事件
  • SQL 执行时间
  • redo / undo

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

  • Oracle 版本(11g / 12c / 19c)
  • 是否生产环境
  • 想用脚本还是监控平台

我可以给你具体的监控脚本或 Zabbix 模板。

0 踩