Conference Presentations

• Enjoy Craig's research, writing and teaching in PowerPoint format •

Really small print disclaimer: Please remember that Craig's PPTs are only a small part of his presentation. What he displays, speaks and demonstrates IS his presentation. But, we still want you to benefit from his PPT slides and make them available when appropriate.

Navigating Your DBA Career In The Oracle Cloud

While some things never change, some things do. And it's the things that change that can have a huge impact on us and our families. The cloud is here stay which means as Oracle DBAs we need to adjust or get out of the game. This presentation will help you understand what has happened and happening, what you can expect and do today to position yourself to thrive in a cloud world, which is full of exciting opportunities.

Most recent presention: October 2017 Oracle OpenWorld (San Francisco)

Details and Download


How To Do An Oracle Time-Based Performance Analysis

Oracle DBAs often unknowingly include emotion and folklore into their performance analysis. Unless you have a quantitative approach, your analysis will always be subjective. In this session you will learn how to set up and perform a time-based analysis based on an AWR or Statspack report. We will cover where to get performance data, how to construct your diagnostic framework and then how to derive targeted performance solutions. Now you will be able to truly remove the guessing from your performance work.

Most recent presention: October 2017 Oracle OpenWorld (San Francisco)

Details and Download


How To Choose Your Best Oracle Cloud Performance Analysis Strategy

The Oracle Cloud provides amazing application performance opportunities. But sometimes there are still unhappy users. So, what is your best analysis strategy? We have two fundamental strategies. Knowing their differences and how to exploit them gives you the optimization edge. In this presentation, I introduce each strategy, highlight how they work, contrast their differences and demonstrate live each strategy.

Most recent presention: September 2017 COUG (Chicago, IL)

Details and Download


Maximizing Oracle Cloud Buffer Cache Throughput

Part of our job as an Oracle Cloud DBA is to understand the buffer cache and maximize the work flowing through it. This presentation focuses squarely on identifying and resolving free buffer waits. We start by developing a clear understanding of the relevant Oracle Cloud internals and then develop solutions by focusing on tweaking Oracle, the application (including the SQL), and the IO subsystem. This is a very practical yet deep internals presentation, filled with amazing discoveries about how Oracle works.

Most recent presention: July 2017 LAT OTN Tour (Chile, Uruguay, Argentina, Barzil, Peru)

Details and Download


How To Diagnose Random Oracle Cloud Performance Incidents Using ASH

Even in the Oracle Cloud, rare and random short-lived performance incidents can occur. These incidents present Oracle Cloud DBAs with a challenge. In this presentation, I begin with why ASH (active session history) is so powerful, how it works and how we use ASH to solve complex performance incidents. Using only four free scripts, I will lead you through an incident analysis process. Plus, I will show you how to visualize the performance situation using the free statistics package R.

Most recent presention: July 2017 LAT OTN Tour (Chile, Argentina, Paraguay

Details and Download


How To Tell If There Is A Memory Shortage And What To Do About It

An OS memory shortage can cause bizarre and intense performance situations. In this presentation we will explore different ways to tell if there is a memory shortage and how this affects Oracle performance. Craig will introduce the OS tools vmstat, iostat, top and sar. Then the fun starts! Using a simple shell script, Craig will slowly increase memory usage and we will watch what happens using the tools I previously introduced. As you will see, a memory bottleneck (excuse me, memory pressure) can cause some truly strange performance behavior.

Most recent presention: April 2017 IOUG (Las Vegas, NV USA)

Details and Download


Understanding And Resolving Oracle Cache Buffer Chain Wait/Latch Contention

The numbers are intimidating, perhaps trillions within a single hour. When a server process needs to access a buffer it must first access the cache buffer chain (CBC) structure to determine if the buffer is in the buffer cache. While serialization control protects the CBC structure, given high concurrency and just the right workload mix, performance can be a problem. Learning about the relevant Oracle internals and how to diagnose and solve CBC performance problems is what this presentation is all about.

Most recent presention: June 2016 ODTUG/KScope (Chicago, IL USA)

Details and Download


How To Start Blogging To Propel Your Career

After mentoring people in this area, Craig discovered a kind of formula or process to help DBAs get started with blogging in a way that meets their objectives. It is not as difficult as you might think, but if you just "wing it" you will likely become frustrated and disappointed with the results. Craig leads you through this process, pointing out a number of "gotchas" and gives tips to make your blog become a living resume of your professional life.

Most recent presention: April 2016 IOUG/Collaborate (Las Vegas, NV USA)

Details and Download


Let’s Build Something! Building Your Own ASH Toolkit

Let's build something... of value! ASH provides Oracle DBAs with an amazing set of performance data. Because ASH analysis is based on statistics, many DBAs shy away from ASH or use it inappropriately. In this session, Craig will show you how to build four highly flexible ASH-based scripts: summary, top wait, top cpu and session time-line.

Most recent presention: Feburary 2016 RMOUG (Denver, CO USA)

Details and Download


Creative Oracle 12c Redo Maneuvers

Oracle database performance can be hindered by the flow of redo. In Oracle 12c and prior releases there are a number of creative maneuvers Oracle DBAs can implement that increase the redo flow, reducing log file sync and log file parallel write wait times. This presentation explores such maneuvers, as well as redo process and memory architecture. Conclusions are reached and explained through experimental research (which is presented) and operating system tracing of Oracle processes.

Most recent presention: October 2015 OOW (San Francisco, CA USA)

Details and Download


So You Want To Start Your Own Business

How many times have you said to yourself, “If I was my own boss my life would be so much better.” Yes, here in America, starting your own business is easy, but the real truth is it is way harder than it looks. Join Katrina Shallahamer, long time business owner, as she tells the story of her and her husband’s company and the lessons they have learned along the way since they started their company 17 years ago.

Most recent presention: October 2015 SOUG (Tampa, FL USA)

Details and Download


Merging Oracle Time-Based Analysis With Queuing Theory For Practical Results

What is unique about Craig's workshop presentation is he combines Oracle Time-Based Analysis with queuing theory. In doing so, using MS Excel, Craig (and the students) create response time graphs from production AWR reports AND anticipate a SQL statement's elapsed time by tuning it!

Most recent presention: April 2014 IOUG/Collaborate (Las Vegas, NV USA)

Details and Download


Practical Queuing Theory: An Introduction For Oracle DBAs And Developers

From driving in traffic to being served at a restaurant, every person feels the impact of queuing theory. Queuing theory beautifully relates time and work into terms we can feel, like utilization, workload intensity, response time, elapsed time and systems architecture design. With only the basics we can use queuing theory to derive targeted performance solutions, filter and evaluate any performance solution thrown at us, and help non-technical people understand why our solutions make sense.

Most recent presention: August 2015 NoCOUG (San Francisco, CA USA)

Details and Download


Identifying High Risk SQL Before The Upgrade

This is a fascinating session about how to creatively identify true risk. Different systems, like SQL and QAT, can have run time differences. The trick is creating an apples-to-apples QAT-to-Production comparison. This session will focus on how to factor in and remove the problem of CPU speed differences and workload intensity differences.

Most recent presention: April 2015 IOUG/Collaborate (Las Vegas, NV USA)

Details and Download


Cursors, Child Cursors And More Child Cursors

Learn about Oracle library cache internals focusing on cursors and child cursors. Multiple child cursors is essential for many applications but when hundreds or thousands are created, massive performance problems can occur. Craig covers how multiple child cursors occur, how to detect if it's a problem and what to do about it.

Most recent presention: May 2013 GLOC

Details and Download


Understanding Oracle CPU Consumption: The Missing Link

Oracle has the world's most advanced database wait time instrumentation. However, Oracle does not instrument CPU consumption. This presents the Oracle DBA with a tuning handicap because CPU consumption can be a significant component of response time. The unintentional result can be solutions with a wait time bias. In this PPT, you will learn how to determine where Oracle is consuming CPU and how to use this in formulating targeted performance solutions. Now you will be able to effectively focus on reducing both CPU consumption and wait time.

Most recent presention: October 2014 AUSOUG (Australia OUG)

Details and Download


The Average Deception

The word "average" immediately conjures up pictures of a nice, evenly balanced figure with the results being higher sometimes and lower sometimes. However, in Oracle performance analysis this is rarely the case. This reality mismatch, observing it and using it to our analysis advantage, is what this PPT is all about. Experimental and production system evidence shows SQL elapsed times, wait event times, transaction arrival rates, and the time to service a transaction are clearly not normally distributed. By understanding what actually occurs we can communicate more clearly, set better expectations, focus on what is really important, anticipate solution impact, and draw many interesting conclusions.

Most recent presention: November 2012 BGOUG (Bulgaria OUG)

Details and Download


Unit Of Work Time-Based Analysis

Most Oracle performance analysis is time-based with the focus on "total time," for example, the time to process a SQL statement. But, there is a deeper way to understand performance. By focusing on the time it takes to process a single piece of data work (think: LIO), we open up an entirely new arena for advanced performance analysis. This presentation is an introduction to Unit Of Work Time-Based Analysis (UOWTBA). Its purpose is to simply expose you to the potential, show you how and why it works along with a couple of examples.

Most recent presention: August 2014 NoCOUG (San Francisco, CA USA)

Details and Download


Two Applications Of Oracle Serialization Control

Now that you understand memory structure access control, let's apply it in a couple of non-traditional yet practical areas. First, Craig will focus on cache buffer chain performance analysis. He will lead you step-by-step through the process focusing on situations when there is a hot buffer. Second, Craig will teach you why tuning serialization control broadly impacts performance, and how you can use this knowledge to anticipate the elapsed time of a specific SQL statement.

Most recent presention: August 2014 NoCOUG (San Francisco, CA USA)

Details and Download


Understanding Oracle Memory Serialization Control

Memory serialization control is core to Oracle database operations. One of the most fascinating topics in Oracle internals and performance optimization is serialization. Craig will look at when serialization is used, how it works, how we can influence its operation, and how we can diagnose problems. To get the upper hand on serialization control, this PPT will explore the lock (a little), the latch (a lot), and the mutex (a whole lot). This is a very practical yet deep internals presentation, filled with amazing discoveries about how Oracle works.

Most Recent Presentation: June 2015 KSCOPE15 (HollyWood, Florida USA)

Details and Download


Stop The Guessing! Using Time-Based Analysis To Improve Oracle Performance

Armed with this time-based approach, you will be able to truly remove the guessing from your performance work. We will also explore how SolarWinds Database Performance Analyzer can improve your time-based performance analysis practice.

Most Recent Presentation: November 2014 AUSOUG/DBTech Showcase (Australia, Japan)

Details and Download


Calculating OS CPU Utilization From V$ Views, AWR and Statspack

Oracle collects the data we need to calculate the OS CPU utilization. The data is stored in v$ views and both AWR and Statspack tables. This short presentation will introduce the utilization concept and then demonstrate how you can quickly calculate or even “eye ball” utilization from an AWR or Statspack report using two different methods.

Most Recent Presentation: April 2014 IOUG/Collaborate (Las Vegas, NV USA)

Details and Download


Total Performance Management (classic)

This is a timeless paper. It is as relevant today as it was way back in 1995... As management expectations upon the DBA increase, the need to maintain optimal performance, with every increasing application complexity and increasing data volume, has placed many DBAs in a frenzy. In a desperate rush to maintain performance, DBAs are now rushing to purchase system management tools. As a result, we now have a mishmash of system management tools, tuning tools, and techniques with no holistic method to manage performance. Total Performance Management (TPM) is a living holistic methodology. This paper concentrates on the method not on the evolving programs.

Most recent presention: February 1995 OOW (San Francisco, CA USA)

Details and Download