how to gather sql resource consump6on metrics in oracle
play

How to Gather SQL Resource Consump6on Metrics in Oracle - PowerPoint PPT Presentation

How to Gather SQL Resource Consump6on Metrics in Oracle Karen Morton Sr. Technical Consultant 1 karen.morton@enkitec.com karenmorton.blogspot.com karen_morton If


  1. How ¡to ¡Gather ¡SQL ¡Resource ¡ Consump6on ¡Metrics ¡in ¡Oracle ¡ Karen ¡Morton ¡ Sr. ¡Technical ¡Consultant ¡ 1 ¡

  2. karen.morton@enkitec.com ¡ karenmorton.blogspot.com ¡ karen_morton ¡

  3. If ¡you ¡can’t ¡measure ¡it, ¡you ¡can’t ¡manage ¡it. ¡ ¡ ― David ¡Garvin ¡ ¡ 3 ¡

  4. There ¡are ¡two ¡types ¡of ¡ performance ¡problems ¡in ¡this ¡ world... ¡

  5. 1 ¡ ¡ Response ¡6me ¡ problems. ¡

  6. 2 ¡ ¡ Inefficiencies ¡that ¡aren’t ¡response ¡ 6me ¡problems. ¡ Yet. ¡

  7. Therefore... ¡

  8. ¡ You ¡must ¡be ¡able ¡to ¡aOack ¡ response ¡6me ¡problems ¡for ¡ specific ¡tasks ¡that ¡the ¡business ¡ cares ¡about... ¡

  9. …even ¡if ¡they ¡are ¡inefficiencies ¡ that ¡aren’t ¡yet ¡no6ceable ¡as ¡user ¡ response ¡6me ¡problems. ¡

  10. Why ¡should ¡you ¡care? ¡

  11. Because ¡ waste ¡ ¡ ¡ costs ¡you ¡money ¡

  12. TCO ¡$$ ¡ SoWware ¡$$ ¡ Labor ¡$$ ¡ Hardware ¡$$ ¡ Waste ¡

  13. And ¡waste... ¡

  14. ...makes ¡ other ¡work ¡ go ¡slower… ¡

  15. ...even ¡your ¡fast ¡stuff ¡

  16. Why ¡guess? ¡ When ¡you ¡can ¡ know. ¡

  17. Resource ¡Consump6on ¡Metrics ¡

  18. ¡ ¡ Time ¡ ¡ & ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Resources ¡

  19. Start ¡simple ¡ with ¡ AUTOTRACE ¡

  20. SQL> ¡SET ¡TIMING ¡ON ¡ ¡ SQL> ¡ALTER ¡SESSION ¡SET ¡ ¡ ¡ ¡STATISTICS_LEVEL ¡= ¡ALL; ¡ Can ¡also ¡use ¡/*+ ¡gather_plan_sta;s;cs ¡*/ ¡hint ¡

  21. SQL> ¡SET ¡AUTOTRACE ¡TRACEONLY ¡

  22. Elapsed ¡6me: ¡34.10 ¡seconds ¡ 24 ¡

  23. 25 ¡

  24. 26 ¡

  25. Want ¡more? ¡

  26. Mine ¡Shared ¡Pool ¡ V$ ¡Views ¡

  27. Find ¡the ¡sql_id ¡& ¡child_number ¡ Put ¡a ¡recognizable ¡comment ¡in ¡your ¡SQL ¡to ¡make ¡it ¡easy ¡to ¡find. ¡

  28. Retrieve ¡plan ¡using ¡ DBMS_XPLAN.display_cursor ¡ ('&sql_id','&child_no', ¡ 'ALLSTATS ¡LAST ¡+COST ¡+BYTES’) ¡ Other ¡op6ons ¡available: ¡+PEEKED_BINDS ¡+OUTLINE ¡+ADVANCED, ¡etc. ¡

  29. -­‑-­‑Es6mates-­‑-­‑ ¡ -­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑Actuals-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑-­‑ ¡ 31 ¡

  30. Want ¡more? ¡

  31. SQL ¡Monitor ¡Reports ¡

  32. Automa6cally ¡generated ¡when ¡ SQL ¡consumes ¡5 ¡seconds ¡or ¡ higher ¡of ¡CPU ¡or ¡IO ¡6me ¡ No ¡need ¡for ¡/*+ ¡gather_plan_sta;s;cs ¡*/ ¡hint ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡or ¡STATISTICS_LEVEL ¡= ¡ALL ¡

  33. Can ¡use ¡ /*+ ¡monitor ¡*/ ¡ hint ¡ Can ¡turn ¡off ¡using ¡/*+ ¡no_monitor ¡*/ ¡hint ¡

  34. Generate ¡Report ¡for ¡any ¡SQL_ID ¡ select ¡dbms_sqltune.report_sql_monitor ¡ (report_level=>'ALL', ¡ ¡ type=>'TEXT', ¡ ¡ sql_id=>'6x2sh0kvzac0t') ¡monitor_report ¡ ¡ from ¡dual; ¡ ¡ Types ¡= ¡(11.1) ¡TEXT, ¡HTML, ¡XML, ¡plus ¡(11.2) ¡EM, ¡ACTIVE. ¡ 36 ¡

  35. Generate ¡Report ¡for ¡current ¡session ¡ select ¡dbms_sqltune.report_sql_monitor ¡ (report_level=>'ALL', ¡ ¡ type=>'TEXT', ¡ ¡ session_id=>sys_context('userenv','sid') ¡ ) ¡monitor_report ¡ ¡ from ¡dual; ¡ ¡ 37 ¡

  36. 38 ¡

  37. 39 ¡

  38. 40 ¡

  39. 41 ¡

  40. Want ¡more? ¡

  41. Ac6ve ¡Session ¡History ¡ (ASH) ¡ & ¡ Automa6c ¡Workload ¡Repository ¡ (AWR) ¡ Must ¡have ¡license ¡for ¡Diagnos;cs/Tuning ¡Pack ¡

  42. SQL> ¡@ashrp6 ¡ ¡ SQL> ¡@awrsqrpt ¡

  43. Want ¡more? ¡

  44. Extended ¡SQL ¡Trace ¡ dbms_monitor ¡ session_trace_enable ¡

  45. Remember: ¡ The ¡more ¡data ¡you ¡have, ¡ the ¡easier ¡problem ¡diagnosis ¡ will ¡be. ¡ 47 ¡

  46. How ¡you ¡get ¡the ¡data ¡doesn’t ¡ really ¡maOer. ¡ Just ¡get ¡it. ¡ 48 ¡

  47. Ques6ons ¡& ¡Answers ¡

Recommend


More recommend