♣
题目部分
在Oracle中,Oracle集群(RAC)的时间同步有哪几种方式?
♣
答案部分
从Oracle 11gR2 RAC开始,Oracle集群的时间同步可以采用操作系统的NTP(Network Time Protocol)服务,也可以使用Oracle自带的服务CTSS(Cluster Time Synchronization Service)。在Oracle 11gR2前,集群的时间是由NTP同步的,而在11gR2后,Oracle引入了CTSS组件。如果NTP没有启用,那么Oracle会自动启用自己的ctssd进程来同步集群时间。
当安装程序发现NTP协议处于非活动状态时,安装集群时间同步服务将以活动模式(ACTIVE Mode)自动进行安装并同步所有节点的时间。如果发现配置了NTP,那么以观察者模式(Observer Mode)启动集群时间同步服务CTSS。
在RAC中,集群的时间应该是保持同步的,否则可能导致很多问题,例如:依赖于时间的应用会造成数据的错误,各种日志打印的顺序紊乱,这将会影响问题的诊断,严重的可能会导致集群宕机或者重新启动集群时节点无法加入集群。
NTP和CTSS是可以共存的,且NTP的优先级要高于CTSS,也就是说,如果系统中同时有NTP和CTSS,那么集群的时间是由NTP同步的,而CTSS会处于观察者模式模式,只有当集群关闭所有的NTP服务,CTSS才会处于活动模式。在一个集群中,只要有一个节点的ntp处于活动状态,那么集群的所有节点的CTSS都会处于观察者模式。
需要注意的是,要让CTSS处于活动模式,则不仅要关闭NTP服务(/sbin/service ntpd stop),还要删除/etc/ntp.conf文件(mv /etc/ntp.conf /etc/ntp.conf.bak),否则不能启用CTSS。
可以执行如下命令来关闭NTP服务,启用CTSS同步:
代码语言:javascript复制/sbin/service ntpd stop
mv /etc/ntp.conf /etc/ntp.conf.bak
service ntpd status
chkconfig ntpd off
可以使用如下命令查看CTSS是否处于ACTIVE状态:
代码语言:javascript复制ps -ef|grep ctss
crsctl stat res -t -init
crsctl check ctss
也可以查看CTSS进程的日志文件:
代码语言:javascript复制$GRID_HOME/log/$HOSTNAME/ctssd/octssd.log
可以使用如下的命令来校验集群的时间:
代码语言:javascript复制cluvfy comp clocksync -n all -verbose
可以执行如下命令来关闭CTSS服务,开启NTP:
代码语言:javascript复制mv /etc/ntp.conf.bak /etc/ntp.conf
service ntpd status
/sbin/service ntpd start
# chkconfig ntpd off
ps -ef|grep ntp
可以使用如下的命令来重启CTSS进程:
代码语言:javascript复制crsctl stop res ora.ctssd -init
crsctl start res ora.ctssd -init
如果在生产系统中碰到集群时间不一致,而且差异比较大的时候,CTSS或NTP服务就不能自动来同步这些时间,则此时需要手动来同步集群的时间。在集群时间差异较大的时候,会在ASM和DB的alert日志中产生了类似如下的告警信息,并生成vktm的trace文件:
代码语言:javascript复制Time drift detected. Please check VKTM trace file for more details.
通过阅读相关的trace文件也可以获取时间的同步信息。
& 说明:
有关RAC的时间同步的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2157130/
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
---------------优质麦课------------
详细内容可以添加麦老师微信或QQ私聊。
About Me:小麦苗
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:618766405
● 提供OCP、OCM和高可用部分最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步