centos

centos oracle数据库如何监控

小樊
41
2025-12-19 11:38:53
栏目: 云计算

CentOS 上 Oracle 数据库监控实践

一 监控体系与工具选型

二 快速上手的三种方案

三 关键监控指标与采集方法

维度 关键指标 采集方式/SQL 示例
可用性 监听状态、实例状态 lsnrctl status;SELECT status FROM v$instance;
负载 DB Time、CPU 使用、逻辑/物理读 SELECT name, value FROM v$sysstat WHERE name IN (‘DB time’,‘CPU used by this session’,‘physical reads’,‘session logical reads’);
等待事件 Top 等待事件与平均等待 SELECT event, total_waits, time_waited_micro FROM v$system_event WHERE wait_class!=‘Idle’ ORDER BY time_waited_micro DESC FETCH FIRST 10 ROWS ONLY;
会话与连接 当前会话/进程数、阻塞会话 SELECT count() FROM v$session; SELECT count() FROM v$process; 结合 v$session 的 blocking_session 定位阻塞源;
SQL 性能 Top SQL(耗时/磁盘读/执行次数) SELECT sql_id, elapsed_time, cpu_time, disk_reads, executions FROM v$sqlarea ORDER BY elapsed_time DESC FETCH FIRST 10 ROWS ONLY;
存储与空间 表空间使用率 SELECT tablespace_name, round((used_space/total_space)*100,2) pct FROM dba_tablespace_usage_metrics;
内存与缓存 SGA/PGA 命中率、库缓存命中 SELECT name, value FROM v$sysstat WHERE name IN (‘consistent gets’,‘db block gets’,‘physical reads’);
归档与日志 归档日志产生趋势、日志切换频率 SELECT sequence#, first_time, next_time FROM v$archived_log ORDER BY sequence# DESC; SELECT name, value FROM v$sysstat WHERE name=‘redo writes’;
并发量 并发会话峰值与活跃会话 SELECT count(*) FROM v$session WHERE status=‘ACTIVE’; 结合 AWR/ASH 分析并发趋势与峰值时段;

四 告警阈值与巡检建议

五 排错与优化要点

0
看了该问题的人还看了