dba_registry (again)

(Switch humour on …)
Many thanks to Pete Finnegan for making sure that my embarassing mistakes kick around on recent entries at Orablogs!
(and off)

To quote Pete …

Doug seems embarrassed a little by this but this is common mistake

Make that very embarassed, if you don’t mind! Here are the reasons

1) I’ve got no business applying patches without reading the instructions properly. My excuse here would be that I was doing it at home so was a lot more casual than I would be at work. (Interestingly, the db at work which has this problem is a Dev/Test environment)

2) It’s a classic case of the old Don Rumsfeld/Tom Kyte/J Lewis (and many others) point about the things you think you know. Just because I expect a patch utility that comes back with a success message to have run catpatch, I should have checked. Because it turns out I was completely wrong.

3) How can I slag off the standard of other people’s DBA work when I can’t do something as simple as this properly?!? (between you and me, their standards still make me look good enough for me …)

4) It’s still bugging me that I know I’ve applied patches, so have I run catpatch? I reckon that I have because at work I would sit and go through the instructions, just to be sure. So why didn’t this spring to mind? I suspect that every patch I’ve ever applied has been through a command-line process on Unix too, so I’d already be in that ‘step-by-step with instructions’ frame of mind. When I’m running software at home, I tend to install new versions or upgrades rather than patches. More fool me, but not having your own Metalink account doesn’t help ….

I think there are a few issues here that genuinely aren’t just about defending myself, but might catch out others :-

a) If there’s a GUI patch utility to apply a patch on Windows (and remember, this was the latest 10g patch I could find), it should run catpatch.sql too. Why wouldn’t it? The least it could do is display a clear message saying ‘Make sure your run catpatch.sql’. (Then again, I know there are installation instructions which make this clear. I checked them)

b) The very fact that this story started with the discovery of a db at work that hadn’t had catpatch run against it proves that I’m not the only one. The fact that there are blog entries about this in other people’s blogs is another sign.

c) Here’s another possible approach. Why do the newly-patched executables allow you to open the database when the dictionary version is wrong? Given that Oracle has this information in the dictionary, why not check it? I’m sure I remember occasions when someone had forgotten to run an upgrade script and so the db wouldn’t open (but better keep an eye on my growing senility here).

All of which doesn’t remove the egg from my face, but at least :-

1) I’m happy to admit my mistakes

2) I bet I’m not the only one!

Leave a comment

Your email address will not be published. Required fields are marked *