Mnoho zemí nedodržuje změny letního času a ve výchozím nastavení jsou nakonfigurovány tak, že změny času letního času mění jejich systémové časy a dokonce i databázové časy, které na nich běží. Tento příspěvek popisuje kroky k zakázání letního času a úpravě časového pásma na serveru Linux.
V tomto příkladu je čas nastaven podle země Brazílie s časovým pásmem GST-3.
Zapojené soubory OS:
/etc/sysconfig/clock /etc/localtime
Pokud se podíváte do adresáře /usr/share/zoneinfo/Etc na serveru uvidíte podadresáře podle země a dokonce i podle časového pásma v rámci země. Musíte určit adresář a podsoubory pro vašeho cílového hostitele.
V našem příkladu jsme na východním pobřeží v Brazílii, GST-3:00. Existují soubory zoneinfo, které mají rozdíl od DST pevně zakódované:
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
Adresář/soubor pro ně by tedy byl:/usr/share/zoneinfo/Etc/GMT-3
1. Upravte soubor /etc/sysconfig/clock ke čtení:
# vi /etc/sysconfig/clock ZONE="Etc/GMT-3" UTC=true ARC=false
2. Pro správné nastavení souboru/odkazu /etc/localtime postupujte podle těchto kroků :
# cd /etc # rm /etc/localtime # ln -s /usr/share/zoneinfo/Etc/GMT-3 /etc/localtime # ls -al localtime # date
Výše uvedený příkaz ‚ls -la localtime‘ by měl zobrazit soubor /etc/localtime jako symbolický odkaz na /usr/share/zoneinfo/Etc/GMT-3. Také příkaz „date“ by měl vrátit správný čas pro východní Brazílii-GST-3:00.
3. U databází – jediné, o čem se musíte ujistit, je, že vlastník DB OS nemá nastaveny žádné proměnné prostředí „TZ“. Když se vaše databáze spustí – pokud nevidí nastavené žádné proměnné TZ – použijí čas OS jako čas DB.
– Připojte se jako uživatel DB a spusťte:
# env |grep -i TZ
Výstup výše uvedeného příkazu by neměl ukazovat nic nastaveného v OS jako „TZ=“. Pokud je již nějaké časové pásmo nastaveno, musíte upravit profil uživatele Oracle Db tak, aby toto nebylo nastaveno.