This content has been marked as final. Show 6 replies
In 11.2 the times are calculated in UTC which means that depending on what you are looking at they will appear out of sync with the database time. The change was made to avoid DST issues.
When you are querying the values are you using the AQ$QUEUE_TABLE view? If not you should be.
Is anything not working as a result of this? Or is the case that you have just observed this?
You are correct the enc_time matches UTC time.
It caused confusion on debugging and support. Is there any way to set ENQ_TIME DEQ_TIME
to sysdate or local time?
Hello,1 person found this helpful
as the Oracle Support already suggested, you can temporarily convert the database time (SYSTIMESTAMP) to
the current UTC time, if you are for instance checking ENQ_TIME in source code:
There was already a discussion in this AQ forum: Create AQ table with invalid timezone
SELECT SYSDATE, TO_DATE( TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'DD/MM/YYYY HH24:MI:SS'), 'DD/MM/YYYY HH24:MI:SS') FROM DUAL;
Thanks for trying to help but that wasn't my question although.
I found an answer from http://ora-exp.blogspot.com/2007/09/convert-utc-time-to-local-time-in_05.html
You cannot change this behaviour. As suggested if you have a need to you can CAST the time as suggested.
In previous versions we effectively did this within the AQ$QUEUE_TABLE view but that and the DST issues led to a re-think. This means that AQ is not affected
by DST changes anymore but does mean you may need to cast the values.
Yes you correct casting is all what we are going to do. On the other hand, why DST is unique to enq_time? sysdate is working fine. Now we have to write cumbersome from_tz function which is a pain in the neck.
Edited by: Jack Sam on Feb 8, 2013 5:35 AM
Edited by: Jack Sam on Feb 8, 2013 5:37 AM