以下是Oracle数据库在CentOS上的监控方法:
@ORACLE_HOME/rdbms/admin/awrreport.sql。SELECT * FROM v$active_session_history。SELECT status, count(*) FROM v$session GROUP BY status。SELECT tablespace_name, ROUND(100*(total_bytes-free_bytes)/total_bytes) AS used_pct FROM (SELECT tablespace_name, SUM(bytes) AS total_bytes FROM dba_data_files GROUP BY tablespace_name) df, (SELECT tablespace_name, SUM(bytes) AS free_bytes FROM dba_free_space GROUP BY tablespace_name) fs WHERE df.tablespace_name=fs.tablespace_name。lsnrctl status查看监听状态,lsnrctl start/stop控制启停。Shift+P按CPU排序。iostat -xz 1 5(间隔1秒,采样5次)。netstat -tlnp | grep <端口号>。orabbix插件,支持数据库性能、表空间等监控。oracledb_exporter暴露指标,Grafana可视化,适合云环境。check_oracle)监控服务状态,需配置告警规则。# 检查实例是否运行
ps -ef | grep pmon_$ORACLE_SID || echo "实例停止" | mail -s "Oracle告警" admin@example.com
# 检查告警日志
tail -n 50 $ORACLE_BASE/diag/rdbms/$ORACLE_SID/trace/alert_$ORACLE_SID.log | grep -i "ORA-"
以上方法可组合使用,根据需求选择工具,实现对数据库性能、资源、状态的全面监控。