干貨滿滿!史上超全 Oracle ADG 部署架構、變化及應急處置思路
天下武功,唯快不破!
運維應急處置,唯快不破!
當內外部監管處罰力度,以分鐘計算時,應急處置,分秒必爭!
要實現快速應急處置,漂亮的將危機轉化為赫赫戰功,一個好架構設計,及清晰處置思路,會讓你無往不勝!
注意,下面要講的,是史上最全的ADG架構及變化,以及處置思路,全都來自實際生產運維的血淚總結!極具收藏和反復查閱價值!
1. 什么是 Oracle ADG
簡單的說,ADG 是 Oracle 的一種容災架構,可以確保在主站點(往往使用RAC架構)出現異常時,應急處置切換到備用 ADG 站點繼續提供服務。
主備站點的距離,可以是同一個機房內、同一個數據中心內、同城、異地,都可以是實現ADG容災結構。由于ADG往往配置為人工切換,而非自動切換模式。
因此人工切換的效率直接體現了應急處置的效果!
2. Oracle ADG 基礎部署架構
以負載均衡+應用服務器+Oracle RAC(ADG)三層結構為例,基礎架構如下圖所示。
當 OracleRAC 主庫出現問題的時候,通過 failover 切換到ADG庫,繼續提供服務。
但是僅僅一個failover命令是不夠的,因為在這個過程當中,數據庫對外服務的地址發生了改變,從原來主庫的地址IP1改變為adg的地址IP2。
這時候實際上前端的應用服務器連接到數據庫是失效的,無法對外提供正常服務。
對于數據庫的地址,變或不變,相應帶來架構規劃上的變化,下面逐一說明。
3. 架構規劃變化,及適用場景
變化1,RAC地址與ADG服務地址在同一網段
應急處置操作思路
- failover切換到adg庫
- 修改ADG庫IP2為主庫地址IP1
- 驗證業務是否恢復
注意,這種情況下,如果應用服務器支持重連,那么就不需要再做任何操作,服務就會恢復正常。
如果應用服務器不支持重連操作,那么需要再做一次應用服務器的重啟操作。
變化2,RAC和ADG處于不同網段,RAC與ADG,使用同一套應用服務器
應急處置操作思路
- failover切換到ADG庫
- 修改應用服務器數據源,修改為adg庫的地址IP2
- 重啟應用服務器集群連接ADG庫
- 驗證業務是否恢復
注意,如果應用服務器的數量較少,可以較快地完成應用服務器的重啟,并恢復業務。
但是如果應用服務器的數量較多,又處于業務高峰期,那么在應用服務器逐個重啟的過程當中,高并發的業務量會將已經重啟的應用服務器壓垮,從而導致服務始終不能恢復正常。
變化3,RAC和ADG處于不同網段,且各自部署一套應用服務器
應急處置操作思路
- failover切換到ADG庫
- 業務更換訪問地址2
- 驗證業務是否恢復
注意,如果業務人員數量規模較大,難以一一通知到更換訪問地址,會影響處置效率。
變化4,RAC和ADG處于不同網段,各自部署一套應用服務器,以負載均衡統一業務訪問地址。
應急處置操作思路
- failover切換到ADG庫
- 更改負載均衡指向,為ADG庫的應用服務器集群
- 驗證業務是否恢復
總結
思維導圖如下