2017年的第一天,因为闰秒的关系,加上时差的原因,我国将在北京时间2017年1月1日的7时59分59秒和全球同步进行闰秒调整,届时会出现7:59:60的特殊现象。(国家授时中心闰秒公告)
那么闰秒对数据库有什么影响?
(一)具体的说:
可以参考:Information Center: Leap Second Information for All Products – Database – Exadata – Middleware – Exalogic – Linux – Sun – Fusion – EBS – JDE – Siebel – Peoplesoft (Doc ID 2019397.2)
这是一篇非常详尽的关于Oracle所有产品,是否受闰秒影响的汇总文档。包括了Sun Microsystems,Linux & VM,Database & EM,Exadata & Exalogic,Fusion Middleware,Applications。
(二)简单的说:
1 2 3 4 5 6 7 |
1. 对于RAC系统,NTP闰秒问题可能会导致节点reboot。但以下两种情况将不受影响: 1.1 使用了第三方cluster 软件,如Sun Cluster or Veritas SFRAC 配置。 1.2 使用 Oracle Clusterware 10.2.0.4 及更高的版本(包括 11g、12c 等)。 2. 对于Linux 及Oracle VM,部分应用程序无法处理该非常规“23:59:60”的时间戳,可能会导致应用挂起或主机重启。 3. 对于单节点数据库运行无影响,系统层闰秒调整不会对RDBMS 产生影响。 |
解决方案:
对于10.2.0.4以下的版本的RAC,导致节点reboot的触发条件必须同时满足如下2个条件:
1. xntpd没有启用slewing
2. oracle的clusterware(10g还没有gi),没有打上fix for bug 5015469 or bug 6022204
因此,推荐的解决方案是避免上面的条件1,启用xntpd的slewing来解决问题:
1 2 3 4 5 6 7 8 9 10 |
a). 在linux中修改/etc/sysconfig/ntpd中,修改: OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -x",使用-x参数启动ntp。 b). 在solaris中修改/etc/inet/ntp.conf中,添加: slewalways yes disable pll c). 其他平台,请参考厂家的系统管理手册 修改后重启ntpd服务。 |
参考:
Information Center: Leap Second Information for All Products – Database – Exadata – Middleware – Exalogic – Linux – Sun – Fusion – EBS – JDE – Siebel – Peoplesoft (Doc ID 2019397.2)
How Leap Second Affects The OS Clock on Linux and Oracle VM (Doc ID 1453523.1)
NTP leap second event causing Oracle Clusterware node reboot (Doc ID 759143.1)