![]() | Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition | ||
|
|
![]() |
||||||||||||||||||||||||||||||||||||||||
Solution Type Technical Instruction Sure Solution 1991954.1 : Leap Second on Oracle SuperCluster
This document provides reference and steps to handle the Leap Second event on Oracle SuperCluster configurations, conveying descriptions on available options and mechanisms, and enabling the customer to properly setup and verify NTP services/clients. In this Document
Applies to:SPARC SuperCluster T4-4 Half Rack - Version All Versions to All Versions [Release All Releases]SPARC SuperCluster T4-4 Full Rack - Version All Versions to All Versions [Release All Releases] SPARC SuperCluster T4-4 - Version All Versions to All Versions [Release All Releases] Oracle SuperCluster T5-8 Full Rack - Version All Versions to All Versions [Release All Releases] Oracle Exadata Storage Server Software - Version 11.2.1.2.0 to 12.1.2.1.1 [Release 11.2 to 12.1] Oracle Solaris on SPARC (64-bit) GoalProvides references, background and steps to configure NTP to handle Leap Second events on Oracle SuperCluster. SolutionBackgroundThe U.S. National Institute of Standards and Technology (NIST) is publishing a file which contains a table of past and upcoming leap seconds. This file can be used by ntpd to become aware of leap second announcements and thus be able to handle leap seconds gracefully or as a guide to set older NTP versions to apply the required correction when scheduled. Graceful handling of leap seconds implies applying the leap second locally at the appropriate time, rather than having the clock off by one second until the discrepancy with sources is noticed and corrected at a later time. ntpd will gracefully handle leap seconds which it knows about in advance Reference: http://support.ntp.org/bin/view/Support/ConfiguringNTP#Section_6.14 Prerequisites and ChecksHow to check NTP services and software versionThis sentence will provide the status of the NTP service # svcs ntp STATE STIME FMRI online 7:26:44 svc:/network/ntp:default Software version follows the same sequence as NTP definitions and standards, basically the code is a snapshot taken from the NTP.org site. # pkg list -a | grep ntp or # ntpq -c v localhost Finally a verification on peer NTP servers configured # ntpq -c peers
On Database LDOMs/Zones:SuperCluster uses non-global zones for RAC and all share the global zone kernel, therefore there is only one date/time setup, controlled by the global zone only. The NTP service can't be enabled in non-global zones, the reason being that by default the change date/time privilege is unavailable: all of them will refer to the global zone (LDOM) time/date and its NTP configuration as an extension. How to check RAC health (LDOMs)Run cluvfy on each RAC cluster, using the oracle or grid-owner user. The -noctss parameter is useful since we're interested on verifying NTP only. $GRID_HOME/bin/cluvfy comp clocksync -n all -noctss -verbose
How to check RAC health (Zones)Run cluvfy on each RAC cluster/set of zones, remember use the grid-owner OS user or oracle, depending on your setup. This will test both for NTP and CTSS. $GRID_HOME/bin/cluvfy comp clocksync -n all -verbose
Clusterware tolerates a 15minute gap between members clocks, according to note 786048.1 Exadata Storage Cells interaction-Leap Second on LinuxDuring our tests no impact was perceived on communication between Database Nodes and Storage Cells, despite the fact that Linux Leap Second implementation differs from the one provided by Solaris, the loose level of coupling (time synchronization perspective) between Database Nodes and Storage Cells allows for continued stability. Leap Second NTP setup steps:While the NTP protocol addresses the leap second event as a cascading event, that propagates from the top of the hierarchy down to clients/servers and reaching the end on sole clients. It's recommended to take provisions within your infrastructure to address the event on your NTP servers and those servers that consume the service, with local NTP configuration for that purpose. NOTE: this steps must be performed on all NTP servers providing service, as well as all Solaris LDOMs NTPv4 - Using a leap second file (Solaris 11):Get the file from either ftp://time.nist.gov/pub/ or ftp://tycho.usno.navy.mil/pub/ntp/ and upload/copy it to /etc/inet Go to directory /etc/inet and edit ntp.conf and include (or uncomment) this line leapfile /etc/inet/ntp.leap # ln -s leap-seconds.3629404800 ntp.leap # ls -l ntp.leap lrwxrwxrwx 1 root root 10:20 ntp.leap -> leap-seconds.3629404800 # svcadm restart ntp # svcs ntp STATE STIME FMRI Immediatelly after the service is up, verify the file was properly "installed" querying the service using ntpq. # ntpq ntpq> readvar 0 leapsec leapsec=201507010000 or look for leap_armed within the status string # ntpq ntpq> readvar 0 associd=0 status=0519 leap_none, sync_local, 1 event, leap_armed, version="ntpd 4.2.5p200@1.1948-o Thu Aug 30 01:07:46 PDT 2012 (1)" What to look for on Jun/30 or Dec/3124 hours before the event, the NTP service will internally activate the "awareness" mechanisms, providing a couple of useful indicators in order to verify readiness. The status string will change from leap_none to leap_add_sec and the leap variable will change from 00 to 01. ntpq> readvar 0
associd=0 status=4519 leap_add_sec, sync_local, 1 event, leap_armed, version="ntpd 4.2.5p200@1.1948-o Thu Aug 30 01:07:46 PDT 2012 (1)", processor="i86pc", system="SunOS/5.11", leap=01, stratum=6
NTPv3 - Setting leap bits via ntpq (Solaris 10):The NTP software provided by default is version 3 and there is no support for leap file. Leap second is handled using leap bits instead. ntpq> readvar 0 leapindicator
status=c011 sync_alarm, sync_unspec, 1 event, event_restart leapindicator=00 ntpq> readvar 0 leapwarning status=c011 sync_alarm, sync_unspec, 1 event, event_restart leapwarning=00 ntpq> ntpq> writevar 0 leapwarning=1 Keyid: done! (no data returned) ntpq> readvar 0 leapwarning status=c011 sync_alarm, sync_unspec, 1 event, event_restart leapwarning=01 ntpq> writevar 0 leapindicator=1 done! (no data returned) ntpq> readvar 0 leapindicator status=4644 leap_add_sec, sync_ntp, 4 events, event_peer/strat_chg leapindicator=01 ntpq> readvar 0 leap status=4644 leap_add_sec, sync_ntp, 4 events, event_peer/strat_chg leap=01 Note: More information on Leap Second bits can be found on MOS Document 1474401.1. NTP versions shipped so far with Solaris 11 SuperCluster software bundle and QFSDPs started with 4.2.5, up to 4.2.8 the latest. External ReferencesNOTE: This are external references, highly recommended reading. http://www.eecis.udel.edu/~mills/leap.html References<NOTE:1987418.1> - What Impact Will the Upcoming Leap Second Have on Java<NOTE:1001941.1> - How to Set "leap bits" for Leap Second via ntpq(1M) in Solaris for Stratum 1 Time Servers (NTPv3) <NOTE:1633515.1> - Time synchronization in a Rac Cluster: What to know. <NOTE:1453523.1> - How Leap Second Affects The OS Clock on Linux and Oracle VM <NOTE:1019692.1> - Leap Second Handling in Solaris - NTPv3 and NTPv4 Attachments This solution has no attachment |
||||||||||||||||||||||||||||||||||||||||
|