ocssd.bin引起的SWAP空间不足问题

问题症状:swap使用爆炸式增长 从 2G->8G-20G,最后SWAP耗尽 数据库DOWN机

分析:

1: vmstat 查看内存 物理内存有剩余 CPU 磁盘正常

2: 在SWAP到达8G的时候,数据库几乎没有大负荷性能SQL 数据库运行良好

3:每次SWAP耗尽后 重启过2次服务器 每次都是运行几小时就出现同样问题

问题最后解决:

prstat -as size 发现 SIZE列进程ocssd.bin占用了39G

496 oracle 39G 15M sleep 59 0 0:00.00 0.0% ocssd.bin/11

ocssd.bin 进程介绍:
Oracle 集群同步服务 (OCSSD) 是 Oracle 集群就绪服务 (CRS) 的一个组件,用于 RAC 和使用 ASM 的单个实例数据库。它在默认情况下安装,使用很少的系统资源,并在 /etc/inittab 中进行配置。这些进程在系统每次启动时自动启动。Oracle 建议不要禁用 OCSSD,即使您未运行 ASM。


该数据库 未使用 ASM和 群集特性 ,查看/etc/inittab 该进程是 默认启动的,对比其他非 ASM和 群集 的数据库/etc/inittab都不存在该进程的启动信息 。
建议:杀掉该进程 并在/etc/inittab中注释启动行 如果SWAP不能释放则重启服务器

本案例中, 杀掉进程,并在/etc/inittab中注释启动行(SWAP成功释放 但进程马上又自己起来) 。由于该数据库是从低级版本升级的 可能存在BUG ocssd.bin异常无法确认。

详细操作记录;

root@infodb # more killocssd.sh
#Step 1: Disable start item in /etc/inittab
##h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1

#Step 2: Disable start script under /etc/rc3.d
mv /etc/rc3.d/S96init.cssd /etc/rc3.d/s96init.cssd

#Step 3: Disable start script under /etc/init.d
mv /etc/init.d/init.cssd /etc/init.d/init.cssd.20091228

#Step 4: Kill current occsd process
ps -ef | grep "ocssd" |awk '{print $2}' |xargs kill -9

#Step 5: Rename the execute file
mv /export/home/oracle/product/10.1.0/db_1/bin/ocssd.bin /export/home/oracle/product/10.1.0/db_1/bin/ocssd.bin.20091228
root@infodb # ps -ef | grep ocssd
root 5028 560 0 11:08:35 pts/4 0:00 grep ocssd

[@more@]o

请使用浏览器的分享功能分享到微信等