Oracle集群时间怎么同步


这篇文章主要介绍“Oracle集群时间怎么同步”,在日常操作中,相信很多人在Oracle集群时间怎么同步问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle集群时间怎么同步”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在RAC中集群的时间应该是保持同步的,否则可能导致很多问题,比如:依赖于时间的应用会造成数据的错误,各种日志打印的顺序紊乱,这将会影响问题的诊断,严重的可能会导致集群宕机或者重新启动集群时节点无法加入集群。在11gR2前,集群的时间是由NTP同步的,而在11gR2后,Oracle引入了CTSS组件,如果系统没有配置NTP,则由CTSS来同步集群时间。NTP和CTSS是可以共存的,且NTP的优先级要高于CTSS,也就是说如果系统中同时有NTP和CTSS,集群的时间是由NTP同步的,CTSS会处于观望(Observer)模式,只有当集群关闭所有的NTP服务,CTSS才会处于激活(Active)模式。以下是集群时间同步的两种模式:1)NTP同步模式节点1的octssd.log中记录发现ntp服务,ctss服务会自动切换到观望模式。

节点2的octssd.log中也会记录发现ntp服务,ctss服务为观望模式,并且同步时间的主节点是节点1。2)CTSS同步模式节点1的octssd.log中记录没有发现ntp服务,ctss服务为激活模式。节点2的octssd.log中记录没有发现ntp服务,ctss服务为激活模式,同步时间的主节点是节点1,并且会告诉你集群的时间有差异,但是因为差异过小,无需调整。虽然集群时间不一致,但是这种情况下校验结果是通过的,而且略微的差异范围内集群也会自动同步回来。如果在我们生产系统中碰到集群时间不一致会导致什么结果,我们的排查思路是怎么样的,以下是模拟集群时间不一致的场景。更改节点2的时间后在ASM和DB的alert日志中产生了以下的告警信息

点击(此处)折叠或打开 Warning: VKTM detected a time drift.
Time drifts can result in an unexpected behavior such as time-outs. Please check trace
file for more details.
oracle@com2:/opt/oracle/diag/rdbms/orcl/orcl2/trace>more orcl2_vktm_34715.trc
Trace file /opt/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_vktm_34715.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
ORACLE_HOME = /opt/oracle/products/11.2.0
System name: Linux
Node name: com2
Release: 3.10.0-693.11.1.el7.x86_64
Version: #1 SMP Fri Oct 27 05:39:05 EDT 2017
Machine: x86_64
Instance name: orcl2
Redo thread mounted by this instance: 0

Oracle process number: 4
Unix process pid: 34715, image: oracle@com2 (VKTM)

*** 2018-06-08 20:01:39.824
*** SESSION ID:(921.1) 2018-06-08 20:01:39.824
*** CLIENT ID:() 2018-06-08 20:01:39.824
*** SERVICE NAME:() 2018-06-08 20:01:39.824
*** MODULE NAME:() 2018-06-08 20:01:39.824
*** ACTION NAME:() 2018-06-08 20:01:39.824

kstmmainvktm: succeeded in 免费云主机域名setting elevated priority
highres_enabled

*** 2018-06-08 20:01:39.824
VKTM running at (1)millisec precision with DBRM quantum (100)ms
[Start] HighResTick = 1528459299824585
kstmrmtickcnt = 0 : ksudbrmseccnt[0] = 1528459299

*** 2018-06-10 20:04:00.000
kstmchkdrift (kstmhighrestimecntkeeper:highres): Time jumped forward by
(172844812599)usec at (1528632240000738) whereas (1000000) is allowed VKTM进程发现系统时间变了,alert日志会产生相应的告警信息,从产生的trace文件中可知,系统向前推进了172844812599微秒,也即为48小时(也就是我们模拟更改的时间),而允许的差异范围为1秒。节点2的octssd.log中和ctss状态都记录了偏移的时间,而且校验也是失败的,校验结果是需要同步节点2的时间,此时因为集群时间差异较大,同步服务往往是无法做到的,只有手工同步才能修复。在没有同步时间之前,重启节点2是无法正常启动的,从以下命令可知是在ctss这一步有问题,通过重新更改正确时间后,集群才能正常启动。到此,关于“Oracle集群时间怎么同步”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: Redis中主从复制和哨兵模式的示例分析

这篇文章给大家分享的是有关Redis中主从复制和哨兵模式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。主从复制指的是把一台Redis服务器的数据复制到其他Redis服务器上,前者称为主节点Master,后者称为从节点Sla…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/06 10:27
下一篇 01/06 10:28