What do you get

Note that I am working on rebuilding and re-recording the entire AOT class material (ready in 2nd half of 2022). If you sign up now, you will get access both to the current and 2022 version of the class!

Course curriculum

  1. 1
    • Getting Started with the Learning Platform

    • Next Live Session (US Morning/Europe)

    • Next Live Session (US Evening/APAC)

    • Download Slides & Scripts

    • Slack & GitHub community

    • Lab setup instructions (optional)

  2. 2
    • 01-01-Intro-About

    • 01-02-Intro-Systematic-Approach

    • 01-03-Tools-Snapper-Ashtop

    • 01-04-Measuring-Session-Level-Activity

    • 01-05-Session-Level-Demos-Examples

    • 01-06-Session-Activity-Fields

    • 01-07-Oracle-Wait-Interface

    • 01-08-CPU-Usage-Workload-Analysis

  3. 3
    • 02-01-Physical-IO-Workload-Analysis

    • 02-02-Demo-Slow-Query-Ashtop-Asqlmon

    • 02-03-SQL-Efficiency-IO-Usage-Analysis

    • 02-04-How-Does-Oracle-IO-Work

    • 02-05-Indirect-IO-Waits-DBWR-CKPT

    • 02-06-Oracle-IO-Metrics

    • 02-07-OS-Block-Devices

    • 02-08-OS-IO-Troubleshooting-Iostat

    • 02-09-OS-IO-Throttling-Demo

    • 02-10-Question-Exadata-IO-Metrics

    • 02-11-Question-Bind-Peeking

    • 02-12-ORA-12850-Comment

  4. 4
    • 03-01-Transactions-Consistent-Reads

    • 03-02-High-Redo-Undo-Generation

    • 03-03-Comment-Background-Processes

    • 03-04-Big-Transactions

    • 03-05-Blocking-Transactions-Recovery

    • 03-06-Log-File-Sync-Breakdown

    • 03-07-Log-File-Parallel-Write-Demo

    • 03-08-Question-Multiple-LGWR-Writer-Slaves

    • 03-09-Find-Top-Committing-Sessions

    • 03-10-LGWR-Overhead-Scheduling-Latency

  5. 5
    • 04-01-OS-Level-Memory-Shortage

    • 04-02-Process-Level-Memory-Usage-Drilldown

    • 04-03-Linux-Memory-Usage-Details-Smem

    • 04-04-Measuring-Mem-Usage-Inside-Oracle

    • 04-05-SQL-Workareas

    • 04-06-Detailed-PGA-Drilldown-Heapdump

    • 04-07-Private-Memory-Allocation-Internals

    • 04-08-OS-Memory-Allocation-Gotchas

    • 04-09-Oracle-SGA-Large-Pages

    • 04-10-SGA-Target-Granules-Components

    • 04-11-Question-Result-Cache

  6. 6
    • 05-01-Shared-Pool-Intro

    • 05-02-Memory-Allocation-Freelists

    • 05-03-Memory-Allocation-Flushing-Chunks

    • 05-04-Subpools-and-Durations

    • 05-05-Chunk-Flushing-Reasons

    • 05-06-ORA-4031-Heapdumps

    • 05-07-Top-Shared-Pool-Flushers

    • 05-08-Fragmentation-Find-Main-Allocators

    • 05-09-Nonshared-Child-Cursors

    • 05-10-ORA-1000-Cursor-Leaks

    • 05-11-Child-Cursors-Optimizer-Environment

  7. 7
    • 06-01-Enqueue-Locks-Intro-Internals

    • 06-02-Enqueue-Lock-Modes-and-Identifiers

    • 06-03-Lock-Waits-Holders-Demo

    • 06-04-Lock-Contention-Demo-ASH

    • 06-05-Blocking-Session-Background-Process

    • 06-06-Blocking-Sessions-Last-SQL-Statement

    • 06-07-TM-TX-Locks

    • 06-08-Row-Level-Locking-TX-Wait

    • 06-09-Lock-Types-and-Resource-Busy

  8. 8
    • 07-01-Latches-Intro-Internals

    • 07-02-Latch-Contention-Troubleshooting-Traditional

    • 07-03-Latch-Holder-Troubleshooting-LatchProf

    • 07-04-Other-Details-Common-Reasons

    • 07-05-Demo-Advanced-LatchProfX

    • 07-06-Demo-Cache-Buffers-Chains-Attempt-1

    • 07-07-Demo-SQL-Net-Break-Reset-Surprise

    • 07-08-Demo-Cache-Buffers-Chains-Attempt-2

    • 07-09-Demo-Enqueue-Hash-Chains-Latch

    • 07-10-Summary-CPU-Starvation

  9. 9
    • 08-07-Library-Cache-Mutex-Evolution

    • 08-09-Mutex-Troubleshooting-Other

    • 08-06-Mutexes-Introduction

    • 08-05-Library-Cache-Pins

    • 08-01-Library-Cache-Intro-Objects

    • 08-04-Library-Cache-Locks

    • 08-03-End-to-End-View-Of-a-Cursor

    • 08-02-Library-Cache-Lookup-Hash-Value

    • 08-08-Mutex-Troubleshooting-Wait-Events

  10. 10
    • 09-07-Cant-Log-In-as-Sysdba

    • 09-04-Complex-Hangs-State-Objects

    • 09-03-Demo-Wait-Interface-Bug

    • 09-01-Advanced-Session-Level-Troubleshooting

    • 09-02-Drilling-Down-to-Process-Stack

    • 09-12-Question-RAC-GC-Buffer-Busy-Waits

    • 09-06-Hang-Analysis-Hanganalyze

    • 09-10-Question-Multitenant-Troubleshooting

    • 09-11-Question-RAC-Troubleshooting

    • 09-05-Processstate-Systemstate-Dumps

    • 09-09-Prev-Class-Deadlocks

    • 09-08-Prev-Class-Process-Stack

  11. 11
    • 10-02-Process-Crashes-ORA-7445

    • 10-04-Instance-Crashes-Demo

    • 10-01-Process-Crashes-ORA-600

    • 10-03-Prev-Class-Diagnostic-Events

  12. 12
    • June 2022 Afternoon

    • July 2022 Morning

    • July 2022 Evening

    • August 2022 Morning

    • August 2022 Evening

    • October 2022 Morning

    • October 2022 Evening

    • November 2022 Morning

    • December 2022 Morning

How does this work?

Attending & Logistics

When you sign up, you will immediately get access to the following (for the next 12 months):

  1. Online streamable videos
  2. Training slides, scripts and other material
  3. Invitation to training members-only Slack forum (most active during learning weeks) 


Tanel will separately send you the following (currently the invitations are not fully automated):

  1. Links for downloading training video files for your personal "forever-use"
  2. Invitation to training GitHub community (most active during learning weeks)
  3. Invitation to training follow-up live Q&A webinars with Tanel (during learning weeks) 


You can check the 2022 schedule of learning weeks here:  


More details, terms & conditions and logistics here:


If you have any more questions about the training setup and logistics, you can email Tanel here:



Thanks and See You Soon!