解決方案指南:在 Bare Metal 解決方案上使用 Google Cloud Backup and DR 備份及還原 Oracle 資料庫

總覽

如要為 Bare Metal 解決方案環境中的 Oracle 資料庫提供復原能力,您必須制定明確的資料庫備份和災難復原策略。為協助您達成這項要求,Google Cloud 解決方案架構師團隊對 Backup and DR 服務進行了廣泛測試,並將測試結果彙整成這份指南。Google Cloud Google Cloud 因此,我們會說明如何使用備份和災難復原服務,在 Bare Metal 解決方案環境中,以最佳方式部署、設定及最佳化 Oracle 資料庫的備份和復原選項。我們也會分享測試結果中的一些效能數據,供您做為基準,與自己的環境進行比較。如果您是備份管理員、Google Cloud 管理員或 Oracle DBA,這份指南將會非常實用。

背景

2022 年 6 月,解決方案架構師團隊開始為企業客戶進行概念驗證 (PoC) 示範,展示 Google Cloud Backup and DR 解決方案。為符合成功標準,我們必須支援復原 50 TB 的 Oracle 資料庫,並在 24 小時內還原資料庫。

這項目標帶來許多挑戰,但參與概念性驗證的大部分人員都認為我們能達成這個結果,因此應繼續進行概念性驗證。我們認為風險相對較低,因為備份與 DR 工程團隊先前的測試資料顯示,達成這些結果是可行的。我們也與客戶分享測試結果,讓他們放心繼續進行 PoC。

在 PoC 期間,我們瞭解如何在 Bare Metal 解決方案環境中,成功設定多個元素 (Oracle、備份和災難復原、儲存空間,以及區域擴充連結)。 Google Cloud 只要遵循我們學到的最佳做法,您也能獲得成功。

「結果可能因人而異」這句話很適合用來形容這份文件的整體結果。我們的目標是分享所學知識,說明您應著重的重點、應避免的事項,以及在成效或結果不盡理想時應調查的領域。我們希望這份指南能協助您對建議的解決方案更有信心,並滿足您的需求。

架構

圖 1 簡要說明部署 Backup and DR 時需要建構的基礎架構,以保護在 Bare Metal 解決方案環境中執行的 Oracle 資料庫。

圖 1:在 Bare Metal 解決方案環境中使用 Backup and DR 搭配 Oracle 資料庫的元件

顯示 Bare Metal Solution 區域擴充功能如何連線至架構中的所有元件,包括主專案、包含備份和災難復原管理控制台的備份和災難復原製作人專案、包含備份/復原設備的備份和災難復原消費者專案、包含 Compute Engine VM 的其他服務專案,以及 Cloud Storage。

如圖所示,這個解決方案需要下列元件:

  • Bare Metal 解決方案區域擴充功能:您可以在 Google Cloud 資料中心附近的第三方資料中心執行 Oracle 資料庫,並使用現有的地端軟體授權。
  • 備份和災難復原服務專案:可讓您代管備份/復原設備,並在 Cloud Storage 值區中備份 Bare Metal Solution 和工作負載。 Google Cloud
  • 運算服務專案:提供執行 Compute Engine VM 的位置。
  • 備份和災難復原服務:提供備份和災難復原管理控制台,方便您維護備份和災難復原作業。
  • 主專案:您可以在共用虛擬私有雲中建立區域子網路,將 Bare Metal 解決方案區域擴充功能連線至備份與災難復原服務、備份/復原設備、Cloud Storage 值區和 Compute Engine VM。

安裝 Google Cloud 備份和災難復原服務

備份與災難復原解決方案至少需要下列兩大元件,才能正常運作:

  • 備份和災難復原管理控制台:HTML 5 UI 和 API 端點,可讓您在Google Cloud 控制台中建立及管理備份。
  • 備份/復原設備:這個裝置會做為執行備份作業的工作人員,並掛接及還原類型工作。

Google Cloud 會管理備份和災難復原管理控制台。您需要在服務供應商專案 (Google Cloud 管理端) 中部署管理控制台,並在服務用戶專案 (客戶端) 中部署備份/復原設備。如要進一步瞭解備份和災難復原服務,請參閱「設定及規劃備份和災難復原部署作業」。如要查看服務生產者和服務消費者的定義,請參閱 Google Cloud 詞彙表

事前準備

如要安裝 Google Cloud Backup and DR 服務,您必須先完成下列設定步驟,再開始部署:

  1. 啟用私人服務存取權連線。您必須先建立連線,才能開始安裝。即使您已設定私人服務存取權子網路,該子網路也必須至少有 /23。舉例來說,如果您已為私人服務存取連線設定 /24 子網路,建議您新增 /23 子網路。更棒的是,您可以新增 /20 子網路,確保日後可以新增更多服務。
  2. 設定 Cloud DNS,確保您部署備份/還原設備的虛擬私有雲網路可存取 Cloud DNS。這可確保 googleapis.com (透過私人或公開查詢) 能正確解析。
  3. 設定網路預設路徑和防火牆規則,允許輸出流量透過 TCP 通訊埠 443 傳送至 *.googleapis.com (透過公開 IP) 或 private.googleapis.com (199.36.153.8/30),或允許 0.0.0.0/0 的明確輸出流量。同樣地,您需要在安裝備份/復原設備的 VPC 網路中設定路徑和防火牆。此外,我們也建議使用 Google 私人存取權做為偏好選項,詳情請參閱「設定私人 Google 存取權」。
  4. 在消費者專案中啟用下列 API:
  5. 如果您已啟用任何機構政策,請務必設定下列項目:
    • constraints/cloudkms.allowedProtectionLevels 包含 SOFTWAREALL
  6. 設定下列防火牆規則:
    • 從 Compute Engine VPC 中的備份/復原設備,透過 TCP-5106 連接埠連線至 Linux 主機 (代理程式)。
    • 如果您使用 iSCSI 搭配以區塊為基礎的備份磁碟,則從 Bare Metal Solution 中的 Linux 主機 (代理程式) 到 Compute Engine VPC 中的備份/復原設備,會透過 TCP-3260 連接埠傳出資料。
    • 如果您使用以 NFS 或 dNFS 為基礎的備份磁碟,則從 Bare Metal Solution 中的 Linux 主機 (代理程式) 到 Compute Engine VPC 中的備份/復原設備,會透過下列連接埠傳輸輸出內容:
      • TCP/UDP-111 (rpcbind)
      • TCP/UDP-756 (狀態)
      • TCP/UDP-2049 (nfs)
      • TCP/UDP-4001 (mountd)
      • TCP/UDP-4045 (nlockmgr)
  7. 設定 Google Cloud DNS 來解析 Bare Metal 解決方案主機名稱和網域,確保名稱解析在 Bare Metal 解決方案伺服器、VM 和 Compute Engine 資源 (例如備份和 DR 服務) 之間保持一致。

安裝備份和災難復原管理控制台

  1. 啟用 Backup and DR Service API (如果尚未啟用)。
  2. 在 Google Cloud 控制台中,使用導覽選單前往「Operations」部分,然後選取「Backup and DR」

    顯示 Google Cloud 控制台的備份與 DR 初始主畫面。欄位包括私人服務連線、部署 Backup and DR 管理控制台的區域,以及虛擬私有雲網路。

  3. 選取您先前建立的現有私人服務存取連線。

  4. 選擇備份與 DR 管理控制台的位置。這是您在服務生產者專案中部署備份和災難復原管理控制台使用者介面的區域。 Google Cloud 擁有並維護管理控制台資源。

  5. 在服務消費者專案中,選擇要連線至備份與 DR 服務的虛擬私有雲網路。通常是共用虛擬私有雲或主專案。

  6. 等待最多一小時後,部署作業完成時,您應該會看到以下畫面。

    顯示「備份與 DR」頁面,方便您登入備份與 DR 管理控制台。

安裝備份/復原設備

  1. 在「備份和災難復原」頁面中,按一下「登入管理控制台」

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/
    
  2. 在 Backup and DR 管理控制台的主頁面中,前往「裝置」頁面:

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#clusters
    
  3. 輸入備份/復原設備的名稱。請注意, Google Cloud 部署作業開始後,系統會自動在名稱結尾加上隨機數字。

  4. 選擇要安裝備份/還原設備的消費者專案。

  5. 選擇偏好的區域、可用區和子網路。

  6. 選取儲存空間類型。建議您為概念驗證選擇「標準永久磁碟」,為正式環境選擇「SSD 永久磁碟」

  7. 按一下「Begin Installation」按鈕。部署備份和災難復原管理控制台,以及第一個備份/復原設備,預計需要一小時。

  8. 完成初始安裝程序後,您可以在其他區域或地帶新增其他備份/還原設備。

設定 Google Cloud 備份和災難復原服務

在本節中,您將瞭解設定備份和災難復原服務及保護工作負載所需的步驟。

設定服務帳戶

從 11.0.2 版 (2022 年 12 月發布的 Backup and DR) 開始,您可以使用單一服務帳戶執行備份/復原設備,存取 Cloud Storage 值區,並保護 Compute Engine 虛擬機器 (VM) (本文未涵蓋)。

服務帳戶角色

Google Cloud 備份和災難復原服務會使用身分與存取權管理 (IAM) 進行使用者和服務帳戶授權及驗證。 Google Cloud 您可以使用預先定義的角色啟用各種備份功能。最重要的兩項如下:

  • 備份和災難復原 Cloud Storage 操作者:將這個角色指派給備份/復原設備使用的服務帳戶,這些設備會連線至 Cloud Storage 值區。這個角色可建立 Cloud Storage bucket,用於 Compute Engine 快照備份,並存取含有現有代理程式備份資料的 bucket,以還原工作負載。
  • Backup and DR Compute Engine 運算子:將這個角色指派給備份/復原設備使用的服務帳戶,為 Compute Engine 虛擬機器建立永久磁碟快照。除了建立快照,這個角色也允許服務帳戶還原相同來源專案或替代專案中的 VM。

如要找出服務帳戶,請在消費者/服務專案中查看執行備份/還原設備的 Compute Engine VM,然後查看「API and identity management」(API 和身分管理) 專區列出的服務帳戶值。

如要為備份/復原設備提供適當的權限,請前往「Identity and Access Management」(身分與存取權管理) 頁面,並將下列 Identity and Access Management 角色授予備份/復原設備服務帳戶。

  • 備份和災難復原 Cloud Storage 操作者
  • 備份和災難復原 Compute Engine 操作者 (選用)

設定儲存空間集區

儲存空間集區會在實體儲存空間位置儲存資料。您應該使用永久磁碟儲存最近的資料 (1 到 14 天),並使用 Cloud Storage 進行長期保留 (天、週、月和年)。

Cloud Storage

在需要儲存備份資料的位置,建立區域或多區域的標準 bucket。

  1. 請按照下列操作說明建立 Cloud Storage bucket:

    1. 在「Cloud Storage Buckets」頁面中,為值區命名。
    2. 選取儲存空間位置。
    3. 選擇儲存空間級別:標準、Nearline 或 Coldline。
    4. 如果選擇 Nearline 或 Coldline 儲存空間,請將「存取權控管」模式設為「精細」。如果是標準儲存空間,請接受「統一」的預設存取權控管模式。
    5. 最後,請勿設定任何其他資料保護選項,然後按一下「建立」

      Google Cloud 控制台頁面,顯示 Cloud Storage 值區詳細資料。

  2. 接著,將這個 bucket 新增至備份/復原設備。前往備份和災難復原管理控制台。

     https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/
     

  3. 選取「管理」>「儲存空間集區」選單項目。

     https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#pools
     
    備份和災難復原管理控制台頁面,顯示「管理」>「儲存集區」選單。

  4. 按一下最右側的「+Add OnVault Pool」(新增 OnVault 集區) 選項。

     https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#addonvaultpool
     

    1. 輸入「集區名稱」
    2. 選擇「Cloud Storage」做為「Pool Type」(集區類型)
    3. 選取要附加至 Cloud Storage 值區的設備。
    4. 輸入 Cloud Storage bucket 名稱。
    5. 按一下 [儲存]

      備份和災難復原管理控制台頁面,顯示「新增 OnVault 集區」對話方塊。

Persistent Disk 快照集區

如果您已部署備份/還原設備,並採用標準或 SSD 選項,Persistent Disk 快照集區預設為 4 TB。如果來源資料庫或檔案系統需要較大的集區,您可以編輯已部署備份/還原裝置的設定、新增永久磁碟,然後建立新的自訂集區或設定其他預設集區。

  1. 前往「管理」>「設備」頁面。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#clusters
    
  2. 編輯備份伺服器執行個體,然後按一下「+Add New Disk」(新增磁碟)

    1. 為磁碟命名。
    2. 選取「空白」磁碟類型。
    3. 依據需求選擇標準、平衡或 SSD。
    4. 輸入所需磁碟大小。
    5. 按一下 [儲存]

      備份和災難復原管理控制台頁面,顯示如何新增儲存磁碟。

  3. 前往 Backup and DR 管理控制台的「Manage > Appliances」(管理 > 設備) 頁面。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#clusters
    
  4. 在設備名稱上按一下滑鼠右鍵,然後從選單中選取「設定設備」

    備份和災難復原管理控制台頁面,顯示「裝置」頁面上的「設定裝置」選單選項。

  5. 您可以將磁碟新增至現有快照集區 (擴充),也可以建立新的集區 (但請勿在同一個集區中混用永久磁碟類型)。如要展開,請點選要展開的集區右上方的圖示。

    備份和災難復原管理控制台頁面,顯示如何點按鉛筆圖示來擴充快照集區。

  6. 在本例中,您會使用「按一下即可新增集區」選項建立新集區。 按一下這個按鈕後,請等待 20 秒,系統就會開啟下一頁。

    備份與 DR 管理控制台頁面,顯示如何按一下「Click to add pool」按鈕建立新的快照集區。

  7. 在這個步驟中,請設定新的集區。

    1. 為集區命名,然後按一下綠色的 + 圖示,將磁碟新增至集區。
    2. 按一下「提交」
    3. 系統出現提示時,輸入大寫的「PROCEED」,確認要繼續操作。
    4. 按一下「確認」。

      備份與 DR 對話方塊,顯示建立快照集區時需要輸入的欄位,例如名稱和磁碟。

  8. 系統現在會使用永久磁碟擴充或建立集區。

設定備份方案

備份方案可讓您設定備份任何資料庫、VM 或檔案系統的兩個重要元素。備份方案會納入設定檔和範本。

  • 設定檔可讓您定義備份時間,以及備份資料的保留時間長度。
  • 範本提供設定項目,可讓您決定要使用哪個備份/復原裝置和儲存空間集區 (永久磁碟、Cloud Storage 等)。應做為備份工作使用。

建立個人資料

  1. 在備份和災難復原管理控制台中,前往「備份計畫」>「設定檔」頁面。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#manageprofiles
    
  2. 系統會預先建立兩個設定檔。您可以將一個設定檔用於 Compute Engine VM 快照,並編輯另一個設定檔,用於 Bare Metal Solution 備份。您可以建立多個設定檔,如果備份多個資料庫,且備份作業需要不同磁碟層級,這項功能就非常實用。舉例來說,您可以為 SSD (效能較高) 建立一個集區,並為標準永久磁碟 (標準效能) 建立一個集區。您可以為每個設定檔選擇不同的快照集區。

  3. 在名為「LocalProfile」的預設設定檔上按一下滑鼠右鍵,然後選取「Edit」(編輯)

    備份和災難復原管理控制台頁面,顯示如何編輯預設本機設定檔及建立新設定檔。

  4. 進行下列變更:

    1. 更新「設定檔」設定,使用更有意義的設定檔名稱和說明。您可以指定要使用的磁碟層級、Cloud Storage bucket 所在位置,或是說明這個設定檔用途的其他資訊。
    2. 將快照集區變更為先前建立的擴充或新集區。
    3. 為這個設定檔選取 OnVault 集區 (Cloud Storage bucket)。
    4. 按一下「儲存設定檔」

      備份和災難復原管理控制台頁面,顯示如何儲存已編輯的設定檔。

建立範本

  1. 在備份和災難復原管理控制台中,前往「備份方案」>「範本」選單。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#managetemplates
    
  2. 按一下「+ 建立範本」

    1. 為範本命名。
    2. 在「允許覆寫政策設定」部分選取「是」
    3. 新增範本說明。
    4. 按一下「儲存範本」

      備份和災難復原管理控制台頁面,顯示如何建立備份方案範本。

  3. 在範本中,設定下列項目:

    1. 在右側的「政策」部分中,按一下「+ 新增」
    2. 提供政策名稱。
    3. 勾選要套用政策的日期,或保留預設的「每天」
    4. 編輯要在該時間範圍內執行的工作視窗。
    5. 選取保留時間。
    6. 按一下「進階政策設定」

      備份和災難復原管理控制台頁面,顯示如何新增或更新備份計畫範本的政策。

  4. 如要定期執行封存記錄備份 (例如每 15 分鐘一次),並將封存記錄複製到 Cloud Storage,請啟用下列政策設定:

    1. 如果這是您要執行的操作,請將「Truncate/Purge Log after Backup」(備份後截斷/清除記錄) 設為「Truncate」(截斷)
    2. 視需要將「Enable Database Log Backup」(啟用資料庫記錄備份) 設為「Yes」(是)
    3. 將「RPO (分鐘)」設為所需的封存記錄備份間隔。
    4. 將「記錄備份保留期限 (以天為單位)」設為所需保留期限。
    5. 將「Replicate Logs (Uses Streamsnap Technology)」(複製記錄 (使用 Streamsnap 技術)) 設為「No」(否)
    6. 如要將記錄檔傳送至 Cloud Storage 值區,請將「Send Logs to OnVault Pool」(將記錄檔傳送至 OnVault 集區) 設為「Yes」(是)。否則請選取「否」
    7. 按一下 [儲存變更]。

      備份和災難復原管理控制台頁面,顯示建議的政策設定。

  5. 按一下「更新政策」儲存變更。

  6. 在右側的「OnVault」OnVault中,執行下列動作:

    1. 按一下 +Add
    2. 新增政策名稱。
    3. 以天、週、月或年為單位設定「保留期限」
    4. 按一下「更新政策」

      備份和災難復原管理控制台頁面,顯示如何為 OnVault 集區建立及編輯政策,並新增保留時間表。

  7. (選用) 如需新增更多保留選項,請為每週、每月和每年保留建立額外政策。如要新增其他保留政策,請按照下列步驟操作:

    1. 在右側的「OnVault」下方,按一下「+ 新增」
    2. 新增政策名稱。
    3. 將「On These Days」(在這些日子) 的值變更為要觸發這項工作的日期。
    4. 以「天」、「週」、「月」或「年」為單位,設定「保留期限」
    5. 按一下「更新政策」

      備份和災難復原管理控制台頁面,說明如何為 OnVault 集區新增其他政策和保留時間表。

  8. 按一下「儲存範本」,在下列範例中,您會看到快照政策,該政策會在 Persistent Disk 層級保留備份 3 天,OnVault 工作則保留 7 天,總共保留 4 週。每週備份會在週六晚上執行。

    備份和災難復原管理控制台頁面,顯示設定快照政策的結果。

備份 Oracle 資料庫

Google Cloud 備份與災難復原架構可提供應用程式一致的 Oracle 永久增量備份 Google Cloud,以及多 TB Oracle 資料庫的即時復原和複製功能。

Google Cloud 備份和災難復原會使用下列 Oracle API:

  • RMAN 映像副本 API:資料檔案的映像副本還原速度快得多,因為資料檔案的實體結構已存在。復原管理員 (RMAN) 指令 BACKUP AS COPY 會為整個資料庫的所有資料檔案建立映像檔副本,並保留資料檔案格式。
  • ASM 和 CRS API:使用儲存空間自動管理 (ASM) 和叢集就緒服務 (CRS) API 管理 ASM 備份磁碟群組。
  • RMAN 封存記錄備份 API:這個 API 會產生封存記錄,將記錄備份到暫存磁碟,並從正式環境封存位置清除記錄。

設定 Oracle 主機

設定 Oracle 主機的步驟包括安裝代理程式、將主機新增至 Backup and DR、設定主機,以及探索 Oracle 資料庫。一切就緒後,您就可以將 Oracle 資料庫備份到備份和災難復原服務。

安裝備份代理程式

安裝備份和災難復原代理程式的程序相對簡單。您只需要在首次使用主機時安裝代理程式,之後即可在 Google Cloud 控制台的 Backup and DR 使用者介面中進行升級。您必須以使用者身分登入,或在 sudo 驗證的工作階段中,才能執行代理程式安裝作業。您不需要重新啟動主機,即可完成安裝。

  1. 從使用者介面或「管理」>「裝置」頁面下載備份代理程式。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#clusters
    
  2. 在備份/復原設備名稱上按一下滑鼠右鍵,然後選取「設定設備」。系統會開啟新的瀏覽器視窗。

    備份與 DR 管理控制台頁面,顯示如何選取「設定設備」選單項目。

  3. 按一下「Linux 64 位元」圖示,將備份代理程式下載到主機, 該主機必須執行瀏覽器工作階段。使用 scp (安全複製) 將下載的代理程式檔案移至 Oracle 主機,以進行安裝。

    備份和災難復原管理控制台頁面,顯示 Linux 64 位元圖示,點選即可下載備份代理程式

  4. 或者,您也可以將備份代理程式儲存在 Cloud Storage 值區中,啟用下載功能,然後使用 wgetcurl 指令,將代理程式直接下載至 Linux 主機。

    curl -o agent-Linux-latestversion.rpm https://storage.googleapis.com/backup-agent-images/connector-Linux-11.0.2.9595.rpm
    
  5. 使用 rpm -ivh 指令安裝備份代理程式。

    請務必複製系統自動產生的密鑰。您必須使用 Backup and DR 管理控制台,將密鑰新增至主機中繼資料。

    指令會輸出類似以下的結果:

    [oracle@host `~]# sudo rpm -ivh agent-Linux-latestversion.rpm
    Verifying... ################################# [100%]
    Preparing... ################################# [100%]
    Updating / installing…
      1:udsagent-11.0.2-9595 ################################# [100%]
    Created symlink /etc/systemd/system/multi-user.target.wants/udsagent.service → /usr/lib/systemd/system/udsagent.service.
    Action Required:
    -- Add this host to Backup and DR management console to backup/recover workloads from/to this host. You can do this by navigating to Manage->Hosts->Add Host on your management console.
    -- A secret key is required to complete this process. Please use b010502a8f383cae5a076d4ac9e868777657cebd0000000063abee83 (valid for 2 hrs) to register this host.
    -- A new secret key can be generated later by running: '/opt/act/bin/udsagent secret --reset --restart
    
  6. 如果您使用 iptables 指令,請開啟備份代理程式防火牆的通訊埠 (TCP 5106) 和 Oracle 服務的通訊埠 (TCP 1521):

    sudo iptables -A INPUT -p tcp --dport 5106 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
    sudo firewall-cmd --permanent --add-port=5106/tcp
    sudo firewall-cmd --permanent --add-port=1521/tcp
    sudo firewall-cmd --reload
    

將主機新增至備份和災難復原服務

  1. 在備份和災難復原管理控制台中,前往「管理」>「主機」

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#hosts
    
    1. 按一下「+ 新增主機」
    2. 新增主機名稱。
    3. 新增主機的 IP 位址,然後按一下「+」按鈕,確認設定。
    4. 按一下要新增主機的裝置。
    5. 貼上密鑰。您必須在安裝備份代理程式並產生密鑰後兩小時內執行這項工作。
    6. 按一下「新增」即可儲存主機。

      備份與 DR 管理控制台頁面,顯示新增主機時需要輸入的欄位,例如名稱、IP 位址和設備。

  2. 如果收到錯誤或「部分成功」訊息,請嘗試下列解決方法:

    備份和災難復原管理錯誤訊息,顯示部分成功。

    1. 備份代理程式加密密鑰可能已逾時。如果您未在建立主機後的兩小時內,將密鑰新增至主機,您可以在 Linux 主機上使用下列指令列語法,產生新的密鑰:

      /opt/act/bin/udsagent secret --reset --restart
      
    2. 允許備份/還原設備與主機上安裝的代理程式通訊的防火牆,可能未正確設定。按照步驟開啟備份代理程式防火牆和 Oracle 服務的通訊埠。

    3. Linux 主機的網路時間通訊協定 (NTP) 設定可能不正確。檢查並確認 NTP 設定正確無誤。

  3. 修正根本問題後,「憑證狀態」應會從「不適用」變更為「有效」

    備份和災難復原管理控制台頁面,顯示有效憑證狀態。

設定主機

  1. 在備份和災難復原管理控制台中,前往「管理」>「主機」

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#hosts
    
  2. 在要備份 Oracle 資料庫的 Linux 主機上按一下滑鼠右鍵,然後選取「編輯」

  3. 按一下「暫存磁碟格式」,然後選擇「NFS」

    備份和災難復原管理控制台頁面,顯示如何選取 NFS 做為暫存磁碟格式。

  4. 向下捲動至「Discovered Applications」部分,然後按一下「Discover Applications」,開始執行設備對代理程式的探索程序。

    備份和災難復原管理控制台頁面,顯示如何開始探索設備和代理程式之間的對應關係。

  5. 按一下「探索」即可開始這項程序。探索程序最多需要 5 分鐘。完成後,應用程式視窗中會顯示探索到的檔案系統和 Oracle 資料庫。

    備份和災難復原管理控制台頁面,顯示備份和災難復原系統探索到的應用程式。

  6. 按一下「儲存」,即可更新主機的變更。

準備 Linux 主機

在以 Linux OS 為基礎的主機中安裝 iSCSI 或 NFS 公用程式套件,即可將暫存磁碟對應至寫入備份資料的裝置。使用下列指令安裝 iSCSI 和 NFS 公用程式。雖然您可以擇一或同時使用這兩組公用程式,但這個步驟可確保您在需要時擁有所需工具。

  • 如要安裝 iSCSI 公用程式,請執行下列指令:

    sudo yum install -y iscsi-initiator-utils
    
  • 如要安裝 NFS 公用程式,請執行下列指令:

    sudo yum install -y nfs-utils
    

    準備 Oracle 資料庫

本指南假設您已設定及設定 Oracle 執行個體和資料庫。 Google Cloud Backup and DR 支援保護在檔案系統、ASM、Real Application Clusters (RAC) 和許多其他設定中執行的資料庫。詳情請參閱「Oracle 資料庫的備份和 DR」。

開始備份工作前,您需要設定幾項項目。部分工作為選用,但我們建議您採用下列設定,以獲得最佳成效:

  1. 使用 SSH 連線至 Linux 主機,並以 Oracle 使用者身分登入,取得 su 權限。
  2. 將 Oracle 環境設為特定執行個體:

    . oraenv
    ORACLE_SID = [ORCL] ?
    The Oracle base remains unchanged with value /u01/app/oracle
    
  3. 使用 sysdba 帳戶連線至 SQL*Plus:

    sqlplus / as sysdba
    
  4. 使用下列指令啟用 ARCHIVELOG 模式。 指令輸出內容如下所示:

    SQL> shutdown
    
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    
    SQL> startup mount
    
    ORACLE instance started.
    
    Total System Global Area 2415918600 bytes
    Fixed Size 9137672 bytes
    Variable Size 637534208 bytes
    Database Buffers 1761607680 bytes
    Redo Buffers 7639040 bytes
    Database mounted.
    
    SQL> alter database archivelog;
    
    Database altered.
    
    SQL> alter database open;
    
    Database altered.
    
    SQL> archive log list;
    Database log mode Archive Mode
    Automatic archival Enabled
    Archive destination /u01/app/oracle/product/19c/dbhome_1/dbs/arch
    Oldest online log sequence 20
    Next log sequence to archive 22
    Current log sequence 22
    
    SQL> alter pluggable database ORCLPDB save state;
    
    Pluggable database altered.
    
  5. 為 Linux 主機設定 Direct NFS:

    cd $ORACLE_HOME/rdbms/lib
    make -f [ins_rdbms.mk](http://ins_rdbms.mk/) dnfs_on
    
  6. 設定區塊變更追蹤。請先檢查是否已啟用或停用。以下範例顯示區塊變更追蹤功能已停用:

    SQL> select status,filename from v$block_change_tracking;
    
    STATUS     FILENAME
    ---------- ------------------------------------------------------------------
    DISABLED
    
    使用 ASM 時,請發出下列指令:
    SQL> alter database enable block change tracking using file +ASM_DISK_GROUP_NAME/DATABASE_NAME/DBNAME.bct;
    
    Database altered.
    

    使用檔案系統時,請發出下列指令:

    SQL> alter database enable block change tracking using file '$ORACLE_HOME/dbs/DBNAME.bct';;
    
    Database altered.
    

    確認區塊變更追蹤功能現已啟用:

    SQL> select status,filename from v$block_change_tracking;
    
    STATUS     FILENAME
    ---------- ------------------------------------------------------------------
    ENABLED    +DATADG/ORCL/CHANGETRACKING/ctf.276.1124639617
    

保護 Oracle 資料庫

  1. 在備份和災難復原管理控制台中,前往「App Manager」>「Applications」頁面。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#applications
    
  2. 在要保護的 Oracle 資料庫名稱上按一下滑鼠右鍵,然後從選單中選取「管理備份計畫」

  3. 選取要使用的範本和設定檔,然後按一下「套用備份計畫」

    備份和災難復原管理控制台頁面,顯示如何選取範本和設定檔,然後套用備份計畫。

  4. 系統提示時,請設定 Oracle 和 RMAN 專用的任何進階設定,這些設定是您的設定所需。完成後,按一下「套用備份計畫」

    通道數量,例如預設為 2。因此,如果 CPU 核心數較多,您可以增加平行備份作業的通道數,並將此值設為較大的數字。

    如要進一步瞭解進階設定,請參閱「設定 Oracle 資料庫的應用程式詳細資料和設定」。

    備份和災難復原對話方塊,顯示備份方案的進階選項。

備份和災難復原對話方塊,顯示如何選取將 ASM 格式轉換為檔案系統格式。

除了這些設定之外,您也可以變更暫存磁碟使用的通訊協定,將磁碟從備份裝置對應至主機。前往「管理」>「主持人」頁面,然後選取要編輯的主持人。勾選「Staging Disk Format to Guest」選項。系統預設會選取「Block」格式,透過 iSCSI 對應暫存磁碟,否則可以變更為「NFS」,然後暫存磁碟就會改用 NFS 協定。

預設設定取決於資料庫格式。如果您使用 ASM,系統會透過 iSCSI 傳送 ASM 磁碟群組的備份。如果您使用檔案系統,系統會使用 iSCSI 將備份資料傳送至檔案系統。如要使用 NFS 或直接 NFS (dNFS),請將暫存磁碟的「主機」設定變更為 NFS。如果使用預設設定,所有備份暫存磁碟都會採用區塊儲存空間格式和 iSCSI。

開始備份作業

  1. 在備份和災難復原管理控制台中,前往「App Manager」>「Applications」頁面。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#applications
    
  2. 在要保護的 Oracle 資料庫上按一下滑鼠右鍵,然後從選單中選擇「管理備份計畫」

  3. 按一下右側的「快照」選單,然後點選「立即執行」。這會啟動隨選備份工作。

    備份和災難復原管理控制台頁面,顯示如何按一下「快照」選單並擷取快照。

  4. 如要監控備份工作狀態,請前往「監控」>「工作」選單,然後查看工作狀態。工作最多可能要過 5 到 10 秒才會顯示在工作清單中。以下是正在執行的工作範例:

    備份與 DR 管理控制台頁面,顯示正在執行的備份工作。

  5. 工作成功後,您可以使用中繼資料查看特定工作的詳細資料。

    • 套用篩選條件並新增搜尋字詞,找出感興趣的工作。以下範例使用「成功」和「過去一天」篩選器,並搜尋「test1」主機。

    備份與 DR 管理控制台頁面,說明如何使用篩選器搜尋備份工作。

  6. 如要進一步查看特定工作,請按一下「Job」(工作) 欄中的工作。系統隨即開啟新視窗。如下例所示,每項備份工作都會擷取大量資訊。

    備份和災難復原管理控制台頁面,顯示備份工作的詳細資料。

掛接及還原 Oracle 資料庫

Google Cloud 備份和災難復原提供多種功能,可存取 Oracle 資料庫副本。主要有以下兩種方法:

  • 應用程式感知掛接
  • 還原 (掛接及遷移,以及傳統還原)

這些方法各有優點,因此您需要根據用途、效能需求,以及資料庫副本的保留時間,選取要使用的方法。以下各節將提供各項功能的建議。

應用程式感知掛接

您可以使用掛接功能,快速存取 Oracle 資料庫的虛擬副本。如果效能不是關鍵,且資料庫副本只存在幾小時到幾天,您就可以設定掛接。

掛接的主要優點是不會耗用大量額外儲存空間。而是使用備份磁碟集區的快照,這可以是永久磁碟上的快照集區,或是 Cloud Storage 中的 OnVault 集區。使用虛擬副本快照功能可縮短資料存取時間,因為不必先複製資料。備份磁碟會處理所有讀取作業,快照集區中的磁碟則會儲存所有寫入作業。因此,掛接虛擬副本時可快速存取,且不會覆寫備份磁碟副本。掛接非常適合用於開發、測試和 DBA 活動,因為在將結構定義變更或更新推出至正式版之前,需要先進行驗證。

掛接 Oracle 資料庫

  1. 在備份和災難復原管理控制台中,前往「備份和復原」>「復原」頁面。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#recover/selectapp
    
  2. 在「應用程式」清單中,找到要掛接的資料庫, 按一下滑鼠右鍵,然後點選「下一步」

    備份和災難復原管理控制台頁面,顯示如何在「備份和復原」頁面中尋找資料庫。

  3. 「時間軸斜坡檢視畫面」隨即顯示,並列出所有可用的時間點圖片。如果長期保留的圖片未顯示在斜坡檢視畫面中,您也可以捲動畫面查看。系統預設會選取最新的映像檔。

    備份和災難復原管理控制台頁面,顯示備份映像檔的時間軸斜坡檢視畫面。

  4. 如要以表格檢視特定時間點的圖片,請按一下「表格」選項來變更檢視畫面:

    備份和災難復原管理控制台頁面,顯示如何按一下「表格」分頁標籤,在表格中查看時間點備份映像檔。

  5. 找出所需映像檔,然後選取「掛接」

    備份和災難復原管理控制台頁面,顯示如何選取、掛接及還原備份映像檔。

  6. 為要掛接的資料庫選擇「應用程式選項」

    1. 從下拉式選單中選取「目標主機」。如果您先前新增過主機,就會顯示在這個清單中。
    2. (選用) 輸入標籤。
    3. 在「目標資料庫 SID」欄位中,輸入目標資料庫的 ID。
    4. 將「User Name」(使用者名稱) 設為 oracle。這個名稱會成為驗證用的 OS 使用者名稱。
    5. 輸入 Oracle 主目錄。本範例使用的是 /u01/app/oracle/product/19c/dbhome_1
    6. 如果設定備份資料庫記錄,系統就會提供「向前復原時間」。按一下時鐘/時間選取器,然後選擇回溯點。
    7. 「使用復原功能還原」預設為啟用。這個選項會掛接並開啟資料庫。
  7. 輸入完畢後,按一下「提交」即可開始掛接程序。

    備份和災難復原管理控制台頁面,顯示掛接備份映像檔時需要輸入的欄位。

監控工作進度和成功率

  1. 前往「Monitor」>「Jobs」頁面,即可監控執行中的工作。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#jobs
    

    頁面會顯示狀態和工作類型。

    備份和災難復原管理控制台頁面,顯示「監控」>「工作」頁面。

  2. 掛接工作完成後,按一下「Job Number」(工作編號) 即可查看工作詳細資料:

    顯示工作詳細資料的「備份和災難復原」對話方塊。

  3. 如要查看您建立的 SID 的 pmon 程序,請登入目標主機並發出 ps -ef |grep pmon 指令。在下列輸出範例中,SCHTEST 資料庫正在運作,且程序 ID 為 173953

    [root@test2 ~]# ps -ef |grep pmon
    oracle 1382 1 0 Dec23 ? 00:00:28 asm_pmon_+ASM
    oracle 56889 1 0 Dec29 ? 00:00:06 ora_pmon_ORCL
    oracle 173953 1 0 09:51 ? 00:00:00 ora_pmon_SCHTEST
    root 178934 169484 0 10:07 pts/0 00:00:00 grep --color=auto pmon
    

卸載 Oracle 資料庫

使用完資料庫後,請卸載並刪除資料庫。尋找已掛接資料庫的方法有兩種:

  1. 前往「應用程式管理員」>「有效掛接」頁面。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#activemounts
    

    這個頁面會顯示目前使用的所有已掛接應用程式 (檔案系統和資料庫) 的全域檢視畫面。

    1. 在要清除的掛接點上按一下滑鼠右鍵,然後從選單中選取「卸載並刪除」。這項操作不會刪除備份資料。系統只會從目標主機移除虛擬掛接的資料庫,以及包含資料庫儲存寫入內容的快照快取磁碟。

      備份和災難復原管理控制台頁面,顯示「應用程式管理員」的「有效掛接」頁面中提供的「取消掛接」和「刪除」選單。

  2. 前往「應用程式管理工具」>「應用程式」頁面。

     https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#applications
     

    1. 以滑鼠右鍵按一下來源應用程式 (資料庫),然後選取「存取」
    2. 左側斜坡上會顯示灰色圓圈,內含數字,表示此時間點的活躍掛載數量。按一下該圖片,系統會顯示新選單。
    3. 按一下 [動作]
    4. 按一下「卸載並刪除」
    5. 按一下「提交」,然後在下一個畫面中確認這項操作。
    6. 幾分鐘後,系統會從目標主機移除資料庫,並清除及移除所有磁碟。這項操作會釋放快照集區中用於寫入作用中掛接重做磁碟的磁碟空間。

      備份與 DR 管理控制台頁面,顯示如何解除掛接及刪除備份映像檔。

  3. 您可以監控卸載的工作,方法與監控其他工作相同。前往「監控」>「工作」選單,監控卸載工作進度,並確認工作完成。

     https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#jobs
     
    備份與 DR 管理控制台頁面,顯示如何監控卸載和刪除作業的進度。

  4. 如果手動誤刪 Oracle 資料庫,或在執行「卸載並刪除」工作前關閉資料庫,請再次執行「卸載並刪除」工作,並在確認畫面中選取「強制卸載」選項。這項操作會強制從目標主機移除重做暫存磁碟,並從快照集區刪除該磁碟。

    備份和災難復原管理控制台頁面,顯示如何強制解除掛接並刪除工作。

還原作業

發生問題或損毀時,您可以使用還原功能復原正式版資料庫,並將資料庫的所有檔案從備份副本複製到本機主機。您通常會在發生災難類型事件後,或針對非正式環境測試副本執行還原作業。在這種情況下,顧客通常需要等待您將先前的檔案複製回來源主機,才能重新啟動資料庫。不過, Google Cloud 備份與災難復原服務也支援還原功能 (複製檔案並啟動資料庫),以及掛接和遷移功能,可掛接資料庫 (存取時間快速),並在掛接及存取資料庫時,將資料檔案複製到本機。掛接及遷移功能適用於復原時間目標 (RTO) 較短的情況。

掛接及遷移

掛接和遷移式復原分為兩個階段:

  1. 第 1 階段還原掛接階段會從掛接的副本啟動,提供資料庫的即時存取權。
  2. 第 2 階段還原遷移階段會在資料庫上線期間,將資料庫遷移至正式環境儲存位置。

還原掛接 - 第 1 階段

在這個階段,您可以透過備份/復原設備提供的所選映像檔,立即存取資料庫。

  • 所選備份映像檔的副本會對應至目標資料庫伺服器,並根據來源資料庫備份映像檔格式,呈現給 ASM 或檔案系統層。
  • 使用 RMAN API 執行下列工作:
    • 將控制檔案和重做記錄檔還原至指定的本機控制檔案和重做檔案位置 (ASM 磁碟群組或檔案系統)。
    • 將資料庫切換至備份/復原設備提供的映像檔副本。
    • 將所有可用的封存記錄前移至指定的復原點。
    • 以讀取和寫入模式開啟資料庫。
  • 資料庫會從備份/復原設備提供的備份映像檔對應副本執行。
  • 資料庫的控制檔案和重做記錄檔會放置在目標上所選的本機生產儲存位置 (ASM 磁碟群組或檔案系統)。
  • 還原掛接作業成功後,資料庫即可用於正式版作業。您可以使用 Oracle 線上資料檔案移動 API,在資料庫和應用程式正常運作時,將資料移回生產儲存位置 (ASM 磁碟群組或檔案系統)。

還原遷移作業 - 第 2 階段

將資料庫資料檔案線上移至實際工作環境儲存空間:

  • 資料遷移作業會在背景執行。使用 Oracle 線上資料檔案遷移 API 遷移資料。
  • 將資料檔案從備份映像檔的備份和災難復原副本,移至所選目標資料庫儲存空間 (ASM 磁碟群組或檔案系統)。
  • 移轉工作完成後,系統會從目標移除並取消對應 Backup and DR 提供的備份映像檔副本 (ASM 磁碟群組或檔案系統),資料庫則會從實際工作環境儲存空間執行。

如要進一步瞭解掛接和遷移復原作業,請參閱「掛接及遷移 Oracle 備份映像檔,以便立即復原至任何目標」。

還原 Oracle 資料庫

  1. 在備份和災難復原管理控制台中,前往「備份和復原」>「復原」頁面。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#recover/selectapp
    
  2. 在「應用程式」清單中,以滑鼠右鍵按一下要還原的資料庫名稱,然後選取「下一步」

    備份和災難復原管理控制台頁面,說明如何選取要復原的資料庫。

  3. 「時間軸斜坡檢視畫面」隨即顯示,其中包含所有可用的時間點圖片。如要查看未顯示在斜坡上的長期保留圖片,也可以往回捲動。系統預設一律會選取最新映像檔。

    如要還原映像檔,請按一下「掛接」選單,然後選取「還原」

    備份和災難復原管理控制台頁面,顯示如何還原備份映像檔。

  4. 選擇還原選項。

    1. 選取「Roll Forward Time」(向前推出時間)。按一下時鐘,然後選擇所需的時間點。
    2. 輸入您打算用於 Oracle 的使用者名稱。
    3. 如果系統使用資料庫驗證,請輸入密碼。
    4. 如要啟動工作,請按一下「Submit」(提交)

      備份和災難復原管理控制台頁面,顯示如何選取還原選項。

  5. 輸入「DATA LOSS」,確認要覆寫來源資料庫,然後按一下「Confirm」

    備份和災難復原管理控制台頁面,顯示如何覆寫來源資料庫,並確認部分資料將遺失。

監控工作進度和成功率

  1. 如要監控工作,請前往「Monitor」>「Jobs」頁面。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#jobs
    
  2. 工作完成後,按一下「Job Number」(工作編號),即可查看工作詳細資料和中繼資料。

    顯示工作詳細資料的「備份和災難復原」對話方塊。

保護還原的資料庫

資料庫還原作業完成後,系統不會自動備份還原後的資料庫。換句話說,還原先前有備份方案的資料庫時,備份方案不會預設啟用。

  1. 如要確認備份方案未執行,請前往「應用程式管理員」>「應用程式」頁面。

    https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com/#applications
    
  2. 在清單中找出還原的資料庫。保護圖示會從綠色變成黃色,表示系統未排定資料庫的備份工作。

    備份和災難復原管理控制台頁面,顯示如何透過尋找黃色圖示來識別還原的資料庫。

  3. 如要保護還原的資料庫,請在「應用程式」欄中尋找要保護的資料庫。以滑鼠右鍵按一下資料庫名稱,然後選取「管理備份計畫」

    備份和災難復原管理控制台頁面,顯示如何從「應用程式」頁面選取「管理備份計畫」選單項目。

  4. 為還原的資料庫重新啟用排定的備份工作。

    1. 按一下「套用」選單,然後選取「啟用」
    2. 確認所有 Oracle 進階設定,然後按一下「啟用備份方案」

      備份和災難復原管理控制台頁面,顯示如何為還原的資料庫啟用備份方案。

疑難排解與最佳化

本節提供一些實用提示,協助您排解 Oracle 備份問題、最佳化系統,以及考慮調整 RAC 和 Data Guard 環境。

排解 Oracle 備份問題

Oracle 設定包含多項依附元件,可確保備份工作順利完成。請按照下列步驟操作,取得設定 Oracle 執行個體、接聽程式和資料庫的建議,確保作業順利完成。

  1. 如要確認要保護的服務和執行個體 Oracle 接聽程式已設定並正在執行,請發出 lsnrctl status 指令:

    [oracle@test2 lib]$ lsnrctl status
    
    LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 29-DEC-2022 07:43:37
    
    Copyright (c) 1991, 2021, Oracle. All rights reserved.
    
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
    Start Date                23-DEC-2022 20:34:17
    Uptime                    5 days 11 hr. 9 min. 20 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/19c/grid/network/admin/listener.ora
    Listener Log File         /u01/app/oracle/diag/tnslsnr/test2/listener/alert/log.xml
    Listening Endpoints Summary...
     (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test2.localdomain)(PORT=1521)))
     (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Services Summary...
    Service "+ASM" has 1 instance(s).
     Instance "+ASM", status READY, has 1 handler(s) for this service...
    Service "+ASM_DATADG" has 1 instance(s).
     Instance "+ASM", status READY, has 1 handler(s) for this service...
    Service "ORCL" has 1 instance(s).
     Instance "ORCL", status READY, has 1 handler(s) for this service...
    Service "ORCLXDB" has 1 instance(s).
     Instance "ORCL", status READY, has 1 handler(s) for this service...
    Service "f085620225d644e1e053166610ac1c27" has 1 instance(s).
     Instance "ORCL", status READY, has 1 handler(s) for this service...
    Service "orclpdb" has 1 instance(s).
     Instance "ORCL", status READY, has 1 handler(s) for this service...
    The command completed successfully
    
  2. 確認您已在 ARCHIVELOG 模式下設定 Oracle 資料庫。如果資料庫以不同模式執行,您可能會看到工作失敗,並顯示錯誤代碼 5556 訊息,如下所示:

    備份與 DR 對話方塊,顯示含有錯誤代碼 5556 的工作詳細資料。

    export ORACLE_HOME=ORACLE_HOME_PATH
    export ORACLE_SID=DATABASE_INSTANCE_NAME
    export PATH=$ORACLE_HOME/bin:$PATH
    
    sqlplus / as sysdba
    SQL> set tab off
    SQL> archive log list;
    
    Database log mode             Archive Mode
    Automatic archival            Enabled
    Archive destination           +FRA
    Oldest online log sequence    569
    Next log sequence to archive  570
    Current log sequence          570
    
  3. 在 Oracle 資料庫上啟用區塊變更追蹤功能。雖然這並非解決方案運作的必要條件,但啟用區塊變更追蹤功能可避免需要執行大量後續處理作業來計算變更的區塊,並有助於縮短備份作業時間:

    SQL> select status,filename from v$block_change_tracking;
    
    STATUS     FILENAME
    ---------- ------------------------------------------------------------------
    ENABLED    +DATADG/ORCL/CHANGETRACKING/ctf.276.1124639617
    
  4. 確認資料庫使用 spfile

    sqlplus / as sysdba
    
    SQL> show parameter spfile
    
    NAME               TYPE        VALUE
    ------------------ ----------- ------------
    spfile             string      +DATA/ctdb/spfilectdb.ora
    
  5. 為 Oracle 資料庫主機啟用 Direct NFS (dnfs)。雖然不是必要條件,但如果您需要最快速的 Oracle 資料庫備份和還原方法,建議使用 dnfs。如要進一步提升輸送量,您可以依主機變更暫存磁碟,並為 Oracle 啟用 dnfs

  6. 設定 tnsnames,以解析 Oracle 資料庫主機。如未加入這項設定,RMAN 指令通常會失敗。以下是輸出內容範例:

    [oracle@test2 lib]$ tnsping ORCL
    
    TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 29-DEC-2022 07:55:18
    
    Copyright (c) 1997, 2021, Oracle. All rights reserved.
    
    Used parameter files:
    
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = test2.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL)))
    OK (0 msec)
    
  7. SERVICE_NAME 欄位對於 RAC 設定相當重要。服務名稱代表用於向與叢集通訊的外部資源宣傳系統的別名。在受保護資料庫的「詳細資料和設定」選項中,使用「Oracle 服務名稱的進階設定」。輸入要在執行備份作業的節點上使用的特定服務名稱。

    Oracle 資料庫只會使用服務名稱進行資料庫驗證。資料庫不會使用服務名稱進行 OS 驗證。舉例來說,資料庫名稱可以是 CLU1_S,執行個體名稱也可以是 CLU1_S

    • 如果 Oracle 服務名稱未列出,請在伺服器上位於 $ORACLE_HOME/network/admin$GRID_HOME/network/admin 的 tnsnames.ora 檔案中建立服務名稱項目,方法是新增下列項目:

      CLU1_S =
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
      (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = CLU1_S)
      ) )
      
    • 如果 tnsnames.ora 檔案位於非標準位置,請在「Application Details and Settings」(應用程式詳細資料和設定) 頁面中提供檔案的絕對路徑,如「Configure application details and settings for Oracle databases」(設定 Oracle 資料庫的應用程式詳細資料和設定) 一文所述。

    • 確認您已正確設定資料庫的服務名稱項目。登入 Oracle Linux 並設定 Oracle 環境:

      TNS_ADMIN=TNSNAMES.ORA_FILE_LOCATION
      tnsping CLU1_S
      
    • 檢查資料庫使用者帳戶,確保成功連線至備份和災難復原應用程式:

      sqlplus act_rman_user/act_rman_user@act_svc_dbstd as sysdba
      
    • 在「Application Details and Settings」(應用程式詳細資料和設定) 頁面 (如「Oracle 資料庫的應用程式詳細資料和設定」一文所述),於「Oracle Service Name」(Oracle 服務名稱) 欄位中輸入您建立的服務名稱 (CLU1_S):

      備份和災難復原對話方塊,顯示應用程式詳細資料和設定,以及 Oracle 服務名稱欄位的位置。

  8. 錯誤代碼 870 表示「系統不支援使用 NFS 暫存磁碟的 ASM 備份」。如果收到這則錯誤訊息,表示您未在要保護的執行個體「詳細資料和設定」中設定正確的選項。在這種設定錯誤中,主機會使用 NFS 做為暫存磁碟,但來源資料庫會在 ASM 上執行。

    「備份與 DR」對話方塊,顯示嘗試使用 ASM 資料庫的 NFS 主機暫存磁碟設定錯誤。如要修正這個問題,請將「Convert ASM to Filesystem」設定變更為「Yes」。

    如要修正這個問題,請將「Convert ASM Format to Filesystem Format」(將 ASM 格式轉換為檔案系統格式) 欄位設為「Yes」(是)。變更這項設定後,請重新執行備份工作。

  9. 錯誤代碼 15 表示備份和災難復原系統「無法連線至備份主機」。如果收到這項錯誤訊息,表示發生了下列其中一個問題:

    • 備份/還原設備與您安裝代理程式的主機之間的防火牆,不允許 TCP 通訊埠 5106 (代理程式監聽通訊埠)。
    • 您未安裝代理程式。
    • 代理程式未執行。

    如要修正這個問題,請視需要重新設定防火牆,並確認代理程式正常運作。修正根本原因後,請執行 service udsagent status 指令。以下輸出範例顯示 Backup and DR 代理程式服務正常運作:

    [root@test2 ~]# service udsagent status
    Redirecting to /bin/systemctl status udsagent.service
    udsagent.service - Google Cloud Backup and DR service
    Loaded: loaded (/usr/lib/systemd/system/udsagent.service; enabled; vendor preset: disabled)
    Active: active (running) since Wed 2022-12-28 05:05:45 UTC; 2 days ago
    Process: 46753 ExecStop=/act/initscripts/udsagent.init stop (code=exited, status=0/SUCCESS)
    Process: 46770 ExecStart=/act/initscripts/udsagent.init start (code=exited, status=0/SUCCESS)
    Main PID: 46789 (udsagent)
    Tasks: 8 (limit: 48851)
    Memory: 74.0M
    CGroup: /system.slice/udsagent.service
     ├─46789 /opt/act/bin/udsagent start   
     └─60570 /opt/act/bin/udsagent start
    
    Dec 30 05:11:30 test2 su[150713]: pam_unix(su:session): session closed for user oracle
    Dec 30 05:11:30 test2 su[150778]: (to oracle) root on none
    
  10. 備份記錄訊息有助於診斷問題。您可以在執行備份作業的來源主機上存取記錄。如果是 Oracle 資料庫備份,/var/act/log 目錄中會有兩個主要記錄檔:

    • UDSAgent.log:Google Cloud 備份和災難復原代理程式記錄,記錄 API 要求、執行中的工作統計資料和其他詳細資料。
    • SID_rman.log:Oracle RMAN 記錄,會記錄所有 RMAN 指令。

其他 Oracle 注意事項

為 Oracle 資料庫實作 Backup and DR 時,部署 Data Guard 和 RAC 時請注意下列事項。

Data Guard 注意事項

您可以備份主要和待命 Data Guard 節點。不過,如果您選擇只保護待命節點的資料庫,備份資料庫時就必須使用 Oracle 資料庫驗證,而非 OS 驗證。

退票候補預訂注意事項

如果暫存磁碟設為 NFS 模式,Backup and DR 解決方案就不支援從 RAC 資料庫的多個節點同時備份。如果系統需要從多個 RAC 節點進行並行備份,請使用「區塊」(iSCSI) 做為暫存磁碟模式,並針對每個主機設定此模式。

如果是使用 ASM 的 Oracle RAC 資料庫,您必須將快照控制檔案放在共用磁碟中。如要驗證這項設定,請連線至 RMAN 並執行 show all 指令:

rman target /

RMAN> show all
如果快照控制檔案不在正確位置,請重新設定。舉例來說,如果資料庫的 `db_unique_name` 為 **ctdb**,且使用本機檔案系統,請使用下列 RMAN 設定參數:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/mnt/ctdb/snapcf_ctdb.f';

在 RAC 環境中,您必須將快照控制檔案對應至共用的 ASM 磁碟群組。如要將檔案指派給 ASM 磁碟群組,請使用 Configure Snapshot Controlfile Name 指令:

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+/snap_.f';

建議

視需求而定,您可能需要決定某些會影響整體解決方案的功能。有些決策可能會影響價格,進而影響效能,例如為備份/還原裝置快照集集區選擇標準永久磁碟 (pd-standard) 或高效能永久磁碟 (pd-ssd)。

本節將分享建議的選擇,協助您確保 Oracle 資料庫備份輸送量達到最佳效能。

選取最佳機器類型和永久磁碟類型

使用備份/復原裝置搭配檔案系統或資料庫等應用程式時,您可以根據主機執行個體在 Compute Engine 執行個體之間傳輸資料的速度,評估效能。

  • Compute Engine 永久磁碟裝置速度取決於三個因素:機器類型、附加至執行個體的總記憶體量,以及執行個體的 vCPU 數量。
  • 執行個體中的 vCPU 數量決定了分配給 Compute Engine 執行個體的網路速度。速度範圍從共用 vCPU 的 1 Gbps,到 8 個以上 vCPU 的 16 Gbps。
  • 綜合上述限制,Backup and DR 預設會使用 e2-standard-16 做為備份/復原設備的標準大小機器類型。 Google Cloud 從這個起點開始,您有三種磁碟分配方式可供選擇:

選擇

集區磁碟

最大持續寫入量

最高持續讀取量

最低

10 GB

不適用

不適用

標準

4096 GB

400 MiB/秒

1200 MiB/秒

SSD

4096 GB

1000 MiB/秒

1200 MiB/秒

Compute Engine 執行個體會將分配到的網路頻寬,最多 60% 用於連結永久磁碟的 I/O 作業,並保留 40% 用於其他用途。詳情請參閱「影響效能的其他因素」。

建議:選取 e2-standard-16 機器類型和至少 4096 GB 的 PD-SSD,可為備份/還原設備提供最佳效能。您也可以選擇 n2-standard-16 機器類型,做為備份/復原裝置的第二選擇。這個選項可額外提升 10% 至 20% 的效能,但會產生額外費用。如果符合您的用途,請與 Cloud Customer Care 聯絡,要求進行這項變更。

最佳化快照

如要提高單一備份/復原裝置的生產力,可以從多個來源同時執行快照工作。每項個別工作都會降低速度。不過,只要有足夠的工作,您就能達到快照集區中 Persistent Disk 磁碟區的持續寫入上限。

使用 iSCSI 做為暫存磁碟時,您可以將單一大型執行個體備份至備份/復原設備,持續寫入速度約為 300 到 330 MB/s。在我們的測試中,假設您以最佳大小設定來源主機和備份/復原裝置,且兩者位於相同區域和可用區,我們發現從 2 TB 到 80 TB 的快照都適用這項做法。

選擇正確的暫存磁碟

如果您需要顯著的效能和總處理量,與 iSCSI 相比,Direct NFS 可做為 Oracle 資料庫備份的暫存磁碟,帶來顯著優勢。直接 NFS 會合併 TCP 連線數量,進而提升擴充性和網路效能。

為 Oracle 資料庫啟用 Direct NFS 時,請設定足夠的來源 CPU (例如 8 個 vCPU 和 8 個 RMAN 通道),並在 Bare Metal Solution 區域擴充功能和 Google Cloud之間建立 10 GB 連結,即可備份單一 Oracle 資料庫,並將輸送量提高至 700 到 900 MB/s 以上。RMAN 還原速度也受益於 Direct NFS,您會發現輸送量達到 850 MB/s 以上。

平衡成本和輸送量

此外,請務必瞭解所有備份資料都會以壓縮格式儲存在備份/還原設備快照集區,以降低成本。這項壓縮功能帶來的效能負擔微乎其微。 不過,如果是加密資料 (TDE) 或經過大量壓縮的資料集,輸送量數據可能會受到些微影響。

瞭解影響網路和備份伺服器效能的因素

下列項目會影響 Bare Metal 解決方案中 Oracle 與 Google Cloud備份伺服器之間的網路 I/O:

快閃儲存空間

與 Google Cloud 永久磁碟類似,為 Bare Metal 解決方案系統提供儲存空間的快閃儲存空間陣列,會根據您指派給主機的儲存空間量,提高 I/O 功能。分配的儲存空間越多,I/O 效能就越好。為確保結果一致,建議您至少佈建 8 TB 的快閃儲存空間。

網路延遲

Google Cloud 備份和災難復原備份作業對 Bare Metal 解決方案主機與備份/復原設備之間的網路延遲非常敏感。 Google Cloud延遲時間只要稍微增加,備份和還原時間就會大幅延長。不同的 Compute Engine 區域為 Bare Metal Solution 主機提供不同的網路延遲。建議您測試每個區域,找出備份/還原設備的最佳放置位置。

使用的處理器數量

Bare Metal 解決方案伺服器有數種大小。建議您根據可用的 CPU 調整 RMAN 通道,系統越大,速度越快。

Cloud Interconnect

Bare Metal Solution 與 Google Cloud 之間的混合式互連網路提供多種大小,例如 5 Gbps、10 Gbps 和 2x10 Gbps,其中雙 10 GB 選項可提供完整效能。您也可以設定專屬互連網路連結,專門用於備份和還原作業。如果客戶希望將備份流量與可能經過相同連結的資料庫或應用程式流量隔離,或是確保備份和還原作業有充足的頻寬,以符合復原點目標 (RPO) 和復原時間目標 (RTO),建議選用這個選項。

後續步驟

以下提供一些備份和災難復原服務的額外連結和資訊,或許對您有所助益。 Google Cloud