一、CHM 技术分析
1. CHM 核心功能
:持续收集集群节点的OS资源数据(CPU、内存、I/O、网络、进程状态)。
历史数据分析
:存储数据到本地仓库(默认路径 $GRID_HOME/crf/db/),支持时间范围查询。
自动化诊断
:通过 diagcollection.pl 工具生成诊断报告,识别资源争用(如CPU、内存、网络心跳延迟)。
事件关联
:与Oracle Grid Infrastructure日志(如alert.log、crsd.log)结合,定位节点驱逐或实例崩溃的原因。
默认启用
2. CHM 部署与配置
:Oracle 11gR2 及更高版本中,CHM 随Grid Infrastructure自动安装。
代理进程
:每个节点运行 cssdmonitor 和 cssdagent 进程,负责数据收集。
数据存储
:数据保留7天(默认),可通过 oclumon 命令调整:
oclumon manage -repos checkretention # 查看保留策略
oclumon manage -repos updateretention 14 # 修改保留时间为14天
查看集群状态
3. 关键诊断命令
oclumon dumpnodeview -allnodes -v | grep -E "Node|State"
生成诊断报告
$GRID_HOME/bin/diagcollection.pl --collect --chmos
分析时间窗口数据
oclumon dumpnodeview -allnodes -last 30 # 过去30分钟的数据
二、测试案例:模拟集群问题并用CHM诊断
案例1:CPU资源争用导致性能下降
- 模拟场景
:在某一节点运行高CPU消耗脚本(如 stress -c 8)。
- CHM诊断步骤
oclumon dumpnodeview -allnodes -last 10 -metric "CPU_IDLE,CPU_SYS"
CPU_IDLE 接近0%,CPU_SYS 飙升至90%,确认CPU争用。
关联进程:通过top 或 ps -ef 查找占用CPU的进程(如stress)。
- 修复方案
:调整负载均衡或限制资源占用进程。
案例2:网络心跳延迟导致节点驱逐
- 模拟场景
:使用 tc 命令模拟网络延迟:
tc qdisc add dev eth0 root netem delay 500ms # 添加500ms网络延迟
- CHM诊断步骤
oclumon dumpnodeview -node <problem_node> -last 15 -metric "NETWORK_INTERFACE_MBPS,NETWORK_LATENCY"
发现NETWORK_LATENCY 超过阈值(默认200ms),触发节点驱逐。
结合alert.log 确认网络超时事件:
grep "EVMON" $GI_HOME/log/<node>/alert.log
- 修复方案
:修复网络配置或移除网络延迟模拟。
案例3:内存交换(Swap)引发性能问题
- 模拟场景
:通过 stress -m 1 --vm-bytes 16G 强制触发内存交换。
- CHM诊断步骤
oclumon dumpnodeview -allnodes -last 10 -metric "MEM_FREE,SWAP_USED"
发现
MEM_FREE 极低,SWAP_USED 持续增长。结合oswtop(OSWatcher)确认内存交换频率。
- 修复方案
:增加物理内存或优化应用内存配置。
三、CHM最佳实践
- 定期检查数据完整性
oclumon manage -get repsize # 确认存储空间充足
- 自动化报告生成
# 每天生成一次CHM报告
crontab -e
0 0 * * * $GRID_HOME/bin/diagcollection.pl --collect --chmos
- 结合其他工具
使用 OSWatcher 补充OS级监控。
使用 ADRCI 分析集群日志。
四、总结
CHM通过自动化收集OS级指标,显著缩短了诊断RAC集群问题的时间。对于瞬时故障(如网络闪断、资源瞬时争用),其历史数据回溯功能尤为关键。建议在问题复现时优先运行 diagcollection.pl 生成完整报告,并关联分析CHM指标与Grid Infrastructure日志。
编辑推荐:
- Oracle RAC集群健康监控技术分析03-03
- Oracle UNDO表空间的深入研究03-03
- 研究Oracle profile文件对sysdba用户的影响03-03
- 一次stream_pool不足导致的expdp失败的解决03-03
- 调整arraysize减少逻辑读的测试03-03
- 关于tnsping跟踪的研究及测试03-03
- 一次Undo表空间耗尽问题03-03
- 通过Oracle Label Security (OLS) 实现细粒度访问控制03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 一次Undo表空间耗尽问题
一次Undo表空间耗尽问题
26-03-03 - 19C统计信息引发的数据库慢问题
19C统计信息引发的数据库慢问题
26-03-03 - SQL优化之数据倾斜解决方案
SQL优化之数据倾斜解决方案
26-03-03 - 一次报表查询优化
一次报表查询优化
26-03-03 - 一次数据库CPU使用100%异常处理及分析报告
一次数据库CPU使用100%异常处理及分析报告
26-03-03 - 一次expdp备份hang住问题分析
一次expdp备份hang住问题分析
26-03-03 - 利用Deepseek 割韭菜的套路有哪些?
利用Deepseek 割韭菜的套路有哪些?
26-03-03 - 一次dg搭建坏块处理
一次dg搭建坏块处理
26-03-03 - Oracle误truncate操作恢复(二)
Oracle误truncate操作恢复(二)
26-03-03 - 一次参数设置导致数据库故障分析报告
一次参数设置导致数据库故障分析报告
26-03-03
