在 Ubuntu 上监控 Oracle 数据库,可以从 操作系统层 和 数据库层 两个维度来做。下面按常见场景给你一个实用清单。
top
htop
free -h
df -h
iostat -x 1
vmstat 1
关注:
ps -ef | grep ora_
常见进程:
ora_pmon_*:进程监控ora_dbw*:数据写ora_lgwr:日志写ora_ckpt:检查点lsnrctl status
tail -f /u01/app/oracle/diag/rdbms/*/trace/alert*.log
重点看:
SELECT instance_name, status, database_status
FROM v$instance;
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;
SELECT sid, serial#, username, status, event
FROM v$session
WHERE status='ACTIVE';
SELECT * FROM v$lock;
SELECT * FROM dba_blockers;
ARCHIVE LOG LIST;
@?/rdbms/admin/awrrpt.sql
示例(oracle_exporter):
oracle_exporter --default.metrics=metrics.toml \
--custom.metrics=metrics.toml \
--web.listen-address=:9161
rm 操作如果你能告诉我:
我可以给你一套具体可落地的监控方案。