Advert: Asia Pacific PL/SQL Masterclasses…


It’s a little over a month before I start a run of four PL/SQL Masterclasses in the Asia Pacific region.

  • Singapore (14-15 October)
  • Syndey (18-19 October)
  • Melbourne (21-22 October)
  • Hong Kong (25-26 October)

If you are interested, contact Oracle and get booked on. The details are here: APAC Seminars.



Oracle Database 11g: Advanced PL/SQL (1Z0-146)…


Lewis Cunningham recently mentioned on twitter that he had taken this exam and it reminded me I had been meaning to take it ever since it was announced in beta, but never actually got round to it. A quick search of my blog revealed it’s nearly 2 years since I mentioned I wanted to sit this exam (here).

So yesterday I sat and passed the exam and here are some thoughts on it (without mentioning specifics about the questions)…

This is the first time I’ve sat an OCP exam done by Pearson VUE and I was pleasantly surprised. The test interface is a little cleaner and more modern looking that previous exams I’ve taken. There was one minor glitch in that every time there were two exhibits they were shown in the wrong order, such that when the question asked you to look at Exhibit 1, the content it was referring to was in Exhibit 2 and vice versa. For most questions this was obvious, but there was one that if you followed the instructions to the letter would have made the question impossible to answer correctly. Of course, if you had seen the glitch on the other questions it wasn’t a leap to assume the same problem was present on this question also.

The SQL and PL/SQL exams use lots of exhibits and some can be quite big. In a number of cases the questions can be answered without referral to the exhibits if you know your stuff because the incorrect answers reference “facts” about PL/SQL that are blatantly not true. Even when you do have to refer to the exhibits, I would suggest you treat it like you are debugging code and read the question and possible answers before reading the exhibit. Why? You don’t start debugging code before you know what the errors are. In the same way, if you know the possible answers you can ignore the majority of code in the exhibit and focus on the area of interest. Reading the whole exhibit would take ages, so be efficient about it. Ignore the fact the question tells you to look at the exhibits first and you will answer the questions much faster.

The exam is very much 11.1 focussed, so there are a few questions where the “correct” answer is somewhat dubious if you have been using 11.2 for a while. Keep in mind the 11.1 state of play and don’t try and be too clever. That said, for the most part the 11.1/11.2 issue is irrelevant.

The context of a question is a very important thing and one that I think the OCP questions sometimes lack. As an example, one question asks you which of the 4 answers can be produced by a specific built in package. The correct answer as far as I’m concerned is all four, but it is rare that questions need all answers to be checked, so this is where you need to put on your PL/SQL hat. As a direct call from PL/SQL only two answers are correct, but if you call the API via a query all four answers are possible. So you have to make a judgement call as to what context the examiners are using. I figured, as it’s a PL/SQL exam, I should ignore SQL and that turned out to be the correct move.

There were only two questions that I didn’t know the complete answer to directly, but in both cases, using a process of elimination I was pretty confident I had a reasonable shot at the correct answer. Even if you don’t know every fact relating to a subject you can usually elimitate some of the answers, which will up your odds. Don’t panic.

The exam is scheduled for 90 mins and I was done in a little over 30 mins. The examiner gave me a bit of a look when I came out that early, and another when he saw my 100% score. I just smiled and told him I’d been doing PL/SQL for 16 years and had been teaching the contents of this exam for over 2 years. It would have been a little tragic if I hadn’t come close to 100% really…

So I guess in the next few days I’ll recieve my “Oracle Advanced PL/SQL Developer Certified Professional” bumf. I quite fancy doing something else now. I obviously spent too many years in education and I need an exam fix every so often. :)



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. :)



Touchdown in Zagreb, Croatia…


When I left Birmingham and it was a warm and sunny. I arrived in Zagreb, Croatia and it is wet. The taxi driver apologized for the weather, but I told him this feels more like home than home does. :)

The flight went OK. I had a 4 hour stop in Frankfurt, but I used this new fangled interweb thing to keep me occupied. It’s fun, but I can’t see it catching on.

The second leg of the trip had a bit of turbulence on take-off and landing, but apart from a few quick flashbacks to trans-atlantic nightmares, I was fine. I had a little phone drama once I landed, centered around the fact I couldn’t find it. Once I got to the hotel I emptied my rucksack and found it hiding in a side pocket. Pesky bags with their handy side pockets…

The taxi driver gave the the heads-up on a few bits of the local lingo. I’ve added enough words to my vocabulary to make myself look completely stupid tomorrow.

Tomorrow morning I start a 2-day PL/SQL class for Oracle University. It should be easy to get to as it’s in the same hotel I’m staying in. The only thing I’ve got do before the class is sleep and iron 2 shirts. The ironing is praying heavily on my mind. I should have stipulated “crumpled appearance” in the contract.



Oracle Database File System (DBFS) PL/SQL APIs…


My previous article discussed the DBFS. This article gives an overview of the PL/SQL APIs for managing and interacting with the DBFS.

There’s a lot in there, so this is just skimming the surface.



A quick thank you…


Just a quick note to say thank you to everyone involved in making the 2-day PL/SQL workshop in Utrecht happen last week. Thanks to Miracle Benelux for staging the event, to Anjo for inviting me and to Annette for organizing everything, including Anjo. :)

Of course the biggest thanks go to everyone who came to the workshop, because without them it wouldn’t happen. See you all soon. :)



Slovakia Day 2


I’m not nervous about flying, but I am nervous about being late for flights, so day 2 was a complex day for me. The plan was to teach from 9:00-17:00 then go straight to the airport and leave. Having the deadline for the airport in the back of my mind all day meant I was a little on edge. Even so, it all went pretty well.

Anyone who’s seen my conference talks knows I do quite a lot of demos. Well the 2 day workshops are crammed full of them. I more or less try to prove every sentence I say with a demo. Of course, this means things inevitably go wrong from time to time. I had one demo hang, and Enterprise Manager decided not to work, so I had to miss out another demo. Overall though, things went pretty smooth and by the numbers.

I’d like to say thanks to everyone who came to the session and thanks to the people at Oracle that make it possible, especially Stefania Panaite.

So I’m home now and I have 4 days to prepare for the next two conferences (ORCAN and OUGF) that happen back-to-back. I’ve got two new talks to rehearse, one I’ve not even written yet, and one 60 minute talk I’ve got to somehow turn into a 30 minute version. Don’t even mention the paperwork I have to do. :)



Slovakia Day 1…


That’s day 1 over as far as teaching is concerned. The audience is quite a diverse mix. Everything from 6 months to 10+ years of Oracle experience and from variety of countries too. I’ve even got a member of Oracle staff in the group. I wonder if he’s a spy… :)

It’s always dangerous to start getting too analytical about the lessons part way through course, so I will leave that until after I finish tomorrow.

I probably should go out and do some sightseeing now, but I think I’ll probably get some food and come back to the hotel and collapse. :)



Slovakia Day -1


I got to Slovakia with no major trauma.  I also had enough time to have a quick look round. There are some photos here if you are interested. As always, I used the shotgun approach. Several shots of each scene in the hope something would come out looking OK. :)

Not sure if I’ll have time to do any more looking around. The schedule is pretty tight for the next 2 days and I leave straight after finishing the second day. Better than nothing though.

It’s a Sunday so the streets are pretty quiet except for tourists.