ORACLE RAC GI目录下crfclust.bdb文件过大问题处理

1、问题

朋友找到我问关于crfclust.bdb文件太大的问题,这个问题最近在技术群里也是经常发生!今天就来说说并处理一下这个问题。

2、这是个什么

这个文件和Cluster Health Monitor服务有关,简称CHM。

Cluster Health Monitor是Oracle grid里的一个组件,可持续监控并存储甲骨文集群件及操作系统的资源指标。

该功能默认启用,集群健康监控器具备以下能力:

  1. 协助进行节点驱逐问题分析
  2. 在本地记录所有进程数据
  3. 支持用户定义常驻锁定进程
  4. 监听集群同步服务与通用进程间通信事件
  5. 按类型对进程进行分类
  6. 支持路由追踪、网络状态查询、网络连通性测试等插件采集工具
  7. 支持导出 CSV 格式文件,便于数据分析

集群健康监控器可为甲骨文自治健康框架旗下其他组件提供数据源,例如甲骨文集群健康分析器、甲骨文数据库服务质量管理工具等。

以上是官网关于此服务的介绍,通过这里的描述,我们也清楚的知道了,它就是一个监控进程,crfclust.bdb 文件是Oracle Cluster Health Monitor (CHM) 中 CRF 服务用于存储数据的文件,默认只存储一定时间数据,正常情况不会增长过大,默认大小是1G。但是有在一些平台和版本中由于bug原因导致过大。

例如在11.2.0.4版本中,由于bug 10165314,ORA.CRF服务可能会生成很大的文件,这可能会对$GI_HOME的使用率造成压力。因此,在某些情况下可能需要删除这些文件或者禁止ORA.CRF随ohas启动而启动。

3、管理CHM

通过命令查看该服务器状态ora.crf

复制代码
[root@rac1 ~]# crsctl stat res -t -init
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
      1        ONLINE  ONLINE       rac1                 Started             
ora.cluster_interconnect.haip
      1        ONLINE  ONLINE       rac1                                     
ora.crf
      1        ONLINE  ONLINE       rac1                                     
ora.crsd
      1        ONLINE  ONLINE       rac1                                     
ora.cssd
      1        ONLINE  ONLINE       rac1                                     
ora.cssdmonitor
      1        ONLINE  ONLINE       rac1                                     
ora.ctssd
      1        ONLINE  ONLINE       rac1                 ACTIVE:0            
ora.diskmon
      1        OFFLINE OFFLINE                                                   
ora.evmd
      1        ONLINE  ONLINE       rac1                                     
ora.gipcd
      1        ONLINE  ONLINE       rac1                                     
ora.gpnpd
      1        ONLINE  ONLINE       rac1                                     
ora.mdnsd
      1        ONLINE  ONLINE       rac1                                     
[root@rac1 ~]# 

可通过如下命令查找到对应生成的文件位置

复制代码
[root@rac1 ~]# oclumon manage -get reppath
CHM Repository Path = /g01/app/11.2.0/grid/crf/db/rac1

收集相应的日志,但是读起来不是太友好,需要上工具。。

复制代码
oclumon dumpnodeview -allnodes -v -s "2026-05-19 08:30:00" -e "2026-05-19 09:00:00" > /tmp/chm.txt

我还是更喜欢用OSW工具,比较直观。

4、如何处理

对于这类大文件,可以通过如下命令在oracle的安装目录中搜索,我这的机器上就能找到这个文件比较大。

复制代码
[root@rac1 ~]# find /g01 -type f -size +1024M
/g01/app/11.2.0/grid/crf/db/rac1/crfclust.bdb
[root@rac1 ~]# ls -ltrh /g01/app/11.2.0/grid/crf/db/rac1/crfclust.bdb
-rw-r----- 1 root root 25G May 19 22:19 /g01/app/11.2.0/grid/crf/db/rac1/crfclust.bdb

处理的流程就是:两节点依次清理,清理完一节点,再清理二节点

采用停止ora.crf资源--->删除crfclust.bdb文件--->启动ora.crf资源(或者干关闭这个进程不让它启动)

1、停止服务,root用户执行

复制代码
crsctl stop res ora.crf -init

2、删除文件

复制代码
oclumon manage -get reppath 找到路径
find /g01 -type f -size +1024M  或者通过查大文件找到文件
执行删除rm crfclust.bdb

3、启动服务或永久禁用,root用户执行

复制代码
#关闭
crsctl stop res ora.crf -init
#启动
crsctl start res ora.crf -init
#禁用
crsctl modify resource ora.crf -attr "AUTO_START=never" -init
#启用
crsctl modify resource ora.crf -attr "AUTO_START=always" -init
相关推荐
oradh2 小时前
Oracle TX 锁 Mode 4(Share)问题排查总结
数据库·oracle·tx 锁 mode 4·oracle tx 锁
yi.Ist3 小时前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
2601_963282774 小时前
工程项目、政企采购为什么优先选择对讲机批量采购?
数据库
Doraemomo4 小时前
SQLite数据库
数据库·sqlite
云贝教育-郑老师5 小时前
MySQL 的“黑匣子“:Performance Schema 把数据库内部变成一张可查的表
数据库·mysql
这个DBA有点耶6 小时前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步
数据库·架构·dba
青春之我_XP6 小时前
MySQL 常用日期函数 实战指南
数据库·sql·mysql·数据分析·数据库开发·日期函数
Nturmoils6 小时前
sys_dump 备了库,角色和权限别漏在外面
数据库
接着奏乐接着舞。7 小时前
【2026】73道Redis 常见面试题与参考答案
数据库·redis·后端·缓存