共计 1668 个字符,预计需要花费 5 分钟才能阅读完成。
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