ODTUG: Day 4…

Day 4

“Analytic Functions Revisited” by Alex Nuijten was a great presentation. I’m sure lots of people left the presentation thinking, “Where has this stuff been hiding all these years?” ๐Ÿ™‚ Incidently, Alex won the $500 prize in the PL/SQL Challenge last night. Well done dude.

I caught the last couple of minutes of “Why Isn’t Oracle Using My Index” by Jonathan Lewis. One of his suggestions was to take the lazy approach and go with the default parameters and functionality, which will work for most stuff, then spend your time focusing on the stuff it doesn’t work for. A man after my own heart. ๐Ÿ™‚

“Thinking Clearly About Performance” by Cary Millsap was a combination of the messages Cary’s been pushing for the last few years. It was essentially a whistle-stop tour of his views on performance and why we should care. Very clean, very slick and very interesting. If you’ve been followingย #odtug you will have seen it described as , “The best spent 60 minutes of my 40 years of learning”, by one of theย delegates.

“Performance Instrumentation” by Karen Morton focussed on instrumenting your PL/SQL applications using ILO from Method R, which amongst other things encapsulates the functionality of the DBMS_APPLICATION_INFO and DBMS_SESSION packages. One of the really neat things about ILO is it manages the call stack so the contents of the V$SESSION view is always correct, even when you are nesting procedure calls. This can be a pain if you are using the DBMS_APPLICATION_INFO package directly. Karen is a great speaker (I love her accent) and it’s so cool when someone presents on a subject you already know well, but still makes you feel like a kid with a new toy. ๐Ÿ™‚

“Creating Sub-Zero Dashboard Plug-In for APEX with Google Visualizations” by Roel Hartman did what it said in the title. He showed how to create plugins using the Google Visualization APIs, which was a bit over my head, then how to use the plugins he’d made, which looked real simple. As the repository of APEX pluggins grows it’s going to get easier and easier to produce very stylish apps.

Cheers

Tim…

ODTUG: Day 3…

Day 3

I made it through a panel session without talking constantly. I sat at the back of the “Database Development Panel” and kept my gob shut like a good boy. ๐Ÿ™‚

The next two talks, “Oracle Extended SQL Trace Data for Developers” by Cary Millsap and “Co-operating with the Database” by Jonathan Lewis, were more developer focused. Being a DBA/Developer type myself, there weren’t many surprises for me, but I guess a lot of the straight development crowd got plenty to scribble down. ๐Ÿ™‚

I’ve got quite a few clashing sessions tomorrow and I’m getting the early onset of conference burnout. Having the ACE Directors meeting before the conference makes it seem like a very long event. Early to bed tonight I think.

Cheers

Tim…

ODTUG: Day 1 & 2…

I’m not going to write about everything, but just post a few select highlights.

Day 1

There had been a timetable change that I had missed, so I arrived late for the “Messed up Apps: A Study of Performance Anti-patterns” talk by Cary Millsap. He knows his stuff, is a great presenter and he’s very pretty (in-joke). ๐Ÿ™‚

Next it was “Take a Load Off: Load Testing your Web Applications: Oracle APEX, JDeveloper, Web Services, Anything” by Chris Muir. Chris demonstrated JMeter and SOAPUI for stress (and regression) testing web apps. I’m vaguely familiar with JMeter, but SOAPUI was new to me, so this was a really useful presentation. Chris has a very casual presenting style, which I like. It feels kinda like you are chatting about a product, rather than being preached to. Definitely get to one of his sessions if you can.

For the love of God, don’t let me into panel sessions, or gag me. It doesn’t matter if I’m on the panel or in the audience (as was the case here) I just can’t shut up. The “Experts Panel” in the “Performance, Scalability, and Security” track had the misfortune of my attendance. I’m sorry.

Day 2

“How to Write Efficient SQL” by Jonathan Lewis was a very cool session. I’m no Jonathan Lewis, but I’m pretty happy with my SQL and SQL tuning skills. When I’m writing and tuning SQL it’s all about shapes. Some shapes work and some shapes don’t. I can’t really explain what I am doing to others, but it works for me. Jonathan on the other hand can explain exactly what he is doing and why. Almost like a repeatable recipe for success. Very good. After the presentation I was talking with Alex Gorbachev and he suggested I read The Checklist Manifesto. On a similar vein, I’ve had some dealings with NLP in the past so I know how important it is to model successful outcomes, so maybe my next task should be to understand my tuning methodology, rather than assuming I will never lose it. It will probably end up looking like a poor-man’s version of Jonathan’s. ๐Ÿ™‚

“Accessing the Oracle Database from Google (Apps, App Engine, Spreadsheets)” by Anjo Kolk was an eye opener. Some of the infrastructure Google has in place is still in its infancy, but it certainly makes you wonder what we might be doing in a few years. Maybe I can ditch Enterprise Manager Grid Control 11g in favour if iGoogle. ๐Ÿ™‚

The “Database Development Sundown Session” was another example of why I should shut the hell up in a panel session. That said, one of my more cynical comments did elicit a hand shake from Bryn Llewellyn (PL/SQL Product Manager at Oracle). ๐Ÿ™‚

One of the coolest moments of the day was during the reception with Oracle ACE Directors in the evening. The moment in question was when Victoria Lira and Lillian Buziak got a “Contributors of the Year” styleย award. If you are outside the Oracle ACE program you may not know who Victoria and Lillian are, but almost everything the ACE program achieves would be impossible without their organization skills. I’m very pleased they wereย recognizedย by this award. ๐Ÿ™‚

Cheers

Tim…

ODTUG: I’m in Washington D.C…

Well, I actually got on the first standby flight. It was delayed by over an hour, then we had to wait in a hot plane for an eternity for a runway slot, but at least I made it.

When I got to the hotel I met up with a few of the other Oracle ACEs and had a chat before bed. It is really hot over here, but fortunately the hotel has good air conditioning. Blow the environment, I wanna be cool. ๐Ÿ™‚

I got up pretty early this morning and my back made some “interesting” noises while I was stretching. I guess spending 20 hours sitting in planes and airports is not the best thing for a spine.

Today is the Oracle ACE Director Product Briefing. Hopefully I’ll manage to stay focused during the day. These sessions can be a little tough because they cover a wide variety of topics, some of which I know very little about, so it sometimes feels like buzzword bingo. ๐Ÿ™‚

I’m really looking forward to meeting everyone again. One of the best things about the ACE program is getting to these big events and hooking up with all the other ACEs. There are some really cool people.

Cheers

Tim…

ODTUG: Stuck in Newark Airport…

Someone commented on a previous post that I always seem to have some drama with every journey. It seems like this one is no exception.

I got to Newark Airport a few minutes early and started my 3 hour wait for my connection to Washington D.C. Then 3 hours became 3:45, then the plane was cancelled. I’m now on standby for a 17:00 flight. If I don’t get that I’ll be bumped on to a 19:30 flight. If I don’t get on that I’m apparently confirmed for a 21:45 flight tonight. Looking at the notice boards, there are loads of delays and cancellations, so I’m not banking on anything until I’ve actually landed at D.C.

How can I be so close to New York yet be so bored?

Several people have told me they avoid US connections. Since a wise person learns by other people’s mistakes I’ve always done the same thing myself. I will typically fly to anywhere in Europe that will take me directly to my US destination. I tried to do the same thing for this journey, but the Newark connection was so much cheaper than any other route I had no choice but to take it. After all, it’s not my dollar paying for it. Sigh…

Cheers

Tim…

Update: Just announced, my 17:00 standby is delayed to 18:00. This is not looking at all good. ๐Ÿ™

Update 2: Just announced, the delay is even longer. The plane has not taken off yet to start its flight to here. ๐Ÿ™

Grid Control 11g Installation… Success…

Well a new day and a fresh pair of eyes and it all went well. I was out this afternoon so I started the final bit of the installation running and it had completed successfully when I got home. ๐Ÿ™‚

I’m not totally sure what was causing the previous problems. I had been taking snapshots of my VM at regular intervals over the last couple of days and I guess something must have been dodgy because when I threw it all away and started again from scratch it worked fine. Here is the installation guide listing all the steps:

So does this success change my opinion of this release? Not at all. The installation is a mess and I think Oracle really do need to have a shrink-wrapped install, even if it is a 8G download. It would reduce the barrier to entry and I just think it feels a little poor that you have to manually install a bunch of patches before you can get the product working. Makes me wince a little.

Cheers

Tim…

Grid Control 11g Installation Failure…

I’ve spent the last couple of days failing to install OEM Grid Control 11g on OEL 5.5 x86-64 with a 11gR2 database for the repository. The installation process is horrid. You have to manually install and patch the database and middleware software before starting the GC installation. So you end up with a whopping 7.1G of software, not including patches and the OS.

The docs are not ideal. There is a lot of cross-referencing to bugs, patches and metalink notes, which means I’ve often had about 10 browser tabs open while performing the installation. I can only assume that somewhere in the mish-mash of the docs I’ve missed something out.

I feel really disappointed with the installation process for this release. In my opinion there should be a single installation that includes the middleware, database and all necessary patches. I like to think of GC as a shrink-wrapped product I can install separate to everything else and leave alone. Not any more…

I’m off to ODTUG this week, so I’m not sure I can be bothered to waste more time on this until I get back. Perhaps someone there will be able to explain to me what the hell is going on with it.

Cheers

Tim…

DBMS_XA…

A few weeks ago someone asked me some general questions about the XA/Open interface in Oracle. Oracle has been XA compliant since Oracle 7, but I kinda excused myself from the conversation as that was just about all I knew about it. During that exchange I was reminded that Oracle Database 11gR1 included the DBMS_XA package to allow PL/SQL to make calls to the XA interface. That made me put DBMS_XA on my to-do list.

Fast forward several weeks and I’ve finally had a look at it. You can see an example of it being used here.

Off the top of my head I can’t think of any situations I’ve encountered that lend themselves to this, but it’s always good to know a little about these things just in case. ๐Ÿ™‚

Cheers

Tim…

Consuming Web Services using PL/SQL…

I have a couple of soultions for consuming web services using PL/SQL.

The problem has always been that every so often the web services referenced by these articles disappear, so I have to modify the articles to use a different web service. Well, I got sick of people pulling the plug on their web services, so I created one of my own that just adds two numbers together. The articles now reference that web service, so it should be a little more stable.

In the process of doing the alterations to the articles I had a lot of trouble with UTL_DBWS. I’m not at all convinced by this solution. On the surface it seems OK, and it certainly seemed to be OK in 10gR2, but it seems very flaky in 11gR2. The old 9i method seems a lot more stable, and you have complete control as you are doing everything yourself.

Of course the real problem with web services and PL/SQL is people look at their WSDL file and then mail me asking what the hell they do with it. I think I’m going to start suggesting they pass it to the Java guys and handle it in the middle tier. Problem solved. ๐Ÿ™‚

Cheers

Tim…

PL/SQL Masterclass Croatia โ€“ Day 2

I wrote this post in Munich airport, but forgot to post it, hence the big gap…

After finishing teaching on the first day I got a taxi into town to have a look round for a couple of hours.

Since arriving in Zagreb I had been getting some serious dรฉjร  vu. First, I had some currency in my wallet that I didn’t get and I’ve never been to Croatia before. Second, the hotel seemed too familiar. I mean spookily familiar. Walking round Zagreb continued the theme because I kept feeling like I recognized places. It is similar to Tallinn, Estonia in parts, so I guess that may have been part of it. What with the days teaching and the events of the evening I was completely knackered by bedtime.

Day two went well. I think one demo screwed up, but that was my fault because I dropped some objects in the schema, forgetting that editioning was switched on for that schema and the objects were still present in another edition. Once I realized this I quickly cleaned up and the demo worked fine. Everything else seemed cool.

When it was all over I spent some time chatting and was given a summary of the feedback forms, which looked really good. I was confident I had plenty of time before my flight, but when I checked the times I noticed I’d been looking at the arrival times in Munich, not my departure time from Zagreb. Panic!!!!!

I arrived at the airport as boarding was closing. Fortunately, Zagreb airport is quite small, so they phoned through and I was allowed to get on the plane. In the panic I forgot to get a receipt from the taxi driver, but faced with a choice of losing a few pounds or missing a flight I know which one I would pick. ๐Ÿ™‚

The flight back home was pretty low key. I had a 3 hour stop at Munich whre I wrote this post, then promptly forgot to publish it. ๐Ÿ™‚

So another Oracle University gig under the belt. Thanks to everyone who came to the sessions and helped in the organization.

Cheers

Tim…