By Franck Pachot
Remember the times when the Oracle Software features were the same on all platforms? Where Oracle databases could be ported to any relevant platform? Where we were able to try any feature, freely, by downloading the latest release software? Now we need to think differently. Because:
- The new software is released on Cloud first
- The major new features will never be available on-premises
- The Cloud here means the Oracle Cloud – not AWS, not Azure, not Google, not you local IaaS providers
- Some new features are extended to on-premises for Oracle hardware only (Exadata, ODA)
- All trial environments are paid services (but you can get free credits) but this may change with Oracle XE 18c
And you are concerned because if you start your new developments on the Oracle Cloud, or simply train yourself on new features, you may rely on features that you will never have on-premises. In my opinion, it makes sense for a startup, or a new project, to start development and early production on the Cloud. However, there will probably be a point where the cost optimization will involve on-premises servers, or IaaS, or different Cloud providers. Then the features you used may not be available.
Another concern is financial: when justifying to your CFO the cost of the 22% Support and Software Updates, you may list all the new features. But be careful. Most of the new features comes with additional options, or will not be available outside of the Oracle Cloud PaaS.
If you tried the Oracle 18c release on the Oracle Cloud, you may have seen some additional informations in the alert.log:
Capability Type : Network capabilities requested : 1 detected : 0 Simulated : 0 Capability Type : Runtime Environment capabilities requested : 400000FF detected : 4 Simulated : 0 Capability Type : Engineered Systems capabilities requested : 3 detected : 0 Simulated : 0
So, it seems that Oracle is checking the capabilities of the platform to enable or not some features. When you are not on the right one, you may encounter this kind of error which is new in 18c:
[[email protected] ~]$ oerr ORA 12754 12754, 00000, "Feature %s is disabled due to missing capability %s." // *Document: NO // *Cause: This feature requires specific capabilities that were not present in the current database instance. // *Action: Contact Oracle Support Services to enable this feature.
12755, 00000, "Feature %s is disabled due to unsupported capability." // *Document: NO // *Cause: This feature requires specific capabilities that were not supported // in the current database instance. // *Action: Contact Oracle Support Services to enable this feature.
For the moment, the on-premises binaries are available for Exadata only. But the Licensing documentation already gives you an idea. The following new features will not be available on-premises.
All the multitenant new features are for Oracle Cloud or Oracle Engineered systems only:
- CDB Fleet Management
- PDB Snapshot Carousel
- Refreshable PDB switchover
- Keystore for Each Pluggable Database
If you are on your own servers, or on one of the major cloud providers, you do not benefit from the latest software updates. Even if you pay each year 22% of your licenses cost, even on platforms where the core factor is maximum. You have support, and patches, but only a limited set of new features.
If you do not have the Active Data Guard option, you cannot benefit from most of the new features of the last releases. And buying this option can be expensive if you are on ULA (because you will buy it for all processors), or on non-Oracle Cloud (because of the core factor) and even there some features will not be available. The latest, Oracle Data Guard—Automatic Correction of Non-logged Blocks, is available on Oracle Cloud only, or Exadata/ODA. It is not a big problem as you can include this recovery after your nologging load, but it is important to know it.
Note that with this new release, some features also disappear. Not only deprecated. Not only desupported. But also removed. Oracle Change Data Capture has been desupported in 12c and if you look at 18c you will see that it has been removed. And it is the last version with Oracle Streams. As mentioned in the documentation, you need to buy Golden Gate.
This looks like bad news in 18c, but consider it as a new patchset on 12cR2. Remember that 12cR2 brought amazing features to all platforms and all editions, such as the online clone or move of pluggable databases. The important thing is to be informed and think differently as we used to when Oracle Databases were portable to all platforms. Be careful with features that will not be available on all platforms. Consider the costs correctly. And also look at all those features that are available to everybody and are probably not used enough. The best way is to design the application to use the database efficiently (processing data in the database, lowering the roundtrips and context switches) on a limited number of CPU cores. Then, all those options or cloud credits will not be as expensive as you may think. Nobody likes vendor lock-in, but it may be the most cost-efficient solution.