I need to check the average cpu utlization for some period of time for the oracle database. I am using EM and it shows the cpu utilization for the oracle host but at the instance level I can only check the metric CPU Usage (per second). How does it compare to cpu utilization? I need CPU Utilization (%) but at the instance level.
My database is 10.2.0.1
I do not believe that this is possible. If you look at the views v$metricname and v$statname,
select * from v$metricname where lower(metric_name) like '%cpu%';
select * from v$statname where lower(name) like '%cpu%';
you will see that is no data for CPU usade by the instance. Why do you want to know this? There may be some other way of achieving your objective.
I was asked on paper to answer questions about how my databases were utilized over some period of time. One of the questions is: "What was the average and max cpu usage per instance level for the period of three days?"
I have access to AWR reports. What metrics best answer this question?
its true , but i checked on google i found some application can do this , called "opmanager " which give you alarm for cpu utilization but not checking the average cpu utilization for some period of time for the oracle database
On enterprise Linux distros, sar (System Activity Reporter) is typically enabled by default and sar reports are periodically stored in +/var/log/sa+.
These reports includes CPU utilisation of the server. In case of a dedicated database server, most of that CPU utilisation recorded would be that of the Oracle instance. See sar -f for details.
take an AWR report for the period of interest, look at DB CPU in "foreground wait events", which will tell you how many CPU-seconds the database consumed during that period, and BUSY_TIME in the OS statistics section, which will tell you how many CPU seconds the host consumed. Express both numbers in % dividing them by (NUM_CPUS*total_elapsed_seconds), where NUM_CPUS can also be found in the OS statistics section, and the number of elapsed seconds you can either calculate yourself (it's just the difference between end time and start time of the report, expressed in seconds) or find in the report (I think it shows it somewhere in the header).