Workshop: Run Oracle Database Upgrades on Docker

By Sean Scott

Elevator Pitch

Where will you practice your next upgrade? How many chances will database teams have to familiarize themselves with the tools, and how prepared will they be if something goes wrong?

Docker makes it easy to rehearse upgrades and produces more confident teams and better outcomes!


Organizations planning for an Oracle upgrade should consider Docker in their upgrade strategy. Docker is an ideal environment for evaluating and testing Oracle database features and upgrades are no exception. Creating an Oracle database in Docker is fast and easily repeated. Containers require little time or effort to create and are light enough to run on a laptop. This makes Docker the ideal platform for evaluating, practicing and perfecting database upgrade procedures.

In this session I’ll demonstrate:

  • Approaches for installing, patching and customizing Oracle database software on Docker
  • Modifications needed in Oracle’s default Docker image builds to support upgrades
  • Techniques for creating “upgrade containers” with source and target Oracle database homes preinstalled
  • How to merge multiple database images into a single container
  • Methods for creating reference data for running “instant” databases


Championship sports teams know the importance of practice. But technology teams often begin their “pre-season” on active, pre-production systems and graduate to the “final game” after just a few tests of the process. This produces fragile, inadequately tested processes and teams that aren’t familiar with troubleshooting needed when things go wrong. The most likely place for something to go wrong? The last and likely most complicated environment—production!

Docker offers a means for individuals and teams to drill and rehearse the upgrade process, even introducing problem scenarios that help solidify skills and build confidence. In this presentation I share approaches and considerations for building Docker images specifically for practicing upgrades.

I’ve been building Oracle databases on Docker for seven years and presented sessions, workshops and hands on labs at dozens of user group meetings and conferences. I’ve created specialized images for testing and evaluating upgrades across a wide range of source and target versions and put this experience to work to develop labs for teaching upgrades.