问题症状: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
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9225895/viewspace-1029944/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9225895/viewspace-1029944/