Smoothen your transition to Oracle19.

Smoothen your transition to Oracle19 Updating to a newer Oracle version is a constant challenge for IT managers. Every time support ends on the current used Oracle version, A lot of installation and tests have to be done by the DBAs and the test teams to achieve a smooth transition. One of the main problems The DBAs face is that it is very time consuming and error-prone to provide all the development and test teams a set of provisioned systems. This leads to delays in these migration projects and sometimes increased risks because of using unsupported Oracle versions.

Although Oracle provides some tools in this problem space, they are pretty expensive. Did you know that Puppet combined with our Oracle modules allows you a very cost-effective way to provision, manage, and maintain your Oracle database system easily? Experiences with a number of our customers show a significant decrease in the time it took to transition to newer Oracle versions. Especially the way the Puppet blueprint seamlessly is reusable with later Oracle versions, provide a considerable advantage in the transitions.

How does it work?

With many provisioning and deployment tools, you imperatively write the steps that are needed. With Puppet, on the other side, using a domain-specific language, you describe how you system should be configured. In general, the steps change considerably when using a new Oracle version, while the description stay’s vert much the same. Let me show you this with an example. Here is part of the description of an Oracle 11 database.

# Install the software
ora_install::installdb{'my_database_sw':
  version       => '11.2.0.4,
  file          => 'p13390677_112040_Linux-x86-64',
  database_type => 'EE',
}

# Configure the database
ora_database {'MY_COMPANY_DB':
  ensure => 'present',
  ...
}

ora_tablespace {'COMPANY_APP':
  ensure => present,
  ....
}

ora_user { 'COMPANY_APP':
  ensure => 'present,
  ...
}

As you can see, it doesn’t contain any steps. It just contains all the objects you want to have. You want the database software (ora_install::installdb), you want a database (ora_database {‘MY_COMPANY_DB:), you want a tablespace and a specific user for your application. After Puppet has read this blueprint, also called a manifest. Puppet goes to the system and does an introspection of the current status of the system. It then compares the current status with the manifest and makes a list of the differences. The latest step is to change the system, so it conforms to the description in your manifest.

Now let’s make an Oracle 19 version of this description. To do this ONLY the description of the database software has to be changed.

ora_install::installdb{'my_database_sw':
  version       => '19.0.0.0',
  file          => 'LINUX.X64_193000_db_home',
  database_type => 'EE',
}

All the other elements of your infrastructure are the same, and work as they did before.

Our customer experiences

Our clients have been able to these kinds of seamless version transitions from 11 to 12.1, to 12.2, to 18 and now to Oracle version 19. With a considerable decrease in risks and an increase in the speed of transitions. Besides the migrations, Puppet has helped them to speed up other changes on their Oracle databases withour loosing control.

But not only for installation

These features are neat, but how about general database operations? Puppet has proven to be an excellent match for regular operations too. The same mechanism of detecting deviations from the manifest and making the requested changes is very helpfull for normal operations too. When you need to adjust the properties of a tablespace or an Oracle user, just change the manifest, and Puppet will take care of the changes for you.

Not only Oracle

One of the critical strengths of Puppet is that it allows you to describe not only Oracle but all parts of your system. The Puppet forge has modules for every part of your IT infrastructure you need. Whether it is managing your Operating System settings, your network your firewalls. So when you are already using Puppet for your base operating environment, extending it to your database, makes sure there are no more handovers from team to team. You Puppet manifest takes care of the whole stack.

Are you up for a database upgrade?

Right now, Oracle 11 and Oracle 12 are into extended support or slowly but surely getting out of support. This is the time to start thinking about when and how to do your transitions. Oracle19c is the latest long term supported Oracle version, so it is a good target version for your version migrations.

Don’t hesitate to contact us if this blog post has sparked your interest.

Front picture by Maria Colgan

Comments