建议使用Chrome浏览器访问!
技术支持
互动社区
学习培训
深信服官网
合作伙伴

超融合HCI

关注
深信服超融合SANGFOR HCI是面向下一代数据中心的软件定义基础架构,通过虚拟化技术融合计算、存储、网络和安全等资源,并提供运维管理、容灾备份、智能监控等高级特性,帮助用户构建极简、稳定、高性能的云化数据中心基石。
故障案例库
典型场景排查思路

【aCloud】ORACLE RAC数据库ASM实例processes参数设置太小导致业务高峰期RAC实例重启

更新时间:2018-11-30
  • 阅读权限:游客
  • 下载
  • 分享
  • 收藏
所属模块 场景部署 | 数据库部署
适用版本 通用
有一天的下午6:30左右,用户反馈他们的一套RAC数据库的一个节点重启了,导致这个时间段业务压力全部压在另外一个节点上,导致另外一个节点HANG住,业务无法访问。
通过远程连接客户数据库服务器,进入日志目录/u01/app/oracle/diag/rdbms/racdb/racdb1/trace/,查看了重启的这个节点的数据库的告警日志文件alert_racdb1.log,发现后台出现了“WARNING: ASM communication error: op 18 state 0x40 (20),ERROR: slave communication error with ASM,NOTE: Deferred communication with ASM instance,ORA-00020: maximum number of processes (100) exceeded"这个错误。通过这个错误ORA-00020,确定是oracle asm实例的processes值设置的不够导致。
第一步:查看了告警日志,确定为是asm 实例的processes参数设置得太小。
第二步:连接上ASM实例 sqlplus / as sysasm,查看processes 参数,显示其值只有100。
show parameter processes;
第三步:查询是哪些进程在使用,经查询是OGG在大量占用进程,原来这个节点部署了OGG。
select program,count(*) from v$session group by program;
第四步:调整process参数,进入asm实例(记得一定是asm实例,不是数据库实例)修改asm的processes参数。
sqlplus / as sysasm

alter system set processes=500 scope=spfile sid='*';
第五步:由于processes这个参数是个静态参数需要重启实例才可以生效,所以重启了这个节点实例,测试正常。

这是因为asm实例参数设置时,许多人忽略了这个参数的设置,只关注数据库级别的参数而没有关注ASM实例的参数,
同时OGG使用时占用的刚好是这个asm实例的进程,业务高峰时,这个参数值就不够用。
调整process参数,进入asm实例(记得一定是asm实例,不是数据库实例)修改asm的processes参数,这个参数的设置值需要依据生产的实际情况进行设置,一般情况设置为500就够了, 重启故障实例。
sqlplus / as sysasm

alter system set processes=500 scope=spfile sid='*';
这个问题是数据库前期规划时没有规划好,当部署OGG时又没有确认它占用的进程数,建议数据库部署时规划好后期的应用场景,提前做好预判。
本页目录
  • 问题描述
  • 告警信息
  • 处理过程
  • 根因
  • 解决方案
  • 建议与总结
您当前处于未登录状态,资料搜索或查找可能会不全面,请登录后以查找更全面的内容注册登录