So, some time ago I starter receiving an internal error “ORA-600 [kwqitnmphe:ltbagi]” from a client’s database. Everything was up and running fine, but an ORA-600 is always an ORA-600.
Investigating on issue, found it can be related to a several issues as per MOS ORA-600 [kwqitnmphe:ltbagi] (Doc ID 1346009.1):
|17831758||22.214.171.124, 126.96.36.199||ORA-600 [kwqitnmphe:ltbagi] in Qnnn background process|
|20987661||188.8.131.52||QMON slave processes reporting ORA-600 [kwqitnmphe:ltbagi]|
|18591240||184.108.40.206.BP17, 220.127.116.11, 18.104.22.168||ORA-600 [kwqitnmphe:ltbagi] is seen immediately after ORA-1089|
|18536720||22.214.171.124, 126.96.36.199||ORA-600 [kwqitnmphe:ltbagi] processing History IOT in AQ|
|16204151||188.8.131.52, 184.108.40.206||ORA-600 [kwqitnmphe:ltbagi] when subscriber is dropped pending enqueue/dequeue|
|12423122||220.127.116.11, 18.104.22.168||ORA-600 [kwqitnmphe:ltbagi] when scheduler uses AQ|
In my situation it was a match to the QMON slave processes issue, the only one was not resolved on 12.1 yet (My DB is 12.1, bad luck?), as per MOS Bug 20987661 – QMON slave processes reporting ORA-600 [kwqitnmphe:ltbagi] (Doc ID 20987661.8).
It is fixed in 22.214.171.124, by now. For 12.1 we have a temporary workaround:
DECLARE po dbms_aqadm.aq$_purge_options_t; BEGIN po.block := FALSE; DBMS_AQADM.PURGE_QUEUE_TABLE( queue_table => 'SYS.SYS$SERVICE_METRICS_TAB', purge_condition => NULL, purge_options => po); END; /
Hope it helps!