Oracle Clusterware 11g 第 2 版及更高版本要求在部署了 Oracle RAC 的集群的所有節點上實現時間同步。Oracle 提供了兩種方法來實現時間同步:一種方法是配置了網絡時間協議 (NTP) 的操作系統,另一種方法是新的 Oracle 集群時間同步服務 (CTSS)。Oracle 集群時間同步服務 (ctssd) 旨在為那些 Oracle RAC 數據庫無法訪問 NTP 服務的組織提供服務。
一 使用NTP時間同步
1.1 使用外部時間服務器
如:192.168.11.10是一台ntp時間服務器
首先確認服務器上該服務的啟動狀態:
[root@rac1 archivelog]# service ntpd start
Starting ntpd: [ OK ]
[root@rac1 archivelog]# service ntpd status
ntpd (pid 11724) is running...
此時NTP服務器的配置文件是/etc/ntp.conf,在每個節點編輯這個文件。
[root@rac1 ~]# vi /etc/ntp.conf
編輯後的內容如下,指向NTP時間服務器:
server 192.168.11.10 iburst
1.2 使用某節點作為時間服務器
這時選擇集群中某個節點作為時間服務器,NTP服務只需要很少的系統資源。假設選擇節點1作為時間服務器,節點2向它同步,其配置方法如下。
編輯主節點的/etc/ntp.conf文件,編輯後的內容如下:
server 127.127.1.0
fudge 127.127.1.0 stratum 11
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
編輯從節點的/etc/ntp.conf文件,編輯後的內容如下:
server 192.168.56.10 prefer #注意192.168.56.10為主節點的IP地址
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
配置完成後,啟動NTP服務。
[root@cc-svr-a ~]# /etc/init.d/ntpd start
注:還需要修改這個文件,options裡面添加-x選項
vi /etc/sysconfig/ntpd
#The following item added by Robinson
#Set to 'yes' to sycn hw clock after successful ntpdate
SYNC_HWCLOCK=yes #此選項用於自動校准系統時鐘與硬件時鐘
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
1.3 查看執行情況(主從)
[root@cc-svr-a ~]# ntpq –p
remote refid st t when poll reach delay offset jitter
二 使用CTSS集群時間同步服務
2.1 停止當前的 ntpd 服務
以root用戶執行以下命令:
/sbin/service ntpd stop
chkconfig ntpd off
2.2 刪除配置文件
ntp.conf為服務的配置文件,ntpd.pid文件保存了 NTP 後台程序的 pid
mv /etc/ntp.conf /etc/ntp.conf.original
rm /var/run/ntpd.pid
2.3 確認服務啟動情況
當安裝程序發現 NTP 協議處於非活動狀態時,安裝集群時間同步服務將以活動模式自動進行安裝並通過所有節點的時間。如果發現配置了 NTP,則以觀察者模式 啟動集群時間同步服務,Oracle Clusterware 不會在集群中進行活動的時間同步。
在安裝後,要確認 ctssd 處於活動狀態,請使用 grid用度輸入以下命令:
[grid@orcl1 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 0