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