Oracle RC 11.2.0.4两个节点时间不同步
检查数据库的时区发现不一样:
节点oracle3:
SQL> SELECT TZ_OFFSET(SESSIONTIMEZONE), TZ_OFFSET(DBTIMEZONE) FROM DUAL;
TZ_OFFS TZ_OFFS
------- -------
08:00 00:00
节点Oracle4:
SQL> SELECT TZ_OFFSET(SESSIONTIMEZONE), TZ_OFFSET(DBTIMEZONE) FROM DUAL;
TZ_OFFS TZ_OFFS
------- -------
00:00 00:00
然后查看集群时间同步服务器,发现状态为观察模式,正常应该为active状态!
节点Oracle3
[oracle@oracle3 ~]$ crsctl check ctss
CRS-4700: The Cluster Time Synchronization Service is in Observer mode.
节点Oracle4
[oracle@oracle4 ~]$ crsctl check ctss
CRS-4700: The Cluster Time Synchronization Service is in Observer mode.
查看Linux服务器当前时区如下命令:
[root@oracle4 ~]# date "%Z %z"
或者
[root@oracle4 ~]# date -R
具体结果,如下,发现不一样!
节点Oracle3:
[root@oracle3 ogg]# date "%Z %z"
UTC 0000
节点Oracle4:
[oracle@oracle3 ~]$ date "%Z %z"
CST 0800
修改设置时区,我使用的方法2
方法1,然后选择
tzselect
方法2
复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/主时区/次时区 /etc/localtime
比如,在中国可以使用:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后时区调整了之后,再次查看集群时间同步服务,发现状态为依旧不对
节点Oracle3
[oracle@oracle3 ~]$ crsctl check ctss
CRS-4700: The Cluster Time Synchronization Service is in Observer mode.
节点Oracle4
[oracle@oracle4 ~]$ crsctl check ctss
CRS-4700: The Cluster Time Synchronization Service is in Observer mode.
网上有人说需要把Linux的ntpd服务停掉,查看我的本身就是stop的
[root@oracle3 Asia]# service ntpd status
ntpd is stopped
[root@oracle4 Asia]# service ntpd status
ntpd is stopped
还有人说需要把配置文件删除,删除后集群时间同步服务状态为依旧不对
mv /etc/ntp.conf /etc/ntp.conf.bak
操作完成之后,依旧没有好,
原来是我的这两台机器的时间已经差太多了,超过1秒就不能同步了,
然后修改时间为另一台的,
[root@oracle3 Asia]#date -s "15:41:26 CST"
再次查看ctss时间同步服务状态为active的了:
[oracle@oracle3 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 1729800
[oracle@oracle4 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 1729800