I noticed on one of the 11g databases (recently patched to 11.2.0.4) that it had constant CPU usage that was not there before. One session was constantly in CPU wait. It happened to be the E000 process which is a slave process of event monitor (EMON). As this is the one of the system processes first thing was to search Oracle support and it immediately turned up with information of an unpublished bug (Document IDÂ 1603844.1). Document supplies two workarounds. First one advises to kill the E000 process and let EMON to re-spawn it if needed. This however did not have any effect as the respawned process immediately started consuming CPU again.
The other workaround, that requires the database to be patched to 11.2.0.4 which this one was, was to set hidden parameter _client_enable_auto_unregister to true and restart the instance. This does fix the issue, but i haven’t found any relevant info about the parameter. Since this is a hidden parameter i suggest contacting MOS and confirming it is safe to change it before actually doing it. If anyone has more info about this parameter, please post it in comments.
_client_enable_auto_unregister : enable automatic unregister after a send fails with timeout
Details on EMON slave processes: The database event management and notification load is distributed among the EMON slave processes. These processes work on the system notifications in parallel, offering a capability to process a larger volume of notifications, a faster response time, and a lower shared memory use for staging notifications.
And on EMNC process: EMNC coordinates event management and notification activity in the database, including Streams Event Notifications, Continuous Query Notifications, and Fast Application Notifications.