暂无图片
暂无图片
4
暂无图片
暂无图片
1
暂无图片

Oracle RAC 19C ora.crf 异常重启诊断

原创 bicewow 2022-06-06
5508

1. 说明

某客户生产部署Oracle RAC 19c集群,在部署之后,EM监控报ora.crf资源在此期间,异常重启数次,并且数次重启并没有任何规律。
----环境
系统版本:CentOS Linux release 7.6.1810
数据库版本:Oracle RAC 19.11.0.0.210420
----现象
ora.crf在无人为干预的情况下,异常重启,没有规律,最近一次发生的时间在2022-05-31 16:25左右。

2. 诊断过程

2.1 何为ora.crf资源

ora.crf 是 Cluster Health Monitor (CHM) 的资源,诊断 CHM 的问题通常更需要 ologgerd 和 sysmond 的log,与客户沟通,提供相关时间点的集群日志。
通过以下命令搜集相关日志。

su - root
export ORACLE_HOME= <your CRS home>
$ORACLE_HOME/tfa/bin/tfactl diagcollect -from "May/31/2022 14:00:00" -to "May/31/2022 18:00:00"
复制

2.2 分析alter.log日志

2022-04-22 18:33:15.614 [OSYSMOND(4714)]CRS-8500: Oracle Clusterware OSYSMOND process is starting with operating system process ID 4714
2022-05-31 16:25:15.621 [OSYSMOND(23503)]CRS-8500: Oracle Clusterware OSYSMOND process is starting with operating system process ID 23503
复制

最近OSYSMOND出现重启,而且最近一次时间为2022-05-31 16:25:15.621,与客户反馈时间吻合。

2.3 分析osysmond.trc日志

2022-05-31 16:25:15.013 : default:3588681472: scrfosm_fill_all_nic_info: NIC: ens2f0: not found in ioctl array
2022-05-31 16:25:15.013 : default:3588681472: scrfosm_fill_all_nic_info: NIC: virbr0-nic: not found in ioctl array
2022-05-31 16:25:15.096 : CRFMOND:3588681472: Restarting sysmond after user defined cpu time <<<<<<<<<<<<<<<<<<<<<<<

2022-05-31 16:25:15.302 : CRFMOND:3588681472: clsmond_shutdown: Received shutdown sysmond signal. Flushing both the previous and current buffers to local log, marking them as MUSTSEND.

Trace file /u01/app/grid/diag/crs/dc17glsdb2/crs/trace/osysmond.trc
Oracle Database 19c Clusterware Release 19.0.0.0.0 - Production
Version 19.13.0.0.0 Copyright 1996, 2021 Oracle. All rights reserved.
default:3197280000: 1: clskec:has:CLSU:910 4 args[clsdAdr_CLSK_err][mod=clsdadr.c][loc=(:CLSD00302:)][msg=2022-05-31 16:25:15.416 (:CLSD00302:) Trace file size and number of segments fetched from environment variable: ORA_DAEMON_TRACE_FILE_OPTIONS filesize=26214400,numsegments=10 Detected in function clsdAdrGetEnvVar_TFO at line number 6819. ]

CLSB:3197280000: [ INFO] Argument count (argc) for this daemon is 1
CLSB:3197280000: [ INFO] Argument 0 is: /u01/app/19.0.0/grid/bin/osysmond.bin
2022-05-31 16:25:15.623 : default:3197280000: clsmond_main: Successfully initilized enviornment variable
复制

注意到sysmond 在after user defined cpu time 之后发生了重启,何为user defined cpu time,再此并未找到相关解释(大概意思sysmond进程有一个内置的临界值,达到此值会重启),但不影响继续往下分析。

2.4 分析系统资源

在搜集的日志中包含osw相关信息,可供参考。

XXXXX_vmstat_22.05.31.1600.dat <<<<<<<<< 系统资源充裕

zzz ***Tue May 31 16:24:14 CST 2022
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
6 0 0 59304672 60900 59655628 0 0 2 4 0 0 1 0 99 0 0
0 0 0 59293268 60900 59655860 0 0 20 97 11760 20419 1 1 98 0 0
0 0 0 59295384 60900 59655768 0 0 6595 630 12028 24698 1 1 98 0 0
复制

由此可见并非系统资源问题导致重启。

XXXXX_ps_22.05.31.1600.dat <<<< 可观察到 osysmond 正好在进程 CPU Time 累计为 24 小时(TIME = 1-00:00:00)后重启。


zzz ***Tue May 31 16:24:14 CST 2022
USER PID PPID PRI %CPU %MEM VSZ RSS WCHAN S STARTED TIME COMMAND
root 4714 1 69 2.5 0.3 1921680 459068 hrtimer_nanosleep S Apr 22 23:59:58 /u01/app/19.0.0/grid/bin/osysmond.bin

zzz ***Tue May 31 16:24:44 CST 2022
USER PID PPID PRI %CPU %MEM VSZ RSS WCHAN S STARTED TIME COMMAND
root 4714 1 69 2.5 0.3 1921680 459068 hrtimer_nanosleep S Apr 22 23:59:59 /u01/app/19.0.0/grid/bin/osysmond.bin

zzz ***Tue May 31 16:25:14 CST 2022
USER PID PPID PRI %CPU %MEM VSZ RSS WCHAN S STARTED TIME COMMAND
root 4714 1 69 2.5 0.3 1921680 459068 hrtimer_nanosleep S Apr 22 1-00:00:00 /u01/app/19.0.0/grid/bin/osysmond.bin

zzz ***Tue May 31 16:25:44 CST 2022
USER PID PPID PRI %CPU %MEM VSZ RSS WCHAN S STARTED TIME COMMAND
root 23503 1 69 5.0 0.1 1659532 171640 hrtimer_nanosleep S 16:25:14 00:00:01 /u01/app/19.0.0/grid/bin/osysmond.bin <<<<< 重启
复制

根据osw的ps日志,可以清晰的看到, osysmond 正好在进程 CPU Time 累计为 24 小时(TIME = 1-00:00:00)后重启。

2.5 资料查证

根据以往经验,出现此类问题,如果不是系统资源本身出现问题,可以向BUG方向猜测,19C虽说比较稳定,但也要经过事实验证。
经过MOS查证,发现类似案例,证实为BUG导致

Bug 33132334 - OSYSMOND Goes Down With "restarting sysmond after user defined cpu time" Message ( Doc ID 33132334.8 )
复制

2.6 解决方案

可升级至19.14.0.0.220118,修复此BUG

2.7 附加建议

ora.crf 实际上是 Cluster Health Monitor (CHM) 资源,参考:

Cluster Health Monitor (CHM) FAQ ( Doc ID 1328466.1 )
复制

它是用来收集 OS 的一些资源状况信息的,对于已经部署了 OSWatcher 工具来收集 OS 资源信息,ora.crf 实际上并没有什么实际用处。如果短时间不能升级,忽略该问题即可,它不会影响集群运行。

最后修改时间:2022-06-06 20:55:31
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论

目录
  • 1. 说明
  • 2. 诊断过程
    • 2.1 何为ora.crf资源
    • 2.2 分析alter.log日志
    • 2.3 分析osysmond.trc日志
    • 2.4 分析系统资源
    • 2.5 资料查证
    • 2.6 解决方案
    • 2.7 附加建议