關於使用 Oracle Notification Server 代理主機的 Oracle Database 雲端服務

Oracle Base Database Service 運用多雲功能並啟用可客製化的解決方案,以實現最佳應用程式可用性、節省成本、靈活性及效能。多重雲端部署需要仔細規劃,以降低 IT 管理的複雜性,並確保端對端安全性。

Oracle Connection Manager ( CMAN) 可透過通透的方式轉送連線要求和回應、提供進入點以及提供 TLS 安全性、協定切換 / 路由以及存取控制,來簡化資料庫和應用程式在不同 cloud service 提供者上的多雲端部署。

在本解決方案手冊中,您將瞭解如何使用搭配 Oracle Database 的單一 CMAN 執行處理來建立與 Google Cloud 的連線,讓從屬端能夠訂閱 Oracle RAC 事件。

附註:

多個 CMAN 執行處理可提供更好的負載平衡功能,並提升效能和可用性。


gc-oci-ons-subscribe-rac-events-arch-oracle.zip

Oracle Notification Service ( ONS) 是 Oracle Grid Infrastructure 的一個元件,它會發佈 Oracle Real Application Clusters (Oracle RAC) 事件,例如伺服器負載、節點啟動或關閉等等。直接連線資料庫或使用連線集區的資料庫從屬端可以訂閱這些通知,讓它們能夠在嚴重事件期間採取動作。在應用程式和 Oracle RAC 資料庫橫跨不同雲端提供者的多雲端部署中,應用程式可以使用 CMANOracle RAC 資料庫通訊。不過,這些階段作業無法接收外送的「快速應用程式通知 (FAN)」事件。

Oracle RAC 中, ONS 協助程式是由 Oracle Clusterware 啟動,作為 nodeapps 的一部分。每個叢集節點都會啟動一個 ONS 常駐程式。ONS 協助程式會使用本機 EVMD 叢集軟體協助程式接收已發布之 Oracle Clusterware 事件的子集,並將這些事件轉送給應用程式訂戶和本機監聽器以協助:

  • 快速應用程式通知 (FAN) 功能,可讓應用程式回應資料庫狀態變更。「快速連線容錯移轉 (FCF)」是使用 FAN 功能來達到此目的的從屬端機制。
  • 負載平衡建議 (RLB 功能) 功能允許不同 RAC 節點間的負載平衡取決於不同節點上的負載。RDBMS MMON 處理作業每 30 秒會為工作分配建立建議,並使用 ONS 將工作轉送給監聽器與應用程式。

若要允許從屬端訂閱 Oracle RAC 事件,必須要有 Oracle Notification Server 代理主機。CMAN 通透地轉寄要求和回應,提供單一進入點並提供 TLS 安全性、協定切換 / 路由以及存取控制。在 CMAN 主機上執行的 Oracle Notification Server 透過 ONS 代理主機與 Oracle RAC 網路上的 ONS 伺服器通訊。訂閱 CMAN 主機上 ONS 的從屬端應用程式,使用 Oracle Notification Server 代理主機與 Oracle RAC 公用網路上的 Oracle Notification Service 進行通訊。



ons-publish-subscribe-proxy-arch-oracle.zip

ONS 使用 HTTP 協定的子集提供一般頻外訊息傳遞機制。ONS 是一種發佈 / 訂閱機制,伺服器會在其中發佈傳遞給訂閱從屬端的通知。

Oracle RAC 叢集中, ONS 協助程式的一個執行處理是由 Oracle Clusterware 在每個叢集節點上啟動。資料庫伺服器部署通常受防火牆保護,因此 ONS 伺服器也位於防火牆之後。伺服器會透過外部的 Oracle Notification Server 連線至可以存取防火牆外部從屬端的代理主機。代理主機會從發布內部 ONS 伺服器通知的外部 Oracle Notification Server 執行處理啟動。外部 ONS 伺服器接著會將這些通知發佈給已訂閱的用戶端。

Before You Begin - 開始之前

開始之前,請確定您執行下列作業:

檢閱 Oracle Net Services 指南。然後,依照下列步驟佈建 OCI VCN,並安裝和設定 Oracle RAC 資料庫:
  1. 使用公用和專用子網路佈建 OCI VCN。專用子網路將用於佈建使用 Oracle Base Database Service 的雙節點 Oracle RAC 資料庫,而公用子網路將用於佈建 CMANOCI Compute 虛擬機器。
    VCN 專用子網路 公用子網路

    姓名:OnsProxyVcn

    IPv4 CIDR 區塊:10.0.0.0/16

    10.0.1.0/24 10.0.0.0/24
  2. 使用 Oracle Base Database Service 部署 Oracle RAC 資料庫。

    請參閱 OCI 文件中的使用主控台建立資料庫系統小節,瞭解使用 Oracle Base Database Service 建立雙節點 Oracle RAC 資料庫的詳細資訊。以下資料庫是一個範例:

    資料庫系統 Database 節點 1 節點 2

    名稱RACDBSystem

    網域名稱sub12161926541.onsproxyvcn.oraclevcn.com

    SCAN DNS 名稱racnode-scan

    SCAN IP 位址10.0.1.20510.0.1.3510.0.1.117

    資料庫名稱ORCLCDB

    資料庫唯一的名稱ORCLCDB_8p7_phx

    版本 23.6.0.24.10

    名稱racnode1

    專用 IP10.0.1.13

    名稱racnode2

    專用 IP10.0.1.95

  3. 設定堡壘主機以存取專用子網路上的 RAC 節點。

    使用堡壘主機建立連接埠轉送階段作業,以存取 Oracle RAC 節點專用 IP。

    堡壘主機 詳細資訊
    堡壘主機

    名稱OnsProxyRacDbBastion

    目標虛擬雲網路OnsProxyVcn

    目標子網路private subnet-OnsProxyVcn

    CIDR 區塊允許清單0.0.0.0/0

    私有端點 IP 位址10.0.1.215

  4. 設定 Oracle RAC 資料庫系統的詳細資訊。

    下列是您必須啟動設定之 Oracle RAC 資料庫節點和 Oracle Clusterware 的重要組態詳細資訊。

    Oracle RAC 節點 IP 主機名稱 VIP 名稱 SCAN 名稱 網域 Grid Infrastructure/ 資料庫版本
    Oracle RAC 節點 1 10.0.1.13 racnode1 racnode1-vip racnode-scan subnet.onsproxyvcn.oraclevcn.com 23.6.0
    Oracle RAC 節點 2 10.0.1.95 racnode2 racnode2-vip racnode-scan subnet.onsproxyvcn.oraclevcn.com 23.6.0
    檢查 Oracle RAC 資料庫狀態。
    oracle@racnode1 ~]$ date;/u01/app/oracle/product/23.0.0.0/dbhome_1/bin/srvctl status database -d ORCLCDB_8p7_phxTue Dec 17 03:24:52 UTC 2024
    Instance ORCLCDB1 is running on node racnode1
    Instance ORCLCDB2 is running on node racnode2

關於必要服務與角色

此解決方案需要下列服務與角色:

  • Oracle Cloud Infrastructure Networking
  • Oracle Cloud Infrastructure FastConnect
  • Oracle Cloud Infrastructure Compute
  • Oracle Base Database Service

這些是每項服務所需的角色。

服務名稱:角色 必須為 ...
OCI 網路:manage vcn-family 管理網路元件,包括 VCN、子網路、安全性規則和 FastConnect。
OCI Compute:manage instance-family 建立運算 VM 執行處理。
OCI 資料庫:manage database-family 建立基準資料庫服務執行處理。

請參閱 Oracle 產品、解決方案和服務,以取得您需要的內容。

架構

此架構在多雲端使用具有 CMANONS 代理主機部署案例的 Oracle RAC 。它顯示在 OCI VCN 專用子網路中使用 Oracle Base Database Service 部署的 Oracle RAC 資料庫,而這些子網路無法從從屬端網路存取。


rac-cman-proxy-deploy- 多雲端 -arch-oracle.zip

Oracle Connection Manager ( CMAN) 部署在 OCI Compute 虛擬機器上,此虛擬機器位於相同 OCI VCN 的公用子網路上。用戶端可以使用公用子網路上的公用 IP 存取 CMAN 。在 CMAN 主機機器上配置了 ONS 伺服器和 ONS 代理伺服器。CMAN 監聽器會連線至 Oracle RAC 資料庫,而此資料庫是在防火牆之後執行。

應用程式與 Oracle 用戶端軟體會部署在 Google Cloud 的運算虛擬機器上。

您也可以使用多個連線到同一個資料庫伺服器與 ONSCMAN 。在此情況下,您必須在每個 CMAN 節點上設定 ONS 代理主機和 Oracle Notification Server

此架構支援下列元件:

  • OCI 地區

    OCI 區域是本地化的地理區域,包含一或多個代管可用性網域的資料中心。區域獨立於其他地區,且遠距離能夠分離它們 (跨國家,甚至是大陸)。

  • 容錯域

    容錯域是可用性網域內硬體和基礎架構的群組。每個可用性網域都具有三個獨立電源和硬體的容錯域。當您將資源分散到多個容錯域時,您的應用程式就可以容忍容錯域內的實體伺服器故障、系統維護,以及電源故障。

  • OCI 虛擬雲端網路與子網路

    虛擬雲端網路 (VCN) 是您在 OCI 區域中設定的可自訂軟體定義網路。與傳統資料中心網路一樣,VCN 可讓您控制網路環境。VCN 可以有多個非重疊的無類別網域間路由 (CIDR) 區塊,您可以在建立 VCN 之後變更這些區塊。您可以將 VCN 分隔到子網路中,而子網路的作用領域可以調整到某個區域或可用性網域。每個子網路都是由連續的位址範圍所組成,這些位址不會與 VCN 中的其他子網路重疊。您可以在建立子網路後變更其大小。子網路可以是公用網路或專用網路。

  • 可用性網域

    可用性網域是區域內獨立的資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域不會共用基礎架構,例如電源或冷卻系統,或內部可用性網域網路。因此,一個可用性網域發生故障不應影響該區域中的其他可用性網域。

  • OCI FastConnect

    Oracle Cloud Infrastructure FastConnect 會在您的資料中心與 OCI 之間建立專用的專用連線。與基於網際網路的連線相比,FastConnect 提供更高的頻寬選項以及更可靠的網路體驗。

  • OCI Compute

    您可以使用 Oracle Cloud Infrastructure Compute 在雲端佈建及管理運算主機。您可以啟動資源配置符合 CPU、記憶體、網路頻寬和儲存資源需求的運算執行處理。建立運算執行處理之後,您可以安全地存取、重新啟動、連附及取消連附磁碟區,然後在不再需要運算執行處理時予以終止。

  • Oracle Base Database Service

    Oracle Base Database Service 是一項 OCI 資料庫服務,可讓您在虛擬機器上建置、擴展及管理功能完整的 Oracle 資料庫。Oracle Base Database Service 使用 OCI Block Volumes 儲存體而非本機儲存體,並可執行 Oracle Real Application Clusters (Oracle RAC) 以提高可用性。

  • Oracle Linux

    Oracle 將作業系統、容器和虛擬化 (現代 IT 基礎架構的基礎建構塊) 結合成一個整合產品:Oracle Linux。Oracle Linux 可根據您選擇的硬體 (在資料中心或雲端執行) 提供高要求企業工作負載的可靠性、擴展性、安全性和效能。

  • Oracle Clusterware

    Oracle Clusterware 可讓伺服器彼此協調,以高可用性的單位運作。這樣的伺服器組合通常稱為叢集。雖然伺服器是獨立的伺服器,但每部伺服器會與其他伺服器通訊,使個別伺服器對應用程式與一般使用者顯示為一個系統。Oracle Clusterware 也會監督叢集內的元件、重新啟動或容錯移轉資源,以確保高可用性。Oracle Clusterware 提供執行 Oracle RAC 所需的基礎架構。Oracle Clusterware 也負責管理資源,例如虛擬 IP (VIP) 位址、資料庫、監聽器、服務等等。

  • Oracle 連線管理程式

    Oracle Connection Manager ( CMAN) 是 Oracle 部署中使用的多用途資料庫連線代理伺服器。它通透地將從屬端應用程式要求轉送至 Oracle Database ,然後將回應轉送回從屬端應用程式。用戶端可以是使用者應用程式或中間層軟體解決方案。CMAN 會從用戶端抽象化資料庫網路層,包括 Oracle RAC 公用網路。多個資料庫可以部署在單一 CMAN 執行處理之後。因此,從屬端可以使用單一進入點進入資料庫層。CMAN 提供 TLS 安全性、協定切換 / 路由以及連線到本機和遠端 Oracle Database 的存取控制。

  • Oracle Database 公事包與憑證

    「資料安全性」是資料庫中最重要的任務。資料庫系統的攻擊會持續以數字和複雜度成長。確保您的資料庫系統運作可能是一項艱鉅的任務。Oracle Database 公事包是受密碼保護的容器,可儲存認證和簽署證明資料 (包括私密金鑰和憑證),讓資料庫從屬端能夠在 Oracle Database 網路間進行通訊。

    Oracle Database 憑證 (公用金鑰基礎架構 (PKI) 數位憑證) 是一個公事包元件,可在使用公事包的公用金鑰或私密金鑰交換中驗證端點實體的身分。

  • Oracle Notification Service

    Oracle Notification Service ( ONS) 是 Oracle Grid Infrastructure 的一個元件,它會發佈 Oracle Real Application Clusters (Oracle RAC) 事件,例如伺服器負載、節點啟動或關閉等等。直接連線資料庫或使用連線集區的資料庫從屬端可以訂閱這些通知,讓它們能夠在嚴重事件期間採取動作。在應用程式和 Oracle RAC 資料庫橫跨不同雲端提供者的多雲端部署中,應用程式可以使用 CMANOracle RAC 資料庫通訊。不過,這些階段作業無法接收外送的「快速應用程式通知 (FAN)」事件。

    ONS 使用 HTTP 協定的子集提供一般頻外訊息傳遞機制。ONS 是一種發布 / 訂閱機制,可供從屬端發布傳遞給訂閱從屬端的通知。訂閱語法具有彈性,因此單一訂閱者可以符合許多不同類型的通知,或僅符合非常特定的類型。Oracle Notification Service 是在 Oracle Database 中用來作為訊息與事件系統。

  • Oracle Notification 伺服器

    Oracle Notification Server 執行 Oracle Notification Service ( ONS)。

  • Oracle Interconnect for Google Cloud

    Oracle Interconnect for Google Cloud 是一項專屬的專用互連服務,結合了 OCI FastConnect 合作夥伴連線和 Google Cloud Partner Interconnect,可協助多雲端客戶在兩個雲端進行創新,並套用現有且熟悉的工具來支援工作負載。