Oracle叢集時間同步
在RAC中叢集的時間應該是保持同步的,否則可能導致很多問題,比如:依賴於時間的應用會造成資料的錯誤,各種日誌列印的順序紊亂,這將會影響問題的診斷,嚴重的可能會導致叢集當機或者重新啟動叢集時節點無法加入叢集。
在11gR2前,叢集的時間是由NTP同步的,而在11gR2後,Oracle引入了CTSS元件,如果系統沒有配置NTP,則由CTSS來同步叢集時間。
NTP和CTSS是可以共存的,且NTP的優先順序要高於CTSS,也就是說如果系統中同時有NTP和CTSS,叢集的時間是由NTP同步的,CTSS會處於觀望(Observer)模式,只有當叢集關閉所有的NTP服務,CTSS才會處於啟用(Active)模式。
以下是叢集時間同步的兩種模式:
1)NTP同步模式
節點1的octssd.log中記錄發現ntp服務,ctss服務會自動切換到觀望模式。
節點2的octssd.log中也會記錄發現ntp服務,ctss服務為觀望模式,並且同步時間的主節點是節點1。
2)CTSS同步模式
節點1的octssd.log中記錄沒有發現ntp服務,ctss服務為啟用模式。
節點2的octssd.log中記錄沒有發現ntp服務,ctss服務為啟用模式,同步時間的主節點是節點1,並且會告訴你叢集的時間有差異,但是因為差異過小,無需調整。
雖然叢集時間不一致,但是這種情況下校驗結果是通過的,而且略微的差異範圍內叢集也會自動同步回來。
如果在我們生產系統中碰到叢集時間不一致會導致什麼結果,我們的排查思路是怎麼樣的,以下是模擬叢集時間不一致的場景。
更改節點2的時間後在ASM和DB的alert日誌中產生了以下的告警資訊
點選(此處)摺疊或開啟
VKTM程式發現系統時間變了,alert日誌會產生相應的告警資訊,從產生的trace檔案中可知,系統向前推進了172844812599微秒,也即為48小時(也就是我們模擬更改的時間),而允許的差異範圍為1秒。
節點2的octssd.log中和ctss狀態都記錄了偏移的時間,而且校驗也是失敗的,校驗結果是需要同步節點2的時間,此時因為叢集時間差異較大,同步服務往往是無法做到的,只有手工同步才能修復。
在沒有同步時間之前,重啟節點2是無法正常啟動的,從以下命令可知是在ctss這一步有問題,通過重新更改正確時間後,叢集才能正常啟動。
| 作者簡介
管海濤·沃趣科技高階資料庫技術專家
熟悉Oracle資料庫內部機制,豐富的資料庫及RAC叢集層故障診斷、效能調優、OWI、資料庫備份恢復及遷移經驗。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28218939/viewspace-2157055/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle叢集(RAC)時間同步(ntp和CTSS)Oracle
- Hadoop叢集是配置時間同步!Hadoop
- 分散式叢集伺服器時間同步方案分散式伺服器
- Linux叢集環境下NTP伺服器時間同步Linux伺服器
- Oracle歸檔日誌所在目錄時間不對&&Oracle叢集日誌時間顯示錯誤Oracle
- Oracle rac時間不同步Oracle
- MongoDB叢集同步MongoDB
- 大資料叢集服務啟停指令碼/常用埠/時間同步大資料指令碼
- Elasticsearch跨叢集同步Elasticsearch
- Python 非同步叢集使用Python非同步
- Redis主從同步叢集搭建Redis主從同步
- 地圖採集車的那些事 | 時間同步地圖
- Oracle叢集技術 | 叢集的自啟動系列(一)Oracle
- 達夢資料庫單例項轉實時同步叢集資料庫單例
- Oracle叢集軟體管理-新增和刪除叢集節點Oracle
- 搞懂 ZooKeeper 叢集的資料同步
- 管理 ES 叢集:叢集與外部間的安全通訊
- 管理 ES 叢集:叢集內部間的安全通訊
- 同步vmware時間
- centos:時間同步CentOS
- chrony時間同步
- chrony 時間同步
- NTP時間同步
- MONGO 叢集 修改linux主機時間後的影響GoLinux
- 分散式 PostgreSQL 叢集(Citus)官方示例 - 時間序列資料分散式SQL
- Kafka 叢集如何實現資料同步?Kafka
- Mariadb之半同步複製叢集配置
- mysql通過kafka實現資料實時同步(三)——es叢集配置MySqlKafka
- Linux ntpdate同步時間Linux
- Oracle實時同步技術Oracle
- Oracle的三種高可用叢集方案Oracle
- oracle RAC 診斷叢集狀態命令Oracle
- Oracle 12c叢集啟動故障Oracle
- tidb之dm叢集同步異常處理TiDB
- Oracle12c叢集啟動時提示%CRS_LIMIT_OPENFILE%: invalid numberOracleMIT
- 監控Kubernetes叢集證書過期時間的三種方案
- Linux使用ntp時間伺服器同步時間Linux伺服器
- chrony時間同步服務