集群时间同步服务
在集群中的两个 Oracle RAC 节点上执行以下集群时间同步服务配置。
Oracle Clusterware 11g 第 2 版及更高版本要求在部署了 Oracle RAC 的集群的所有节点上实现时间同步。Oracle 提
供了两种方法来实现时间同步:一种方法是配置了网络时间协议 (NTP) 的操作系统,另一种方法是新的 Oracle 集群
时间同步服务 (CTSS)。Oracle 集群时间同步服务 (ctssd) 旨在为那些 Oracle RAC 数据库无法访问 NTP 服务的组
织提供服务。
对 NTP 的配置不在本文的讨论范围内,因此我们选择集群时间同步服务作为网络时间协议。
配置集群时间同步服务 — (CTSS)
如果您想使用集群时间同步服务在集群中提供同步服务,需要卸载网络时间协议 (NTP) 及其配置。
要停用 NTP 服务,必须停止当前的 ntpd 服务,从初始化序列中禁用该服务,并删除 ntp.conf 文件。要在 Oracle
Enterprise Linux 上完成这些步骤,以 root 用户身份在两个 Oracle RAC 节点上运行以下命令:
[root@racnode1 ~]# /sbin/service ntpd stop
[root@racnode1 ~]# chkconfig ntpd off
[root@racnode1 ~]# mv /etc/ntp.conf /etc/ntp.conf.original
还要删除以下文件:
[root@racnode1 ~]# rm /var/run/ntpd.pid
此文件保存了 NTP 后台程序的 pid。
当安装程序发现 NTP 协议处于非活动状态时,安装集群时间同步服务将以活动模式自动进行安装并通过所有节点的时
间。如果发现配置了 NTP,则以观察者模式 启动集群时间同步服务,Oracle Clusterware 不会在集群中进行活动的时
间同步。
在安装后,要确认 ctssd 处于活动状态,请作为网格安装所有者 (grid) 输入以下命令:
[grid@racnode1 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 0
配置网络时间协议 —(仅当不按如上所述使用 CTSS 时)
注:请注意,本指南将使用集群时间同步服务实现集群中的两个 Oracle RAC 节点的时间同步。提供此节仅出于说明目
的,此节内容可供已设置为其域中使用 NTP 的组织使用。
如果您正在使用 NTP,并且愿意继续使用它而不是集群时间同步服务,那么您需要修改 NTP 初始化文件,在其中设
置 -x 标志,这样可避免向后调整时间。完成此任务后,重启网络时间协议后台程序。
为了在 Oracle Enterprise Linux、Red Hat Linux 和 Asianux 系统上完成此任务,编辑/etc/sysconfig/ntpd 文件,
添加 -x 标志,如下例所示:
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
# Set to 'yes' to sync hw clock after successful ntpdate
SYNC_HWCLOCK=no
# Additional options for ntpdate
NTPDATE_OPTIONS=""
然后,重启 NTP 服务。
# /sbin/service ntp restart
在 SUSE 系统上,修改配置文件 /etc/sysconfig/ntp,在其中进行以下设置:
NTPD_OPTIONS="-x -u ntp"
用以下命令重启后台程序:
# service ntp restart