
This is an introduction to the course.
Prepare your Oracle 12c environment by creating a linux-based Oracle VirtualBox appliance, installing Oracle database 12c r2, and creating orIDB with the entry schema; optional swingbench and snapshots enhance practice.
Explore Oracle SQL tuning through automated advisers and manual tools, learn how to diagnose bottlenecks using Oracle interfaces, and understand tuning methodology across the development lifecycle.
Learn to read and describe query execution plans, identify access paths, join methods, and join orders, and compare plans by cost, cardinality, and predicted time to optimize performance.
Discover how to display Oracle execution plans using auto trace, explain plan, plan_table, and display_cursor, compare methods, and read plan details with formats like basic, typical, and all.
Explore methods to display Oracle SQL execution plans, including trace, auto trace, explain plan with plan tables, and cursor-based displays in SQL Developer, enabling disciplined plan analysis.
Explore how the optimizer builds execution plans using sequence operators, access paths, and joins, and distinguish unary from binary operators while examining common join methods and index usage.
Explore how sequence hints influence the Oracle optimizer by guiding goals, access paths, join order, and block names, with examples of all_rows and first_rows hints.
Learn to use hints to influence the optimizer—control the join order and joins, set optimizer mode, and choose access paths. Compare index access versus full table scans and assess costs.
Explore optimizer statistics concepts, including table, column, index, and system statistics, and learn how index layout with root, branch, and leaf blocks and clustering factor drive cardinality estimates.
Examine optimizer statistics for tables and indexes, observe last analyzed and clustering factors, and see how statistics influence execution plans and index performance.
Learn how the Oracle optimizer gathers statistics automatically, monitor the automatic statistics gathering task, and manually gather object statistics using dbms_stats, with focus on maintenance windows, sampling, and histograms.
Study automatic optimizer statistics collection and manual table and index statistics gathering, modify maintenance windows, and observe how clustering factor and cardinality affect execution plans.
Learn how to set and override optimizer statistics preferences across table, schema, database, and global levels, including the estimate_percent parameter and preference overrides, to control statistics gathering behavior.
Learn to manage extended statistics in Oracle 12c by gathering column group statistics for a workload, monitoring activity for five minutes, and comparing actual versus optimizer cardinality in execution plans.
Explore managing Oracle optimizer statistics, including pending and current statistics, transporting statistics between databases, and testing artificial statistics to see their impact on execution plans.
Learn to use the optimizer statistics advisor in automatic and manual modes to monitor, diagnose, and fix advisor issues, run advisory tasks, generate reports, and apply recommendations.
Explore adaptive query optimization in Oracle 12c, learning how adaptive plans and adaptive statistics detect statistic discrepancies and adjust execution plans in real time.
Examine how adaptive plans respond to cardinality mismatches by observing explain plan outputs, nested loops versus hash joins, and execution plans driven by adaptive plan behavior.
Explore how statistics feedback and dynamic statistics help the optimizer adapt execution plans using on-the-fly statistics and dynamic sampling to resolve cardinality mismatches.
Explore how SQL plan directives guide the optimizer when statistics are missing, use dynamic statistics to improve execution plans, and store results in the data dictionary for reuse.
Discover how Oracle 12c cursor sharing boosts performance by replacing literal statements with bind variables, enabling adaptive cursor sharing to prevent suboptimal plans and reduce resource contention.
Explore how Oracle's optimizer handles literals versus bind variables, demonstrates cursor sharing, and adapts execution plans to cardinality and histogram-driven decisions.
Monitor database operations in real time with DBMS_MONITOR, tracking single statements and composite operations, review performance statistics via views, and generate reports for tuning and troubleshooting.
Monitor simple and composite database operations in real time using DBMS_MONITOR, view real-time execution plans, and generate monitoring reports with sql monitor in Oracle.
Trace sql statements with dbms_monitor, process and decode trace files with tkprof for performance insights, and identify sessions by client id, service name, module name, or action name.
Learn multiple Oracle sql tracing methods, enabling events 46 and 153 and tracing sequence statements with 146. Use trace levels and trace analyzer to interpret trace files and optimizer decisions.
Become confident in tuning Oracle SQL statements by understanding how the Oracle optimizer works and learning how to control and influence its decisions.
When a SQL query suddenly becomes slow with no obvious reason, you need the right knowledge, tools, and methodology to identify the bottleneck and apply the correct solution. This course teaches you exactly how to do that, using a hands-on, practical approach.
The course goes beyond theory. Every concept is followed by real implementation exercises, allowing you to practice SQL tuning techniques step by step using Oracle Database 12c.
You will learn how to:
Troubleshoot SQL performance issues methodically
Understand Oracle optimizer architecture and internal operations
Influence optimizer behavior using:
SQL Profiles
SQL Plan Baselines (SPM)
Directives
SQL Hints
Cursor Sharing
Use Oracle SQL performance advisory tools, including:
SQL Tuning Advisor
SQL Access Advisor
Optimizer Statistics Advisor
SPM Evolve Advisor
SQL Performance Analyzer
Apply advanced SQL tuning techniques, such as:
Histograms
Advanced indexing strategies
Server Result Cache
Star Transformation
This course is designed for Oracle developers and DBAs who want to move beyond basic indexing and execution plans. You will learn how to trace SQL statements, analyze execution behavior, and make informed tuning decisions.
By the end of the course, you will be able to identify SQL performance bottlenecks, understand why they occur, and apply effective tuning solutions with confidence.
Join this learning journey and master one of the most valuable skills in Oracle performance tuning.