Duration
3 days
What you will learn
This course assists database developers, DBAs and SQL developers to identify and tune inefficient SQL statements. Learn investigative methods to reveal varying levels of detail about how the Oracle database executes the SQL statement; this helps you determine the root causes of the inefficient SQL statements.
Learn To:
Use Oracle tools to identify inefficient SQL statements. Use Automatic SQL Tuning.
Use Real Time SQL monitoring.
Write more efficient SQL statements. Monitor and trace high load SQL statements.
Manage optimizer statistics on database objects.
Interpret execution plans, and the different ways in which data can be accessed.
Explore the Optimizer
Expert instructors will also help you explore how the optimizer chooses the path. You'll also learn how to influence the optimizer to ensure the best method is used.
Automatic SQL Tuning Tools
This course covers Automatic SQL Tuning tools and resources available in the Automatic Workload Repository. Furthermore, take advantage of bind variables, trace files and different types of indexes.
Note:
This course is based on Oracle Database 11g Release 2.
Audience
Application Developers
Data Warehouse Administrator Data Warehouse Developer Database Administrators
Developer PL/SQL Developer Support Engineer
Related Training
Required Prerequisites
Oracle Database: Introduction to SQL
Suggested Prerequisites
Oracle Database: SQL Fundamentals I
Course Objectives
Identify poorly performing SQL
Trace an application through its different levels of the application architecture Understand how the Query Optimizer makes decisions about how to access data Define how optimizer statistics affect the performance of SQL
List the possible methods of accessing data, including different join methods Modify a SQL statement to perform at its best
Course Topics
Exploring the Oracle Database Architecture Oracle Database Server Architecture: Overview Connecting to the Database Instance
Physical Structure
Oracle Database Memory Structures: Overview Automatic Shared Memory Management Automated SQL Execution Memory Management
Database Storage Architecture, Logical and Physical Database Structures Segments, Extents, and Blocks & SYSTEM and SYSAUX Tablespaces
Introduction to SQL Tuning
Reason for Inefficient SQL Performance Performance Monitoring Solutions Monitoring and Tuning Tools: Overview CPU and Wait Time Tuning Dimensions
Scalability with Application Design, Implementation, and Configuration Common Mistakes on Customer systems & Proactive Tuning Methodology Simplicity in Application Design
Data Modeling, Table Design, Index Design, Using Views, SQL Execution Efficiency, Overview of SQL*Plus & SQL Developer
Introduction to the Optimizer
Structured Query Language
SQL Statement Parsing: Overview Why Do You Need an Optimizer?
Optimization During Hard Parse Operation Transformer & Estimator
Cost-Based Optimizer Plan Generator
Controlling the Behavior of the Optimizer, Optimizer Features and Oracle Database Releases
Interpreting Execution Plans
What Is an Execution Plan? Where To Find Execution Plans and Viewing Execution Plans Plan Table & AUTOTRACE
Using the V$SQL_PLAN View Automatic Workload Repository (AWR) SQL Monitoring: Overview
Interpreting an Execution Plan
Reading More Complex Execution Plans and Reviewing the Execution Plan Looking Beyond Execution Plans
Application Tracing
End-to-End Application Tracing Challenge Location for Diagnostic Traces
What is a Service? Use Services with Client Applications & Tracing Services Use Enterprise Manager to Trace Services
Session Level Tracing: Example
The trcsess Utility and SQL Trace File Contents
Invoking the tkprof Utility and Output of the tkprof Command
tkprof Output with and without Index: Example
Optimizer: Table and Index Operations
Row Source Operations, Main Structures and Access Paths Full Table Scan
Indexes: Overview and B*-tree Indexes and Nulls Using Indexes: Considering Nullable Columns Index-Organized Tables
Bitmap Indexes, Bitmap Operations and Bitmap Join Index Composite Indexes and Invisible Index
Guidelines for Managing Indexes and Investigating Index Usage
Optimizer Join Methods
Nested Loops Join
Nested Loops Join: 11g Implementation Sort Merge join
Hash Join and Cartesian Join Equijoins and Nonequijoins Outer Joins
Semijoins Antijoins
Optimizer: Other Operators
When Are Clusters Useful?
Sorting Operators and Buffer Sort Operator Inlist Iterator and View Operator
Count Stop Key Operator
Min/Max and First Row Operators and Other N-Array Operations Filter operations and Concatenation Operations
UNION [ALL], INTERSECT, MINUS
Result Cache Operator
Case Study: Star Transformation
The Star Schema Model and The Snowflake Schema Model
Star Transformation
Retrieving Fact Rows from One Dimension and from All Dimensions Joining the Intermediate Result Set with Dimensions
Star Transformation Plan Examples Star Transformation Hints
Using Bitmap Join Indexes
Bitmap Join Indexes: Join Model 1 to 4
Optimizer Statistics
Types of Optimizer Statistics Table, Index and Column Statistics Index Clustering Factor
Histograms, Frequency Histograms and Histogram Considerations Multicolumn Statistics and Expression Statistics Overview Gathering System Statistics and Statistic Preferences
Manual Statistics Gathering
Locking Statistics, Export/Import Statistics and Set Statistics
Using Bind Variables
Cursor Sharing and Different Literal Values Cursor Sharing and Bind Variables
Bind Variable Peeking
Cursor Sharing Enhancements The CURSOR_SHARING Parameter Forcing Cursor Sharing
Adaptive Cursor Sharing
Interacting with Adaptive Cursor Sharing
Using SQL Tuning Advisor
Tuning SQL Statements Automatically Application Tuning Challenges
SQL Tuning Advisor: Overview
Stale or Missing Object Statistics and SQL Statement Profiling Plan Tuning Flow and SQL Profile Creation
SQL Tuning Loop, Access Path Analysis and SQL Structure Analysis Database Control and SQL Tuning Advisor
Implementing Recommendations
Using SQL Access Advisor SQL Access Advisor: Overview Possible Recommendations
SQL Access Advisor Session: Initial Options SQL Access Advisor: Workload Source
SQL Access Advisor: Recommendation Options SQL Access Advisor: Schedule and Review
SQL Access Advisor: Results
SQL Access Advisor: Results and Implementation
Using Automatic SQL Tuning
SQL Tuning Loop Automatic SQL Tuning Automatic Tuning Process
Configuring Automatic SQL Tuning Automatic SQL Tuning: Result Summary Automatic SQL Tuning: Result Details
Automatic SQL Tuning Result Details: Drilldown Automatic SQL Tuning Considerations
SQL Performance Management
Maintaining SQL Performance and SQL Plan Management: Overview SQL Plan Baseline: Architecture
Important Baseline SQL Plan Attributes SQL Plan Selection
Possible SQL Plan Manageability Scenarios
SQL Performance Analyzer and SQL Plan Baseline Scenario
Loading a SQL Plan Baseline Automatically and Purging SQL Management Base Policy Enterprise Manager and SQL Plan Baselines
Programme scope, delivery arrangements and suitability are confirmed during enquiry.