Get in Touch

Course Outline

Application Tuning Methodology

Database and Instance Architecture

  • Server processes
  • Memory structures (SGA, PGA)
  • Parsing and shared cursors
  • Data files, log files, and parameter files

Analysis of Command Execution Plans

  • Hypothetical plans (EXPLAIN PLAN, SQLPlus AutoTrace, XPlan)
  • Actual execution plans (V$SQL_PLAN, XPlan, AWR)

Monitoring Performance and Identifying Bottlenecks

  • Monitoring current instance status via system dictionary views
  • Reviewing historical dictionary data
  • Tracking applications (SQLTrace, TkProf, TreSess)

The Optimisation Process

  • Cost-based optimisation properties and rules
  • Determining optimisation strategies

Controlling the Cost-Based Optimiser via:

  • Session and instance parameters
  • Hints
  • Query plan patterns

Statistics and Histograms

  • The impact of statistics and histograms on performance
  • Methods for collecting statistics and histograms
  • Strategies for counting and estimating statistics
  • Managing statistics: blocking, copying, editing, automating collection, and monitoring changes
  • Dynamic data sampling (temporary tables, complex predicates)
  • Multi-column and expression-based statistics
  • System statistics

Logical and Physical Database Structure

  • Tablespaces
  • Segments
  • Extensions (EXTENTS)
  • Blocks

Data Storage Methods

  • Physical aspects of tables
  • Temporary tables
  • Indexed tables
  • External tables
  • Partitioned tables (range, list, hash, hybrid)
  • Physical reorganisation of tables

Materialized Views and Query Rewrite Mechanisms

Data Indexing Methods

  • Building B-TREE indexes
  • Index properties
  • Types of indexes: unique, multi-column, function-based, and descending
  • Compressed indexes
  • Rebuilding and coalescing indexes
  • Virtual indexes
  • Private and public indexes
  • Bitmap indexes and joins

Case Study - Full Table Scans

  • The impact of table and block placement on read performance
  • Conventional vs. direct-path data loading
  • Predicate ordering

Case Study - Index-Access Data Retrieval

  • Index read methods (UNIQUE SCAN, RANGE SCAN, FULL SCAN, FAST FULL SCAN, MIN/MAX SCAN)
  • Utilising function-based indexes
  • Index selectivity (Clustering Factor)
  • Multi-column indexes and SKIP SCAN
  • Handling NULLs in indexes
  • Index-Organised Tables (IOTs)
  • Impact of DML operations on indexes

Case Study - Sorting

  • In-memory sorting
  • Index-based sorting
  • Linguistic sorting
  • The effect of entropy on sorting (Clustering Factor)

Case Study - Joins and Subqueries

  • Join methods: MERGE, HASH, NESTED LOOP
  • Joins in OLTP vs. OLAP systems
  • Join order optimisation
  • Outer Joins
  • Anti-joins
  • Semi-joins
  • Simple subqueries
  • Correlated subqueries
  • Views and the WITH clause

Other Cost-Based Optimiser Operations

  • Buffer Sort
  • INLIST
  • VIEW
  • FILTER
  • Count Stop Key
  • Result Cache

Distributed Queries

  • Reading query plans involving DB Links
  • Selecting leading tables

Parallel Processing

Requirements

  • Proficiency in basic SQL and a solid understanding of the Oracle database environment (completion of the Oracle 11g 'Native SQL for Programmers' training is recommended)
  • Practical experience working with Oracle
 28 Hours

Number of participants


Price per participant

Testimonials (2)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories