Wednesday, September 17, 2008

How to exclude ORA- errors from alerts in Grid Control

There is a Note: 330996.1 on Metalink how to filter
certain alert.log errors from appearing in alerts.

There is example there how to ignore certain errors
from coming to alerts of database.

Unfortunately proposed expression doesn't work - might be some
characters hidden in html code of the page or might be simply missed.
Since it is based on regular expressions there must be clause
to ignore certain patterns using symbol ^.

After some testing I came with the expression like this
.*ORA-0[^(3333|2222|1111)].*
that allows to ignore ORA-01111, ORA-02222, ORA-03333 messages.

Also I removed "Generic Alert Log Error Status" metric to elude messages
about ignored errors.

The pattern was tested on EM GC Rel.4 on 10.1.0.4 on Linux.


Have a good day!

7 comments:

Rinky said...

Hi,

I found your post helpful. I have a question and it will be great if you can take a look.

Right now I have Warning & Critical thresholds both set to ORA- . now I want to exclude ORA-00060 from the critical threshold because it sends alert to ON call. I still want to recieve an email using the warning threshold. I mean I do not want to filter it out completely using the filter expression. can you guess how should i change the critical threshold?

goryunov said...

Hi,

I would recommend to separate warning and critical alerts and create different accounts in addition to SYSMAN (or another Super acccount) like admin_crit, admin_warn
and create separate notifications
(for critical and warning alerts) and subscribe the new admin accounts to those notifications. In that case, you can have flexibility to assign e-mails what you want.

Rinky said...

Hi,
many thanks for your reply.
I do have seperate accounts setup. but for the production systems, we want all ORA errors alerts go to on 'oncall' account. That is why I have Critical threshold set as 'ORA-' I have to exclude ORA-00060 from the Critical and put it in Warning. how can I do that? is it something that requires a scripts or it can be done in the critical threshold area (may be something by using '!'). any help would be appreciated.

goryunov said...

I think you can try the following under critical threshold
.*ORA-0[^(0060)].* to ignore ORA-00060 errors and leave ORA- in warning field

Rinky said...

Hi, this .*ORA-0[^(0060)].* seems to be working. I need to do some more testing to make sure we do not miss out any other ORA- errros. Can you tell me the source of this above sequence. Is it mentioned in any metalink note? I just need to document this and need a reference since the change will in production system.

Thanks a lot.

Rinky said...

well, does not quite work as I expected. when i manully insert ORA-12012 in the alert log, i only got warning, which is not good.

I was expecting one from critical since our aim is get all except ORA-00060.

goryunov said...

Unfortunately, I was not able to find Metalink Note that I mentioned in the post, looks like it was closed or removed, but those patterns should be based on regular expressions
How about to try the following pattern for warning message: ORA-
and for critical: ORA-[^(00060)]