Oracle RC时间不同步的解决

检查数据库的时区发现不一样:

节点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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/011c9d14495ab774c6c97971dd5aef13.html