Who should attend?Experienced DBAs and Developers.
This is a fast-paced class and attendees should have a good understanding of Oracle.
Additional Seminar Information
What's the difference? What are the strategies? Why tuning is hard, trouble-shooting is easy and design is important. Key targets for producing a well-tuned system on day one. How to approach design, and plan for trouble-shooting.
Finding the ProblemsThere are three major classes of problem, but just one source of (Oracle) information. It's important to recognize what class of problem you're attacking and pick the best way of using the available information to identify the source of your problem. We outline examples of the three classes and the corresponding approaches, and end with a detailed example of problem-solving.
Methods, workarounds, dirty tricks and parameters for dealing with classic performance problems when the system is in production. There really aren't many quick fixes that can be applied across the board - each one needs careful examination of costs, risk, and benefits. In this session we consider some of the options that are most likely to be worthwhile.
V$, X$ and Statspack/AWRIt's a good idea to be familiar with just a few of the dynamic performance views - and there are a couple of items in the still hidden away in the X$ objects that can add a little value. This session will present some ideas on how to take advantage of the dynamic performance objects directly, and then move on to some of the more useful information they supply - particularly through the statspack and AWR interface - closing with a case study of using Statspack to solve a performance problem.
Note: this tutorial has recently been heavily revised to include more information about the different approaches needed for dealing with different types of situation; plus an increased volume of information about understanding and interpreting the content of Statspack (and AWR) reports
What will they learn?
- The different methods of generating execution paths, from autotrace to explain to v$sql_plan_statistics_all in great detail and how to choose the right method.
- How to read execution plans -no matter how complex - in a fashion that can be described in just two steps.
- The various omissions and errors that lead to the wrong conclusion when trying to understand how a query might run.
- Extending understanding to features such as distributed joins, parallel execution, and partitioned tables.