Oracle on Docker+ONTAP

I started experimenting with Oracle on Docker a few months ago. Years ago, I was invited to a few meetings with Docker folks, but nobody could see a need to support persistent storage for Docker containers. Obviously if you want to run a database, you’ll want persistent storage, so I lost interest.

I knew NetApp had a docker volume driver, and I figured now was a time to take a look. I was also surprised to see Oracle has really, really good support for Docker now. Last year when I checked on such support, all I could find is some blogs where various people gave up trying to make it work. They’ve certainly resolved that now.

Here’s the results of my tinkering:

https://www.brainshark.com/netapp/vu?pi=zFsz168iW5z2TCHz0

Dockerized Oracle seems truly production-ready. It’s already made my life easier within the lab because I can provision a database in 30 seconds, and can also clone any of them in about 30 seconds. It just occurred to me now that this could simplify a lot of performance engineering projects. I could make some Docker image that are preconfigured to run various SLOB2 performance workloads and make the images available to our engineering teams.

Dockerized Oracle might not be right for a bank processing credit card transactions, but it would meet most requirements, especially for DevOps infrastructures.

I’m working with heavily customized versions of the Oracle dockerfiles and associated utilities. The high-level storage automation might be aimed at Oracle databases, but it could be adapted to any database platform. It’s currently using NFS, but it could also be adapted to iSCSI. It’s also using ONTAP, but could be adapted to SolidFire.

3 thoughts on “Oracle on Docker+ONTAP

  1. Thanks for the post and the brainshark video. I heard your interview on the Tech ONTAP podcast and there was something you said (or that I thought I heard) about Oracle 12c and snapshot backups (and the fact that you don’t need to put Oracle in hot/cold/whatever backup mode when taking snapshot backups). This article seems to cover that concept:

    https://docs.oracle.com/database/121/BRADV/osbackup.htm#BRADV90019

    Do you know if there’s a TR/etc out there that talks about this scenario specific to NetApp? What tools (if any) are required? Best practices? Etc? We’re a quasi-SMO shop (just for our OBI datastore) but maybe something like this might re-interest our DBAs in snapshots as backups…

    Thanks again!

    Chris

    Like

    1. I know you found your answer, but I wanted to follow up on this anyway.

      So, TR-4591 discusses the lack of need to put Oracle in hot backup mode.

      We’ve had a lot of discussions about this in the NetApp experts group. Is “alter database begin/end backup” necessary any more? I don’t think it is.

      If you think about it, the Oracle architecture never should have needed this procedure. There are SCN numbers all over the place in datafile blocks and headers. The database should have been able to recover a database using this data.

      If you don’t have a snapshot that is atomic, it would be REALLY slow because Oracle would have to scan every block to sort out which blocks might have fractured or are not current. It would then have to scan a lot of archive log data to find the right data. The hot backup procedure would avoid that problem by freezing the SCN on the datafile headers. That allows the software to immediately dive into the archive logs, find the right logs, and start replaying the transactions until it finds the moment the database left hot backup mode.

      With the ability to create a snapshot that is atomic, hot backup isn’t really required. The information required to make the datafiles consistent can be calculated based on datafile headers. I think there would have to be a little additional work scanning the archive logs for the right data, but it’s obviously not much because the recovery still seems pretty quick to me.

      I’m sure a lot of conservative DBA’s will be using hot backup mode for the next couple decades, but I really can’t see a need for it in 12c. If you are doing complete recovery, it works fine in 11g as well, but there’s some slightly scary extra procedures required to restore a 11g database to a particular point in time.

      We do have an increasing number of customers with verifiable problems using hot backup mode. There’s some kind of contention between certain DML operations and the act of getting the datafiles into hot backup mode. One of them needed a special build of a product to use the 9i method of hot backup, which is going tablespace by tablespace, to avoid this problem.

      Like

      1. Thanks a bunch for the thorough explanation and back-story. I definitely think our DBAs would fit into the “conservative camp” but we’ll socialize the TR and some of the other info with them and see if we might have other options going forward with 12c.

        Thanks again,
        Chris

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s