Please note that you can always click on an image in my postings and it will render a clear full sized version in a separate browser page! Also please note that this blog is best viewed with Firefox and Chrome

Monday, March 8, 2010

Oracle Application Performance Tuning Course

I just got done custom creating a new Oracle performance tuning / SQL tuning course, and teaching the beginning of it! This class is ideal for developers that know enough about the database to be a Jr DBA (enough to be dangerous) and emphasizes application tuning, sql tuning, and things developers should be aware of. To summarize, the course that I teach is a full 3 day class on the following topics:

The Performance Review Lifecycle
Database and Table Design Considerations
Database Architecture, Processes, and Parameters that a Developer Should be Aware of
Cursor Lifecycle including soft and hard parses
Bind variables, bind variable peeking and bind variables in your SQL (Dynamic SQL)
Cardinality, Selectivity, Computation, etc.
Statistics, and all subtopics like import/export, gathering, what they do, strategies.
The Oracle Optimizer (LOTS of extensive detail on this important topic)
Understanding how to read an Explain Plan from various tools that produce one.
Other tools to help in tuning - TKPROF, Autotrace, AWR, statspack, ADDM, STA, SPA, etc.
Optimizing Joins and join types
PL/SQL tuning
Utilizing ANSI SQL to out-perform classic Oracle SQL as you've seen it
V$Views to analyze for performance gains
How to identify a Performance Issue that you haven't seen yet.
Tuning in different environments (Oracle 8i, 9i, 10g, 11g, OLTP vs DW vs Bulk movements, etc.)
Tips and Tricks

...and that's all. The initial offering went EXTREMELY well. I was even surprised. Hopefully I will be teaching this class more often! I cannot stress understanding Oracle performance enough, especially to BIDW types who are too used to doing simple joins between a few tables, or let tools like OBIEE with their metadata layers take some of the work out of your hands...for now.