集群時間同步服務
在集群中的兩個 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