如何解决时间同步引起oracle 不稳定的问题

数据库服务器的时间与真实时间一旦出现差异,就要对数据库服务器进行时间同步。很多地方都把ntpdate放到cron中,5分钟自动同步一次。然而,这么做,常常会引会数据库ORA-01555,甚至db crash。

找到一种方法据说可以解决这个问题。即使用ntpd -x来同步时间 instead of ntpdate。
实际上ntpd,不只是一种时间服务器的server端,同时也可以做client端,相当于ntpdate。当它做client时,与ntpdate的差别是,ntpdate已近淘汰,ntpd则可看作是它升级版。
  下面的方法是讲如何在linux的环境中设置ntpd:

1. 修改/etc/ntp.conf

2. 加入time server。每个数据库中心都应用会有一组时间服务器,可以找sa要, 比如国际站,加入:

server ntp1.alibaba.com
server ntp2.alibaba.com
server ntp3.alibaba.com

ntp.conf有很多参数,都忽略就行。

3. 修改/etc/sysconfig/ntpd, 加入-x参数,变成:

OPTIONS="-U ntp -x -p /var/run/ntpd.pid"

这据说是为db同步所要求的。

4. 首先同步一次时间:
ntpdate time.nist.gov; hwclock --systohc

如果数据库还要在运行,建议不要这么做。待例行维护时再处理。

5. 然后启动ntpd:
/etc/init.d/ntpd start

6. 最后加入到自动启动列表:
chkconfig --level 2345 ntpd on


原创文章如转载,请注明:转载自五四陈科学院[http://www.54chen.com]

捐款订阅54chen
捐赠说明