Muchos países no siguen los cambios de horario de verano y, de forma predeterminada, están configurados para que los cambios de hora de horario de verano alteren las horas de su sistema e incluso las horas de la base de datos que se ejecutan en ellos. Esta publicación describe los pasos para deshabilitar el horario de verano y modificar la zona horaria en un servidor Linux.
En este ejemplo, la hora se establece según el país de Brasil, con una zona horaria de GST-3.
Archivos del sistema operativo involucrados:
/etc/sysconfig/clock /etc/localtime
Si buscas en el directorio /usr/share/zoneinfo/Etc en el servidor, verá subdirectorios por país e incluso por zona horaria dentro del país. Debe identificar qué directorio y subarchivos para su host de destino.
En nuestro ejemplo, estamos en la costa este de Brasil, GST-3:00. Hay archivos zoneinfo que tienen la diferencia de DST codificados:
GMT GMT0 GMT-0 GMT+0 GMT-1 GMT+1 GMT-2 GMT+2 GMT-3 GMT+3 GMT-4 GMT+4 GMT-5 GMT+5 GMT-6 GMT+6 GMT-7 GMT+7 GMT-8 GMT+8 GMT-9 GMT+9 GMT-10 GMT+10 GMT-11 GMT+11 GMT-12 GMT+12 GMT-13 GMT-14
Entonces, el directorio/archivo para ellos sería:/usr/share/zoneinfo/Etc/GMT-3
1. Modifique el archivo /etc/sysconfig/clock para leer:
# vi /etc/sysconfig/clock ZONE="Etc/GMT-3" UTC=true ARC=false
2. Siga estos pasos para configurar correctamente el archivo/enlace /etc/localtime :
# cd /etc # rm /etc/localtime # ln -s /usr/share/zoneinfo/Etc/GMT-3 /etc/localtime # ls -al localtime # date
El comando 'ls -la localtime' anterior debería mostrar el archivo /etc/localtime como un enlace simbólico a /usr/share/zoneinfo/Etc/GMT-3. Además, el comando 'fecha' debería devolver la hora correcta para Brasil Este:GST-3:00.
3. Para las bases de datos:lo único de lo que debe asegurarse es de que el propietario del sistema operativo de la base de datos no tenga configuradas variables ambientales de "TZ". Cuando sus bases de datos se inicien, si no ven ninguna variable TZ configurada, usarán la hora del sistema operativo como la hora de la base de datos.
– Conéctese como usuario de base de datos y ejecute:
# env |grep -i TZ
La salida del comando anterior no debería mostrar nada configurado en el sistema operativo como "TZ =". Si ya hay alguna zona horaria configurada, debe modificar el perfil del usuario de Oracle Db para que no se configure.