Compare 2 AWR Reports
Can we compare 2 AWR reprorts in one place in 10g? If yes, how?
Thanks!
982084 wrote:
Great Doc...Thanks I will read it.This Solution was provided By John
1-Use DBMS_WORKLOAD_REPOSITORY.CREATE_BASLELINE_TEMPLATE to instruct Oracle to keep the snapshots for (for example) every Saturday .
2- generate comparison reports with the awrddrpt.sql Comparing any Saturday .
Similar Messages
-
Hi,
Oracle 10gR2
OS -- Linux
What are the package & procedures to run the AWR report using the pair of two snapshot Ids for comparison ??
Regards5.3.5.5 Running the awrddrpt.sql Report
To compare detailed performance attributes and configuration settings between two time periods, run the awrddrpt.sql script at the SQL prompt to generate an HTML or text report:
@$ORACLE_HOME/rdbms/admin/awrddrpt.sql
Source: http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/autostat.htm#i35176
Regards
Asif Kabir -
Diff b/w snapshot baselines and AWR reports
Hi All,
Can anyone tell what is the difference b/w snapshot baselines and AWR reports. I have gone through couple of articles and i feel both are same, however given different names.
Am I correct?
ThanksAWR report is a report comparing the pair of snapshots and thus giving you the details of what has happened between that inerval!
The baselines is that "interesting time period" which you define telling to oracle and is used by oracle to compute the sql response tiime of your db with it in the subsequent timings. So both are completely different actually!
HTH
Aman.... -
AWR report generation and utilizing effectively
What are the best practices for generating and utilzing the AWR in oracle for performance tuning ?
I.e
Do we need to generate a baseline for comparison during the performance issues ?
What is the best time and best way to generate baseline AWR ?
Is there a automated way to compare a baseline report to a report during a performance issue?
your input is appreciated.ggworthy wrote:
What are the best practices for generating and utilzing the AWR in oracle for performance tuning ?
I.e
Do we need to generate a baseline for comparison during the performance issues ?
What is the best time and best way to generate baseline AWR ?
Is there a automated way to compare a baseline report to a report during a performance issue?post manual way you compare baseline report during performance issue. -
Hi, friends ..
I am using Oracle 11g standars edition(11.2.0.1.0) on solaris 10 platform.I do have a very strange probleem..when iam trying to capture awr report i am getting a blank
awr report contain ing nothing...like below section
---------------------------------------------------------------------------->
WARNING: Since the DB Time is less than one second, there was minimal foreground activity in the snapshot period. Some of the percentage values will be invalid.
WORKLOAD REPOSITORY report for
DB Name DB Id Instance Inst num Startup Time Release RAC
DISDB 771054785 disdb 1 30-Dec-10 10:12 11.2.0.1.0 NO
Host Name Platform CPUs Cores Sockets Memory (GB)
dissemination-new Solaris Operating System (x86-64) .00
Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 1 30-Dec-10 11:30:21
End Snap: 2 30-Dec-10 12:30:52
Elapsed: 60.51 (mins)
DB Time: 0.00 (mins)
Report Summary
Cache Sizes
Begin End
Buffer Cache: M M Std Block Size: K
Shared Pool Size: 0M 0M Log Buffer: K
Load Profile
Per Second Per Transaction Per Exec Per Call
DB Time(s): 0.0 0.0 0.00 0.00
DB CPU(s): 0.0 0.0 0.00 0.00
Redo size:
Logical reads: 0.0 1.0
Block changes: 0.0 1.0
Physical reads: 0.0 1.0
Physical writes: 0.0 1.0
User calls: 0.0 1.0
Parses: 0.0 1.0
Hard parses:
W/A MB processed: 0.0 0.0
Logons:
Executes: 0.0 1.0
Rollbacks:
Transactions: 0.0
Instance Efficiency Percentages (Target 100%)
Buffer Nowait %: Redo NoWait %:
Buffer Hit %: In-memory Sort %:
Library Hit %: Soft Parse %:
Execute to Parse %: 0.00 Latch Hit %:
Parse CPU to Parse Elapsd %: % Non-Parse CPU:
Shared Pool Statisitics Not Available
Top 5 Timed Foreground Events
Event Waits Time(s) Avg wait (ms) % DB time Wait Class
DB CPU 0 100.00
Host CPU (CPUs: Cores: Sockets: )
Load Average Begin Load Average End %User %System %WIO %Idle
Instance CPU
%Total CPU %Busy CPU %DB time waiting for CPU (Resource Manager)
Memory Statistics
Begin End
Host Mem (MB):
SGA use (MB):
PGA use (MB):
% Host Mem used for SGA+PGA:
Main Report
Report Summary
Wait Events Statistics
SQL Statistics
Instance Activity Statistics
IO Stats
Buffer Pool Statistics
Advisory Statistics
Wait Statistics
Undo Statistics
Latch Statistics
Segment Statistics
Dictionary Cache Statistics
Library Cache Statistics
Memory Statistics
Streams Statistics
Resource Limit Statistics
Shared Server Statistics
init.ora Parameters
Back to Top
Wait Events Statistics
Time Model Statistics
Operating System Statistics
Operating System Statistics - Detail
Foreground Wait Class
Foreground Wait Events
Background Wait Events
Wait Event Histogram
Wait Event Histogram Detail (64 msec to 2 sec)
Wait Event Histogram Detail (4 sec to 2 min)
Wait Event Histogram Detail (4 min to 1 hr)
Service Statistics
Service Wait Class Stats
Back to Top
Time Model Statistics
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Operating System Statistics
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Operating System Statistics - Detail
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Foreground Wait Class
s - second, ms - millisecond - 1000th of a second
ordered by wait time desc, waits desc
%Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Captured Time accounts for % of Total DB time .00 (s)
Total FG Wait Time: (s) DB CPU time: .00 (s)
Wait Class Waits %Time -outs Total Wait Time (s) Avg wait (ms) %DB time
DB CPU 0 100.00
Back to Wait Events Statistics
Back to Top
Foreground Wait Events
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Background Wait Events
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Wait Event Histogram
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Wait Event Histogram Detail (64 msec to 2 sec)
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Wait Event Histogram Detail (4 sec to 2 min)
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Wait Event Histogram Detail (4 min to 1 hr)
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Service Statistics
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Service Wait Class Stats
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
SQL Statistics
SQL ordered by Elapsed Time
SQL ordered by CPU Time
SQL ordered by User I/O Wait Time
SQL ordered by Gets
SQL ordered by Reads
SQL ordered by Physical Reads (UnOptimized)
SQL ordered by Executions
SQL ordered by Parse Calls
SQL ordered by Sharable Memory
SQL ordered by Version Count
Complete List of SQL Text
Back to Top
SQL ordered by Elapsed Time
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
SQL ordered by CPU Time
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
SQL ordered by User I/O Wait Time
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
SQL ordered by Gets
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
SQL ordered by Reads
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
SQL ordered by Physical Reads (UnOptimized)
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
SQL ordered by Executions
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
SQL ordered by Parse Calls
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
SQL ordered by Sharable Memory
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
SQL ordered by Version Count
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
Complete List of SQL Text
No data exists for this section of the report.
Back to SQL Statistics
Back to Top
Instance Activity Statistics
Instance Activity Stats
Instance Activity Stats - Absolute Values
Instance Activity Stats - Thread Activity
Back to Top
Instance Activity Stats
No data exists for this section of the report.
Back to Instance Activity Statistics
Back to Top
Instance Activity Stats - Absolute Values
No data exists for this section of the report.
Back to Instance Activity Statistics
Back to Top
Instance Activity Stats - Thread Activity
No data exists for this section of the report.
Back to Instance Activity Statistics
Back to Top
IO Stats
IOStat by Function summary
IOStat by Filetype summary
IOStat by Function/Filetype summary
Tablespace IO Stats
File IO Stats
Back to Top
IOStat by Function summary
No data exists for this section of the report.
Back to IO Stats
Back to Top
IOStat by Filetype summary
No data exists for this section of the report.
Back to IO Stats
Back to Top
IOStat by Function/Filetype summary
No data exists for this section of the report.
Back to IO Stats
Back to Top
Tablespace IO Stats
No data exists for this section of the report.
Back to IO Stats
Back to Top
File IO Stats
No data exists for this section of the report.
Back to IO Stats
Back to Top
Buffer Pool Statistics
Buffer Pool Statistics
Checkpoint Activity
Back to Top
Buffer Pool Statistics
No data exists for this section of the report.
Back to Buffer Pool Statistics
Back to Top
Checkpoint Activity
No data exists for this section of the report.
Back to Buffer Pool Statistics
Back to Top
Advisory Statistics
Instance Recovery Stats
MTTR Advisory
Buffer Pool Advisory
PGA Aggr Summary
PGA Aggr Target Stats
PGA Aggr Target Histogram
PGA Memory Advisory
Shared Pool Advisory
SGA Target Advisory
Streams Pool Advisory
Java Pool Advisory
Back to Top
Instance Recovery Stats
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
MTTR Advisory
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
Buffer Pool Advisory
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
PGA Aggr Summary
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
PGA Aggr Target Stats
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
PGA Aggr Target Histogram
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
PGA Memory Advisory
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
Shared Pool Advisory
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
SGA Target Advisory
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
Streams Pool Advisory
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
Java Pool Advisory
No data exists for this section of the report.
Back to Advisory Statistics
Back to Top
Wait Statistics
Buffer Wait Statistics
Enqueue Activity
Back to Top
Buffer Wait Statistics
No data exists for this section of the report.
Back to Wait Statistics
Back to Top
Enqueue Activity
No data exists for this section of the report.
Back to Wait Statistics
Back to Top
Undo Statistics
Undo Segment Summary
Undo Segment Stats
Back to Top
Undo Segment Summary
No data exists for this section of the report.
Back to Undo Statistics
Back to Top
Undo Segment Stats
No data exists for this section of the report.
Back to Undo Statistics
Back to Top
Latch Statistics
Latch Activity
Latch Sleep Breakdown
Latch Miss Sources
Mutex Sleep Summary
Parent Latch Statistics
Child Latch Statistics
Back to Top
Latch Activity
No data exists for this section of the report.
Back to Latch Statistics
Back to Top
Latch Sleep Breakdown
No data exists for this section of the report.
Back to Latch Statistics
Back to Top
Latch Miss Sources
No data exists for this section of the report.
Back to Latch Statistics
Back to Top
Mutex Sleep Summary
No data exists for this section of the report.
Back to Latch Statistics
Back to Top
Parent Latch Statistics
No data exists for this section of the report.
Back to Latch Statistics
Back to Top
Child Latch Statistics
No data exists for this section of the report.
Back to Latch Statistics
Back to Top
Segment Statistics
Segments by Logical Reads
Segments by Physical Reads
Segments by Physical Read Requests
Segments by UnOptimized Reads
Segments by Optimized Reads
Segments by Direct Physical Reads
Segments by Physical Writes
Segments by Physical Write Requests
Segments by Direct Physical Writes
Segments by Table Scans
Segments by DB Blocks Changes
Segments by Row Lock Waits
Segments by ITL Waits
Segments by Buffer Busy Waits
Back to Top
Segments by Logical Reads
Total Logical Reads: 1
Captured Segments account for 4.6E+06% of Total
Owner Tablespace Name Object Name Subobject Name Obj. Type Logical Reads %Total
SYS SYSTEM I_SYSAUTH1 INDEX 15,008 1500800.00
SYS SYSTEM I_OBJ2 INDEX 4,752 475200.00
SYS SYSTEM TAB$ TABLE 2,176 217600.00
SYS SYSTEM I_JOB_NEXT INDEX 1,856 185600.00
SYS SYSTEM SYS_C00646 INDEX 1,664 166400.00
Back to Segment Statistics
Back to Top
Segments by Physical Reads
Total Physical Reads: 1
Captured Segments account for 400.0% of Total
Owner Tablespace Name Object Name Subobject Name Obj. Type Physical Reads %Total
SYS SYSAUX WRH$_SYSMETRIC_SUMMARY_INDEX INDEX 3 300.00
SYS SYSTEM KOTAD$ TABLE 1 100.00
Back to Segment Statistics
Back to Top
Segments by Physical Read Requests
Total Physical Read Requests: 1
Captured Segments account for 400.0% of Total
Owner Tablespace Name Object Name Subobject Name Obj. Type Phys Read Requests %Total
SYS SYSAUX WRH$_SYSMETRIC_SUMMARY_INDEX INDEX 3 300.00
SYS SYSTEM KOTAD$ TABLE 1 100.00
Back to Segment Statistics
Back to Top
Segments by UnOptimized Reads
Total UnOptimized Read Requests: 1
Captured Segments account for 400.0% of Total
Owner Tablespace Name Object Name Subobject Name Obj. Type UnOptimized Reads %Total
SYS SYSAUX WRH$_SYSMETRIC_SUMMARY_INDEX INDEX 3 300.00
SYS SYSTEM KOTAD$ TABLE 1 100.00
Back to Segment Statistics
Back to Top
Segments by Optimized Reads
No data exists for this section of the report.
Back to Segment Statistics
Back to Top
Segments by Direct Physical Reads
No data exists for this section of the report.
Back to Segment Statistics
Back to Top
Segments by Physical Writes
Total Physical Writes: 1
Captured Segments account for 1.1E+04% of Total
Owner Tablespace Name Object Name Subobject Name Obj. Type Physical Writes %Total
SYSMAN SYSAUX MGMT_METRICS_RAW_PK INDEX 27 2700.00
SYS SYSAUX WRH$_SYSMETRIC_HISTORY TABLE 16 1600.00
SYS SYSAUX WRH$_SYSMETRIC_HISTORY_INDEX INDEX 16 1600.00
SYSMAN SYSAUX MGMT_SYSTEM_PERF_LOG_IDX_01 INDEX 9 900.00
SYS SYSAUX SMON_SCN_TIME TABLE 9 900.00
Back to Segment Statistics
Back to Top
Segments by Physical Write Requests
Total Physical Write Requestss: 1
Captured Segments account for 5.1E+03% of Total
Owner Tablespace Name Object Name Subobject Name Obj. Type Phys Write Requests %Total
SYSMAN SYSAUX MGMT_METRICS_RAW_PK INDEX 11 1100.00
SYS SYSAUX SMON_SCN_TIME TABLE 9 900.00
SYSMAN SYSAUX MGMT_SYSTEM_PERF_LOG_IDX_01 INDEX 6 600.00
SYSMAN SYSAUX MGMT_CURRENT_METRICS_PK INDEX 4 400.00
SYS SYSTEM I_JOB_NEXT INDEX 2 200.00
Back to Segment Statistics
Back to Top
Segments by Direct Physical Writes
No data exists for this section of the report.
Back to Segment Statistics
Back to Top
Segments by Table Scans
Total Table Scans: 1
Captured Segments account for 900.0% of Total
Owner Tablespace Name Object Name Subobject Name Obj. Type Table Scans %Total
SYS SYSTEM I_OBJ2 INDEX 9 900.00
Back to Segment Statistics
Back to Top
Segments by DB Blocks Changes
% of Capture shows % of DB Block Changes for each top segment compared
with total DB Block Changes for all segments captured by the Snapshot
Owner Tablespace Name Object Name Subobject Name Obj. Type DB Block Changes % of Capture
SYS SYSTEM I_JOB_NEXT INDEX 896 58.95
SYSMAN SYSAUX MGMT_METRICS_RAW_PK INDEX 160 10.53
SYSMAN SYSAUX MGMT_CURRENT_METRICS_PK INDEX 112 7.37
SYS SYSAUX SMON_SCN_TIME TABLE 80 5.26
SYSMAN SYSAUX MGMT_SYSTEM_PERF_LOG_IDX_01 INDEX 64 4.21
Back to Segment Statistics
Back to Top
Segments by Row Lock Waits
No data exists for this section of the report.
Back to Segment Statistics
Back to Top
Segments by ITL Waits
No data exists for this section of the report.
Back to Segment Statistics
Back to Top
Segments by Buffer Busy Waits
No data exists for this section of the report.
Back to Segment Statistics
Back to Top
Dictionary Cache Stats
No data exists for this section of the report.
Back to Top
Library Cache Activity
No data exists for this section of the report.
Back to Top
Memory Statistics
Memory Dynamic Components
Memory Resize Operations Summary
Memory Resize Ops
Process Memory Summary
SGA Memory Summary
SGA breakdown difference
Back to Top
Memory Dynamic Components
No data exists for this section of the report.
Back to Memory Statistics
Back to Top
Memory Resize Operations Summary
No data exists for this section of the report.
Back to Memory Statistics
Back to Top
Memory Resize Ops
No data exists for this section of the report.
Back to Memory Statistics
Back to Top
Process Memory Summary
No data exists for this section of the report.
Back to Memory Statistics
Back to Top
Back to Memory Statistics
Back to Top
SGA breakdown difference
No data exists for this section of the report.
Back to Memory Statistics
Back to Top
Streams Statistics
Streams CPU/IO Usage
Streams Capture
Streams Capture Rate
Streams Apply
Streams Apply Rate
Buffered Queues
Buffered Queue Subscribers
Rule Set
Persistent Queues
Persistent Queues Rate
Persistent Queue Subscribers
Back to Top
Streams CPU/IO Usage
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Streams Capture
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Streams Capture Rate
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Streams Apply
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Streams Apply Rate
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Buffered Queues
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Buffered Queue Subscribers
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Rule Set
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Persistent Queues
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Persistent Queues Rate
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Persistent Queue Subscribers
No data exists for this section of the report.
Back to Streams Statistics
Back to Top
Resource Limit Stats
No data exists for this section of the report.
Back to Top
Shared Server Statistics
Shared Servers Activity
Shared Servers Rates
Shared Servers Utilization
Shared Servers Common Queue
Shared Servers Dispatchers
Back to Top
Shared Servers Activity
No data exists for this section of the report.
Back to Shared Server Statistics
Back to Top
Shared Servers Rates
No data exists for this section of the report.
Back to Shared Server Statistics
Back to Top
Shared Servers Utilization
No data exists for this section of the report.
Back to Shared Server Statistics
Back to Top
Shared Servers Common Queue
No data exists for this section of the report.
Back to Shared Server Statistics
Back to Top
Shared Servers Dispatchers
No data exists for this section of the report.
Back to Shared Server Statistics
Back to Top
init.ora Parameters
No data exists for this section of the report.
Back to Top
Dynamic Remastering Stats
No data exists for this section of the report.
Back to Top
End of Report
---------------------------------------------->>
here intresting is that i also can't have the memory section view also.i trien to clear awr repositary and recreate it..bounce database,also tried taking different snap value.But does notmake any change.can u tell me why tha happening..and how can i get a good awr report.Hi there,
I have covered this in my blog entry on the subject. Check that link out for more licensing information and other resources.
The problem you are experiencing is caused by the fact that AWR is part of the DIAGNOSTIC and TUNING packs of Oracle 11g, which as of 11g is no longer a standard feature of the database but rather an optional extra which must be licensed in addition to your default Oracle Standard Edition package. In terms of the licensing, you just need to license it as an optional extra so that you will actually be using it legally, and then you can go ahead and enable it.
While it may be an additional licensed item, it is actually installed on your DB by default, but is just not enabled. So, once you have cleared the licensing issue, you will be free to enable diagnostics by setting the new database parameter, CONTROL_MANAGEMENT_PACK_ACCESS. You can do this by running the following as a dba:
<pre>alter system set control_management_pack_access="DIAGNOSTIC+TUNING" scope=both;</pre>
After running this command, your database will start accumulating diagnostic information. Note that you will need to wait until new snapshots are created in which the new diagnostic information will be available. I found that although most of the information became available after setting CONTROL_MANAGEMENT_PACK_ACCESS, it was only once the database was restarted that all of the information became available. I have seen many people reporting similar behavior.
Old snapshots will obviously continue to give the errors because they did not have the diagnostic information available at the time. -
How to generate AWR report by using ttStats?
Hi all,are there any links or documents to show how to use ttStats toolkit to generate a report like Oracle AWR report?
If no links or document available, could you tell me how to use it?
In fact I want to know how to do a performance analysis for my application and perform some tune.
If any other toolkits are more suitable please let me know and of course the guide that how to use them is much welcome.
Thanks.The ttStats executable can be found in the <TimesTen_home>/support directory. Before you can run the executable within a command prompt, you'll need to source the ttenv.* file in the <TimesTen_home>/bin directory.
The output of ttStats -h is as follows:
ttStats [-latchstats on|off] [-display-options] [-xml file]
[-statlevel level] <dsn or connstr>
ttStats -s[napshot] [-latchstats on|off] -xml <file> <dsn or connstr>
ttStats -report <xmlfile1> <xmlfile2> <-text|-html> <report_file>
Where parameters in <> are required, and in [] are optional.
-display-options:
This option only works in monitoring mode as
screen filtering. ttStats only displays on the
screen statistics with specified prefixes.
Available prefix options include:
-cg, -ckpt, -conn, -db, -grid, -lock, -log, -repl,
-stmt, -txn, -xla, -zz, where the naming of prefixes
conforms to naming of statistics in TimesTen
sys.systemstats table. If no display option
is specified, all statistics are displayed
by default. For example, run command
ttStats -cg -stmt dsn=TptbmData
to display only cache group and statement
related statistics.
-h[elp] Print help message and exit.
-interval <secs> Collect a set of statistics every <secs> seconds
(default=10).
Note: setting this lower can negatively impact
performance
-xml <file> Write statistics to <file> in XML format. All
statistics will be written to <file> no matter
whether they are displayed on screen or not.
For example ttStats -xml mon.xml dsn=TptbmData
and ttStats -xml mon.xml -cg dsn=TptbmData
write the same file even if the latter only
shows cache related statistics on the screen.
-snapshot One snapshot of all statistics are saved to disk
in the specified file format, then the program
exits. This option should be used together with
the -xml option.
-statlevel <level>
Set the SysStats level, this value of level only
applies to sys.systemstats table.
-report <xmlfile1> <xmlfile2> <-xml|-text|-html> <report_file>
Compare two snapshots, and generate an AWR like
report. At present, each XML file contains only
one snapshot. The difference is computed as the
absolute value of statistic value in <xmlfile2>
minus that in <xmlfile1>. The result can be
written in HTML and plain text formats. XML is
not supported as output format at present.
As an example, you can run the utility as the instance admin user by doing something like:
./ttStats -s -xml tmp.xml <DSN>
You can then open tmp.xml with a web browser and see statistics about the database.
You can also compare two previously captured snaps by doing something like:
./ttStats -report tmp1.xml tmp2.xml -html tmpReport.html -
Hi All,
Not very much experienced in performance tunning that why need your help, i generate AWR report for different times what to check, i started with top 5 events and trying to understand the portion of the report. Can anyone help me to understand the same
In case if AWR requires for the 3 snap shot i will provide the sameHi,
If you have a performance issue on your system look for causes of that performance issue in the AWR. eg. compare the awr report for the period with bad performance with that of a one taken when performance was good. AWR taken during bad time would have "things" that weren't in the awr taken when performance was good or have "high values" for some "things". Start from that point and drill down.
If you don't have performance issues then confirm everything is running as it shoud be. Compare several awr reports and there shoulnd't me "anything" out of the ordinary.
You can start with
Instance Efficiency Percentages (Target 100%)
Top 5 Timed Foreground Events
Time Model Statistics
There are no hard and fast rules as to how you go about interpreting an awr. It depends on type of problem you have, your system, your applicaiton, time of day etc.
http://www.dba-oracle.com/t_rac_statspack_awr_report_tips.htm -
we use ORACLE 11.1.0.7. We have couple of processes that run for about 2 to 3 hours which are scheduled to run after 6 pm. When these processes run, currently users are not allowed to access the system . So last week we ran these processes with 30 to 40 users in a test instance, basically reading data.I have preserved the AWR snapshot during these processes. we have the preserved the AWR snapshots during the processes when users are no allowed in the system. I believe we can compare two periods in Grid. I would like to know what information would be helpful from this report?
I would like to know what information would be helpful from this report?That would entirely depend on why you generated the AWR reports in first place - what was your motive, what were you looking for, were there any major wait events etc.
-
Different result comparing AWR to TKPROF
Hi,
I runned last night event 10046 on my database using the following commands:
ALTER SYSTEM SET statistics_level = ALL;
ALTER SYSTEM SET events '10046 trace name context forever, level 12';
Today, i compared a single statment from TKPROF result to the AWR and found
big different results:
The TKPROF shows:
Executions is : 1
elpased time is :51.39 seconds
cpu time is : 0.23 second
Gets per Exec is : 72
SELECT CM_CUST_DIM_INST_PROD.INST_PROD_ID, CM_CUST_DIM_INST_PROD.NAP_PRODUCT_ID, CM_CUST_DIM_INST_PROD.NAP_PACKEAGE, CM_CUST_DIM_INST_PROD.PRODUCT_ID, CM_CUST_DIM_INST_PROD.PRODUCT_DESCR, CM_CUST_DIM_INST_PROD.PRODUCT_GROUP, CM_CUST_DIM_INST_PROD.PRODUCT_GROUP_DESCR, CM_CUST_DIM_INST_PROD.PROD_CATEGORY, CM_CUST_DIM_INST_PROD.PROD_CATEGORY_DESCR, CM_CUST_DIM_INST_PROD.PROD_GRP_TYPE, CM_CUST_DIM_INST_PROD.PROD_GRP_TYPE_DESCR, CM_CUST_DIM_INST_PROD.NAP_AREA2, CM_CUST_DIM_INST_PROD.NAP_PHONE_NUM, CM_CUST_DIM_INST_PROD.NAP_CANCEL_DT, CM_CUST_DIM_INST_PROD.NAP_SERVICE_OPN_DT, CM_CUST_DIM_INST_PROD.NAP_MAKAT_CD, CM_CUST_DIM_INST_PROD.NAP_CRM_STATUS, CM_CUST_DIM_INST_PROD.NAP_CRM_STATUS_DESCR, CM_CUST_DIM_INST_PROD.NAP_RTRV_INSPRD_ID
FROM CM_CUST_DIM_INST_PROD ,
cm_ip_service_delta, cm_ip_service_delta cm_ip_service_delta2
WHERE CM_CUST_DIM_INST_PROD.prod_grp_type in ('INTR', 'HOST') and
CM_CUST_DIM_INST_PROD.Inst_Prod_Id = cm_ip_service_delta.inst_prod_id(+) and
CM_CUST_DIM_INST_PROD.Nap_Makat_Cd = cm_ip_service_delta.nap_billing_catnum(+)
and cm_ip_service_delta.nap_billing_catnum is null and
cm_ip_service_delta.inst_prod_id is null
and cm_ip_service_delta2.inst_prod_id = CM_CUST_DIM_INST_PROD.Nap_Packeage
ORDER BY INST_PROD_ID
call count cpu elapsed disk query current rows
Parse 1 0.01 0.03 0 22 0 0
Execute 1 0.02 1.79 0 32 0 0
Fetch 13 0.19 49.56 0 18 0 661
total 15 0.23 51.39 0 72 0 661
The AWR report shows
Executions is : 1
elpased time is :697.91 seconds
cpu time is :41.89 second
Gets per Exec is : 351,105.00
Executions Gets per Exec CPU Time (s) Elapsed Time (s) SQL Id SQL
1 351,105.00 41.89 697.91 6hh4jdx9dvjzw
6hh4jdx9dvjzw
SELECT CM_CUST_DIM_INST_PROD.INST_PROD_ID, CM_CUST_DIM_INST_PROD.NAP_PRODUCT_ID, CM_CUST_DIM_INST_PROD.NAP_PACKEAGE, CM_CUST_DIM_INST_PROD.PRODUCT_ID, CM_CUST_DIM_INST_PROD.PRODUCT_DESCR, CM_CUST_DIM_INST_PROD.PRODUCT_GROUP, CM_CUST_DIM_INST_PROD.PRODUCT_GROUP_DESCR, CM_CUST_DIM_INST_PROD.PROD_CATEGORY, CM_CUST_DIM_INST_PROD.PROD_CATEGORY_DESCR, CM_CUST_DIM_INST_PROD.PROD_GRP_TYPE, CM_CUST_DIM_INST_PROD.PROD_GRP_TYPE_DESCR, CM_CUST_DIM_INST_PROD.NAP_AREA2, CM_CUST_DIM_INST_PROD.NAP_PHONE_NUM, CM_CUST_DIM_INST_PROD.NAP_CANCEL_DT, CM_CUST_DIM_INST_PROD.NAP_SERVICE_OPN_DT, CM_CUST_DIM_INST_PROD.NAP_MAKAT_CD, CM_CUST_DIM_INST_PROD.NAP_CRM_STATUS, CM_CUST_DIM_INST_PROD.NAP_CRM_STATUS_DESCR, CM_CUST_DIM_INST_PROD.NAP_RTRV_INSPRD_ID FROM CM_CUST_DIM_INST_PROD , cm_ip_service_delta, cm_ip_service_delta cm_ip_service_delta2 WHERE CM_CUST_DIM_INST_PROD.prod_grp_type in ('INTR', 'HOST') and CM_CUST_DIM_INST_PROD.Inst_Prod_Id = cm_ip_service_delta.inst_prod_id(+) and CM_CUST_DIM_INST_PROD.Nap_Makat_Cd = cm_ip_service_delta.nap_billing_catnum(+) and cm_ip_service_delta.nap_billing_catnum is null and cm_ip_service_delta.inst_prod_id is null and cm_ip_service_delta2.inst_prod_id = CM_CUST_DIM_INST_PROD.Nap_Packeage ORDER BY INST_PROD_ID
Does one can explain the different results ?
Thank YouHi Virag,
I ran the statment from sqlplus and after that i generated an addm report:
As you can see below TKPROF show that elspaed time was : 50.76 second,
while ADDM show:
"was executed 1 times and had an average elapsed time of 751 seconds."
ALTER SESSION SET max_dump_file_size = unlimited;
ALTER SESSION SET tracefile_identifier = '10046';
ALTER SESSION SET statistics_level = ALL;
ALTER SESSION SET events '10046 trace name context forever, level 12';
SELECT CM_CUST_DIM_INST_PROD.INST_PROD_ID, CM_CUST_DIM_INST_PROD.NAP_PRODUCT_ID, CM_CUST_DIM_INST_PROD.NAP_PACKEAGE, CM_CUST_DIM_INST_PROD.PRODUCT_ID, CM_CUST_DIM_INST_PROD.PRODUCT_DESCR, CM_CUST_DIM_INST_PROD.PRODUCT_GROUP, CM_CUST_DIM_INST_PROD.PRODUCT_GROUP_DESCR, CM_CUST_DIM_INST_PROD.PROD_CATEGORY, CM_CUST_DIM_INST_PROD.PROD_CATEGORY_DESCR, CM_CUST_DIM_INST_PROD.PROD_GRP_TYPE, CM_CUST_DIM_INST_PROD.PROD_GRP_TYPE_DESCR, CM_CUST_DIM_INST_PROD.NAP_AREA2, CM_CUST_DIM_INST_PROD.NAP_PHONE_NUM, CM_CUST_DIM_INST_PROD.NAP_CANCEL_DT, CM_CUST_DIM_INST_PROD.NAP_SERVICE_OPN_DT, CM_CUST_DIM_INST_PROD.NAP_MAKAT_CD, CM_CUST_DIM_INST_PROD.NAP_CRM_STATUS, CM_CUST_DIM_INST_PROD.NAP_CRM_STATUS_DESCR, CM_CUST_DIM_INST_PROD.NAP_RTRV_INSPRD_ID
FROM CM_CUST_DIM_INST_PROD ,
cm_ip_service_delta, cm_ip_service_delta cm_ip_service_delta2
WHERE CM_CUST_DIM_INST_PROD.prod_grp_type in ('INTR', 'HOST') and
CM_CUST_DIM_INST_PROD.Inst_Prod_Id = cm_ip_service_delta.inst_prod_id(+) and
CM_CUST_DIM_INST_PROD.Nap_Makat_Cd = cm_ip_service_delta.nap_billing_catnum(+)
and cm_ip_service_delta.nap_billing_catnum is null and
cm_ip_service_delta.inst_prod_id is null
and cm_ip_service_delta2.inst_prod_id = CM_CUST_DIM_INST_PROD.Nap_Packeage
ORDER BY INST_PROD_ID
ALTER SESSION SET EVENTS '10046 trace name context off';
EXIT
call count cpu elapsed disk query current rows
Parse 1 0.05 0.05 0 0 0 0
Execute 1 0.02 1.96 24 32 0 0
Fetch 46 0.19 48.74 6 18 0 661
total 48 0.26 50.76 30 50 0 661
Rows Row Source Operation
661 PX COORDINATOR (cr=50 pr=30 pw=0 time=50699289 us)
0 PX SEND QC (ORDER) :TQ10003 (cr=0 pr=0 pw=0 time=0 us)
0 SORT ORDER BY (cr=0 pr=0 pw=0 time=0 us)
0 PX RECEIVE (cr=0 pr=0 pw=0 time=0 us)
0 PX SEND RANGE :TQ10002 (cr=0 pr=0 pw=0 time=0 us)
0 FILTER (cr=0 pr=0 pw=0 time=0 us)
0 HASH JOIN RIGHT OUTER (cr=0 pr=0 pw=0 time=0 us)
0 BUFFER SORT (cr=0 pr=0 pw=0 time=0 us)
0 PX RECEIVE (cr=0 pr=0 pw=0 time=0 us)
0 PX SEND BROADCAST :TQ10000 (cr=0 pr=0 pw=0 time=0 us)
3366 INDEX FAST FULL SCAN IDX_CM_SERVICE_DELTA (cr=9 pr=6 pw=0 time=47132 us)(object id 1547887)
0 HASH JOIN (cr=0 pr=0 pw=0 time=0 us)
0 BUFFER SORT (cr=0 pr=0 pw=0 time=0 us)
0 PX RECEIVE (cr=0 pr=0 pw=0 time=0 us)
0 PX SEND BROADCAST :TQ10001 (cr=0 pr=0 pw=0 time=0 us)
3366 INDEX FAST FULL SCAN IDX_CM_SERVICE_DELTA (cr=9 pr=0 pw=0 time=20340 us)(object id 1547887)
0 PX BLOCK ITERATOR PARTITION: 1 4 (cr=0 pr=0 pw=0 time=0 us)
0 TABLE ACCESS FULL CM_CUST_DIM_INST_PROD PARTITION: 1 4 (cr=0 pr=0 pw=0 time=0 us)
RECOMMENDATION 1: SQL Tuning, 56% benefit (615 seconds)
ACTION: Run SQL Tuning Advisor on the SQL statement with SQL_ID
"6wd7sw8adqaxv".
RELEVANT OBJECT: SQL statement with SQL_ID 6wd7sw8adqaxv and
PLAN_HASH 2594021963
SELECT CM_CUST_DIM_INST_PROD.INST_PROD_ID,
CM_CUST_DIM_INST_PROD.NAP_PRODUCT_ID,
CM_CUST_DIM_INST_PROD.NAP_PACKEAGE, CM_CUST_DIM_INST_PROD.PRODUCT_ID,
CM_CUST_DIM_INST_PROD.PRODUCT_DESCR,
CM_CUST_DIM_INST_PROD.PRODUCT_GROUP,
CM_CUST_DIM_INST_PROD.PRODUCT_GROUP_DESCR,
CM_CUST_DIM_INST_PROD.PROD_CATEGORY,
CM_CUST_DIM_INST_PROD.PROD_CATEGORY_DESCR,
CM_CUST_DIM_INST_PROD.PROD_GRP_TYPE,
CM_CUST_DIM_INST_PROD.PROD_GRP_TYPE_DESCR,
CM_CUST_DIM_INST_PROD.NAP_AREA2, CM_CUST_DIM_INST_PROD.NAP_PHONE_NUM,
CM_CUST_DIM_INST_PROD.NAP_CANCEL_DT,
CM_CUST_DIM_INST_PROD.NAP_SERVICE_OPN_DT,
CM_CUST_DIM_INST_PROD.NAP_MAKAT_CD,
CM_CUST_DIM_INST_PROD.NAP_CRM_STATUS,
CM_CUST_DIM_INST_PROD.NAP_CRM_STATUS_DESCR,
CM_CUST_DIM_INST_PROD.NAP_RTRV_INSPRD_ID
FROM CM_CUST_DIM_INST_PROD ,
cm_ip_service_delta, cm_ip_service_delta cm_ip_service_delta2
WHERE CM_CUST_DIM_INST_PROD.prod_grp_type in ('INTR', 'HOST') and
CM_CUST_DIM_INST_PROD.Inst_Prod_Id =
cm_ip_service_delta.inst_prod_id(+) and
CM_CUST_DIM_INST_PROD.Nap_Makat_Cd =
cm_ip_service_delta.nap_billing_catnum(+)
and cm_ip_service_delta.nap_billing_catnum is null and
cm_ip_service_delta.inst_prod_id is null
and cm_ip_service_delta2.inst_prod_id =
CM_CUST_DIM_INST_PROD.Nap_Packeage
ORDER BY INST_PROD_ID
RATIONALE: SQL statement with SQL_ID "6wd7sw8adqaxv" was executed 1
times and had an average elapsed time of 751 seconds.
RATIONALE: At least one execution of the statement ran in parallel.
Thanks. -
Automatic generation of AWR reports
Hi,
How to schedule the automatic JOB to generate the AWR reports hourly basis. ( automatic comparing between 2 snapshots and then generate the text file).
Thanks in advance.Hi,
If you want the report to be send to your mail through the ORACLE ENTERPRISE MANAGER than you have to write one perl script like below: Adjust statements and addresses as per your requirement.
The main views are:
dba_hist_snapshot & dba_hist_thread which are helping us in doing this.
Hope I answered your question
autoawr.pl :
# My perl script for automatically generating awr report
# By default, report is sent to DBA_EMAIL_LIST_RPT, unless
# it's overridden by ORA_SP_EMAIL_LIST_RPT
# 05/26/2006 - Changed snap level from 5 to 6
# exec statspack.snap(i_snap_level => 6, i_modify_parameter => 'true');
# NOTES
# FUTURE ENHANCEMENTS
# MODIFICATIONS
# $Log: spreport.pl,v $
# Revision 1.4 2003/09/02 21:33:14 oracle
# bugfix (instance_number)
# Revision 1.3 2003/08/26 19:13:22 oracle
# add ORA_SP_HACK1
# Revision 1.2 2003/08/26 18:54:09 oracle
# mod
# Revision 1.1 2003/08/26 17:19:58 oracle
# ic
# ----------------------- main processing -------------------------------------
# in case $0 is a full pathname, strip of the directory name
$progname = $0;
$progname =~ s/^.*\/// ;
$progdir=$0;
$progdir=~ s/\/[^\/]*$// ; if ($progdir eq $0) { $progdir='.'; }
# set prog to equal progname minus file extension and the "."
$prog=$progname;
$prog =~ s/(.*)\..*$/\1/;
$usage="Usage: $progname <dbname> [<report_begin_datetime in a format of '08/27/07 06:30'> <duration in minutes, at least 60>]\n" ;
if ( $#ARGV < 0 )
print $usage;
exit 1;
my @arglist=@ARGV;
$dbname=$ARGV[0];
shift;
if ( $#ARGV > -1) {
$report_user_specified_time="yes";
# $report_begin_datetime="$ARGV[0] $ARGV[1]";
$report_begin_date=$ARGV[0];
$report_begin_time=$ARGV[1];
$report_begin_datetime="$report_begin_date $report_begin_time";
$report_duration=$ARGV[2];
print "Boris: dbg> number of ARGV=$#ARGV, report_begin_datetime=$report_begin_datetime, report_duration=$report_duration\n";
# print "Boris: dbg> UserSpecifiedTime=$report_user_specified_time\n";
# ----------- PORTIBILITY: set envdir to the appropriate value
$envdir=$progdir;
$ENV{'ENV_FILE'}="$envdir/dba.env";
$ENV{'APP_NAME'}=$dbname;
# ----------- End of PORTIBILITY
# initialize execution environ.
require("$envdir/ld_env.pl");
require("$envdir/ora_common.pl");
$tm_start=`date`; chop $tm_start;
$tm_stamp=`date "+%Y%m%d"`; chop $tm_stamp;
$tm_stamp2=`date "+%Y%m%d_%H%M%S"`; chop $tm_stamp2;
# $ENV{'LD_ENV_DEBUG'}=1;
my $status=&ld_env;
# set up log file. If for some reason it's no good, set log file to /dev/null
$LOG_PREFIX="$ENV{'ORA_ADM_DIR'}/log/${prog}_${dbname}.log";
$LOGFILE="${LOG_PREFIX}.${tm_stamp}";
if (open(LOGFILE, ">>$LOGFILE") == 0)
print "Cannot open log $LOGFILE; discard log info \n";
open(LOGFILE, ">/dev/null");
if ( $status != 0 )
&abort($status, \*LOGFILE, "Failed to load environ: $LD_ENV_ERRMSG\n");
my $work_dir=$ENV{'DBA_WORK_DIR'};
if ($work_dir eq '') {
abort_auto(2, "Env var DBA_WORK_DIR not defined\n");
} else {
$status=`mkdir -p $work_dir`;
if ($status != 0) {
abort_auto($status, "mkdir -p $work_dir failed\n");
# ---- main processing
$RPT_PREFIX1="$ENV{'ORA_ADM_DIR'}/log/awr_ash/awr_${dbname}.rpt";
$RPTFILE1="${RPT_PREFIX1}.${tm_stamp2}";
$RPT_PREFIX2="$ENV{'ORA_ADM_DIR'}/log/awr_ash/ash_${dbname}.rpt";
$RPTFILE2="${RPT_PREFIX2}.${tm_stamp2}";
#### no need for a special/"perfstat" connection: $ENV{'ORA_CNCT_STR'}=get_env2('ORA_SP_CNCT_STR', 'perfstat/perfstat');
#### print "dbg> Connecting to the database as: $ENV{'ORA_CNCT_STR'}";
my $days_minus = get_env2('ORA_SP_DAYS_MINUS', 1);
### To avoid "ORA-20200: The instance was shutdown between snapshots x1 and x2", ensure that dba_hist_snapshot.startup_time is the same for min(snap_id) and max(snap_id)
### To avoid "ORA-20200: End Snapshot Id y1 must be greater than Begin Snapshot Id y1", take reporting time interval between 5am and 5pm
if ( $report_user_specified_time eq "yes") {
$awr_begin_date=$report_begin_date;
$awr_begin_time=$report_begin_time;
print "Boris: dbg> awr_begin_date=$awr_begin_date, awr_end_date=$awr_end_date, awr_begin_time=$awr_begin_time, awr_end_time=calculated...\n";
$fudge=5; # that's 5min
$sql="
select t.dbid, t.instance_number, min(s.snap_id), max(s.snap_id)
from dba_hist_snapshot s, dba_hist_thread t
where --
trunc(s.end_interval_time) = trunc(to_date('$awr_begin_date', 'MM/DD/YY'))
and to_char(s.end_interval_time+5/1440, 'HH24:MI') >= '$awr_begin_time'
and to_char(s.end_interval_time, 'SSSSS') <= (to_number(substr('$awr_begin_time', 1, 2))*60 + to_number(substr('$awr_begin_time', 4,2)) + $report_duration +$fudge)*60
and t.instance_number = sys_context('userenv', 'instance')
and t.instance_number = s.instance_number
and t.thread# = sys_context('userenv', 'instance')
and t.snap_id = s.snap_id
and t.dbid = s.dbid
group by t.dbid, t.instance_number, s.startup_time
order by t.dbid, t.instance_number, s.startup_time desc
else {
$awr_days_minus=$days_minus;
$awr_begin_time=4;
$awr_end_time=16;
print "Boris: dbg> awr_days_minus=$awr_days_minus, awr_begin_time=$awr_begin_time, awr_end_time=$awr_end_time\n";
$sql="
select t.dbid, t.instance_number, min(s.snap_id), max(s.snap_id)
from dba_hist_snapshot s, dba_hist_thread t
where trunc(s.begin_interval_time)= trunc(sysdate - $awr_days_minus )
and to_char(s.begin_interval_time, 'HH24') >= $awr_begin_time
and to_char(s.begin_interval_time, 'HH24') <= $awr_end_time
and t.instance_number = sys_context('userenv', 'instance')
and t.instance_number = s.instance_number
and t.thread# = sys_context('userenv', 'instance')
and t.snap_id = s.snap_id
and t.dbid = s.dbid
group by t.dbid, t.instance_number, s.startup_time
order by t.dbid, t.instance_number, s.startup_time desc
my @output ;
$status = run_query($sql, \@output);
if ( $status == 0 )
my $line = $output[0] ;
my ($id_dbid, $id_inst_num, $id_min, $id_max) = split(' ', $line);
print "Boris: dbg> Query output line=$line";
if ( $id_min eq '' || $id_max eq '' )
# not stats
&tee_auto("Error: can't determine min=$id_min and/or max=$id_max snap_id, days_minus=$days_minus, dbid=$id_dbid, inst#=$id_inst_num)\n");
exit;
else
&tee_auto("# generate sprpt for delta between snp_id '$id_min' and '$id_max' (days_minus='$days_minus')\n# f=$RPTFILE1\n");
if ( $report_user_specified_time eq "yes") {
$id_ash_begin_datetime="$report_begin_date $report_begin_time";
$id_ash_duration=$report_duration;
else {
$id_ash_begin_datetime=`date --date yesterday "+%D 05:00"`; chop $id_ash_begin_datetime;
$id_ash_duration=720; #mins: 12 hours (from 5am to 5pm)
# print "Boris: dbg> id_ash_begin_datetime=$id_ash_begin_datetime, id_ash_duraton=$id_ash_duraton\n";
$sql = "
spool $RPTFILE1
select systimestamp from dual;
spool off
run_sql("$sql");
$sql = "
define dbid=$id_dbid
define inst_num=$id_inst_num
define begin_snap=$id_min
define end_snap=$id_max
define report_type='text'
define report_name=$RPTFILE1
@?/rdbms/admin/awrrpti
run_sql("$sql");
$sql = "
define dbid=$id_dbid
define inst_num=$id_inst_num
define report_type='text'
define report_name=$RPTFILE2
define begin_time='$id_ash_begin_datetime'
-- define default_report_duration='$id_ash_duration'
define duration=$id_ash_duration
-- define duration=720
-- define end_time='$id_ash_date_begin_5pm'
define slot_width=''
define target_session_id=''
define target_sql_id=''
define target_wait_class=''
define target_service_hash=''
define target_module_name=''
define target_action_name=''
define target_client_id=''
define target_plsql_entry=''
@?/rdbms/admin/ashrpti
run_sql("$sql");
## Concantenate: cat $RPTFILE2 >> $RPTFILE1;
open ( awr_report, ">>", $RPTFILE1 ) or die "Could not open for writing file $RPTFILE1: $!";
open ( ash_report, "<", $RPTFILE2 ) or die "Could not open for reading file $RPTFILE2: $!";
while ( my $line = <ash_report> ) { print awr_report $line; }
# send report
my $if_notify = 1;
if ( $if_notify && -r $RPTFILE1 )
if ($ENV{'ORA_SP_HACK1'} eq '1') {
&tee_auto( "# detected ORA_SP_HACK1 -- hack the report a bit...\n");
# prefix each line of report with '# ' to hack around
# the problem with Exchange mail server interpreting
# certain patterns as email attachements...
my $ed = get_env2('ED', 'ed');
$cmd="$ed $RPTFILE1 <<eof
Best regards,
Rafi
http://rafioracledba.blogspot.com/ -
Comparing AWR data with baselines.
Hello,
I am studying AWR, which will be used in our project for performance analysis.
My requirement is to create a baseline of load between 2 snapshots during normal system load. We perform load/stress testing before final deployment. We are planning to take snapshots before and after load/stress tests. I want to compare the performance of instance during load/stress test with that of baseline performance.
Oracle provides package DBMS_WORKLOAD_REPOSITORY for different functions of AWR. It provides function CREATE_BASELINE function for creating baseline. But in report generation function AWR_REPORT_HTML or AWR_REPORT_TXT no parameter is specified for comparing it with the baseline.
Is it possible to compare AWR data with baseline, during report generation? Or currently Oracle supports only baseline creation and dropping that baseline. It can not be used for performance comparison.
Thanks,
ShaileshHi,
Take a look on the note: 543188
With rgds,
Anil Kumar Sharma .P
Kindly Assign the points to the helpful answers.
Message was edited by: Anil Kumar Sharma -
Backup awr reports !!
Is it possible to back up old awr reports? If the answer is yes How ?
Hi,
If the intention of the backup of AWR reports is to compare them with the reports when performance deteriorates then you might consider creating a baseline when you think your database is performing well.
exec dbms_workload_repository.create_baseline(start_snap_id => your_snap_id,
end_snap_id => your_snap_id,
baseline_name => ' my database is doing well'); -
AWR Report - no data!!
Oracle Version: 11.1.0.7 64x
OS Version: Windows 2008 Server 64x
Hi There,
We're just trying to generate a awr report for one of our databases and the report is coming out with no data.
statistics_level parameter is set to "TYPICAL"; any idea to what's going on please?
Thanks
SQL>
SQL> @?/rdbms/admin/awrrpt.sql
Current Instance
~~~~~~~~~~~~~~~~
DB Id DB Name Inst Num Instance
1391811405 WEBTST 1 webtst
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type: text
Type Specified: text
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
* 1391811405 1 WEBTST webtst WEBDBTST
Using 1391811405 for database Id
Using 1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
Enter value for num_days: 1
Listing the last day's Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level
webtst WEBTST 43973 12 May 2011 00:00 1
43974 12 May 2011 01:00 1
43975 12 May 2011 02:00 1
43976 12 May 2011 03:00 1
43977 12 May 2011 04:00 1
43978 12 May 2011 05:00 1
43979 12 May 2011 06:00 1
43980 12 May 2011 07:00 1
43981 12 May 2011 08:00 1
43982 12 May 2011 09:00 1
43983 12 May 2011 10:00 1
43984 12 May 2011 11:00 1
43985 12 May 2011 11:02 1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 43984
Begin Snapshot Id specified: 43984
Enter value for end_snap: 43985
End Snapshot Id specified: 43985
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_43984_43985.txt. To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name:
Using the report name awrrpt_1_43984_43985.txt
WARNING (-20023)
ORA-20023: Missing start and end values for time model stat: parse time elapsed
WARNING (-20023)
ORA-20023: Missing start and end values for time model stat: DB CPU
WARNING (-20016)
ORA-20016: Missing value for SGASTAT: free memory
WARNING (-20016)
ORA-20016: Missing value for SGASTAT: free memory
WARNING (-20009)
ORA-20009: Missing System Statistic logons current
WARNING (-20009)
ORA-20009: Missing System Statistic logons current
WARNING (-20009)
ORA-20009: Missing System Statistic opened cursors current
WARNING (-20009)
ORA-20009: Missing System Statistic opened cursors current
WARNING (-20023)
ORA-20023: Missing start and end values for time model stat: sql execute elapsed
WARNING (-20008)
ORA-20008: Missing Init.ora parameter undo_management
WARNING (-20008)
ORA-20008: Missing Init.ora parameter db_block_size
WARNING (-20016)
ORA-20016: Missing value for SGASTAT: log_buffer
WARNING (-20023)
ORA-20023: Missing start and end values for time model stat: DB time
WARNING (-20008)
ORA-20008: Missing Init.ora parameter timed_statistics
WARNING (-20008)
ORA-20008: Missing Init.ora parameter timed_statistics
WARNING (-20008)
ORA-20008: Missing Init.ora parameter statistics_level
WARNING (-20008)
ORA-20008: Missing Init.ora parameter statistics_level
WARNING (-20008)
ORA-20008: Missing Init.ora parameter sga_target
WARNING (-20008)
ORA-20008: Missing Init.ora parameter pga_aggregate_target
WARNING (-20023)
ORA-20023: Missing start and end values for time model stat: background cpu time
WARNING (-20023)
ORA-20023: Missing start and end values for time model stat: background elapsed
WARNING (-20023)
ORA-20023: Missing start and end values for time model stat: connection manageme
WARNING (-20016)
ORA-20016: Missing value for SGASTAT: buffer_cache
WARNING (-20016)
ORA-20016: Missing value for SGASTAT: buffer_cache
WARNING: Since the DB Time is less than one second, there was
minimal foreground activity in the snapshot period.
Some of the percentage values will be invalid.
WORKLOAD REPOSITORY report for
DB Name DB Id Instance Inst Num Startup Time Release RAC
WEBTST 1391811405 webtst 1 29-Apr-11 04:50 11.1.0.7.0 NO
Host Name Platform CPUs Cores Sockets Memory(GB)
WEBDBTST Microsoft Windows x86 64-bit .00
Snap Id Snap Time Sessions Curs/Sess
Begin Snap: 43984 12-May-11 11:00:01
End Snap: 43985 12-May-11 11:02:00
Elapsed: 1.98 (mins)
DB Time: 0.00 (mins)
Cache Sizes Begin End
~~~~~~~~~~~ ---------- ----------
Buffer Cache:MM Std Block Size:K
Shared Pool Size: 0M 0M Log Buffer:K
ORA-01403: no data found
Error encountered in Report Summary
Continuing to Report Sections
Time Model Statistics DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Operating System Statistics DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Operating System Statistics - DetailDB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Foreground Wait Class DB/Inst: WEBTST/webtst Snaps: 43984-43985
-> s - second, ms - millisecond - 1000th of a second
-> ordered by wait time desc, waits desc
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
-> Captured Time accounts for % of Total DB time .00 (s)
-> Total FG Wait Time: (s) DB CPU time: .00 (s)
Avg
%Time Total Wait wait
Wait Class Waits -outs Time (s) (ms) %DB time
DB CPU 0 100.0
Foreground Wait Events DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Background Wait Events DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Wait Event Histogram DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Service Statistics DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Service Wait Class Stats DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
SQL ordered by Elapsed Time DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
SQL ordered by CPU Time DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
SQL ordered by Gets DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
SQL ordered by Reads DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
SQL ordered by Executions DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
SQL ordered by Parse Calls DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
SQL ordered by Sharable Memory DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
SQL ordered by Version Count DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Instance Activity Stats DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Instance Activity Stats - Absolute ValuesDB/Inst: WEBTST/webtst Snaps: 43984
No data exists for this section of the report.
Instance Activity Stats - Thread ActivityDB/Inst: WEBTST/webtst Snaps: 43984-
No data exists for this section of the report.
Tablespace IO Stats DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
File IO Stats DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Buffer Pool Statistics DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Instance Recovery Stats DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Buffer Pool Advisory DB/Inst: WEBTST/webtst Snap: 43985
No data exists for this section of the report.
PGA Aggr Summary DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
PGA Aggr Target Stats DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
PGA Aggr Target Histogram DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
PGA Memory Advisory DB/Inst: WEBTST/webtst Snap: 43985
No data exists for this section of the report.
Shared Pool Advisory DB/Inst: WEBTST/webtst Snap: 43985
No data exists for this section of the report.
SGA Target Advisory DB/Inst: WEBTST/webtst Snap: 43985
No data exists for this section of the report.
Streams Pool Advisory DB/Inst: WEBTST/webtst Snap: 43985
No data exists for this section of the report.
Java Pool Advisory DB/Inst: WEBTST/webtst Snap: 43985
No data exists for this section of the report.
Buffer Wait Statistics DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Enqueue Activity DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Undo Segment Summary DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Undo Segment Stats DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Latch Activity DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Latch Sleep Breakdown DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Latch Miss Sources DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Mutex Sleep Summary DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Parent Latch Statistics DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Child Latch Statistics DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Segments by Row Lock Waits DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Segments by ITL Waits DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Segments by Buffer Busy Waits DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Dictionary Cache Stats DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Library Cache Activity DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Memory Dynamic Components DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Memory Resize Operations Summary DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Memory Resize Ops DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Process Memory Summary DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
sum
SGA breakdown difference DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Streams CPU/IO Usage DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Streams Capture DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Streams Apply DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Buffered Queues DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Buffered Subscribers DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Rule Set DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Persistent Queues DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Persistent Subscribers DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
Resource Limit Stats DB/Inst: WEBTST/webtst Snap: 43985
No data exists for this section of the report.
init.ora Parameters DB/Inst: WEBTST/webtst Snaps: 43984-43985
No data exists for this section of the report.
End of ReportSQL> show parameter statistics
NAME TYPE VALUE
optimizer_use_pending_statistics boolean FALSE
statistics_level string TYPICAL
timed_os_statistics integer 0
timed_statistics boolean TRUE
SQL>
SQL> SELECT statistics_name,
2 session_status,
3 system_status,
4 activation_level,
5 session_settable
6 FROM v$statistics_level
7 ORDER BY statistics_name;
STATISTICS_NAME SESSION_ SYSTEM_S ACTIVAT SES
Active Session History ENABLED ENABLED TYPICAL NO
Adaptive Thresholds Enabled ENABLED ENABLED TYPICAL NO
Automated Maintenance Tasks ENABLED ENABLED TYPICAL NO
Bind Data Capture ENABLED ENABLED TYPICAL NO
Buffer Cache Advice ENABLED ENABLED TYPICAL NO
Global Cache Statistics ENABLED ENABLED TYPICAL NO
Longops Statistics ENABLED ENABLED TYPICAL NO
MTTR Advice DISABLED DISABLED TYPICAL NO
Modification Monitoring ENABLED ENABLED TYPICAL NO
PGA Advice ENABLED ENABLED TYPICAL NO
Plan Execution Sampling ENABLED ENABLED TYPICAL YES
Plan Execution Statistics DISABLED DISABLED ALL YES
SQL Monitoring ENABLED ENABLED TYPICAL YES
Segment Level Statistics ENABLED ENABLED TYPICAL NO
Shared Pool Advice ENABLED ENABLED TYPICAL NO
Streams Pool Advice ENABLED ENABLED TYPICAL NO
Threshold-based Alerts ENABLED ENABLED TYPICAL NO
Time Model Events ENABLED ENABLED TYPICAL YES
Timed OS Statistics DISABLED DISABLED ALL YES
Timed Statistics ENABLED ENABLED TYPICAL YES
Ultrafast Latch Statistics ENABLED ENABLED TYPICAL NO
Undo Advisor, Alerts and Fast Ramp up ENABLED ENABLED TYPICAL NO
V$IOSTAT_* statistics ENABLED ENABLED TYPICAL NO
23 rows selected.
SQL>Thanks
Edited by: rsar001 on May 12, 2011 11:33 AM -
Hello,
Just to start off on the right path I would like you to know that I am a Java developer trying to understand the AWR report. To give a quick overview of my problem :
I have built a load test framework using JMeter and trying to send SOAP requests to my weblogic server. Each of these requests are getting converted multiple Insert, Update and Merge statements and getting executed on the Oracle 10g productions grade DB server. When I run the AWR report, under the "SQL ordered by Executions (Global)" I see statements that have run for 2 billion times. The JDBC connection to the database is configured to have a maximum of 40 connections and I do not see all of them being used up. The issue now is I am NOT generating that kind of load yet. I am creating around 15000 SOAP requests in an hour and I am expecting around 1million records to hit the database. The test runs fine for a couple of hours and then the server starts failing because the database is not responding back properly. When I run the statistics query on tables "gv$session s, gv$sqlarea t, gv$process p" to get the pending sessions in the database I have seen anywhere between 30 - 62 pending sessions with a activity time of more than 300 minutes.
I am sure I am not sending in 2 billion requests from the LoadTest env that I have developed but the AWR report says so. I want to know if there is a possible reason for this behavior. The stuck threads start occurring on the Weblogic server after 30 mins I start the test. Below is the exception I got on weblogic just in case it helps
2014-10-06 19:26:04,960[[STUCK] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)']ERROR DAOUtil -- DAOUtil@SQLException > weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: Could not create pool connection. The DBMS driver exception was: Closed Connection
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:249)
at weblogic.jdbc.pool.Driver.connect(Driver.java:160)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:642)
at weblogic.jdbc.jts.Driver.connect(Driver.java:124)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:338)
at com.bci.rms.ea.common.eautil.dao.DAOUtil.getConnectionFromDataSource(DAOUtil.java:222)
Looking forward for reply/questions...
Thanks in Advance,
Sameer.Hello,
Just to start off on the right path I would like you to know that I am a Java developer trying to understand the AWR report. To give a quick overview of my problem :
I have built a load test framework using JMeter and trying to send SOAP requests to my weblogic server. Each of these requests are getting converted multiple Insert, Update and Merge statements and getting executed on the Oracle 10g productions grade DB server. When I run the AWR report, under the "SQL ordered by Executions (Global)" I see statements that have run for 2 billion times. The JDBC connection to the database is configured to have a maximum of 40 connections and I do not see all of them being used up. The issue now is I am NOT generating that kind of load yet. I am creating around 15000 SOAP requests in an hour and I am expecting around 1million records to hit the database. The test runs fine for a couple of hours and then the server starts failing because the database is not responding back properly. When I run the statistics query on tables "gv$session s, gv$sqlarea t, gv$process p" to get the pending sessions in the database I have seen anywhere between 30 - 62 pending sessions with a activity time of more than 300 minutes.
I am sure I am not sending in 2 billion requests from the LoadTest env that I have developed but the AWR report says so. I want to know if there is a possible reason for this behavior. The stuck threads start occurring on the Weblogic server after 30 mins I start the test. Below is the exception I got on weblogic just in case it helps
2014-10-06 19:26:04,960[[STUCK] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)']ERROR DAOUtil -- DAOUtil@SQLException > weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: Could not create pool connection. The DBMS driver exception was: Closed Connection
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:249)
at weblogic.jdbc.pool.Driver.connect(Driver.java:160)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:642)
at weblogic.jdbc.jts.Driver.connect(Driver.java:124)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:338)
at com.bci.rms.ea.common.eautil.dao.DAOUtil.getConnectionFromDataSource(DAOUtil.java:222)
Looking forward for reply/questions...
Thanks in Advance,
Sameer. -
How to get AWR report in text format
Hi all,
Here we are getting AWR report in html format through OEM.I want to get AWR report in .txt format
Please help me
Thanks in advanceHi
You can use the following scripts:
- ORACLE_HOME/rdbms/admin/awrrpt.sql
- ORACLE_HOME/rdbms/admin/awrrpti.sql
HTH
Chris -
How can I have a collective AWR report for RAC database in 10gR2 and 11gR1?
Plz correct me here
awrrpt.sql takes the snapshot at the instance level and incase we have 5 instances we have to take 5 awr reports for a particular period.correct???
If above is true ,any wayout to collect a single collective AWR report for RAC database which includes information on all the instances in Oracle 10g R2 or 11gR1 ?
Thanks in advance
GaganI have never come across a way for this. though I can n't say it is not there.
But I guess it may not be feasible too becuase as we know the current AWR report contains data which is specific for one instance.
Various hit ratios, top events, instance effeciency reports.... what not ..
It would be really nice to see something is a new format where it lists values from each instance in a single report.. I guess such a thing Does not exiist as of now.
Maybe you are looking for
-
ESS Claims - Requested value Rs. 20000 is greater than balance eligibility
Dear All, While Approving the ESS claims request getting a error message Requested value Rs. 20000 is greater than balance eligibility value 0.00. Help in solving this issue. Regards, Potru.
-
How do I get rid of the speech icon on my desktop... circle with ESC in it
I want to make the Speech icon on my desktop disappear. It is a circle with a microphone at the top, ESC in the middle and an arrow at the bottom. How do I do this?
-
Why would Safari try to insert an s, as in https, into the facebook log-in page. "Safari can't connect to this secure page." I've checked preferences and cannot find a reason for this change to the regular facebook address. Safari 5.0.5 on MacbookA
-
Fiscal Period ----- in BEx Report
Hi All, I have a small issue. in my report i want to give single selection for fiscal period like 0102005. for these selection i want to display all previous period data in separate column like 0012005 0022005 ............ 0102005 KF value
-
Dear Friends, We have SAP BI 70 up and running. Our new requirement is to install BO compoenets and link it back to SAP. Could you please help with the following: > What are the componenets are needed for to install BO? Are the following good enough,