Using AWR/Statspack for Wait Analysis

9,016 views

Published on

Review of how to analyze an AWR report for Oracle.

Published in: Technology
6 Comments
10 Likes
Statistics
Notes
No Downloads
Views
Total views
9,016
On SlideShare
0
From Embeds
0
Number of Embeds
1,862
Actions
Shares
0
Downloads
783
Comments
6
Likes
10
Embeds 0
No embeds

No notes for slide

Using AWR/Statspack for Wait Analysis

  1. 1. Using AWR For Wait Analysis<br />Mike Ault, Oracle Guru<br />March 2011<br />The World’s Fastest Storage® for over thirty years!<br />
  2. 2. Michael R. Ault, Oracle Guru<br /><ul><li> Nuclear Navy 6 years
  3. 3. Nuclear Chemist/Programmer 10 years
  4. 4. Kennedy Western University Graduate
  5. 5. Bachelors Degree Computer Science
  6. 6. Certified in all Oracle Versions Since 6
  7. 7. Oracle DBA, author, since 1990</li></li></ul><li>Books by Michael R. Ault<br />
  8. 8. StatspackAnalyzer.com<br />Free Statspack/AWR Analysis <br />Sponsored by Texas Memory Systems<br /><ul><li>Looks for IO bottlenecks and other configuration issues.
  9. 9. Straightforward tuning advice</li></li></ul><li>Introduction<br />Statspack was introduced in 8.1.7<br />AWR came out in Oracle10g<br />Both are very similar<br />Both provide a top-down look at performance statistics<br />
  10. 10. What Is AWR?<br />A background process<br />A set of tables<br />A set of reports<br />Takes snapshots of statistics every hour<br />Takes snapshot of high-cost SQL every hour<br />
  11. 11. Preparation for Analysis<br />Know your systems normal performance fingerprint<br />Be familiar with Concepts and Tuning Guides<br />Have “normal” AWR/Statspacks for comparison <br />
  12. 12. Top-Down Approach<br />Report starts with settings overview<br />Next provides Top-5 waits<br />Use the Waits to guide further investigation <br />
  13. 13. AWR Report Header<br />WORKLOAD REPOSITORY report for<br />DB Name DB Id Instance Inst Num Startup Time Release RAC<br />------------ ----------- ------------ -------- --------------- ----------- ---<br />AULTDB 4030696936 aultdb1 1 04-Aug-08 10:16 11.1.0.6.0 YES<br />Host Name Platform CPUs Cores Sockets Memory(GB)<br />---------------- -------------------------------- ---- ----- ------- ----------<br />aultlinux3 Linux IA (32-bit) 2 1 1 2.97<br /> Snap Id Snap Time Sessions Curs/Sess<br />--------- ------------------- -------- ---------<br />Begin Snap: 91 04-Aug-08 12:00:15 41 1.2<br /> End Snap: 92 04-Aug-08 13:00:28 47 1.1<br />Elapsed: 60.22 (mins)<br /> DB Time: 139.52 (mins)<br />Cache Sizes Begin End<br />~~~~~~~~~~~ ---------- ----------<br /> Buffer Cache: 1,312M 1,312M Std Block Size: 8K<br /> Shared Pool Size: 224M 224M Log Buffer: 10,604K <br />
  14. 14. AWR Report Header<br />WORKLOAD REPOSITORY report for<br />DB Name DB Id Instance Inst Num Startup Time Release RAC<br />------------ ----------- ------------ -------- --------------- ----------- ---<br />AULTDB 4030696936 aultdb1 1 04-Aug-08 10:16 11.1.0.6.0 YES<br />Host Name Platform CPUs Cores Sockets Memory(GB)<br />---------------- -------------------------------- ---- ----- ------- ----------<br />aultlinux3 Linux IA (32-bit) 2 1 1 2.97<br /> Snap Id Snap Time Sessions Curs/Sess<br />--------- ------------------- -------- ---------<br />Begin Snap: 91 04-Aug-08 12:00:15 41 1.2<br /> End Snap: 92 04-Aug-08 13:00:28 47 1.1<br />Elapsed: 60.22 (mins)<br /> DB Time: 139.52 (mins)<br />Cache Sizes Begin End<br />~~~~~~~~~~~ ---------- ----------<br /> Buffer Cache: 1,312M 1,312M Std Block Size: 8K<br /> Shared Pool Size: 224M 224M Log Buffer: 10,604K <br />
  15. 15. AWR Report Header<br />WORKLOAD REPOSITORY report for<br />DB Name DB Id Instance Inst Num Startup Time Release RAC<br />------------ ----------- ------------ -------- --------------- ----------- ---<br />AULTDB 4030696936 aultdb1 1 04-Aug-08 10:16 11.1.0.6.0 YES<br />Host Name Platform CPUs Cores Sockets Memory(GB)<br />---------------- -------------------------------- ---- ----- ------- ----------<br />aultlinux3 Linux IA (32-bit) 2 1 1 2.97<br /> Snap Id Snap Time Sessions Curs/Sess<br />--------- ------------------- -------- ---------<br />Begin Snap: 91 04-Aug-08 12:00:15 41 1.2<br /> End Snap: 92 04-Aug-08 13:00:28 47 1.1<br />Elapsed: 60.22 (mins)<br /> DB Time: 139.52 (mins)<br />Cache Sizes Begin End<br />~~~~~~~~~~~ ---------- ----------<br /> Buffer Cache: 1,312M 1,312M Std Block Size: 8K<br /> Shared Pool Size: 224M 224M Log Buffer: 10,604K <br />
  16. 16. AWR Report Header<br />WORKLOAD REPOSITORY report for<br />DB Name DB Id Instance Inst Num Startup Time Release RAC<br />------------ ----------- ------------ -------- --------------- ----------- ---<br />AULTDB 4030696936 aultdb1 1 04-Aug-08 10:16 11.1.0.6.0 YES<br />Host Name Platform CPUs Cores Sockets Memory(GB)<br />---------------- -------------------------------- ---- ----- ------- ----------<br />aultlinux3 Linux IA (32-bit) 2 1 1 2.97<br /> Snap Id Snap Time Sessions Curs/Sess<br />--------- ------------------- -------- ---------<br />Begin Snap: 91 04-Aug-08 12:00:15 41 1.2<br /> End Snap: 92 04-Aug-08 13:00:28 47 1.1<br />Elapsed: 60.22 (mins)<br /> DB Time: 139.52 (mins)<br />Cache Sizes Begin End<br />~~~~~~~~~~~ ---------- ----------<br /> Buffer Cache: 1,312M 1,312M Std Block Size: 8K<br /> Shared Pool Size: 224M 224M Log Buffer: 10,604K <br />
  17. 17. AWR Report Header<br />WORKLOAD REPOSITORY report for<br />DB Name DB Id Instance Inst Num Startup Time Release RAC<br />------------ ----------- ------------ -------- --------------- ----------- ---<br />AULTDB 4030696936 aultdb1 1 04-Aug-08 10:16 11.1.0.6.0 YES<br />Host Name Platform CPUs Cores Sockets Memory(GB)<br />---------------- -------------------------------- ---- ----- ------- ----------<br />aultlinux3 Linux IA (32-bit) 2 1 1 2.97<br /> Snap Id Snap Time Sessions Curs/Sess<br />--------- ------------------- -------- ---------<br />Begin Snap: 91 04-Aug-08 12:00:15 41 1.2<br /> End Snap: 92 04-Aug-08 13:00:28 47 1.1<br />Elapsed: 60.22 (mins)<br /> DB Time: 139.52 (mins)<br />Cache Sizes Begin End<br />~~~~~~~~~~~ ---------- ----------<br /> Buffer Cache: 1,312M 1,312M Std Block Size: 8K<br /> Shared Pool Size: 224M 224M Log Buffer: 10,604K <br />
  18. 18. AWR Report Header<br />WORKLOAD REPOSITORY report for<br />DB Name DB Id Instance Inst Num Startup Time Release RAC<br />------------ ----------- ------------ -------- --------------- ----------- ---<br />AULTDB 4030696936 aultdb1 1 04-Aug-08 10:16 11.1.0.6.0 YES<br />Host Name Platform CPUs Cores Sockets Memory(GB)<br />---------------- -------------------------------- ---- ----- ------- ----------<br />aultlinux3 Linux IA (32-bit) 2 1 1 2.97<br /> Snap Id Snap Time Sessions Curs/Sess<br />--------- ------------------- -------- ---------<br />Begin Snap: 91 04-Aug-08 12:00:15 41 1.2<br /> End Snap: 92 04-Aug-08 13:00:28 47 1.1<br />Elapsed: 60.22 (mins)<br /> DB Time: 139.52 (mins)<br />Cache Sizes Begin End<br />~~~~~~~~~~~ ---------- ----------<br /> Buffer Cache: 1,312M 1,312M Std Block Size: 8K<br /> Shared Pool Size: 224M 224M Log Buffer: 10,604K <br />
  19. 19. AWR Report Header<br />WORKLOAD REPOSITORY report for<br />DB Name DB Id Instance Inst Num Startup Time Release RAC<br />------------ ----------- ------------ -------- --------------- ----------- ---<br />AULTDB 4030696936 aultdb1 1 04-Aug-08 10:16 11.1.0.6.0 YES<br />Host Name Platform CPUs Cores Sockets Memory(GB)<br />---------------- -------------------------------- ---- ----- ------- ----------<br />aultlinux3 Linux IA (32-bit) 2 1 1 2.97<br /> Snap Id Snap Time Sessions Curs/Sess<br />--------- ------------------- -------- ---------<br />Begin Snap: 91 04-Aug-08 12:00:15 41 1.2<br /> End Snap: 92 04-Aug-08 13:00:28 47 1.1<br />Elapsed: 60.22 (mins)<br /> DB Time: 139.52 (mins)<br />Cache Sizes Begin End<br />~~~~~~~~~~~ ---------- ----------<br /> Buffer Cache: 1,312M 1,312M Std Block Size: 8K<br /> Shared Pool Size: 224M 224M Log Buffer: 10,604K <br />
  20. 20. AWR Report Header<br />WORKLOAD REPOSITORY report for<br />DB Name DB Id Instance Inst Num Startup Time Release RAC<br />------------ ----------- ------------ -------- --------------- ----------- ---<br />AULTDB 4030696936 aultdb1 1 04-Aug-08 10:16 11.1.0.6.0 YES<br />Host Name Platform CPUs Cores Sockets Memory(GB)<br />---------------- -------------------------------- ---- ----- ------- ----------<br />aultlinux3 Linux IA (32-bit) 2 1 1 2.97<br /> Snap Id Snap Time Sessions Curs/Sess<br />--------- ------------------- -------- ---------<br />Begin Snap: 91 04-Aug-08 12:00:15 41 1.2<br /> End Snap: 92 04-Aug-08 13:00:28 47 1.1<br />Elapsed: 60.22 (mins)<br /> DB Time: 139.52 (mins)<br />Cache Sizes Begin End<br />~~~~~~~~~~~ ---------- ----------<br /> Buffer Cache: 1,312M 1,312M Std Block Size: 8K<br /> Shared Pool Size: 224M 224M Log Buffer: 10,604K <br />
  21. 21. AWR Report Header<br />WORKLOAD REPOSITORY report for<br />DB Name DB Id Instance Inst Num Startup Time Release RAC<br />------------ ----------- ------------ -------- --------------- ----------- ---<br />AULTDB 4030696936 aultdb1 1 04-Aug-08 10:16 11.1.0.6.0 YES<br />Host Name Platform CPUs Cores Sockets Memory(GB)<br />---------------- -------------------------------- ---- ----- ------- ----------<br />aultlinux3 Linux IA (32-bit) 2 1 1 2.97<br /> Snap Id Snap Time Sessions Curs/Sess<br />--------- ------------------- -------- ---------<br />Begin Snap: 91 04-Aug-08 12:00:15 41 1.2<br /> End Snap: 92 04-Aug-08 13:00:28 47 1.1<br />Elapsed: 60.22 (mins)<br /> DB Time: 139.52 (mins)<br />Cache Sizes Begin End<br />~~~~~~~~~~~ ---------- ----------<br /> Buffer Cache: 1,312M 1,312M Std Block Size: 8K<br /> Shared Pool Size: 224M 224M Log Buffer: 10,604K <br />
  22. 22. Know Your Load Type!<br />Online Transaction Processing<br />Few reads<br />Many writes<br />Many small transactions<br />Look for redo/undo and sequential read issues<br />Decision Support/Data Warehouse<br />Many reads<br />Few writes (other then possible temp)<br />Few transactions<br />Look for sort/workarea and scattered read issues<br />Mixed or Hybrid<br />
  23. 23. Load Profile Section<br />Load Profile Per Second Per Transaction Per Exec Per Call<br />~~~~~~~~~~~~ --------------- --------------- ---------- ----------<br /> DB Time(s): 2.3 7.1 0.63 1.05<br /> DB CPU(s): 0.3 0.9 0.07 0.13<br /> Redo size: 800.5 2,461.8<br /> Logical reads: 6,307.6 19,396.7<br /> Block changes: 3.6 10.9<br /> Physical reads: 2,704.9 8,317.8<br /> Physical writes: 86.9 267.3<br /> User calls: 2.2 6.8<br /> Parses: 2.0 6.1<br /> Hard parses: 0.0 0.1<br />W/A MB processed: 932,965.4 2,868,990.9<br /> Logons: 0.1 0.2<br /> Executes: 3.7 11.3<br /> Rollbacks: 0.1 0.3<br /> Transactions: 0.3<br />
  24. 24. Load Profile Section<br />Load Profile Per Second Per Transaction Per Exec Per Call<br />~~~~~~~~~~~~ --------------- --------------- ---------- ----------<br /> DB Time(s): 2.3 7.1 0.63 1.05<br /> DB CPU(s): 0.3 0.9 0.07 0.13<br /> Redo size: 800.5 2,461.8<br /> Logical reads: 6,307.6 19,396.7<br /> Block changes: 3.6 10.9<br /> Physical reads: 2,704.9 8,317.8<br /> Physical writes: 86.9 267.3<br /> User calls: 2.2 6.8<br /> Parses: 2.0 6.1<br /> Hard parses: 0.0 0.1<br />W/A MB processed: 932,965.4 2,868,990.9<br /> Logons: 0.1 0.2<br /> Executes: 3.7 11.3<br /> Rollbacks: 0.1 0.3<br /> Transactions: 0.3<br />
  25. 25. Load Profile Section<br />Load Profile Per Second Per Transaction Per Exec Per Call<br />~~~~~~~~~~~~ --------------- --------------- ---------- ----------<br /> DB Time(s): 2.3 7.1 0.63 1.05<br /> DB CPU(s): 0.3 0.9 0.07 0.13<br /> Redo size: 800.5 2,461.8<br /> Logical reads: 6,307.6 19,396.7<br /> Block changes: 3.6 10.9<br /> Physical reads: 2,704.9 8,317.8<br /> Physical writes: 86.9 267.3<br /> User calls: 2.2 6.8<br /> Parses: 2.0 6.1<br /> Hard parses: 0.0 0.1<br />W/A MB processed: 932,965.4 2,868,990.9<br /> Logons: 0.1 0.2<br /> Executes: 3.7 11.3<br /> Rollbacks: 0.1 0.3<br /> Transactions: 0.3<br />
  26. 26. Load Profile Section<br />Load Profile Per Second Per Transaction Per Exec Per Call<br />~~~~~~~~~~~~ --------------- --------------- ---------- ----------<br /> DB Time(s): 2.3 7.1 0.63 1.05<br /> DB CPU(s): 0.3 0.9 0.07 0.13<br /> Redo size: 800.5 2,461.8<br /> Logical reads: 6,307.6 19,396.7<br /> Block changes: 3.6 10.9<br /> Physical reads: 2,704.9 8,317.8<br /> Physical writes: 86.9 267.3<br /> User calls: 2.2 6.8<br /> Parses: 2.0 6.1<br /> Hard parses: 0.0 0.1<br />W/A MB processed: 932,965.4 2,868,990.9<br /> Logons: 0.1 0.2<br /> Executes: 3.7 11.3<br /> Rollbacks: 0.1 0.3<br /> Transactions: 0.3<br />
  27. 27. Load Profile Section<br />Load Profile Per Second Per Transaction Per Exec Per Call<br />~~~~~~~~~~~~ --------------- --------------- ---------- ----------<br /> DB Time(s): 2.3 7.1 0.63 1.05<br /> DB CPU(s): 0.3 0.9 0.07 0.13<br /> Redo size: 800.5 2,461.8<br /> Logical reads: 6,307.6 19,396.7<br /> Block changes: 3.6 10.9<br /> Physical reads: 2,704.9 8,317.8<br /> Physical writes: 86.9 267.3<br /> User calls: 2.2 6.8<br /> Parses: 2.0 6.1<br /> Hard parses: 0.0 0.1<br />W/A MB processed: 932,965.4 2,868,990.9<br /> Logons: 0.1 0.2<br /> Executes: 3.7 11.3<br /> Rollbacks: 0.1 0.3<br /> Transactions: 0.3<br />
  28. 28. Load Profile Section<br />Load Profile Per Second Per Transaction Per Exec Per Call<br />~~~~~~~~~~~~ --------------- --------------- ---------- ----------<br /> DB Time(s): 2.3 7.1 0.63 1.05<br /> DB CPU(s): 0.3 0.9 0.07 0.13<br /> Redo size: 800.5 2,461.8<br /> Logical reads: 6,307.6 19,396.7<br /> Block changes: 3.6 10.9<br /> Physical reads: 2,704.9 8,317.8<br /> Physical writes: 86.9 267.3<br /> User calls: 2.2 6.8<br /> Parses: 2.0 6.1<br /> Hard parses: 0.0 0.1<br />W/A MB processed: 932,965.4 2,868,990.9<br /> Logons: 0.1 0.2<br /> Executes: 3.7 11.3<br /> Rollbacks: 0.1 0.3<br /> Transactions: 0.3<br />
  29. 29. Load Profile Section<br />Load Profile Per Second Per Transaction Per Exec Per Call<br />~~~~~~~~~~~~ --------------- --------------- ---------- ----------<br /> DB Time(s): 2.3 7.1 0.63 1.05<br /> DB CPU(s): 0.3 0.9 0.07 0.13<br /> Redo size: 800.5 2,461.8<br /> Logical reads: 6,307.6 19,396.7<br /> Block changes: 3.6 10.9<br /> Physical reads: 2,704.9 8,317.8<br /> Physical writes: 86.9 267.3<br /> User calls: 2.2 6.8<br /> Parses: 2.0 6.1<br /> Hard parses: 0.0 0.1<br />W/A MB processed: 932,965.4 2,868,990.9<br /> Logons: 0.1 0.2<br /> Executes: 3.7 11.3<br /> Rollbacks: 0.1 0.3<br /> Transactions: 0.3<br />
  30. 30. Load Profile Section<br />Load Profile Per Second Per Transaction Per Exec Per Call<br />~~~~~~~~~~~~ --------------- --------------- ---------- ----------<br /> DB Time(s): 2.3 7.1 0.63 1.05<br /> DB CPU(s): 0.3 0.9 0.07 0.13<br /> Redo size: 800.5 2,461.8<br /> Logical reads: 6,307.6 19,396.7<br /> Block changes: 3.6 10.9<br /> Physical reads: 2,704.9 8,317.8<br /> Physical writes: 86.9 267.3<br /> User calls: 2.2 6.8<br /> Parses: 2.0 6.1<br /> Hard parses: 0.0 0.1<br />W/A MB processed: 932,965.4 2,868,990.9<br /> Logons: 0.1 0.2<br /> Executes: 3.7 11.3<br /> Rollbacks: 0.1 0.3<br /> Transactions: 0.3<br />
  31. 31. What Are Your Efficiencies<br />Should be close to 100%<br />Parse issues usually are a result of:<br />Bad bind variable usage<br />Insufficient memory<br />Will also be co-indicated by low percentage of memory for multiple SQL execution<br />
  32. 32. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  33. 33. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  34. 34. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  35. 35. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  36. 36. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  37. 37. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  38. 38. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  39. 39. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  40. 40. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  41. 41. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  42. 42. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  43. 43. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  44. 44. Load Profile Section<br />Instance Efficiency Percentages (Target 100%)<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> Buffer Nowait %: 100.00 Redo NoWait %: 99.97<br /> Buffer Hit %: 96.09 In-memory Sort %: 100.00<br /> Library Hit %: 98.17 Soft Parse %: 97.88<br /> Execute to Parse %: 45.80 Latch Hit %: 99.95<br />Parse CPU to ParseElapsd %: 0.00 % Non-Parse CPU: 99.77<br />Shared Pool Statistics Begin End<br /> ------ ------<br /> Memory Usage %: 81.53 85.39<br /> % SQL with executions>1: 79.29 79.48<br /> % Memory for SQL w/exec>1: 76.73 78.19<br />
  45. 45. Top 5 Waits Section<br />Critical to look closely at this section<br />Use highest wait times to guide investigation<br />DB FILE type waits – physical IO<br />BUFFER type waits – Logical IO<br />LOG type waits – Redo related<br />PX – Parallel Query<br />GC – Global Cache (RAC related)<br />Undo – Undo or rollback segment related<br />
  46. 46. Top 5 Waits Section<br />Top 5 Timed Foreground Events<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />Avg<br /> wait % DB<br />Event Waits Time(s) (ms) time Wait Class<br />------------------------------ ------------ ----------- ------ ------ ----------<br />db file sequential read 465,020 3,969 9 47.4 User I/O<br />DB CPU 995 11.9<br />db file parallel read 2,251 322 143 3.8 User I/O<br />db file scattered read 15,268 153 10 1.8 User I/O<br />gc current block 2-way 108,739 116 1 1.4 Cluster<br />
  47. 47. Top 5 Waits Section<br />Top 5 Timed Foreground Events<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />Avg<br /> wait % DB<br />Event Waits Time(s) (ms) time Wait Class<br />------------------------------ ------------ ----------- ------ ------ ----------<br />db file sequential read 465,020 3,969 9 47.4 User I/O<br />DB CPU 995 11.9<br />db file parallel read 2,251 322 143 3.8 User I/O<br />db file scattered read 15,268 153 10 1.8 User I/O<br />gc current block 2-way 108,739 116 1 1.4 Cluster<br />
  48. 48. Top 5 Waits Section<br />Top 5 Timed Foreground Events<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />Avg<br /> wait % DB<br />Event Waits Time(s) (ms) time Wait Class<br />------------------------------ ------------ ----------- ------ ------ ----------<br />db file sequential read 465,020 3,969 9 47.4 User I/O<br />DB CPU 995 11.9<br />db file parallel read 2,251 322 143 3.8 User I/O<br />db file scattered read 15,268 153 10 1.8 User I/O<br />gc current block 2-way 108,739 116 1 1.4 Cluster<br />
  49. 49. Top 5 Waits Section<br />Top 5 Timed Foreground Events<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />Avg<br /> wait % DB<br />Event Waits Time(s) (ms) time Wait Class<br />------------------------------ ------------ ----------- ------ ------ ----------<br />db file sequential read 465,020 3,969 9 47.4 User I/O<br />DB CPU 995 11.9<br />db file parallel read 2,251 322 143 3.8 User I/O<br />db file scattered read 15,268 153 10 1.8 User I/O<br />gc current block 2-way 108,739 116 1 1.4 Cluster<br />
  50. 50. Top 5 Waits Section<br />Top 5 Timed Foreground Events<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />Avg<br /> wait % DB<br />Event Waits Time(s) (ms) time Wait Class<br />------------------------------ ------------ ----------- ------ ------ ----------<br />db file sequential read 465,020 3,969 9 47.4 User I/O<br />DB CPU 995 11.9<br />db file parallel read 2,251 322 143 3.8 User I/O<br />db file scattered read 15,268 153 10 1.8 User I/O<br />gc current block 2-way 108,739 116 1 1.4 Cluster<br />
  51. 51. Top 5 Waits Section<br />Top 5 Timed Foreground Events<br />~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />Avg<br /> wait % DB<br />Event Waits Time(s) (ms) time Wait Class<br />------------------------------ ------------ ----------- ------ ------ ----------<br />db file sequential read 465,020 3,969 9 47.4 User I/O<br />DB CPU 995 11.9<br />db file parallel read 2,251 322 143 3.8 User I/O<br />db file scattered read 15,268 153 10 1.8 User I/O<br />gc current block 2-way 108,739 116 1 1.4 Cluster<br />
  52. 52. DB File Type Waits<br />DB File Sequential Reads – memory starvation, non-selective indexes<br />DB File Scattered Reads – full table scans, insufficient indexing<br />Direct Path Writes – Appends, data loads<br />Direct Path Reads – Parallel slaves used to retrieve data<br />DB File Parallel Writes – Backup and partition use<br />DB File Parallel Reads – Partition use<br />DB File Single Write – File header writes, excessive data files<br />Direct path read temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />Direct path write temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />
  53. 53. DB File Type Waits<br />DB File Sequential Reads – memory starvation, non-selective indexes<br />DB File Scattered Reads – full table scans, insufficient indexing<br />Direct Path Writes – Appends, data loads<br />Direct Path Reads – Parallel slaves used to retrieve data<br />DB File Parallel Writes – Backup and partition use<br />DB File Parallel Reads – Partition use<br />DB File Single Write – File header writes, excessive data files<br />Direct path read temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />Direct path write temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />
  54. 54. DB File Type Waits<br />DB File Sequential Reads – memory starvation, non-selective indexes<br />DB File Scattered Reads – full table scans, insufficient indexing<br />Direct Path Writes – Appends, data loads<br />Direct Path Reads – Parallel slaves used to retrieve data<br />DB File Parallel Writes – Backup and partition use<br />DB File Parallel Reads – Partition use<br />DB File Single Write – File header writes, excessive data files<br />Direct path read temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />Direct path write temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />
  55. 55. DB File Type Waits<br />DB File Sequential Reads – memory starvation, non-selective indexes<br />DB File Scattered Reads – full table scans, insufficient indexing<br />Direct Path Writes – Appends, data loads<br />Direct Path Reads – Parallel slaves used to retrieve data<br />DB File Parallel Writes – Backup and partition use<br />DB File Parallel Reads – Partition use<br />DB File Single Write – File header writes, excessive data files<br />Direct path read temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />Direct path write temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />
  56. 56. DB File Type Waits<br />DB File Sequential Reads – memory starvation, non-selective indexes<br />DB File Scattered Reads – full table scans, insufficient indexing<br />Direct Path Writes – Appends, data loads<br />Direct Path Reads – Parallel slaves used to retrieve data<br />DB File Parallel Writes – Backup and partition use<br />DB File Parallel Reads – Partition use<br />DB File Single Write – File header writes, excessive data files<br />Direct path read temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />Direct path write temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />
  57. 57. DB File Type Waits<br />DB File Sequential Reads – memory starvation, non-selective indexes<br />DB File Scattered Reads – full table scans, insufficient indexing<br />Direct Path Writes – Appends, data loads<br />Direct Path Reads – Parallel slaves used to retrieve data<br />DB File Parallel Writes – Backup and partition use<br />DB File Parallel Reads – Partition use<br />DB File Single Write – File header writes, excessive data files<br />Direct path read temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />Direct path write temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />
  58. 58. DB File Type Waits<br />DB File Sequential Reads – memory starvation, non-selective indexes<br />DB File Scattered Reads – full table scans, insufficient indexing<br />Direct Path Writes – Appends, data loads<br />Direct Path Reads – Parallel slaves used to retrieve data<br />DB File Parallel Writes – Backup and partition use<br />DB File Parallel Reads – Partition use<br />DB File Single Write – File header writes, excessive data files<br />Direct path read temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />Direct path write temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />
  59. 59. DB File Type Waits<br />DB File Sequential Reads – memory starvation, non-selective indexes<br />DB File Scattered Reads – full table scans, insufficient indexing<br />Direct Path Writes – Appends, data loads<br />Direct Path Reads – Parallel slaves used to retrieve data<br />DB File Parallel Writes – Backup and partition use<br />DB File Parallel Reads – Partition use<br />DB File Single Write – File header writes, excessive data files<br />Direct path read temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />Direct path write temp – Temp file activity (sorts, hashes, temp tables, bitmaps)<br />
  60. 60. Buffer Type Waits<br />latch: cache buffers chains – Hot blocks, check for hot objects<br />free buffer waits – Insufficient buffers, processes holding buffers too <br /> long, IO subsystem over loaded<br />buffer busy waits – See what is causing them further along in report<br />gc buffer busy – Overloaded interconnect, find problem objects and tune<br />log buffer space – High load, too small a log buffer, increase log buffer size<br />latch: cache buffers lru chain – Freelist issues, hot blocks<br />latch: cache buffer handles – Freelist issues, hot blocks<br />buffer busy - See what is causing them further along in report<br />no free buffers – Insufficient buffers, dbwr contention<br />
  61. 61. Buffer Type Waits<br />latch: cache buffers chains – Hot blocks, check for hot objects<br />free buffer waits – Insufficient buffers, processes holding buffers <br /> too long, IO subsystem over loaded<br />buffer busy waits – See what is causing them further along in report<br />gc buffer busy – Overloaded interconnect, find problem objects and tune<br />log buffer space – High load, too small a log buffer, increase log buffer size<br />latch: cache buffers lru chain – Freelist issues, hot blocks<br />latch: cache buffer handles – Freelist issues, hot blocks<br />buffer busy - See what is causing them further along in report<br />no free buffers – Insufficient buffers, dbwr contention<br />
  62. 62. Buffer Type Waits<br />latch: cache buffers chains – Hot blocks, check for hot objects<br />free buffer waits – Insufficient buffers, processes holding buffers too <br />long, IO subsystem over loaded<br />buffer busy waits – See what is causing them further along in report<br />gc buffer busy – Overloaded interconnect, find problem objects and tune<br />log buffer space – High load, too small a log buffer, increase log buffer size<br />latch: cache buffers lru chain – Freelist issues, hot blocks<br />latch: cache buffer handles – Freelist issues, hot blocks<br />buffer busy - See what is causing them further along in report<br />no free buffers – Insufficient buffers, dbwr contention<br />
  63. 63. Buffer Type Waits<br />latch: cache buffers chains – Hot blocks, check for hot objects<br />free buffer waits – Insufficient buffers, processes holding buffers too long, IO subsystem over loaded<br />buffer busy waits – See what is causing them further along in report<br />gc buffer busy – Overloaded interconnect, find problem objects and tune<br />log buffer space – High load, too small a log buffer, increase log buffer size<br />latch: cache buffers lru chain – Freelist issues, hot blocks<br />latch: cache buffer handles – Freelist issues, hot blocks<br />buffer busy - See what is causing them further along in report<br />no free buffers – Insufficient buffers, dbwr contention<br />
  64. 64. Buffer Type Waits<br />latch: cache buffers chains – Hot blocks, check for hot objects<br />free buffer waits – Insufficient buffers, processes holding buffers too long, IO subsystem over loaded<br />buffer busy waits – See what is causing them further along in report<br />gc buffer busy – Overloaded interconnect, find problem objects and tune<br />log buffer space – High load, too small a log buffer, increase log buffer size<br />latch: cache buffers lru chain – Freelist issues, hot blocks<br />latch: cache buffer handles – Freelist issues, hot blocks<br />buffer busy - See what is causing them further along in report<br />no free buffers – Insufficient buffers, dbwr contention<br />
  65. 65. Log Type Waits<br />log file parallel write – Look for log file contention<br />log buffer space – Look at increasing log buffer size<br />log file switch (checkpoint incomplete) – May indicate excessive db files or slow IO subsystem<br />log file switch (archiving needed) – Indicates archive files are written too slowly<br />log file switch completion – May need more log files per thread<br />log file sync – Could indicate excessive commits<br />
  66. 66. Log Type Waits<br />log file parallel write – Look for log file contention<br />log buffer space – Look at increasing log buffer size<br />log file switch (checkpoint incomplete) – May indicate excessive db files or slow IO subsystem<br />log file switch (archiving needed) – Indicates archive files are written too slowly<br />log file switch completion – May need more log files per thread<br />log file sync – Could indicate excessive commits<br />
  67. 67. Log Type Waits<br />log file parallel write – Look for log file contention<br />log buffer space – Look at increasing log buffer size<br />log file switch (checkpoint incomplete) – May indicate excessive db files or slow IO subsystem<br />log file switch (archiving needed) – Indicates archive files are written too slowly<br />log file switch completion – May need more log files per thread<br />log file sync – Could indicate excessive commits<br />
  68. 68. Log Type Waits<br />log file parallel write – Look for log file contention<br />log buffer space – Look at increasing log buffer size<br />log file switch (checkpoint incomplete) – May indicate excessive db files or slow IO subsystem<br />log file switch (archiving needed) – Indicates archive files are written too slowly<br />log file switch completion – May need more log files per thread<br />log file sync – Could indicate excessive commits<br />
  69. 69. PX Type Waits<br />PX Deq: Msg Fragment – PEM maybe too small<br />PX qref latch - Data is produced faster than it is consumed, look at PEM<br />PX Deq Credit: send blkd – Look at PEM size and parallel query into non-parallel DML<br />
  70. 70. GC Events<br />gccr multi block request – Full table or index scans<br />gc current multi block request – Full table or index scans<br />gccr block 2-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gccr block 3-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gccr block busy – Blocks are busy in another instance, check for block level contention or hot blocks<br />gccr block congested – cr block congestion, check for hot blocks or busy interconnect<br />gccr block lost – Indicates interconnect issues and contention<br />gc current block 2-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gc current block 3-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gc current block busy – Block is already involved in GC operation, shows hot blocks or congestion<br />gc current block congested – current block congestion, check for hot blocks or busy interconnect<br />gc current block lost - Indicates interconnect issues and contention<br />
  71. 71. GC Events<br />gccr multi block request – Full table or index scans<br />gc current multi block request – Full table or index scans<br />gccr block 2-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gccr block 3-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gccr block busy – Blocks are busy in another instance, check for block level contention or hot blocks<br />gccr block congested – cr block congestion, check for hot blocks or busy interconnect<br />gccr block lost – Indicates interconnect issues and contention<br />gc current block 2-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gc current block 3-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gc current block busy – Block is already involved in GC operation, shows hot blocks or congestion<br />gc current block congested – current block congestion, check for hot blocks or busy interconnect<br />gc current block lost - Indicates interconnect issues and contention<br />
  72. 72. GC Events<br />gccr multi block request – Full table or index scans<br />gc current multi block request – Full table or index scans<br />gccr block 2-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gccr block 3-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gccr block busy – Blocks are busy in another instance, check for block level contention or hot blocks<br />gccr block congested – cr block congestion, check for hot blocks or busy interconnect<br />gccr block lost – Indicates interconnect issues and contention<br />gc current block 2-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gc current block 3-way – Blocks are busy in another instance, check for block level contention or hot blocks<br />gc current block busy – Block is already involved in GC operation, shows hot blocks or congestion<br />gc current block congested – current block congestion, check for hot blocks or busy interconnect<br />gc current block lost - Indicates interconnect issues and contention<br />
  73. 73. Undo Events<br />undo segment extension – If excessive, tune undo<br />latch: In memory undo latch – If excessive could be bug, check for your version, may have to turn off in memory undo<br />wait for a undo record – Usually only during recovery of large transactions, look at turning off parallel undo recovery.<br />
  74. 74. Undo Events<br />undo segment extension – If excessive, tune undo<br />latch: In memory undo latch – If excessive could be bug, check for your version, may have to turn off in memory undo<br />wait for a undo record – Usually only during recovery of large transactions, look at turning off parallel undo recovery.<br />
  75. 75. Undo Events<br />undo segment extension – If excessive, tune undo<br />latch: In memory undo latch – If excessive could be bug, check for your version, may have to turn off in memory undo<br />wait for a undo record – Usually only during recovery of large transactions, look at turning off parallel undo recovery.<br />
  76. 76. What Next?<br />Determine wait events of concern<br />Drill down to specific sections of report for deeper analysis<br />Use custom scripts, ADDM and Ash to investigate issues<br />
  77. 77. Thank You!<br />Mike Ault<br />Oracle@RamSan.com<br />http://www.statspackanalyzer.com/<br />

×