There are multiple reason for that .
1. Oracle allows maximum 16 CPU threads at any time.
2. With earlier versions of oracle and with enterprise edition, we can disable resource manager but not with oracle SE2. Our application sessions get stuck on resmgr:cpu quantum for long and it creates lot of perofrmance issues.
To mitigate performance issue related to resource manager, we keep resource manager disabled. But with Oracle SE2 , even if we set resource manager plan null and disable all default maintenance windows, still we can see same wait event.
This becomes even more critical when even single application query gets stuck on resource manager and when check in background , you will see CPU utilization on DB server is very less.
Ex:
Above is the cpu utilization on database sever and query was getting stuck for almost 50 minutes.
On further analysis found that even a single core(single thread) consumes ~100% CPU that thread with get caged by instance.
Ex:
On further drill down Identified that one of the core was utilizing 100% CPU.
So any thread which tries to consume 100% CPU will get caged by resource manager.
So to help overcome this issue , only option to run smaller queries those does not consume more CPU. Else you will be doomed.
Note: In another environment , where we were getting same issue and process was taking 4-5 hours to complete, after increasing CPU cores from 12 to 16 and enabling huge pages helped complete process in 40 minutes.
Useful links: https://blog.dbi-services.com/oracle-standard-edition-two/
Useful links: https://blog.dbi-services.com/oracle-standard-edition-two/
No comments:
Post a Comment