Schaltsekunde, Linux und Oracle

In wenigen Tagen ist es schon wieder soweit:
Am 1.7.2015 wird der Sekundenzeiger um 01:59:59 Uhr eine Sekunde länger stehenbleiben.

Auf Servern wird das u.U. anders gehandhabt: Hier kann es passieren, dass die UTC-Uhr 23:59:60 anzeigt. Wird so ein Datum in ein DATE-Feld eingefügt, führt das unter Oracle zu einem ORA-01852.
Schlimmer kann es noch bei älteren Linux-Versionen kommen, da kann das System schlicht stehen bleiben oder exzessiv CPU verbrauchen.

Maris Elsins von Pythian hat zwei ausführliche, englische Artikel zum Thema verfasst (1.: Welche Probleme entstehen können, 2.: Umgang mit diesen Problemen unter Linux). Daher liefere ich hier übersetzt nur

Die allerwichtigsten Maßnahmen für Linux in Kürze:

  • ntpd sollte mit der Option „-x“ laufen. Dadurch werden Zeitdifferenzen über einen längeren Zeitraum gestreckt („die Sekunden werden länger“), eine Schaltsekunde wird nicht benötigt.
    Alleine mit dieser Konfiguration können fast alle anderen Probleme umgangen werden.
  • file /etc/localtime“ sollte „no leap seconds“ zurückgeben. Sprich: das Betriebssystem ist nicht für das Einfügen einer Schaltsekunde konfiguriert.
  • Laut Oracle sind Kernel-Versionen von 2.4 bis 2.6.39 von Hängern betroffen. Ab Version 2.6.39-200.29.3 sind die bislang bekannten Bugs gefixt.

Weblinks

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s