Archive for October 2009

11g Release 2 Technology Day – Dallas Cowboy Stadium

Well the talk went pretty OK. I did feel pressed for time though. Mainly because I had 53 slides for a 45 minute talk, but we also were running behind schedule by the time I got to do my bit. But we got through it. I didn’t get to go into nearly as much detail as I would have liked but that may not have been such a bad thing. The one thing I didn’t say that I had intended to was that 11g looks very similar to 10g unless you actively implement some of the new features. So DBA’s that are familiar with 10g should quickly begin to feel comfortable with 11g. By the way, I’m quite happy to entertain any questions on the presentation here since we ran out of time.

So anyway, without further ado, here is the link to the power point presentation: Upgrading to Oracle Database 11g Release 2

I also took a bunch of pictures during the tour of the stadium which I’ll post later. Here’s the most interesting part of the stadium for a bunch of computer nerds like us though, the data center!

Apparently, even the computer operators get to watch TV in Jerry’s house!

Update: – here’s a few more pictures!

Video monitors everywhere – including some just to show the logo …

Here’s my co-presenter Cary Millsap:

… just before we got to go into the Dallas Cowboy Cheerleaders dressing room. That explains the look on his face!

Continue reading ‘11g Release 2 Technology Day – Dallas Cowboy Stadium’ »

11g Upgrade Talk

I am signed up to do a talk next week at the Dallas Cowboys’ new stadium (known affectionately around here as “Jerry World”).


The stadium cost approximately 1.8 billion dollars to build. It’s supposed to be pretty impressive, I guess we’ll find out. U2 played in the stadium last week. Jerry had to move the big jumbo-tron screen above the floor in order for U2 to get their elaborate stage set up. The rumor was that it cost about $1 million to move it. Small change compared to the overall cost of the project.


We’re supposed to be in the press room which only seats about 100. This should be a fun event not only because of the interesting venue, but because the list of presenters includes a couple of good friends (Cary Millsap of Method R and Sean Turner now with Oracle). The theme is 11g R2. I had been told the event was full for a while and originally the sign up page just had a number to call for overflow seating, but there is a link to register on the page now, so get in while you can. Here’s the link to the info page:

11g Release 2 Technology Day

Hope to see you there.

11gR2 – My Top Ten List of Interesting New Features

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:

  1. 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.
  2. 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.
  3. 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).

  1. 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…).
  2. 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.
  3. 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.
  4. OCR Enhancements – OCR files may be stored in ASM, ho hum. At least we don’t need a separate Lun.
  5. 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.
  6. 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.
  7. 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.

How to Attach a SQL Profile to a Different Statement – Take 2

I posted on this topic a while back (How to Attach a SQL Profile to a Different Statement – Take 1), but wasn’t really happy with my solution. So here’s another shot at it. The basic idea is to be able to create a profile on one statement using hints or whatever other tricks you can come up with, and then attach the profile to a production statement on which you cannot modify the code. The basic steps of this technique are as follows:

The main reason I became dissatisfied with my previous approach was that it’s often necessary to fix one or more of the hints (see this post for the most common reason: Why Isn’t Oracle Using My Outline / Profile / Baseline?). The preceding steps allow the Profile to be tweaked before attaching it to the target statement. My previous approach created the profile and moved it all in one step. So there was no chance to modify the Profile before it was attached to the production statement. Anyways, here’s an example (note the examples are on a 10.2.0.4 database, but all the SQL should work on 11g as well):
Continue reading ‘How to Attach a SQL Profile to a Different Statement – Take 2’ »