YH3:一文全面瞭解Oracle RAC One Node
Oracle RAC One Node是Oracle Database 11.2引入的Oracle資料庫企業版的一個選項。它為單例項Oracle資料庫提供了增強的高可用性,可以保護計劃內和計劃外的停機時間。
本文來自Oracle白皮書翻譯
Oracle RAC One Node有以下優點:
增強Oracle資料庫的可用性
為Oracle資料庫整合提供便利(提供對多租戶的支援)
方便進行資料庫虛擬化
Oracle RAC One Node還允許客戶對其資料庫部署和管理進行標準化,整合資料庫儲存,如果需要,可以升級到完整的多節點Oracle RAC資料庫,而無需停機或中斷。
Oracle RAC One Node 12c – 概述
Oracle資料庫與Oracle RAC One Node選項與Oracle RAC具有相同的基礎架構。與Oracle RAC不同的是,它通常僅針對共享資料檔案集(資料庫)執行一個例項,該資料庫完全支援Oracle RAC,但不能同時跨越多個硬體系統。
相反,如果此伺服器上的伺服器,例項或相關和受監視的元件出現故障,Oracle RAC One Node資料庫例項將故障轉移到叢集中的另一臺伺服器。對於計劃停機(例如作業系統或資料庫修補)的情況,Oracle RAC One Node提供了一個獨特的功能,即線上資料庫重定位,它允許將資料庫從一個伺服器重新定位到另一個伺服器,而不會中斷資料庫服務。
解決計劃以及意外停機使Oracle RAC One Node成為最佳的Oracle資料庫故障切換解決方案。線上升級到多節點Oracle RAC資料庫的能力補充了其功能,並使其成為資料庫雲部署的理想基礎架構。
Oracle RAC one node的標準化
Oracle RAC One Node使用多個功能,使其成為理想的標準資料庫部署基礎架構。
- 從應用程式的角度來看,Oracle RAC One Node出於實際性目的 – 作為應用程式的Oracle單例項資料庫。因此,只要應用程式被認證為針對Oracle資料庫執行,幾乎不需要明確地使用Oracle RAC One Node來驗證應用程式。
- 從管理的角度來看,Oracle RAC One Node與Oracle RAC具有相同的架構,因此具有眾多優勢。此設計允許Oracle RAC One Node在計劃停機的情況下使用線上資料庫重定位功能進行不間斷的資料庫服務,例如通常在修補OS或資料庫時使用。在這種情況下,即使部署在群集上的單例項資料庫也需要刪除。
這些功能以及Oracle RAC One Node資料庫可以線上升級到多節點Oracle RAC資料庫,從而將Oracle RAC One Node與簡單執行Oracle單例項資料庫區分開來。
Oracle RAC One Node和Oracle RAC之間的主要區別在於使用Oracle RAC One Node Database,在正常操作下,一次只能執行一個例項。如果這一個例項受到計劃外停機的影響,用於Oracle RAC One Node的堆疊確保資料庫服務將盡可能快地恢復,但在技術上和任何其他故障轉移群集解決方案一樣。那麼在一段很短的時間內沒有資料庫例項正在執行。
對於計劃停機時間Oracle RAC One Node提供了優於市場上任何其他故障切換解決方案的解決方案; “線上資料庫遷移”。線上資料庫重定位是一種Oracle RAC One Node特有功能,可將Oracle RAC One Node資料庫例項重新定位到群集中的另一個伺服器,而不會中斷資料庫服務。在Oracle RAC資料庫中,不需要此功能,因為資料庫例項通常在叢集中的多個伺服器上執行。重新定位正在執行的Oracle RAC資料庫例項是不必要的。
最佳的Oracle資料庫可用性
對於故障情況,Oracle RAC One Node可確保最低可能的故障切換時間。 此外,Oracle RAC One Node還可以使用Oracle最新的業務連續性功能“應用連續性”,它包含在Oracle RAC,Oracle Active Data Guard和Oracle RAC One Node選項中。
利用應用程式連續性作為故障切換策略的一部分,可以最大限度地減少執行在Oracle RAC One Node Database上的應用程式所遇到的停機時間,同時也有助於優化計劃停機時間,因為它可以減少對要修補的資料庫例項的工作的需求。
線上資料庫遷移完成了Oracle RAC One Node功能,使Oracle RAC One Node成為最佳的Oracle資料庫故障切換解決方案。
使用Online Database Relocation實現零停機安裝補丁集
線上資料庫遷移允許執行伺服器韌體,作業系統或資料庫修補等維護操作,而不會停止資料庫服務。
雖然線上資料庫遷移是一種標準的Oracle RAC One Node功能,但使用它進行零停機維護需要做一些準備。 在上圖中,三個節點叢集託管各種Oracle RAC One Node資料庫:
節點1承載Oracle RAC One節點資料庫A
節點2承載Oracle RAC One節點資料庫B和D
節點3託管Oracle RAC One節點資料庫C和E
每個Oracle RAC One Node資料庫的Oracle資料庫歸檔安裝在每個伺服器的基礎上(而不是使用共享的Oracle資料庫主機)。 使用每個資料庫的個人資料庫home允許在伺服器上的各個資料庫的線上修補。
為簡單起見,以下示例將僅關注Oracle RAC One Node資料庫A.在真實環境中,可能需要考慮在同一伺服器上執行的其他資料庫。考慮到這些假設,使用線上資料庫重定位的線上維護可以通過四個簡單的步驟執行(根據場景,可以進一步優化三個步驟):
- 啟動從源到目標的線上資料庫重定位
- 在源伺服器上修補Oracle資料庫的主頁
- 回滾(重新定位到源伺服器)以啟用補丁使用
- 剩餘Oracle資料庫主頁
上述列表中的第一步使Oracle RAC One Node優於當今市場上任何其他資料庫叢集故障切換解決方案。 基於Oracle RAC One Node是啟用Oracle RAC的資料庫,線上資料庫重定位可以為Oracle RAC One Node資料庫啟動第二個例項,以進行重定位。 這是Oracle RAC One Node資料庫應該同時執行兩個資料庫例項的唯一時間。
作為線上資料庫重定位的一部分,執行以下步驟:
1、資料庫服務在源資料庫例項(要停止的例項)上停止,然後在目標資料庫例項(新例項)上啟動。
請注意,由於此原因,Oracle RAC One Node需要至少建立一個動態資料庫服務,作為基於DBCA的資料庫建立的一部分。
2、可以建立其他資料庫服務作為安裝後步驟。
3、在目標資料庫例項上啟動的資料庫服務將導致新的連線請求訪問Oracle RAC One Node資料庫轉到新的目標伺服器。
4、在源伺服器上啟動線上資料庫重定位時建立的連線將保留在源例項上,同時將針對源資料庫例項執行關閉事務處理。
5、由於關閉事務處理將等待會話完成事務並斷開連線,“線上資料庫重定位”功能允許設定一個超時時間,描述使用shutdown abort強制停止源資料庫例項之前應等待的時間。
預設等待時間(超時)為30分鐘。等待時間可以增加多達24小時。
6、在超時過期或源資料庫例項上的最後一個會話關閉後(以先到者為準),源資料庫例項將被關閉,並且新的(目標)資料庫例項保持為唯一可用的例項。
Oracle資料庫12c實際應用叢集(RAC)一個節點。
由於源資料庫例項現在已停止,並且假設沒有其他資料庫從相應的資料庫主伺服器執行,因此,源伺服器上的資料庫主目錄現在可以進行修補(請參閱步驟3),隱式使用本機的固有的滾動升級功能Oracle RAC資料庫。
步驟4預計將倒退操作,這意味著將Oracle RAC One Node資料庫A重新定位到原始的家庭,以便啟用修補程式,因為到目前為止,該資料庫例項只是從未修補的資料庫中執行。啟動Oracle RAC One Node Database節點1上的例項將啟用此例項的修補程式,並允許修補剩餘的主機。
在整合環境中優化線上打補丁的過程
上面所述的“使用線上資料庫重定位的零停機修補”的過程假設特定資料庫例項在工作流程中被重新定位兩次,這導致執行四個步驟。 在合併環境中,假設沒有特定的伺服器,需要託管資料庫例項,上述步驟可以縮短為3個步驟:
更好地資料庫整合
鞏固已成為IT行業的熱門話題。 Oracle RAC One Node可實現更好的伺服器整合,增強的保護,防止故障,更大的靈活性,更輕鬆的工作負載管理以及比虛擬化環境更好的線上維護。
通過利用共享作業系統(OS)映像的優勢,Oracle RAC One Node提供卓越的整合。 這意味著,在虛擬機器(VM)環境中,只有一個作業系統可以安裝,配置,安全,修補,升級,備份,管理與多個作業系統。
Oracle RAC One Node的OS整合模型為系統管理員提供了要管理的單個作業系統(每個伺服器)。相比之下,在VM環境中,在單個物理伺服器上安裝了十幾個作業系統並不常見,為系統管理員提供了十幾個作業系統來安裝,配置,修補,安全,升級,備份和管理。
使用單個作業系統映像來託管多個Oracle資料庫提供了隔離資源的問題,其中CPU利用率最重要的是記憶體利用率。例項Caging4是Oracle Database 11g Release 2引入的一個功能,可以跨資料庫提供所需的資源隔離。
此功能有助於提供一致的服務水平,而無需更麻煩的方法的開銷和低效率。 Instance Caging允許管理員限制例項使用的CPU,從而防止一個例項中的失控程序影響其他共享該伺服器的程序。管理員可以在不使資料庫離線的情況下動態地更改CPU分配,如果系統上的需求或需求發生變化。
Oracle RAC One Node 支援多租戶
在Oracle RAC One Node中使用PDB時,多租戶容器資料庫(CDB)基於Oracle RAC One Node。 每個可插拔資料庫都可在Oracle RAC One Node CDB例項上使用。 使用動態資料庫服務來管理和管理PDB,這些應用程式也將被應用程式用於連線到相應的PDB,就像使用Oracle Net Services進行連線的單例項Oracle資料庫一樣。
Oracle資料庫虛擬化的優化實現
虛擬化已成為IT行業的熱門話題,一個原因可能是,通過從執行在其上的軟體抽取物理資源,虛擬化承諾更靈活和更有效的IT環境。它提供了各種易於獲得的收益,具有明顯的可衡量和可理解的回報。很容易證明投資將具有積極的投資回報率。
Oracle RAC One Node在物理伺服器上執行,因此不會受到虛擬伺服器的潛在開銷的影響。由於它們傾向於執行I / O和記憶體密集型操作,因此資料庫可能會導致許多伺服器虛擬化環境中的高開銷執行 – 對於在物理伺服器上執行的這些環境將提供顯著的效能改進。
虛擬化最明顯的優勢是與伺服器整合相關的優勢,但越來越多的客戶正在利用諸如Live Migration和基於VM的高可用性等高階功能的優勢。
Oracle認識到這些好處,並提供自己的伺服器虛擬化產品Oracle VM。以下是驅動虛擬化興趣的主要優點:
- 伺服器整合:將未充分利用的伺服器整合到單個物理伺服器中可以降低伺服器的成本,佔用空間,電源和冷卻。
- 防止故障:虛擬化可以與監視虛擬資源或實際應用程式的執行狀況的監視功能相結合,並在虛擬機發生故障時重新啟動或重新定位工作負載。
- 靈活性和工作負載管理:虛擬化使得可以在叢集內的物理伺服器之間遷移工作負載,從而平衡池中所有伺服器資源的負載
- 線上維護:將工作遷移到物理資源允許管理員對該物理資源執行維護,而不會影響應用程式的使用者。
虛擬化已成為伺服器虛擬化的代名詞,但存在許多不同型別的虛擬化。 伺服器虛擬化是最簡單的虛擬化形式,可以提供許多上述優點,具有不同程度的實用性。
大多數虛擬化解決方案不提供的粒度超出了客戶虛擬機器的黑匣子。換句話說,對於大多數基於虛擬機器的解決方案,包括甲骨文,客戶虛擬機器是一個黑匣子,其中的功能如Live Migration或基於VM的高可用性將會執行。這些功能對訪客虛擬機器的執行情況沒有任何見解
Oracle RAC One Node和Oracle RAC Stack提供了充分利用基於VM的環境所需的洞察力和功能。實時遷移可能能夠將客戶機從一個伺服器移動到另一個伺服器;但是,它不能僅在guest虛擬機器之間移動資料庫。
在客戶虛擬機器中的應用程式(資料庫)級別上進行操作對於維護操作來說有很大的區別。每個guest虛擬機器仍然使用作業系統,並可能提供Oracle資料庫本地二進位制檔案;這兩個實體將經常進行修補。
類似的應用於基於VM的HA功能,如上圖。雖然基於VM的HA在Guest VM級別上工作得很好,這意味著如果檢測到故障,它將在Guest VM上故障轉移,它不會檢測並更正guest虛擬機器中應用程式(資料庫)的故障。
Oracle RAC One節點堆疊提供缺少的部分和功能,例如應用程式級可用性監控和線上資料庫遷移用於維護操作。
Oracle RAC One Node獨有的其他優點包括:
- 儲存虛擬化:Oracle RAC One Node通過Oracle自動儲存管理(ASM)提供儲存虛擬化。 ASM虛擬化呈現給資料庫的所有儲存,並自動進行管理和調優,並由於磁碟故障或磁碟新增/刪除事件而無縫地處理儲存重新配置。
- 儲存合併:此外,ASM通過稱為儲存“池”的功能增加了儲存利用率,其中執行Oracle RAC One Node的單個伺服器(或群集)上的所有資料庫都共享一個儲存池。資料庫磁碟IO始終保持一致,因為ASM確保IO在所有主軸之間始終保持平衡 – 即避免熱點。可以集中管理可用磁碟空間,而不是跨多個本地儲存池分段。
- 無中斷橫向擴充套件:Oracle RAC One Node可以線上升級到Oracle RAC(具有適當的許可證),以便擴充套件到超過一個伺服器。隨著時間的推移,應用程式可能不僅可以增加其工作量,還可能成為業務關鍵。如果應用程式最終需要Oracle RAC提供的增強的可用性,或超出單個物理伺服器的可擴充套件性,則Oracle RAC One Node可以升級到Oracle RAC,而不會停機或中斷。
- 標準化操作模型:通過執行Oracle RAC One Node和Oracle RAC(用於橫向擴充套件資料庫)的組合,客戶可以在所有作業系統中接受單個數據庫部署模型(即工具,IT流程,自定義指令碼等) 。這有助於簡化IT,減少教育和冗餘工作,混亂和可能的人為錯誤。
總結
Oracle RAC One Node提供了最佳的Oracle資料庫可用性。 它提供了避免計劃外和計劃停機的功能。 Oracle RAC One Node還可以提高VM的優勢並克服其限制。 那些希望減少伺服器佔用空間,提高可用性,更好地管理工作負載,減少維護中斷,簡化資料庫管理或升級到多節點Oracle RAC的客戶將發現Oracle RAC One Node是資料庫和資料庫雲部署的理想解決方案。
文章來自微信公眾號:資料和雲