1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

那些年Oracle数据库主机时间调整的风花雪月

那些年Oracle数据库主机时间调整的风花雪月

最近工作中又遇到因时间问题导致的故障,这让小编想起了N年前的一个案例。当时是应用反应主机时间与正确的时间相差有8分多钟,影响了正常的业务。登录发现主机的NTP服务是开启的,查看NTP同步状态:可以看到offset是0.051s,基本没有延迟,那么问题就出在Ntpserver时间存在不准确的可能,通过主机侧查看,果然server端存在延迟的情况。

那些年Oracle数据库主机时间调整的风花雪月

解决方案

为尽快恢复业务,我们采取了停止NTP服务,更改服务端到一个正常的NTP服务器,在不停库的情况下,手工微调时间,来追平发生的延迟的方式。具体步骤如下:

  1. 停止NTP服务
  2. /etc/init.d/ntpd stop
    vi /etc/ntp.conf
    # Enable writing of statistics records.
    statistics clockstats cryptostats loopstats peerstats
    server 172.72.20.131 prefer minpoll 6 maxpoll 6
    server 10.19.244.52 prefer minpoll 6 maxpoll 6
    logfile /var/log/dsware_ntp.log.0
  3. 每半分钟调一次时间
  4. date -s "10:41:00 2017-01-06"; clock -w
    date -s "10:42:00 2017-01-06"; clock -w
    date -s "10:43:00 2017-01-06"; clock -w
    date -s "10:44:00 2017-01-06"; clock -w
    date -s "10:45:00 2017-01-06"; clock -w
    date -s "10:46:00 2017-01-06"; clock -w
    date -s "10:47:00 2017-01-06"; clock -w
    date -s "10:48:00 2017-01-06"; clock -w
    date -s "10:49:00 2017-01-06"; clock -w
    date -s "10:50:00 2017-01-06"; clock -w
    date -s "10:51:00 2017-01-06"; clock -w
    date -s "10:52:00 2017-01-06"; clock -w
    date -s "10:53:00 2017-01-06"; clock -w
    date -s "10:54:00 2017-01-06"; clock -w
    date -s "10:55:00 2017-01-06"; clock -w
    date -s "10:56:00 2017-01-06"; clock -w
    date -s "10:57:00 2017-01-06"; clock -w
    date -s "10:58:00 2017-01-06"; clock -w
  5. 启动NTP服务
  6. /etc/init.d/ntpd start

故障分析

以上操作在一个数据库主机上正常执行后,数据库没有发生任何异常的情况。但是,在调整另一台数据库主机服务器时间时,由于手动调整时间跨度过大,导致数据库宕机。提示信息显示客户端无法与ASM实例通信。通过错误提示,表明是ASM无法与客户端通信,或超时,检查相关日志,包括网络层面,OS层面等日志。再根据日志中的超时494s,大概算了一下是8.33分钟,正好是调整的时间跨度。因此,想要调整数据库主机时间,还是建议微调,禁止一次跨度太大,以半分钟为调整跨度是比较合理方式之一。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5804.html