Hi all,


Hope you’re doing good.


A client called me a few days ago regarding an issue with their OEM environment.


A huge database got some tablespace space exhausted and OEM did not generated the alerts.


After a deep review on OEM, everything looks good, thresholds are fine, metrics are fine, incident rules are fine, I did a test in another DB’s, everything looks good.


Agent also was fine.


OEM relies the alerts on DB alert generation based on thresholds. What happened is that the DB queue used for alerts had some issues.


What we did: we purged the old messages from queue table. After this, alerts worked like a charm!


po dbms_aqadm.aq$_purge_options_t; 
po.block := true; 
dbms_aqadm.purge_queue_table(queue_table => 'SYS.ALERT_QT',purge_condition =>'qtview.msg_state=''EXPIRED'' OR qtview.msg_state = ''PROCESSED''',purge_options => po);