Описание проблемы и ее решения.
1) Наши законотворцы решили «переиграть» решение о фиксации «летнего времени» в России. И с 26.10.2014 вернуть «зимнее время» и таким его и оставить – т.е. перевести стрелки часов на 1 час назад.
2) Помимо отмены «летнего времени» изменились временные зоны на территории России (названия, смещение в часах от Гринвича, привязка регионов к зонам).
3) Для учета этих изменений Microsoft выпустила патч KB2998527. Его желательно установить (как – описано в множестве источников в интернете), так как иначе придется вручную переводить часы на 1 час назад 26.10.2014 на всех компьютерах; очень внимательно следить за всем программным обеспечением, зависимым от настроек временных зон и т.д.
4) Но выяснилось, что установка данного патча на Windows приводит к системному сбою в работе Oracle RDBMS. Компания Oracle по этому случаю выпустила патч «Patch 19396455: DST-23: DST UPDATE SEPTEMBER 2014 - TZDATA2014F», доступный для следующих версий БД и Windows-платформ:
a. Windows x32
i. Oracle DB 10.1.0.5
ii. Oracle DB 11.2.0.3
iii. Oracle DB 11.2.0.4
iv. Oracle DB 12.1.0.1
b. Windows x64
i. Oracle DB 11.2.0.3
ii. Oracle DB 11.2.0.4
iii. Oracle DB 12.1.0.1
5) Так как поддержка Oracle RDBMS версий 10g и ниже прекращена компанией Oracle, то и патчи на них не выходят. Но множество наших клиентов используют именно Oracle DB 10g в составе ПО «Супермаг+».
6) При этом можно выполнить вручную изменения, реализованные в патче, на версии Oracle DB 10g:
a. Открыть каталог %ORACLE_HOME%\oracore\zoneinfo
b. Сделать резервную копию файлов timezlrg.dat и timezone.dat
c. Заменить файлы timezlrg.dat и timezone.dat на аналогичные из патча p19396455_10105_WINNT (files\oracore\zoneinfo\..)
7) Следует понимать, что ставить этот «патч» базы данных необязательно для БД с одним лишь «Супермагом»:
a. Патч содержит корректные имена временных зон и их смещения от GMT/UTC, что необходимо если вы используете типы данных с временными зонами (TIMESTAMP WITH TIMEZONE ,TIMESTAMP WITH LOCAL TIMEZONE).
b. Но в «Супермаге» эти типы данных не применяются.
8) Патч нужен лишь для того, чтобы работала БД после установки патча на Windows - KB2998527.
9) Поэтому у наших клиентов 2 варианта действий:
a. Установить патч на Windows KB2998527. И установить патч на БД (либо используя один из доступных официальных патчей, либо вручную заменой .dat файлов).
b. Не устанавливать патч на Windows и на БД. При этом в ручном режиме осуществить перевод часов на 1 час назад 26.10.2014.
С уважением,
Сервис Плюс