Hi.
This is all based on a preliminary analysis, I am still looking at logs and other things. But our production engine had another major outage last night. It appears that SYNONYMS, an Oracle mechanism, were invalid, and that recompiling all SYNONYMS that were not "VALID" fixed the problem. The affected SYNONYMS were these:
SQL> select 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || OBJECT_NAME || ' COMPILE;' from dba_objects where status <> 'VALID';
'ALTER'||OBJECT_TYPE||''||OWNER||'.'||OBJECT_NAME||'COMPILE;'
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ALTER SYNONYM GFD_IS_UC4WORKER_01.BT COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.EV COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQCP001 COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQCP002 COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQCP003 COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQCP004 COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQCP005 COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQOWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQPWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQRWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.OT COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.OV COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.OVW COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQCP001 COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQCP002 COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQCP003 COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQCP004 COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQCP005 COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQDWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQOWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQPWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQQWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQRWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.SQ_MQWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.UC_VERSI COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQDWP COMPILE;
ALTER SYNONYM GFD_IS_UC4WORKER_01.MQQWP COMPILE;
Our current working hypothesis is that invalid SYNONYMS are the result of using "alter index rebuild online", at least that's what our very capable DBA says, and that this crashed the engine. We did rebuild indexes that way for many years (our index rebuild job was, afaik, made by Automic consultants around version 9) and we did rebuild indexes successfully with 12.3.1 earlier, so I am lost why this would happen now and not, say, a week earlier. But the fact that recompiling the SYNONYMS immediately revived the engine is, at this time, the strongest indicator that the invalid SYNONYMS were the root cause.
Can anyone on Oracle, or anyone from Automic shed more light on this? Also interresting would be to know whether SYNONYMS are a new thing. Did they perhaps come more recently, with ZDU changes?
Thanks!
------------------------------
These contain very good advise on asking questions and describing supposed bugs (no, you do not need to go to StackExchange for Automic questions, but yes, the parts on asking detailed, useful questions ARE usually relevant):
http://www.catb.org/~esr/faqs/smart-questions.htmlhttps://www.chiark.greenend.org.uk/~sgtatham/bugs.htmlI will not respond to PM asking for help unless there's an actual reason to keep the discussion off of the public forums.
------------------------------