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
相关推荐
琢磨先生David4 小时前
人大金仓(KingbaseES)数据库简介
数据库
Project_Observer4 小时前
使用Zoho Projects AI自动项目管理
大数据·数据库·人工智能·深度学习·机器学习·深度优先
-To be number.wan4 小时前
关系数据库语言SQL基础
数据库
jonyleek4 小时前
性能就是生命线?规则引擎如何支撑实时决策
java·开发语言·数据库
ZFSS4 小时前
Midjourney Shorten API 的集成与使用
java·前端·数据库·人工智能·ai·midjourney·ai编程
思麟呀5 小时前
MySQL的事物管理
数据库·mysql
m0_617493945 小时前
PySide6 数据库操作深度实测:从 SQLite 连接到增删改查避坑指南
jvm·数据库·sqlite
OpsEye6 小时前
数据库连接池爆了,这3个命令能救你一次
运维·数据库·后端
csdn小瓯6 小时前
PostgreSQL迁移实战:从SQLite到生产级数据库的平滑演进
数据库·postgresql·sqlite