Съехала sysdate на Гринвич

Дядя Жора
Дата: 08.10.2015 12:52:56
HP-UX 11iv3 64 bit + Oracle 11.2.0.3 64 bit

Какая-то непонятная хрень случилась с sysdate

select
        dbtimezone
        ,sessiontimezone
        ,to_char(current_date,'YYYY-MM-DD HH24:MI:SS') as "current_date"
        ,to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') as "sysdate"
from dual;


DBTIMEZONE
----------
SESSIONTIMEZONE
--------------------
current_date
-------------------
sysdate
-------------------
-07:00
+03:00
2015-10-08 12:51:49
2015-10-08 09:51:49
-2-
Дата: 08.10.2015 12:57:11
Дядя Жора,

sysdate/systimestamp работают с таймзоной ОС. смотри переменные, с которыми запущен инстанс.
Дядя Жора
Дата: 08.10.2015 13:05:21
-2-,
Так в ОС все верно
 /root]# date +%z
+0300


А какие переменные инстанса?
Дядя Жора
Дата: 08.10.2015 13:18:24
И ещё одна непонятка. Если я перезапускаю листенер, то sysdate начинает показываться нормально. Ровно минуту. Потом опять скатывается на Гринвич.
Дядя Жора
Дата: 08.10.2015 13:25:58
и ещё
в sqlplus на сервере (если sqlplus / as sysdba) показывет нормально
А если через листенер
sqlplus sys@ora as sysdba
то криво
Дядя Жора
Дата: 08.10.2015 14:59:57
Разобрался сам.
В Doc ID 1627439.1 (пункт С) эта ситуация описана.
https://support.oracle.com/epmos/faces/DocumentDisplay?id=1627439.1&_adf.ctrl-state=bxhlvttk_34&_afrLoop=457720326714472#aref_section49
Эта ситуация возникает когда настройки часового пояса ОС при запуске отличались от текущих.
Этот запрос это выявляет
conn / as sysdba
SET SPACE 1 LINESIZE 80 PAGES 1000
SELECT * FROM (
select to_char(ORIGINATING_TIMESTAMP,'YYYY/MM/DD HH24:MI:SS TZH:TZM') 
from V$DIAG_ALERT_EXT 
WHERE trim(COMPONENT_ID)='rdbms' 
and MESSAGE_TEXT like ('PMON started with%') 
order by originating_timestamp desc ) 
WHERE rownum < 20;


Так и есть. У меня последний старт был по Гринвичу. Как такое вышло ума не приложу. Хоть база и тестовая, но работала с июня. Видать только сейчас кто-то заметил. Лечится перезагрузкой оракла.
Дядя Жора
Дата: 08.10.2015 15:42:33
История имеет продолжение. Выяснилось как такое случилось. С часовым поясом на хосте базы всё было и есть в порядке +3. Но в последний раз её стартовали не через sqlplus, а через enterprise manager 12c. Он её каким-то образом стартует по Гринвичу, хотя на самом OMS и в репозитории тоже +3
Это стабильно воспроизводится. Наверное надо копаться в настройках OMS и его вэблоджика. Но это так - из спортивного интереса ибо старт-стоп из ОЕМ это экзотика.