На некоторых серверах клиентов, до сих пор не настроено корректно ни время (убежало) ни временная зона (у нас она давно изменилась), но никому это особо не мешало. Недавно все же понадобилось настроить, ну и так для порядка, но сервера уже такие древние мамонты, что никаких обновлений разумеется нет, поэтому обновим базу данных временных поясов вручную...
На сайте IANA (The Internet Assigned Numbers Authority) публикуются файлы The Time Zone Database (базы данных временных поясов - tz database)
Скачиваем файл tzdata, распаковываем, компилируем временные зоны, делаем ссылку на временную зону, профит :)
Все действия выполняю от пользователя root, т.к. необходимо работать с папками /etc /usr
## скачиваем и распаковываем
wget https://data.iana.org/time-zones/releases/tzdata2022a.tar.gz
mkdir tzdata
tar -xvzf tzdata2022a.tar.gz -C tzdata
## сделаем копию папки с зонами, удалим оригинальную и скомпилируем таймзоны из tzdata/europe
rsync -avz /usr/share/zoneinfo/Europe /usr/share/zoneinfo/Europe.old
rm -rf /usr/share/zoneinfo/Europe
zic tzdata/europe
## останавливаем инстанс БД
sudo -u oracle sqlplus -S "sys/${SYSPASSWD}@${ORACLE_SID} as sysdba" <<EOF
shu immediate
EOF
## делаем ссылку на требуемую time-zone
ln -sf --suffix=.old /usr/share/zoneinfo/Europe/Saratov /etc/localtime
## синхронизируем время и записываем в аппаратные часы
ntpdate 0.pool.ntp.org
hwclock -w
## запускаем инстанс БД через ХХ-минут
(cat <<EOS
sudo -u oracle sqlplus -S "sys/${SYSPASSWD}@${ORACLE_SID} as sysdba" <<EOF
startup
EOF
EOS
) | at now+60minutes
## можно удалить ненужное
rm -rf /usr/share/zoneinfo/Europe.old
rm -rf tzdata
rm tzdata2022a.tar.gz
PS: Инстанс БД останаливаем/запускаем на всякий случай, чтобы наверняка ничего не "глюкнуло" в нем.
Комментариев нет:
Отправить комментарий