在資料庫系統上使用 Oracle Data Guard

Oracle Data Guard 可提供企業資料的高可用性、資料保護和災害復原.

Data Guard 實行需要兩個資料庫:一個是主要角色,一個是待命角色。這兩個資料庫 (主要資料庫和待命資料庫) 會共同建立「資料保全」關聯。大多數的應用程式都會存取主要資料庫,而待命資料庫則是與主要資料庫在交易方面一致的複本。

「資料保全」會透過從主要資料庫傳輸及套用重做資料,來維護待命資料庫。如果主要資料庫無法使用,您可以使用「資料保全」將待命資料庫切換或容錯移轉至主要角色。

附註:

OCI 中的待命資料庫是實體待命資料庫。

本文將說明如何使用主控台管理資料庫系統中的資料保全關聯。

如需詳細資訊,請參閱 Introduction to Oracle Data Guard

必要的 IAM 原則

若要使用 Oracle Cloud Infrastructure,管理員必須透過原則授予您安全性存取權。不論您是使用主控台或 REST API 搭配 SDK、CLI 或其他工具,都必須具備此存取權。如果您收到一則訊息,指出您沒有權限或未經授權,請與您的管理員確認您所擁有的存取類型,以及應使用的區間

如果您不熟悉原則,請參閱原則入門通用原則

必備條件與一般資訊

Data Guard 實作需要兩個資料庫系統,一個資料庫包含主要資料庫,一個資料庫包含待命資料庫。當您對資料庫啟用資料保全時,系統會建立具有待命資料庫的新資料庫系統,並與主要資料庫建立關聯。

附註:

每個主要資料庫的「資料保全」組態只能有一個待命資料庫。

需求明細如下:

  • 這兩個資料庫系統都必須在同一個區間中。
  • 資料庫版本與版本必須相同。對於 23ai 資料庫,主要資料庫和待命資料庫必須使用相同的主要發行版本,待命資料庫則可以採用較新的次要版本。
  • Data Guard 不支援 Oracle Database Standard Edition。(Active Data Guard 需要 Enterprise Edition 極致效能。)
  • 「資料保全」關聯中的每個資料庫都必須具有唯一的名稱 (DB_UNIQUE_NAME) 值,但該值不是由存放「資料保全」關聯之資料庫系統中的其他資料庫所使用。不過,主要和待命資料庫可以使用相同的資料庫名稱 DB_NAME 值。
  • 資料庫版本決定是否可以使用 Active Data Guard (ADG)。ADG 僅適用於 Enterprise Edition Extreme Performance。如果您使用 BYOL 授權模型,且您的授權未包含 ADG,則在設定 Data Guard for Enterprise Edition Extreme Performance 時必須確定未啟用 ADG。您可以改用 Enterprise Edition 或 Enterprise Edition High Performance,但預設不會啟用 ADG。請參閱 Use Oracle Data Guard with the Database CLI
  • 如果您的主要和待命資料庫位於相同區域,則兩者都必須使用相同的虛擬雲端網路 (VCN)。
  • 如果您的主要和待命資料庫位於不同的區域,則您必須對每個資料庫的虛擬雲端網路 (VCN) 對等。請參閱使用 RPC 遠端 VCN 對等互連
  • 主要和待命資料庫可以位於不同的區域,但它們必須位於相同的範圍中。
  • 主要和待命資料庫的 SYS 密碼和 TDE 公事包密碼都必須相同。
  • 如果資料庫使用 OCI Vault 作為 TDE 金鑰,則也支援跨區域資料保全。
  • 設定 Data Guard 關聯中兩個資料庫系統子網路的安全清單傳入和傳出規則,讓 TCP 流量能夠在適用的連接埠之間移動。確定您建立的規則具有狀態 (預設值)。

    例如,如果主要資料庫系統的子網路使用來源 CIDR 10.0.0.0/24,而待命資料庫系統的子網路使用來源 CIDR 10.0.1.0/24,則建立規則,如後續範例所示。

附註:

範例中的傳出規則顯示如何只啟用連接埠 1521 的 TCP 流量,這是 Data Guard 運作的最低需求。如果您的所有外送連接埠 (0.0.0.0/0) 已啟用 TCP 流量,您就不需要明確新增這些特定的輸出規則。

已知問題

  • 在跨區域「資料保全」中,執行切換之後,就無法在新的主要資料庫上輪換「資料庫 KMS」金鑰。
  • 在跨區域「資料保全」中,執行切換之後,您就無法在新的主要資料庫上建立 PDB。

主要資料庫系統上子網路的安全清單

Ingress Rules:
	Stateless: No
	Source: 10.0.1.0/24
	IP Protocol: TCPSource Port Range: All 
	Destination Port Range: 1521
	Allows: TCP traffic for ports: 1521

Egress Rules:
	Stateless: No
	Destination: 10.0.1.0/24 
	IP Protocol: TCP 
	Source Port Range: All
	Destination Port Range: 1521
	Allows: TCP traffic for ports: 1521	

待命資料庫系統上子網路的安全清單

Ingress Rules:	
	Stateless: No
	Source: 10.0.0.0/24 
	IP Protocol: TCP 
	Source Port Range: All 
	Destination Port Range: 1521
	Allows: TCP traffic for ports: 1521

Egress Rules:
	Stateless: No
	Destination: 10.0.0.0/24 
	IP Protocol: TCP 
	Source Port Range: All
	Destination Port Range: 1521
	Allows: TCP traffic for ports: 1521	

如需建立和編輯規則的相關資訊,請參閱安全清單

Oracle Data Guard 的可用性網域和容錯域考量

Oracle 建議將包含待命資料庫的資料庫系統與包含主要資料庫的資料庫系統位於不同的可用性網域,以改善可用性和災害復原。如果您為資料庫啟用 Oracle Data Guard,而待命資料庫則位於與主要資料庫相同的可用性網域中 (選擇或是在單一可用性網域區域中工作),則 Oracle 建議您將待命資料庫放置在與主要資料庫不同的容錯域中。

附註:

如果您的主要和待命資料庫是雙節點 Oracle RAC 資料庫,而且兩者都位於相同的可用性網域中,則待命資料庫的兩個節點中只能有一個位於容錯域中,而容錯域中不包含主要或待命資料庫中的任何其他節點。這是因為每個可用性網域只有三個容錯域,而主要和待命資料庫的總計共有四個節點。如需可用性網域和容錯域的詳細資訊,請參閱區域與可用性網域

使用 API

如需有關使用 API 和簽署要求的資訊,請參閱 REST API安全證明資料。如需 SDK 的相關資訊,請參閱軟體開發套件與命令行介面

使用這些 API 作業管理資料保全關聯:

  • CreateDataGuardAssociation
  • GetDataGuardAssociation
  • ListDataGuardAssociations
  • SwitchoverDataGuardAssociation
  • FailoverDataGuardAssociation
  • ReinstateDataGuardAssociation
  • TerminateDbSystem

如需資料庫服務的完整 API 清單,請參閱資料庫服務 API