10 октября 2014 г.

Переход на зимнее время 26 октября 2014 года

В 2011 году в России был отменен переход на летнее/зимнее время. Я описывал процедуру настройки для SAP систем в этом посте.

21 июля 2014 года был принят федеральный закон № 248-Ф3, по которому 26 октября 2014 года в 2:00 необходимо будет перевести все часы на зимнее время (-1 час), к тому же упраздняется несколько часовых поясов. Подробности можно посмотреть тут.

Обсуждать закон я сейчас не предлагаю, давайте лучше рассмотрим процедуру подготовки к часу Х.

Итак, как я уже отмечал 3 года назад, программное обеспечение (SAP, СУБД и другие) берет за основу время из операционной системы.

Процедура следующая:


  1. В операционную систему сервера, на котором установлена SAP система, необходимо внести изменения. Обычно это осуществляется через пакеты обновлений (патчи).

    Для операционных систем MS Windows необходимо установить пакет обновлений KB2998527. Патч доступен для семейств MS Windows Server версий от 2003 до 2012 R2. Подробности по ссылке. После установки (рис. 1) необходимо вручную (для MS Windows Server 2003) выбрать часовой пояс "RTZ 2" и проверить, что установлена галочка для автоматического перевода времени на зимнее/летнее (рис. 2 и 3). Рестарт операционной системы не требуется.

    Рис. 1. Установка обновлений с новыми часовыми поясами в MS Windows Server.

    Рис. 2. Настройки операционной системы MS Windows Server 2003 после установки патча.

    Рис. 3. Настройки операционной системы MS Windows Server 2008 после установки патча.

    После 26 октября необходимо будет отключить автоматическое переключение на зимнее/летнее время.

    Для Red Hat Linux (Oracle Linux) необходимо с помощью следующих команд обновить файлы с настройками часовых поясов для операционной системы и для Java (рис. 4 и 5):

         # yum update tzdata
         # yum update tzdata-java


    Рис. 4. Обновление часовых поясов в операционной системе Oracle Linux 6.5.

    Рис. 5. Обновление часовых поясов для Java в операционной системе Oracle Linux 6.5.

    Для корректной работы достаточно версии пакетов 2014f (от августа 2014 года).
    Дополнительно необходимо удостовериться, что в системе выбран корректный часовой пояс (рис. 6).

    Рис. 6. Проверка настройки часового пояса в Oracle Linux.

    А также с помощью следующей команды проверить настройки для перевода времени 26 октября 2014 года (рис. 7):

        # zdump -v /usr/share/zoneinfo/Europe/Moscow

    Рис. 7. Настройки перевода часов 26 октября 2014 года в Oracle Linux.

    Подробности можно найти тут.

    Для операционных систем HP-UX обязательны к установке патчи:
    - PHCO_44190 для HP-UX 11.31,
    - PHCO_44196 для HP-UX 11.23,
    - PHCO_44197 для HP-UX 11.11.

  2. Инструкция для систем SAP описана в SAP note # 2055935 - Russia: End of permanent daylight saving time and start of permanent standard time in 2014. Для внесения изменений в систему необходимо скачать обновление часовых поясов из SAP note # 198411 - Current data and information about time zones. Файл загружается через report TZCUSTIM (транзакция SA38) в каждый мандант системы (рис. 8 и 9).


    Рис. 8. Обновление часовых поясов в SAP системе - 1.

    Рис. 9. Обновление часовых поясов в SAP системе - 2.

    Часовой пояс (по-крайней, мере для Москвы) менять не нужно, он остается прежним - RUS03. Меняется правило (рис. 10 и 11).


    Рис. 10. Часовые пояса для России до обновления.

    Рис. 11. Часовые пояса для России после обновления.

    Подробно про обновление часовых поясов в SAP системе я писал в 2011 году.

Во всей этой истории стоит учесть, что сейчас мы живем по летнему времени. После 26 октября перейдем на зимнее (стандартное) время, то есть часы переведут на 1 час назад. Пакеты обновлений для систем подразумевают следующее: 
  1. устанавливается новый часовой пояс (например, для Москвы это UTC+3), к которому прибавляется 1 час, аналогично прежней жизни (до 2011 года) по летнему времени. 
  2. настраивается разовый переход на зимнее время (-1 час) 26 октября 2014 года.
Таким образом, соблюдая меры предосторожности, пакеты обновлений можно устанавливать сейчас. А так как перевод часов будет осуществляться на час назад, SAP рекомендует для предотвращения коллизий в волшебную ночь 26 октября остановить системы на пару часов. Подробности в SAP note # 7417 - Conversion between standard time and daylight saving time

SAP не требует обновления часовых поясов в Oracle, однако существует SAP note # 2062515 - Oracle DST Update Sept. 2014 - TZDATA2014F - DSTv23, где описано, как их обновить, но только для поддерживаемой версии Oracle 11g. С предыдущими версиями Oracle, я так понимаю, вариантов нет.

Для J2EE частей SAP систем я тоже пока склоняюсь к тому, что никаких изменений не потребуется.

На SAP Forum есть ветка, посвященная этой проблеме

Если у кого есть дополнительная информация (патчи для других ОС, дополнения), то буду рад видеть комментарии к этому посту.  



19 комментариев:

  1. Вячеслав, как показывают тесты, SAPJVM нужно патчить. SAP в начале этой недели выпустил соответствующие ноты и патчи:
    Нота 2074676 - SAP JVM 7.1 Patch Collection 23 (build 7.1.024)
    Нота 2071935 - SAP JVM 6.1 Patch Collection 66 (build 6.1.071)
    Нота 2074008 - SAP JVM 5.1 Patch Collection 81 (build 5.1.097)
    Нота 2073999 - SAP JVM 4.1 Patch Collection 46 (build 4.1.046)

    ОтветитьУдалить
  2. Для операционных систем HP-UX есть патчи: HP-UX 11.31 (PHCO_44190), 11.23 (PHCO_44196) и 11.11 (PHCO_44197),

    ОтветитьУдалить
  3. Добрый день, Вячеслав. Я бы посоветовал настраивать зоны ручками согласно ноте 2055935 и потом бы прогнал запрос по ландшафту. Иначе придется открывать манданты на изменение:

    Системные настройки не позволяют изменений пользовательской настройки
    № сообщения T9005

    А так же, сначала посоветовал бы выполнить как раз эту настройку, прежде чем накатывать KB2998527, иначе через пол часа получится вот так:

    файл трассировки:
    PID=4852, TID=4784 SapTimer info. Synch Number:262, ErrsCount: 0, Correction=-51 millisec, SapTime-WindowsUtcTime=+1294 millisec (max=+6244), Nosync=0 sec, SynchsPerDay=262.000000, TotalTimeCorrection=-24591 millisec, QpcTime-WindowsUtcTime=+25834 millisec (*)



    ОтветитьУдалить
    Ответы
    1. Игорь, реальный опыт это прекрасно) спасибо за комментарий.

      Удалить
  4. Добрый день!
    А нет ли у кого в наличии указанного патча для HP UX PHCO_44190, Был бы очень благодарен.

    ОтветитьУдалить
  5. Вячеслав, здравствуйте. Вы тестировали наступление часа "Ч" после выполнения настроек. Переходит ли время в SAP системе автоматически или необходим перезапуск?

    ОтветитьУдалить
    Ответы
    1. Добрый день! Я проводил небольшие тесты. У меня получилось, что лучше перезагрузить. Не подхватывается автоматом.

      Удалить
    2. Хотя стоит отметить, что результаты получились неоднозначные. Я бы заранее не ребутил, а посмотрел в воскресенье, 26-го, после часа Х. По необходимости бы перезагрузил.

      Удалить
    3. Спасибо. У меня система на зимнее время автоматически не перешла. Пришлось перезапускать.

      Еще вопрос:

      После установки пакета tzdata-2014h-1.el6.noarch в RHEL 6.4 появились 2 неприятных эффекта:
      1) Пропали активные алерты в RZ20, новые не появляются.
      2) При входе в ST03 появляется вот такое сообщение "Inconsistency in UTC time for operating system and SAP found."

      У Вас ничего похожего не происходило?

      Удалить
    4. Алексей, мне кажется, надо подождать часа Ч.
      У меня никаких глюков не было, но люди упоминают разные ситуации в связи с этим всем.
      Так что я не удивлюсь, если что-то подобного вида будет появляться.

      Удалить
  6. Доброе утро. В свете насущной проблемы не могу осознать, есть ли у меня правильная конфигурация в ОС в итоге или нет.
    Обновил на SLES только файл зоны Europe/Moscow и получил по zdump -v Europe/Moscow |grep 2014
    это
    Europe/Moscow Sat Oct 25 21:59:59 2014 UTC = Sun Oct 26 01:59:59 2014 MSK isdst=0
    Europe/Moscow Sat Oct 25 22:00:00 2014 UTC = Sun Oct 26 01:00:00 2014 MSK isdst=0
    То есть перевод будет. Теперь тест с командой date
    sapcont1:~ # date --date='2401hour';date --date='2401hour' -u
    Птн Янв 30 15:07:26 MSK 2015
    Птн Янв 30 12:07:26 UTC 2015
    Разница в +3, как и надо

    sapcont1:~ # date --date='100day';date --date='100day' -u
    Птн Янв 30 15:07:33 MSK 2015
    Птн Янв 30 11:07:33 UTC 2015
    Разница в +4??????? Баг date? Кривые руки?

    ОтветитьУдалить
    Ответы
    1. Денис, добрый день!
      Похоже на баг. А прыжок на меньший период, например, на ноябрь в часах/днях что показывает?

      Удалить
    2. этот прыжок я к примеру взял, но смысл тот же получается при меньшем кол-во времени. Мало того на своей рабочей машине проверил (fedora 20) та же ситуация - обновления все ставятся в автомате практически.

      Удалить
    3. У меня на Oracle Linux такой же баг, а в часовом поясе я там уверен. Может быть когда прыжок идет часами, учитывается перевод часов, а когда днями, то по каким-то причинам глючит тест.
      У меня только такое объяснение)

      Удалить
    4. эээх, shellописатели)

      Удалить