一个AIX系统,内存16G,安装oracle数据库,刚刚应用上线,就发现了问题。
1.问题现象
客户端无法连接到数据库,listener运行正常,但是,在重新启动listener后报出如下错误:
TNS-12549: TNS:operating system resource quota exceeded
TNS-12560: TNS:protocol adapter error
TNS-00519: Operating system resource quota exceeded
IBM/AIX RISC System/6000 Error: 11: Resource temporarily unavailable
jianting无法启动,观察后台连接到数据库的session不是很多。
2.问题处理思路
既然提示资源超出额度,无外乎和压力和限制有关,系统是新部署的,设备性能OK,整体监控下来压力不大。
因此从另外一个角度来分析,既然是新做的系统,是否与某些与“限制”相关的参数没有调整有关?
既然是新部署的环境,索性静下心来研究一下需要修改的参数,渐渐的AIX的maxuproc参数浮出了水面。这个maxuproc参数可以解释为“max user processes”,用来限制每个用户最多可用的进程数(类似于Oracle的processes参数对session数的限制)。该参数默认值是128,这岂够用?!
3.解决故障
既然发现了问题,处理起来也就比较顺利了。
1)查看maxuproc参数当前值
# lsattr -E -l sys0| grep maxuproc
2)使用命令chdev将maxuproc参数调大到1024
# chdev -l sys0 -a maxuproc=1024
参数可动态修改,即改即生效。
搞定,故障已消除,收工。
chdev命令使用方法参考连接
http://www.kuqin.com/aixcmds/aixcmds1/chdev.htm
4.小结
好在问题发现的早,如果上线后才发现这个问题,代价将是惨重的。
计划和规划很重要,此类问题需要积累并时刻牢记之。
本文转自南非蚂蚁51CTO博客,原文链接: http://blog.51cto.com/ixdba/526455,如需转载请自行联系原作者