Monday, September 23, 2013

Deprecation, Desupport, Superseded, Unavailable and the Oracle Database. What's that all about?

In the Oracle Database world we hear two terms with some frequency, deprecated, desupported. We hear other terms with less frequency: superseded and unavailable. I thought I'd take a moment to explain each of these terms in Oracle speak, and what they mean to you, the DBA, architect, or whatever your title is should you manage, work with or design Oracle databases.

Let's start with the term superseded. Obviously this implies that something is replacing something else. For example, in the 12.1 Oracle Database documentation we find this term used with reference to the dbms_job package:

"The DBMS_JOB package has been superseded by the DBMS_SCHEDULER package. In particular, if you are administering jobs to manage system load, you should consider disabling DBMS_JOB by revoking the package execution privilege for users. 

This simply  means that the dbms_job package is being replaced by the dbms_scheduler package. In this case though, dbms_job is still being supported for backwards compatibility. This implies that you should start making plans to migrate to the new feature that supersedes the old feature. While I can't find anything that specifically indicates this fact, I'd assume that anything that is superseded will someday find itself deprecated or desupported.

That leads us to the term deprecated. When an Oracle component, feature, package, etc is deprecated that means the following:

  • Product/feature is still in the database and usable.
  • Oracle support will allow you to open SR's.
  • Oracle support will assist you with your problem.
  • Patches are allowed to fix bugs.
  • One off patches are possible.
  • Ongoing development is not occurring.

Notice that if your product/option is deprecated that you can get bug fixes (most of the time)... It is a common misconception that you can't get patches, and clearly this isn't the case. There are going to be times that a bug can't be fixed for various reasons (this happens with supported features!) so, just be aware of that fact.

As I said, I consider deprecation of something in the database to be a bit like a shot across the bow. It's a notice from Oracle that sooner or later, this feature will become desupported. 

Which leads us to the term  desupported... This is no-mans land, and you really don't want to find yourself using something that is desupported. This is like being caught out on a desert island with no-one there to help you. When something is desupported in Oracle it means:

  • Oracle support will assist with SR's.
  • No bug fixes are available. 
  • A product will be desupported only on major releases.

Again, note the Oracle support will help you with SR's, it's just that if you find a bug, your out of luck. No patches, no one-off's, no nothing. Your on your own. This then leads to the final death knell of a product, unavailable or decommissioned.

When a product is unavailable or decommissioned it's just plan old gone. This is when it's too late. That is when you start running, not walking, to find an answer.

Typically a product will go through a desupport cycle - moving from deprecation to desupport to unavailable. In my career I've seen few products that are a part of the core database actually become unavailable, even after they are desupported. A few have, but not many. I've also seen products go from supported to unavailable in one major release, such as Oracle Database Control did in Oracle Database 12c. Granted, it got replaced by Oracle Database Express, but it is a huge change without much notice (there was a MOS note created to make everyone aware this change was coming - I gladly stand as one of the main reasons (along with a certain VP at Oracle) that this MOS note was created in the first place!).

How do you know what products are deprecated or desupported? The Oracle documentation is the place to go. The Oracle Database Upgrade Guide is the main source of this information for each release. The link that I have posted here goes to the Oracle Database 12c documentation. Each version of Oracle Database has it's own Upgrade Guide with this information in it.

Finally, you may the terms desupported thrown around with a bit of a different meaning at times. Sometimes (as with the case with Oracle Enterprise Manager Database Control, Oracle uses the term Desupported when I believe it should probably be denoted as decommissioned or superseded by. Since it really no longer exists, I believe it's in the Oracle graveyard and thus, deserves the keyword decommissioned on it's tombstone. That's just my opinion.... I've written the powers that be to ask them about this - so let's see what they tell me. :)

Edits:
9/23 - One edit to correct a sentence that was not clear and correct spelling.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.