Oracle 10g SQL Tuning Training |
Oracle10g SQL Tuning for Developers and DBAs
Have you learned about optimizer (CBO) features like bind variable peeking, histograms, dynamic sampling? Do you know when hints should be used - and when they should not? No? Then why expect your SQL statements to perform (and scale) well? This hands-on course will provide you with the skills necessary to create scalable, high performance SQL-based Oracle applications (proactive SQL tuning). You will also learn how to identify existing high-load, poor performing SQL statements and tune them (reactive SQL tuning). Particular attention is paid to making the best use of Oracle architecture, bench-marking various SQL formulations and identifying the best schema object (e.g. heap table, IOT, etc.) for a given situation. Oracle10g introduces "automatic tuning" features such as the Automatic Workload Repository, Automatic Database Diagnostic Monitor and SQL Tuning Advisor. These features are covered in this class. The course also includes a lesson on tuning PL/SQL programs. This includes using bulk processing and profiling to identify high-load statements. Working examples are included throughout the course book. Students have access to electronic versions of all sample scripts and lab solutions. Approximately 50% of class time is spent on hands-on exercises. As with all of our courses, this class is highly customizable to your specific training requirements. Hands-on workshops constitute approximately 50% of the class. Audience: Application developers and database administrators. Analysts with strong Oracle SQL skills will also benefit from this course. /This course is n ot intended for end-users/. Prerequisites: Solid experience with Oracle SQL. PL/SQL programming is required to understand the lesson on PL/SQL tuning. This knowledge can be obtained via the following SkillBuilders' courses:
Next Courses: Effective Data Warehousing in Oracle, Advanced SQL Queries for Oracle10g Databases, Oracle10g Database Administration. Objectives: After successfully completing this course, you will be able to:Successfully improve the performance of SQL-based applications Have a solid understanding of Oracle architecture. Specifically, you will: Understand the purpose of the Oracle primary memory structures (e.g. SGA, PGA) Understand Oracle query processing technology including parsing (soft parse, hard parse), cursors, the importance of bind variables, optimizer statistics and more Understand Oracle lock architecture, and code applications that do not impede scalability Determine what type of data storage object is best for your application. Specifically, you will: Understand the various data storage options (e.g. heap, index organized, cluster, sorted hash cluster, etc) and benchmark which provides the best performance for your situation Choose which index type best fits for a given scenario Use the latest tuning techniques including: Use the EXPLAIN PLAN and V$SQL_PLAN to externalize access path choices made by the optimizer Use SQL Trace and V$SQL_PLAN_STATISTICS to find the least expensive and best performing solution Query many "V$" dynamic performance views to aid your understanding of Oracle and a particular situation Describe the various access paths used by Oracle, and usually understand why the optimizer chose one access path over another Rewrite queries with the goal of finding a less expensive query (note that to some degree this objective relies on your preexisting knowledge of Oracle SQL) Identify queries that are blocked and find the source of the blocking lock Use HINTs to influence optimizer choices Create histograms to educate the optimizer about skewed data Take advantage of parallel processing features Know how to use the 10g-specific automatic SQL tuning features Know when to implement parallel query and parallel DML operations Implement the Oracle plan stability feature Tune PL/SQL programs including (but not limited to): Using DBMS_PROFILER and DBMS_TRACE to identify areas within the code that deserve your attention Use bulk processing to improve performance Avoiding inefficient lookups Coding pipelined table functions Topic SummaryIntroduction to Oracle SQL Tuning
SQL Statement Processing
Viewing The Execution Plan
Using SQL Trace and TKPROF
The Importance of Bind Variables
Getting to Know Cost Based Optimization
Learning the Access Paths
Using Hints
Schema (Data Storage) Options
Indexes, Part I - All About B-Tree Indexes
Indexes, Part II - Introduction to Other Index Types
Using Oracle10g Advisors to Tune SQL
Impact of Reformulating SQL Statements
Join and Subquery Access Paths
Concurrency Control
Parallel Query
Optimizer Plan Stability
Tuning Views
PL/SQL Tuning
|