Well it’s been a few weeks since Oracle made 11gR2 available for general use. After looking through the new features document, I made a short list of new features that I thought would be worthy of further investigation. As I spent a little time looking at them though, there turned out to be very little that was all that exciting. There were a couple of exceptions, but for the most part it seems that Oracle concentrated on stability rather than drastically new features. That’s not necessarily a bad thing and is probably an indication of the product (and the development process at Oracle) maturing. Nevertheless, here are a few things that I think are interesting:
- Edition Based Redefinition – Rolling out new code that requires schema changes has always been a challenge. Keeping up with the changes, providing a mechanism to roll them back if things don’t go well, and allowing some code to continue to work as is, instead of having to change every single piece of code that accesses a changed object – these are a few of the challenges that come along with making schema changes. It’s a bit a chicken and egg thing. One way to mitigate the risk of these types of changes has been to use views to provide an abstraction layer that allows the code to be changed over time as opposed to the big bang approach of all code that accesses an object being forced to change at the same time. Edition Based Redefinition is designed to allow Oracle to manage that complexity via a new thing called an Edition. It’s pretty cool and in my opinion is hands down the best new feature of 11gR2.
- File Watcher – The job scheduler has been enhanced to be able to monitor a directory and kick off a job when a file shows up. No more writing the same shell script over and over.
- Stored Outline Migration – There is now a utility to migrate Outlines into 11g’s SQL Plan Management framework. This feature may actually be useful for migrating from older versions of Oracle directly to 11g. It basically converts Outlines to Baselines.
And here’s the list of things I initially thought might be interesting but that I have really not warmed up to (yet anyway).
- Instance Caging – Putting multiple instances on a single machine is attractive from a licensing standpoint but can cause problems from a performance perspective. Instance caging is a new feature for controlling the amount of resources (CPU) that an instance can use. It is a good idea; however, there are already numerous options available from most of the major hardware vendors that can accomplish the same thing (think AIX LPARs, Solaris Zones/Containers, HPUX vPars, etc…).
- ACFS – A true clustered file system? This one may be more interesting after I get a chance to play with it more, but come on, file systems just aren’t that exciting.
- ASM FS Snapshot – Snapshoting capabilities have been added to ASM. Looks like an attempt to compete with the SAN guys. There are lots of people that use Snapshot technology for backup and disaster recovery scenarios, so maybe this will grow on me as well.
- OCR Enhancements – OCR files may be stored in ASM, ho hum. At least we don’t need a separate Lun.
- Cluster Time Service – There have been problems with RAC nodes getting evicted because of clock drift. But there are other ways to deal with this (NTP for example). But this is a nice addition, just not that interesting.
- Segment Creation on Demand – No need to pre-build segments. Maybe useful by saving some storage for a while. But presumably you’ll be needing the space eventually or you wouldn’t have built the objects in the first place. Delaying the allocation of space just seems to me like an opportunity for a user to get an error when dynamic allocation of space occurs “automatically”. I think I’d prefer to do it ahead of time in most cases.
- Hybrid Columnar Compression – This feature is actually very interesting. It has been hyped a little as Column Oriented Storage, but is in fact simply a compression technique (see Kevin Clossan’s post: Oracle Switches To Columnar Store Technology ). It may be highly effective though as the compression possibilities provided by column oriented storage models are a big part their advantage. Unfortunately, the fact that it’s only available as part of the Exadata storage hardware, means it is not going to be very widely applicable unless the Exadata product really takes off.
Anyway, that’s my thoughts on 11gR2 so far. I really don’t mean to be negative. I like getting my hands on new toys as much as the next guy, but I do believe that concentrating on improving stability and incremental performance gains is absolutely the right approach. It looks to me like Oracle has made a change to a more mature and disciplined development / release model. And I think that’s a good thing.
Let me know if you have another favorite new feature that I may have overlooked.