今天在检查oracle rac集群时,突然才发现服务器的根目录下面占用了很多空间,照道理不应该出现这种情况,初步猜想可能是哪个日志或跟踪文件太大导致。
切换到跟目录,使用du -sh *来一层一层查看到底是哪个文件占用了这么多空间,最后定位到目录/u01/app/11.2.0/grid/crf/db/<hostname>
使用ls -lSrh对文件进行排序,发现“罪魁祸首”是crfclust.bdb

[root@sz-db02 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 193G 7.1G 176G 4% /
tmpfs 100G 24G 77G 24% /dev/shm
/dev/sda1 190M 81M 96M 46% /boot
/dev/sda7 261G 2.9G 245G 2% /home
/dev/sda6 3.9G 11M 3.6G 1% /tmp
/dev/sda3 77G 70G 3.5G 96% /u01
[root@sz-db02 sz-db02]# pwd
/u01/app/11.2.0/grid/crf/db/sz-db02
[root@sz-db02 sz-db02]# ls -l /u01/app/11.2.0/grid/bin/crsctl
-rwxr-xr-x 1 root oinstall 8579 Jun 14 2018 /u01/app/11.2.0/grid/bin/crsctl
这几个文件是oracle系统服务Cluster Health Monitor(CHM)生成的,主要记录节点的cpu、内存等相关信息,该类文件会慢慢长大,而我这个生产库已经跑了4年了,都已经长到了快80G。解决办法就是删掉它。
[root@sz-db02 sz-db02]# ls -ltrh
total 57G
-rw-r----- 1 root root 8.0K Jul 20 2018 repdhosts.bdb
-rw-r----- 1 root root 24K Dec 29 2018 __db.001
-rw-r--r-- 1 root root 115M Dec 29 2018 sz-db02.ldb
-rw-r----- 1 root root 8.0K Aug 5 13:33 crfconn.bdb
-rw-r----- 1 root root 16M Oct 12 16:47 log.0000007865
-rw-r----- 1 root root 1.3G Oct 12 17:33 crfloclts.bdb
-rw-r----- 1 root root 1.1G Oct 12 17:33 crfcpu.bdb
-rw-r----- 1 root root 1.1G Oct 12 17:33 crfalert.bdb
-rw-r----- 1 root root 850M Oct 12 17:33 crfts.bdb
-rw-r----- 1 root root 998M Oct 12 17:33 crfhosts.bdb
-rw-r----- 1 root root 52G Oct 12 17:33 crfclust.bdb
-rw-r----- 1 root root 16M Oct 12 17:33 log.0000007866
-rw-r----- 1 root root 392K Oct 12 17:33 __db.002
-rw-r----- 1 root root 56K Oct 12 17:33 __db.006
-rw-r----- 1 root root 1.2M Oct 12 17:33 __db.005
-rw-r----- 1 root root 2.1M Oct 12 17:33 __db.004
-rw-r----- 1 root root 2.6M Oct 12 17:33 __db.003
[root@sz-db02 sz-db02]# du -sh *
1.1G crfalert.bdb
52G crfclust.bdb
8.0K crfconn.bdb
1.1G crfcpu.bdb
998M crfhosts.bdb
1.3G crfloclts.bdb
850M crfts.bdb
12K __db.001
392K __db.002
2.6M __db.003
484K __db.004
904K __db.005
12K __db.006
16M log.0000007865
15M log.0000007866
8.0K repdhosts.bdb
115M sz-db02.ldb
解决手段
1.检查ora.crf服务
[root@sz-db02 sz-db02]# /u01/app/11.2.0/grid/bin/crsctl stat res ora.crf -init -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.crf
1 ONLINE ONLINE sz-db02
2.停掉ora.crf服务
[root@sz-db02 sz-db02]# /u01/app/11.2.0/grid/bin/crsctl stop res ora.crf -init
CRS-2673: Attempting to stop 'ora.crf' on 'sz-db02'
CRS-2677: Stop of 'ora.crf' on 'sz-db02' succeeded
[root@sz-db02 sz-db02]#
[root@sz-db02 sz-db02]# /u01/app/11.2.0/grid/bin/crsctl stat res ora.crf -init -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.crf
1 OFFLINE OFFLINE
[root@sz-db02 sz-db02]# ls -ltrh
total 57G
-rw-r----- 1 root root 8.0K Jul 20 2018 repdhosts.bdb
-rw-r----- 1 root root 24K Dec 29 2018 __db.001
-rw-r--r-- 1 root root 115M Dec 29 2018 sz-db02.ldb
-rw-r----- 1 root root 8.0K Aug 5 13:33 crfconn.bdb
-rw-r----- 1 root root 16M Oct 12 16:47 log.0000007865
-rw-r----- 1 root root 56K Oct 12 17:33 __db.006
-rw-r----- 1 root root 850M Oct 12 17:34 crfts.bdb
-rw-r----- 1 root root 1.3G Oct 12 17:34 crfloclts.bdb
-rw-r----- 1 root root 1.1G Oct 12 17:34 crfcpu.bdb
-rw-r----- 1 root root 1.1G Oct 12 17:34 crfalert.bdb
-rw-r----- 1 root root 998M Oct 12 17:34 crfhosts.bdb
-rw-r----- 1 root root 52G Oct 12 17:34 crfclust.bdb
-rw-r----- 1 root root 16M Oct 12 17:34 log.0000007866
-rw-r----- 1 root root 1.2M Oct 12 17:34 __db.005
-rw-r----- 1 root root 2.1M Oct 12 17:34 __db.004
-rw-r----- 1 root root 2.6M Oct 12 17:34 __db.003
-rw-r----- 1 root root 392K Oct 12 17:34 __db.002
3.删掉这些文件
[root@sz-db02 sz-db02]# rm crfclust.bdb
rm: remove regular file `crfclust.bdb'? yes
[root@sz-db02 sz-db02]# du -sh
5.3G .
4.启动ora.crf服务
[root@sz-db02 sz-db02]# /u01/app/11.2.0/grid/bin/crsctl start res ora.crf -init
CRS-2672: Attempting to start 'ora.crf' on 'sz-db02'
CRS-2676: Start of 'ora.crf' on 'sz-db02' succeeded
重新查看这些文件,会发现文件已经初始化了
[root@sz-db02 sz-db02]# ls -ltrh *.bdb
-rw-r----- 1 root root 8.0K Oct 12 17:35 crfconn.bdb
-rw-r----- 1 root root 128K Oct 12 17:35 crfclust.bdb
-rw-r----- 1 root root 8.0K Oct 12 17:35 crfhosts.bdb
-rw-r----- 1 root root 8.0K Oct 12 17:35 crfts.bdb
-rw-r----- 1 root root 8.0K Oct 12 17:35 crfalert.bdb
-rw-r----- 1 root root 8.0K Oct 12 17:35 crfcpu.bdb
-rw-r----- 1 root root 8.0K Oct 12 17:35 crfloclts.bdb
[root@sz-db02 sz-db02]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 193G 7.1G 176G 4% /
tmpfs 100G 24G 77G 24% /dev/shm
/dev/sda1 190M 81M 96M 46% /boot
/dev/sda7 261G 2.9G 245G 2% /home
/dev/sda6 3.9G 11M 3.6G 1% /tmp
/dev/sda3 77G 13G 60G 18% /u01
[root@sz-db02 sz-db02]#
[root@sz-db02 sz-db02]# pwd
/u01/app/11.2.0/grid/crf/db/sz-db02
注意集群的每个节点都做一遍

一些不严格测试
我通过zabbix监控数据库io的时候也发现,即使数据库没有任何操作,服务器对根目录的io稳定在150kb/s的写,刚开始没想通为什么会出现这种情况,通过上面的排查,才知道集群某些服务(例如chm)会持续写日志,所以才会有持续的io写。
crfclust.bdb在10min内从4m到40m,速度也长的蛮快的,所以应该定期清理。
-rw-r----- 1 root root 4.2M May 22 11:33 crfclust.bdb
-rw-r----- 1 root root 41M May 22 11:42 crfclust.bdb

通过iostat -dxk 20 2测试关掉chm服务前后的磁盘io,这里舍弃第一次的展示结果,因为第一次出现的结果是系统启动以来的平均值,没有参考价值
关闭chm服务
开启chm服务
可以看到开启chm服务,会占用100多kb/s的磁盘io,这也就解释了数据库服务器没有任何操作情况下,仍然有io的原因。目前不清楚关掉这个chm服务是否对数据库有影响,谨慎起见还是让它打开,仅在清理这些文件时临时关闭即可。
转自 https://blog.csdn.net/weixin_34209851/article/details/93950106

Oracle - crfclust.bdb文件太大的更多相关文章

  1. ORACLE 监听日志文件太大停止写监听日志引起数据库连接不上问题

    生产库监听日志文件太大(达到4G多),发现oracle停止写监听日志,检查参数log_file,log_directory,log_status 均正常,数据库运行也正常. 经确认确实为监听日志过大引 ...

  2. 手工删除crfclust.bdb文件

    环境:RHEL 6.5 + Oracle 11.2.0.4 RAC 现象:巡检发现自己的测试环境节点2的空间使用率过高,进一步查询,发现大文件是GI目录下crfclust.bdb文件. crfclus ...

  3. 生成的API分析文件太大。我们无法在交付前验证您的API使用信息。这只是通知信息。

    这次使用了APICloud平台来开发移动APP, 发布的时候在api控制台云编译成ipa后,这次使用apple提供的Application Loader工具提交apa文件到iTunes上去,提交结束的 ...

  4. Sqlserver2005日志文件太大,使其减小的方法

    Sqlserver2005日志文件太大,使其减小的方法: 运行下面的三行 dbName为数据库名: backup log dbNamewith NO_LOG backup log dbNamewith ...

  5. apache日志文件太大的问题

    apache日志文件太大的问题 处理Apache日志的两种方法 rotatelogs 是 Apache 2.2 中自带的管道日志程序 rotatelogs [ -l ] logfile [ rotat ...

  6. Oracle 监听器日志文件过大导致监听异常

    Oracle 监听器日志文件过大导致监听异常 db版本:11.2.0.1 os版本:windows2008 现象: 应用异常,无法连接数据库.登陆数据库服务器,查看监听已经断掉.尝试重启监听,重启失败 ...

  7. Mysql文件太大导入失败解决办法总结

    Mysql文件太大导入失败解决办法总结 在使用phpmyadmin导入数据库的时候可能会碰到由于数据库文件太大而无法导入的问题! 英文提示如下:File exceeds the maximum all ...

  8. jvm内存快照dump文件太大,怎么分析

    1.场景 通常,使用eclipse的mat图形化工具打开dump的时候都会内存溢出. 对于比较小的dump,eclipse可以打开,但一旦dump文件太大,eclipse就有点束手无策. 这时候怎么办 ...

  9. [转]MySql ibdata1文件太大如何缩小

    From : http://blog.chinaunix.net/uid-24373487-id-4223322.html 原文地址:MySql ibdata1文件太大如何缩小 作者:emailwht ...

随机推荐

  1. 最小生成树唯一性判断-UESTC1959天才钱vs学霸周

    天才钱vs学霸周 Time Limit: 1000 MS     Memory Limit: 256 MB Submit Status 有一天,天才钱和学霸周闲的无聊玩起了游戏,游戏内容是这样的,现在 ...

  2. numpy的基本API(一)——创建

    numpy的基本创建API iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 1.np.empty([a, b]) empty方法可以在无需初始化的情况下创建认 ...

  3. Linux基础 - Crontab定时任务

    目录 设置Cron任务 创建任务 设置运行周期 配置命令 常见问题 如何列出所有的Cron任务 如何查看Cron任务运行log 如何配置带有虚拟venv的Python脚本 如何在Cron 任务中发送邮 ...

  4. sql service 从创建访问用户到数据库访问 【SQL】

    create login [LoginMame] with password=[Pwd]--创建数据库登陆用户 create user [DBLoginName] for login [LoginMa ...

  5. FPGA_VIP_V101 摄像头视频采集 调试总结之SDRAM引起的水平条纹噪声问题

    FPGA_VIP_V101 摄像头视频采集 调试总结之SDRAM引起的水平条纹噪声问题 此问题困扰我很近,终于在最近的项目调整中总结了规律并解决了. 因为之前对sdram并不熟悉,用得也不是太多,于是 ...

  6. Python3 面向对象进阶1

    目录 组合 概念 目的 实现方式 封装 概念 目的 实现方式 访问限制 概念 目的 实现方式 property 概念 目的 实现方式 多态 概念 目的 抽象类 概念 目的 实现方法 鸭子类型 组合 概 ...

  7. 《JavaScript 模式》知识点小抄本(上)

    介绍 最近开始给自己每周订个学习任务,学习结果反馈为一篇文章的输出,做好学习记录. 这一周(02.25-03.03)我定的目标是<JavaScript 模式>的第七章学习一遍,学习结果的反 ...

  8. 【CV现状-2】三维感知

    #磨染的初心--计算机视觉的现状 [这一系列文章是关于计算机视觉的反思,希望能引起一些人的共鸣.可以随意传播,随意喷.所涉及的内容过多,将按如下内容划分章节.已经完成的会逐渐加上链接.] 缘起 三维感 ...

  9. 高性能mysql——高性能索引策略

    <高性能MySQL>读书笔记 一. 索引的优点 1. 索引可以让服务器快速定位到表的指定位置,大大减少了服务器需要扫描的数量: 2. 最常见的B-Tree索引按照顺序存储数据,可以用来做o ...

  10. 爬虫(七):BeatifulSoup模块

    1. Beautiful Soup介绍 Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库.能将即将要进行解析的源码加载到bs对象,调用bs对象中相关的方法或属性进 ...