
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.
Explore the query optimizer fundamentals, including how it generates and selects execution plans using selectivity, cardinality, and system cost. See how statistics and the shared pool shape plan choices.
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.
Learn how the Oracle optimizer selects access paths for tables and B-tree indexes, including full table scans and index scans such as unique, range, and fast full scans.
Learn how sort merge joins sort two inputs by the joining column, then match them to produce the results, and understand when this method outperforms nested loop or hash joins.
Explore Oracle 12c sql tuning by examining access paths and joins in execution plans, including full table scans, index lookups, and hash and nested loop joins.
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 influence the oracle optimizer with hints to choose indexes or full table scans. Control driving tables and join methods, and pass hints to query blocks.
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 how to influence the Oracle 12c optimizer with hints to control driving tables, join methods (nested loops, hash joins, sort merge), access paths, and index usage, plus qb_name hints.
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 optimizer statistics preferences in Oracle 12c by exploring global and table level settings, defaults, and the impact of overrides on gathered statistics with a 10 percent sample.
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.
Learn to manage Oracle optimizer statistics by creating, publishing, transporting, and comparing statistics, and by generating artificial statistics to test 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.
Manage historical optimizer statistics by restoring old statistics, adjusting retention, purging unused history, exporting and importing to statistics tables, and generating reports on statistics operations.
Manage the optimizer history statistics by adjusting the retention period, monitoring space for histogram data and auxiliary tables, and generating reports on past statistics gathering operations.
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.
Explore how Oracle 12c sql plan directives guide the optimizer, influence statistics collection, and address cardinality mismatches through dynamic sampling and adaptive statistics.
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.
Monitor database operations in real time using DBMS_MONITOR -P2 and EM Express, generate detailed reports, view execution plans, and access performance statistics in Oracle 12c.
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.
Trace and monitor sql statements with dbms_monitor, generating trace files and real-time workload statistics in admin and client windows, then use tkprof to analyze execution plans.
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.