一個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.小結
好在問題發現的早,如果上線後才發現這個問題,代價將是慘重的。
計劃和規劃很重要,此類問題需要積累並時刻牢記之。
出處:http://ixdba.blog.51cto.com/2895551/526455