今天用pl/sql连数据库很慢,执行SQL也很慢,使用的数据库是10.2.0.1.0 。
1. 登陆到数据库服务器上,使用top命令,看到有一个进程perl占用CPU为100%,是属于oracle用户的。
2. 直接kill -9,可惜的是过了几秒钟此进程有启动了,又占用了100%的CPU。
3. 关闭emctl stop dbconsole,然后再kill -9 perl进程,数据库服务器资源利用率恢复正常。
在网上查了下,问题是oem的故障导致,oracle给的问题的描述与解决方法为:
- Server Has 100% Of Cpu Because Of Dbresp.pl [ID 764140.1]
- ________________________________________
- Modified:07-Feb-2012 Type:PROBLEM Status:MODERATED Priority:3
- Comments (0)
- To Bottom
- In this Document
- Symptoms
- Cause
- Solution
- References
- ________________________________________
- This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.
- Applies to:
- Enterprise Manager Base Platform - Version: 10.2.0.1 and later [Release: 10.2 and later ]
- Information in this document applies to any platform.
- ***Checked for relevance on 07-Feb-2012***
- Symptoms
- Server has 100% of CPU because of dbresp.pl . There are more than 50 process from this script
- emagent.trc shows:
- 2009-01-21 10:19:50 Thread-4099931040 WARN engine: Missing Properties : [limitSwitch]
- 2009-01-21 10:19:50 Thread-4099931040 ERROR engine: [oracle_database,orcl, alertLog] : nmeegd_GetMetricData failed : Missing Properties : [limitSwitch]
- 2009-01-22 06:54:33 Thread-4105165728 ERROR fetchlets.oslinetok: Metric execution timed out in 600 seconds
- 2009-01-22 06:54:33 Thread-4105165728 ERROR command: failed to kill process 4793 running perl: (errno=3: No such process)
- 2009-01-22 06:54:33 Thread-4105165728 ERROR engine: [oracle_database,orlc, Response] : nmeegd_GetMetricData failed : Metric execution timed out in 600 seconds
- Cause
- The Response metric is making a timed out then the Agent starts other process to take the Response metric. The process to kill the PID taking the Response metric is failing increasing the process running dbresp.pl
- Before the Response metric starts to do the timed out there is other error:
- 2009-01-21 10:19:50 Thread-4099931040 WARN engine: Missing Properties : [limitSwitch]
- 2009-01-21 10:19:50 Thread-4099931040 ERROR engine: [oracle_database,orcl,alertLog] :
- nmeegd_GetMetricData failed : Missing Properties : [limitSwitch]
- Solution
- 1. Stop DBConsole
- emctl stop dbconsole
- 2. Kill any running process.
- ps -ef | grep /opt/app/oracle/<hostname>_<sid>
- Kill any returned process.
- 3. Follow fix
- Note.361612.1 Ext/Mod Problem Performance Agent High CPU Consumption Gen
- 4. Start DB Console
- emctl start dbconsole