6f429244e498457b8400e72e4af683b0 Alberto Blog: ORA-25228: TIMEOUT OR END-OF-fetch during message dequeue FROM SYS.ALERT_QUEUE

martedì 4 settembre 2012

ORA-25228: TIMEOUT OR END-OF-fetch during message dequeue FROM SYS.ALERT_QUEUE

Dopo una analisi di tutti i log relativi OEM mi sono imbattuto nel file emagent.trc.
In questo file trace ho trovato un errore ripetuto moltissime volte: ORA-25228: TIMEOUT OR END-OF-fetch during message dequeue FROM SYS.ALERT_QUEUE.
Come prima cosa ho fatto una verifica nel Metalink per un rapido controllo .
Infatti si tratta del Bug 6484482.
Quest'ultimo si verifica quando il trigger "after servererror" contiene errori di codice SQL, ossia non sta funzionando come dovrebbe e scrivendo nella tabella "log_servererr" genera degli errori:

2007-09-18 12:15:14 Thread-134875 ERROR vpxoci: Error on dequeue from SYS.ALERT_QUE: ORA-00604:error occurred at recursive SQL level 1
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 30
ORA-25228: timeout or end-of-fetch during message dequeue from SYS.ALERT_QUEUE


Il metalink fornisce anche la soluzione così:
SQL> select trigger_name from dba_triggers where trigger_type = 'AFTER EVENT' and triggering_event ='ERROR ';
TRIGGER_NAME
LOG_ERRORS


Nel mio caso per poi disabilitarlo con
ALTER TRIGGER LOG_ERRORS DISABLE;

Facendo ripartire i DB e l'agent non dovrebbero più esserci questi errori, ma  trovando questa risoluzione un pò radicale anche perchè il trigger nel caso mio è utile al posto di disabilitarlo ho provveduto a modificarlo inserendo:

if ora_login_user not in ('DBSNMP','SYSMAN') then...

else...

End if;

In questo modo il trigger resta valido per tutti a parte gli utenti DBSNMP e SYSMAN, proprio quelli di OEM.
Nel mio caso ho trovato questa soluzione ottimale.

2 commenti:

Melbourne Web Developer ha detto...

Thank you for sharing such a nice article. This article will surely enhance reader’s knowledge. Keep posting!

James ha detto...

Yes you can leverage your blog commenting benefits and attract more web traffic to your Blog. But that will largely depend on what you comment and to whom. Read other comments and note on what is being discussed, but more importantly what is asked. ralevant backlink

Posta un commento