Oracle crash on VMware , OS watchdog show “io_schedule” “__blockdev_direct_IO_newtrunc”
最近同事遇到一个案例,Oracle数据库频繁重启,数据库日志也是各种后台进程IO hang, 环境VMWARE,RHEL6, multipath, 华为存储。iostat显示问题时间段共享存储设备io 为0,%util 100%. RHEL官方有过相同案例,这里简单的记录。
提供综合数据库运维服务与优化方案(不限Oracle、MySQL、PG及国产数据库), 微信/Tel:(+86)134-365-60330
操作系统方面知识
最近同事遇到一个案例,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混淆时的风险和修复方案。
一套Oracle RAC环境经常的重启,日志中出现IPC time out 、LMSn has not moved for NN sec, 检查网络状态存在reassembly failures和RX-ERR和TX-ERR. 重组包的内核参数已经增加过,未解决问题,调整ring buffer后情况有所改善。
在 Linux 内核处理 TCP 网络数据的操作中发现了三个相关的安全漏洞。 其最严重的安全漏洞会被远程攻击者利用在运行受影响软件的系统上触发一个内核崩溃,从而影响到系统的可用性。对于安装现在运行oracle 数据库的环境,anbob建议禁用tcp_sack的方式解决SACK问题高危。
Udev is the mechanism used to create and name /dev device nodes corresponding to the devices that are present in the system. Udev uses matching information provided by sysfs with rules provided by the user to dynamically add the required device nodes.
The following error message is displayed in the database host operating system log of a customer today.
kernel: EXT4-fs warning (device dm-0): ext4_dx_add_entry: Directory index full!
A few days ago, I encountered a case, a 11.2.0.4 three-node Oracle RAC database on RHEL 6.6 , when trying to login to the database instance using sqlplus “/ as sysdba” on the third node, It’s very slow, and vmstat show that there is a very large swap in and out, but there is still a lot of memory free space