瞭解同步測試和實際環境執行資料庫

在雲端部署開發和測試環境之後,您需要快速有效率地重新整理或同步化測試資料與您的生產環境,而不會產生大量儲存成本。

在雲端中管理環境不需要是複雜或儲存大量。您可以建立 Oracle Database 的精簡型複製,在使用建立完整資料庫複本所需的儲存體容量和時間時,同步資料。

開始之前

開始同步測試和實際環境執行資料庫之前,請先複查移轉資料庫時所涉及的概念。請閱讀瞭解在資料庫移轉期間減少停止工作時間

架構

此架構顯示三個選項,用於建立實際環境執行資料庫的「測試主要」版本,然後在開發及測試環境中部署精簡複製項或快照。
Prod-testmaster-snap-db.png 的描述請參見下方
Prod-testmaster-snap-db.png 圖解描述

下列元件是架構的一部分:

  • 實際環境執行資料庫:具有實際環境執行資料的資料庫,這是您用來建立測試主要資料庫的來源。
  • 測試主要資料庫:將用來建立快照的實際環境執行資料庫複本
  • 快照:從「測試主要資料庫」建立的精簡型複製,可用於開發或測試環境。

第一個步驟是建立生產環境資料庫的「測試主要資料庫」。您有三種方式的其中一種:

  • 從實際環境執行資料庫建立實體待命資料庫。實體待命會作為「測試主要資料庫」。

    如果您經常針對實際環境執行資料庫建立複製 (例如每日或每週),您想要快速建立複製,或是擁有非常大型的實際環境執行資料庫,請使用此選項。當「測試主要資料庫」是實體待命資料庫時,「測試主要資料庫」一律會與實際環境執行同步,您永遠不需要重新整理資料。如果是非常大的資料庫,無法快速重新整理「測試主要資料庫」。

  • 使用Oracle Recovery Manager (RMAN) 作用中複製並使用複製作為「測試主要資料庫」,建立實際執行資料庫的複本。

    如果您偶爾建立實際執行環境的複製項,例如每半個月或每月,請使用此選項。使用此方法來建立測試主要資料庫,您可以使用 RMAN 作用中複製來建立測試主要資料庫,然後使用測試主要資料庫在每月建立多次複製。

  • 建立實際環境執行資料庫的完整備份複本,然後使用備份建立複製並使用複製作為「測試主要資料庫」。

    如果您不常重新整理複製,例如每季、每半年或每年,請使用此選項。使用此方法建立「測試主要資料庫」,會從實際環境執行資料庫取得完整的資料庫備份,並使用該實際環境執行備份建立「測試主要資料庫」。您可以視需要使用「測試主要資料庫」來建立多次複製。

您可以使用「測試主要資料庫」為測試與開發環境建立資料庫的空間有效率複本 (快照)。

下列架構圖提供一些不同建立及管理「測試主要資料庫」方法的指南。選擇最適合您環境的選項,以及重新整理資料庫所需的頻率。

選項 I:如果實際環境執行資料庫是非常大的資料庫,而且您需要從實際執行快速重新整理開發和測試環境 (幾分鐘內),請使用Oracle Data Guard 建立待命資料庫作為您的「測試主要資料庫」。此方法的優點是「測試主要資料庫」一律與您的實際環境執行資料庫同步,而且您永遠不需要重新整理「測試主要資料庫」。

Testmaster-dataguard.png 的描述請參見下方
Testmaster-dataguard.png 圖解描述

此架構支援下列流程:

  1. 使用Oracle Data Guard建立「測試主要資料庫」。在此案例中,「測試主要資料庫」是實際環境執行資料庫的實體待命資料庫,且一律與實際環境執行同步。
  2. 建立您測試環境的讀取/寫入快照。快照是在測試主要伺服器上建立。「測試主要伺服器」會使用「Oracle ASM 叢集檔案系統」(Oracle ACFS)

此架構支援下列元件:

  • 實際環境執行 Oracle Database:實際環境執行資料庫可以使用Oracle Automatic Storage Management (Oracle ASM)Oracle ACFS 或 UNIX 檔案系統。
  • 測試主要資料庫:Oracle ACFS 上之實際環境執行資料庫的完全同步實體待命資料庫。
  • 快照:為測試環境建立之「測試主要資料庫」的一或多個讀取/寫入複本。

選項 II:若您需要定期重新整理測試環境 (例如每週或每月),請使用 RMAN 作用中複製來建立測試主要資料庫,然後再複製您的實際執行資料庫。

Testmaster-rman-duplicate.png 的描述請參見下方
Testmaster-rman-duplicate.png 圖解描述

此架構支援下列流程:

  1. 複製您的實際環境執行資料庫來建立「測試主要資料庫 RMAN 作用中複本」。從實際環境執行資料庫執行「RMAN 作用中重複」命令來建立「測試主要資料庫」。
  2. 建立您測試環境的讀取/寫入快照。快照會建立在與「測試主要資料庫 (測試主要伺服器)」相同的伺服器上。「測試主要伺服器」會使用Oracle ACFS
  3. 刪除「測試主要資料庫」並重新建立實際環境執行資料庫複本,以重新整理「測試主要資料庫」。

此架構支援下列元件:

  • 實際環境執行 Oracle Database:實際環境執行資料庫可以使用Oracle ASM、Oracle ACFS 或 UNIX 檔案系統。
  • 測試主要資料庫:Oracle ACFS 檔案系統上實際環境執行資料庫的完整複本。
  • 快照:為測試環境建立之「測試主要資料庫」的一或多個讀取/寫入快照。

選項 III:如果有時需要從實際執行重新整理 (每幾個月),則可以使用 RMAN 完整備份從實際執行環境建立測試主要資料庫。若要簡化重新整理作業,請建立Oracle Cloud Infrastructure File Storage 服務,並將它掛載到實際環境執行和測試主要資料庫伺服器上。當您在Oracle Cloud Infrastructure File Storage上建立實際環境執行資料庫的 RMAN 備份時,測試主要伺服器上也會提供該備份,以供建立「測試主要資料庫」使用。

Testmaster-rman-full.png 的描述請參見下方
Testmaster-rman-full.png 圖解描述

此架構支援下列流程:

  1. Oracle Cloud Infrastructure File Storage 服務上建立實際環境執行資料庫的完整備份複本,並在測試主要伺服器上掛載備份。
  2. 建立您測試環境的讀取/寫入快照。快照是在測試主要伺服器上建立。「測試主要伺服器」會使用Oracle ACFS
  3. 視需要刪除現有的「測試主要資料庫」並使用全新的實際環境執行資料庫備份來重新建立「測試主要資料庫」。

此架構支援下列元件:

  • 實際環境執行 Oracle Database:實際環境執行資料庫可以使用Oracle ASM、Oracle ACFS 或 UNIX 檔案系統。
  • Oracle RMAN 完整備份: RMAN 公用程式會在Oracle Cloud Infrastructure File Storage 服務上建立實際環境執行資料庫的完整備份。
  • 測試主要資料庫:Oracle ACFS 檔案系統上實際環境執行資料庫的完整複本。
  • 快照:為測試環境建立之「測試主要資料庫」的一或多個讀取/寫入快照。

關於使用 gDBClone 公用程式進行精簡型複製

「資料庫複製快照管理」(gDBClone 公用程式的設計目的是要為測試與開發環境建立快照複製與管理資料庫的簡單與有效方法。

此公用程式使用「Oracle ASM 叢集檔案系統 (Oracle ACFS)」。Oracle ACFS 時間點快照技術和 gDBClone 公用程式提供功能強大、彈性和簡單的工具,可降低管理測試和開發伺服器的時間和複雜性。您可以使用這些工具,在定期排程或視需要,快速且有效率地同步測試、開發及實際執行資料庫之間的資料。

Oracle ACFS 快照是 Oracle ACFS 檔案系統的線上、唯讀或讀寫、時間點。快照複製是空間效率,並使用Oracle ACFS Redirect -on-Write (ROW) 功能。修改或刪除Oracle ACFS 檔案擴充區塊之前,會在快照中保留其目前的值,以維護檔案系統的時間點檢視。Oracle ACFS 支援每一檔案系統 1023 個快照。

gDBClone 命令檔可讓您執行下列主要函數:

  • Clone:從實際環境執行資料庫建立複製資料庫。複製是您的「測試主要資料庫」。建立資料庫複製所需的時間長度,視資料庫大小和網路傳輸量而定。
    • 來源資料庫可能位於任何類型的檔案系統上,包括Oracle Automatic Storage Management (Oracle ASM)
    • 如果資料庫是遠端資料庫,則 gDBClone 必須透過Oracle Real Application Clusters (Oracle RAC) 的監聽器或 SCAN (單一從屬端存取網路) 監聽器來連線遠端資料庫。
    • 複製 (或「測試主要資料庫」) 可以是「主要」或「待命」資料庫。
    • 使用Oracle Recovery Manager (RMAN) 從 Active Database 複製時,gDBClone 會配置 3 個 RMAN 通道。您可以使用 -channels RMAN channels number 命令選項覆寫預設值。
  • Snap:建立Oracle Database的稀疏快照 (精簡型複製)。快照複製有空白效率,並使用 Redirect -on-Write (ACFS ROW) 功能。
  • Convert:將指定的資料庫轉換為Oracle Real Application Clusters (Oracle RAC) One NodeOracle RAC,或從非容器資料庫轉換為指定容器資料庫 (CDB) 的可插式資料庫 (PDB )
  • ListDBs:列出複製的資料庫與其快照
  • DelDB:刪除複製的資料庫或其快照
  • ListHomes:列出可用的 Oracle 本位目錄
  • ACFS
  • SYSPwF:建立加密的密碼檔案

關於必要的服務、產品以及角色

此解決方案需要下列產品、服務及角色:

來源系統 (實際環境執行資料庫) 可以是下列任何一項:

  • 1 節點Oracle Cloud Infrastructure 虛擬機器資料庫系統
  • 雙節點Oracle RAC 虛擬機器資料庫系統
  • 1-節點裸機Oracle Database 系統
  • Oracle Database Exadata Cloud Service 資料庫系統

生產環境資料庫可以使用 Oracle Automatic Storage Management (Oracle ASM)、Oracle ASM 叢集檔案系統 (Oracle ACFS) 或 UNIX 檔案系統。

目標系統 (測試主要伺服器) 可以是下列任一項:

  • 1-節點 (單一執行處理) 裸機資料庫系統

    測試主機不能是虛擬機器資料庫系統,因為虛擬機器資料庫系統不支援多個資料庫。

  • Oracle Database Exadata Cloud Service

測試主要資料庫執行處理的Oracle Database 必須儲存在本機Oracle ACFS 檔案系統上。

建議來源和目標資料庫本位目錄的版本相同。兩個資料庫本位目錄建議位於相同的修正程式層次,包括組合和單次修正程式。

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

產品名稱:角色 需要執行...
Oracle Database:root 系統權限或 sudo,具備以 root 身分執行命令的能力。 透過複製實際環境執行資料庫、建立待命資料庫或建立完整備份複本來建立「測試主要資料庫」。
gDBClone 公用程式:root 系統權限或 sudo,具備以 root 身分執行命令的能力。 執行大部分的 gDBClone 作業,包括複製與快照。
Oracle Cloud Infrastructure File Storage 服務:OCI_Administrators 群組的成員。 Oracle Cloud Infrastructure File Storage 服務上使用Oracle 復原管理程式 (RMAN) 建立完整的資料庫備份。

瞭解如何取得 Oracle Solutions 的 Oracle Cloud 服務,瞭解所需的雲端服務。