坚信科学,分享技术

2018全新版本,未来在blog.54chen.com更新博客!

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

如何解决时间同步引起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]
本文链接: http://www.54chen.com/_linux_/%e5%a6%82%e4%bd%95%e8%a7%a3%e5%86%b3%e6%97%b6%e9%97%b4%e5%90%8c%e6%ad%a5%e5%bc%95%e8%b5%b7oracle-%e4%b8%8d%e7%a8%b3%e5%ae%9a%e7%9a%84%e9%97%ae%e9%a2%98.html

This entry was posted in linux and tagged . Bookmark the permalink.

Leave a Reply