Troubleshooting Oracle RAC node crash frequently on OEL 6.9 (Kernel panic)
有个客户的多套RAC节点总是频繁的重启, 故障并没有时间规律,环境Oracle RAC 11G r2 ON OEL 6.9 , 当然首先建议要排除一些硬件共性的配置,如是否电源电压不稳?机器所在区域空调是否差? 是否同一个宿主机上的VM? 硬件是否有报错? 一线同学说都排查过也做了些调整并未解决。 下面分享一些处理建议。
提供综合数据库运维服务与优化方案(不限Oracle MySQL PG GaussDB GoldenDB OceanBase等), 微信/Tel:(+86)134-365-60330
操作系统方面知识
有个客户的多套RAC节点总是频繁的重启, 故障并没有时间规律,环境Oracle RAC 11G r2 ON OEL 6.9 , 当然首先建议要排除一些硬件共性的配置,如是否电源电压不稳?机器所在区域空调是否差? 是否同一个宿主机上的VM? 硬件是否有报错? 一线同学说都排查过也做了些调整并未解决。 下面分享一些处理建议。
Trace File Analyzer(TFA) 是oracle用于分析和收集日志的程序,可以安装在独立或集群节点的数据库节点上。从Oracle12.2开始,这个工具包含在 RDBMS 软件中,当我们运行 root.sh 脚本时,这也是可选的,如果不需要,我们仍然可以跳过它,从19c开始Oracle将ORAchk,EXAchk,TFA等多个诊断工具合并入Autonomous Health Framework(AHF),作为一个独立的安装软件,也被集成到了RAC安装介质中,AHF可以使用root或者非root用户安装,但是用root可以收集更全的日志
A core dump is an image copy of a processes state at the instant it ‘aborted’. It is produced in the form of a file called ‘core’ usually located in the current directory.
OSW工具不用多说oracle数据库环境建议采集OS系统数据的脚本集, 采集的数据可以拿到其它机器,如WINDOWS上分析输出图形, 在ORACLE 12c后 AHF自动健康框架中已自带, 同时还有oracheck等,当troubleshooting时使用tfactl 可以一并收集相对全面的日志数据,几年前记录过2篇OSW,不做过多介绍,这里简单记录一下在Windows上使用oswbba.jar分析时的一些小问题。
一套oracle single instance on AIX环境,数据库未启动,客户硬件只是扩容了内存OS重启后,sqlplus启库无法登录,sqlplus / as sysdba命令挂起。
1, rename sqlnet.ora
2, 检查了/etc/hosts
3, 尝试了listener可以启动
最近同事遇到一个案例,Oracle数据库频繁重启,数据库日志也是各种后台进程IO hang, 环境VMWARE,RHEL6, multipath, 华为存储。iostat显示问题时间段共享存储设备io 为0,%util 100%. RHEL官方有过相同案例,这里简单的记录。
Oracle 希望在数据库主机CPU使用率枯竭时,尽可能让核心的几个后台进程可以最大优先级获取CPU, 当然CPU过高会导致I/O 响应时间变长和网络延迟增加,也会间接影响数据的整体性能, 使用ps -c在查看LMS时发现没有在RT模式引起了注意,在19c中 LMS还是有一些变化,下面简单的记录
The received warning means the kdump operation might fail and the crashdump parameter should be configured correctly. This is the procedure of kdumping:
The normal kernel is booted with crashkernel=… as a kernel option, reserving some memory for the kdump kernel. The memory reserved by the crashkernel parameter is not available to the normal kernel during regular operation. It is reserved for later use by the kdump kernel.
The system panics.
最近查询时发现一套Linux(Suse Linux 12)平台上的Oracle主机CPU使用率偏高,该数据库并不繁忙,从top中发现大量的systemd-udevd 进程,是CPU的主要花费进程, 该现象并不局限于Suse,RHEL和OEL同样可能存在这些现象, 通常是当udev加载时,即使系统当前并无任何磁盘存储的调整,也会存在该现象。
最近遇到一个案例AIX 7.2 挂转NFS v3(源为Suse 11), RMAN restore 控制文件到NFS上 hang, 检查了AIX端mount选项和权限一切正常,在oracle用户下同样可以cp 和vi 文件,最终发现是因为rpcbind服务未启动导致,简单记录。
On SuES 12 sp4, a shell call sed with ‘-i’ flag to modify the file execution and report an errort, This shell worked well on the previous server, The linux user (tried also with root) can create, read and update any files in the NFS mounted folder. But the temporary file created by sed doesn’t work.
前段时间整理过关于control file的一个等待《Troubleshooting performance event ‘enq: CF – contention’》, 这里再记录关于control file的另一个event( 这里没用等待), 此event只是通知类event,和db file sequential read类似为数据库的I/O类操作,但wait class并非USER I/O,而是SYSTEM I/O. 问题时段control file sequential read占到了AWR top 1 event, 占用约90%的DB TIME.
操作系统资源限制有时会导致上面的应用程序无法fock新进程或open 文件,导致连接创建失败或实例crash, 尤其当数据库的进程数搞的很大时,开始的OS kernel resource limit没有级联的修改,就有可能导致该问题的发生。
昨天看到oracle binary file 显示oracle执行文件名后带星号如oracle*,可能比较困惑,这样的文件名实例还是可用的, 实际这只是ls的显示问题,*并不是文件名的一部分。
最近遇到几次故障升级oracle 12c后,相同的硬件有几次instance crash同时伴有LGWR 核心进程N seconds not move现象,OSW中vmstat ‘B’列会伴有突然大量的blocked(通常是I/O)问题,mpstat/iostat 显示$ORACLE_BASE所在本地文件系统出现90-100% busy现象, ps 显示LGWR和一些FG进程同时在等待相同事OS Kernel function address。
在Oracle方面,可以停止和启动自治数据库。我们可以说不使用数据库时不付款,但是不使用应用程序时不能说不付款。因为即使不使用应用程序,数据库也已启动。 oracle推出 Serverless Standby Database 叫做Oracle Autonomous Data Guard,我们认为它可能被标记为“无服务器”,因为您看不到备用服务器:您没有选择形状,也没有连接到它。切换完全透明自动化,但是价格上需要购买与主服务器相同的价格购买空闲的CPU和备用存储。
VI 在Unix、Linux系统是使用最常用的命令,DBA 经常在服务器上查看DB ALERT LOG等日志文件时,经常会遇到” ex: 0602-101 Out of memory saving lines for undo.” 报错,有时不得以用tail +more,甚至可以用awk +sed直接过滤, 这里记录一下解决VI 打开报错的问题,即使百MB的文件。
Infiniband(IB) 是一个用网络通信标准,满足科学计算实验的要求, 致力于服务器端的高性能计算的互联技术,适合用于RAC的CACHE FUSION和ORACLE Exadata等工程系统一体机,分布式存储系统. 使用ifconfig 查看ip信息,如果服务器上有IB时会提示如下错误”Infiniband hardware address can be incorrect”
总会有一些创新型的客户走在技术的最前端,但有些问题无参考这是最担忧的问题,最近就一个非常新的环境ORACLE 19C 2-nodes RAC on IBM LinuxONE大机,同一大机部分节点上oracle实例频繁重启,重启前OS日志中有输出“avahi-daemon[4537]: Withdrawing address record for 28.83.70.4 on bond0.3112”…
巡检一套AIX lvm的主机上的oracle环境时,发现ASM disk的PV存在PVID, 根据ORACLE的最佳实践,这很可能会导致后期ASM DISK header corrupted ,而出现ASM disk无法识别,造成数据灾难, 这里记录一下如果有PVID和ASM DISK混淆时的风险和修复方案。