It is easier to create one or two AWR reports quickly using OEM. But, what if you have to create AWR reports for many snapshots? For example, your Oracle support analyst wants you to supply 10 1-hour AWR reports from 10AM to 8PM in a 8 node cluster? That’s about 80 AWR reports to create! Okay, okay, I may(!) be overselling it, but you get the point. It is useful to have a script to create AWR report for all instances for a given range of snapshot IDs. Following scripts are handy:
|1. To create one AWR report per instance, for the last snap duration :||awrrpt_all_gen.sql|
|2. Same as (1) but in html format :||awrrpt_all_genhtml.sql|
|3. To create one AWR report per instance, for a range of snap IDs :||awrrpt_all_range_gen.sql|
|4. To create one AWR report, per instance, per snap ID :||awrrpt_all_multi_gen.sql|
Zip file: awrrpt_scripts
These scripts do not modify anything in the database, just retrieves the data using dbms_workload_repository package. Test the scripts to understand further. Of course, you need access to dbms_workload_repository and access to gv$instance.