Ora? err... Ora ERR... Oracle!

Searching for that elusive solution to the often heard ORA-XXXXX error, and finding interesting tidbits along the way!

Monday, November 07, 2005

The Advantages of Patching Part I

This is just what this Oracle blog was talking about.

No, I'm not going to quip or drone about how patching will make your Oracle database more secure. Or generate access paths better. Or faster execution times. Or less buffer overflows.

I'm going to talk about how patching is expected and prone to many different errors on deployment, and how its going to help you know more interesting things about Oracle. After all, we're all on a rugged path to glory here. ;)


EVENT/ERROR:
As mentioned, I was patching one of our development databases - with the most recent Oracle Critical Patch Update (October 2005) - and had head on problems with the patching process. Patching the oracle software was smooth, but I encountered some problems when running catcpu.sql (it is a script that needs to be run for each existing database instance under the patched Oracle Home directory for CPUOct2005 Patch) with the following problems:

alter package DBMS_REPCAT_RGT compile
*
ERROR at line 1:
ORA-04043: object DBMS_REPCAT_RGT does not exist

OWA_MESSAGE
--------------------------------------------------------------------------------
No older OWA packages detected or OWA packages too old
Backing up previous OWA packages to: MODPLSQL/owa_restore_testdb.sql


OWA_MESSAGE
--------------------------------------------------------------------------------
No older OWA packages detected or OWA packages too old
OWALOAD File: MODPLSQL/owa_all/30/owaload_patch.sql

Logfile: MODPLSQL/owa_patch_testdb.log


OWA_DBG_MSG
--------------------------------------------------------------------------------
No older OWA packages detected or OWA packages too old;
Shipped OWA version is : 3.0.9.8.5;
OWA packages v3.0.9.8.5 will be installed into your database v81740
Will install wpiutl.sql and owacomm.sql


Uh-oh.

COMMENT:
Its amazing what will prompt you to learn when you receive patching errors. You'd have to have the right disposition of course. In my case, I've undergone through several disposition changes upon receiving the above error:

1. Shock ("Oh my godness, I've wrecked my db! Did I just do THAT?")
2. Fear ("I had to run 5 day's worth of preparation for that DB! now it might possibly be a goner?!??!?! My deadline is tomorrow! nooOOooo!")
3. Frustration (a bit of hair pulling involved here, methinks)
4. Helplessness ("What am I going to do???? I can't find anything about this error!")
5. Reality Check ("Hold on, I've got to stop whining about this. If there's a will, there's always going to be a way. Besides, I still have some sort of backup...")
6. Composture ("Ok. This is a patch. It's systematically deployed. There should be answer to this, regardless...")
7. Engagement ("Let me see what I can do about this..." *type type type search enter*)
8. Determination ("Ok, found some stuff on the missing packages...")

Needless to say, disposition 1,6,7 and 8 is the most acceptable and the most productive. Try not to waste time going through 2,3,4 and 5, unless of course (a) you didn't have backup at all, (b) you immediately tried this on your production database without any testing, or (c) you have a very short tempered and anally retentive supervisor who's itching to fire you at your slight sneeze. Which, by then, you would have to start packing soon and start updating your resume.

Sorry. Can't resist. Didn't mean to scare you like that. :)

The main (side) point is, try to keep a cool and even head. Mistakes and catastrophes happen, whether or not it was caused by you. Just keep thinking forward. It will always help with this kind of job.


[STEPS TO A] SOLUTION:
I went off to Metalink to double check the error messages in Note:333956.1 (Oracle Critical Patch Update October 2005 Pre-Installation Note for Oracle Database) more closely. I scanned and found no similar errors logged for my case.

So that lead me to research on two things:
(1) What's the purpose of DBMS_REPCAT_RGT, and
(2) what is OWA and MODPLSQL?

Incidentally, I also posted a message on a forum to check with other people who may have encountered the same problem. (Can't tell who else is lurking out there with the same problem. Most of us do it, I'm sure.)


RESULTS:
(1) DBMS_REPCAT_RGT = controls the maintenance and definition of refresh group templates for Oracle's replication management API (How interesting, you can actually use this to replicate schemas?) and here's a site about it.
(2) OWA/MODPLSQL= OWA is Oracle Web Agent, and MODPLSQL is a "webserver extension module allowing to create dynamic web pages from PL/SQL packages." For starters, you can find more about it at www.orafaq.com. Here's another related site. Seems like they're both the same thing, and lucky me, we don't use this feature. :)

Work-wise, I can safely breathe.. at least for now.

But further research is in order to figure out what these utilities exactly are.. and they seem like interesting stuff, too :) Will put that on my list.

Additionally, someone DID reply to my post in one of the forums. It feels slightly better to know that its "not just me". Wouldn't you know it, life isn't getting personal with just me :P


Oh but there's more. In the next entry.

0 Comments:

Post a Comment

<< Home