Skip to main content
NetApp Solutions
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

TR-4988 : Oracle 資料庫備份、還原及複製、透過 SnapCenter 進行

貢獻者

NetApp公司的Alleno Cao、Niyazz Mohamed

目的

NetApp SnapCenter 流通軟體是易於使用的企業平台、可安全地協調及管理應用程式、資料庫及檔案系統之間的資料保護。它可將這些工作卸載給應用程式擁有者、而不犧牲在儲存系統上監督及管理活動的能力、進而簡化備份、還原及複製生命週期管理。藉由運用儲存型資料管理功能、可提升效能與可用度、並縮短測試與開發時間。

在 TR-4987 中、 "Azure NetApp Files with NFS 上簡化的自動化 Oracle 部署"、我們示範在 Azure 雲端的 Azure NetApp Files ( anf )上自動部署 Oracle 。在本文件中、我們以非常簡單易用的 SnapCenter UI 工具、在 Azure 雲端的 ANF 上展示 Oracle 資料庫保護與管理功能。

本解決方案可解決下列使用案例:

  • 備份與還原部署在 Azure 雲端的 SnapCenter 、並將 Oracle 資料庫部署在 ANF 上。

  • 管理資料庫快照和複製複本、以加速應用程式開發並改善資料生命週期管理。

目標對象

本解決方案適用於下列人員:

  • 想要在 Azure NetApp Files 上部署 Oracle 資料庫的 DBA 。

  • 想要在 Azure NetApp Files 上測試 Oracle 工作負載的資料庫解決方案架構設計師。

  • 想要在 Azure NetApp Files 上部署及管理 Oracle 資料庫的儲存管理員。

  • 想要在 Azure NetApp Files 上備份 Oracle 資料庫的應用程式擁有者。

解決方案測試與驗證環境

此解決方案的測試與驗證是在實驗室環境中執行、可能與最終部署環境不符。請參閱一節 [Key Factors for Deployment Consideration] 以取得更多資訊。

架構

此映像提供在 AWS 公有雲中使用 iSCSI 和 ASM 的 Oracle 部署組態的詳細圖片。

硬體與軟體元件

硬體

Azure NetApp Files

Microsoft 目前在 Azure 提供的產品

具有優質服務層級的容量集區

Azure VM for DB 伺服器

Standard_B4ms - 4 個 vCPU 、 16GiB

兩個 Linux 虛擬機器執行個體

Azure VM for SnapCenter

Standard_B4ms - 4 個 vCPU 、 16GiB

一個 Windows 虛擬機器執行個體

軟體

RedHat Linux

RHEL Linux 8.6 ( LVM ) - x64 Gen2

已部署RedHat訂閱以進行測試

Windows伺服器

2022 DataCenter ; AE HotPatch - x64 Gen2

託管 SnapCenter 伺服器

Oracle資料庫

版本 19.18

修補 p34765931_190000_Linux-x86-64.zip

Oracle OPatch

12.2.0.1.36 版

修補 p6880880_190000_Linux-x86-64.zip

伺服器SnapCenter

版本 5.0

工作群組部署

開啟 JDK

版本 Java-11-OpenJDK

DB VM 上的 SnapCenter 外掛程式需求

NFS

3.0版

Oracle DNFS 已啟用

Ansible

核心 2 . 2

Python 3.6.8

實驗室環境中的 Oracle 資料庫組態

伺服器

資料庫

* 資料庫儲存 *

ora-01

NTAP1 ( NTAP1_PDB1 、 NTAP1_PDB2 、 NTAP1_PDB3 )

/u01 、 /u02 、 /u03 NFS 裝載於 anf 容量集區

ora-02.

NTAP2 ( NTAP2_PDB1 、 NTAP2_PDB2 、 NTAP2_PDB3 )

/u01 、 /u02 、 /u03 NFS 裝載於 anf 容量集區

部署考量的關鍵因素

  • * SnapCenter 部署。 * SnapCenter 可以部署在 Windows 網域或工作群組環境中。對於網域型部署、網域使用者帳戶應為網域系統管理員帳戶、或是網域使用者屬於 SnapCenter 主機服務器上本機系統管理員的群組。

  • * 名稱解析。 * SnapCenter 伺服器需要將名稱解析為每個受管理目標資料庫伺服器主機的 IP 位址。每個目標資料庫伺服器主機都必須將 SnapCenter 伺服器名稱解析為 IP 位址。如果 DNS 伺服器無法使用、請將命名新增至本機主機檔案以進行解析。

  • * 資源群組組組態。 * SnapCenter 中的資源群組是類似資源的邏輯群組、可一起備份。因此、它能簡化並減少大型資料庫環境中的備份工作數量。

  • * 獨立的完整資料庫和歸檔記錄備份。 * 完整資料庫備份包括資料磁碟區和記錄磁碟區一致的群組快照。頻繁的完整資料庫快照可提高儲存使用率、但可改善 RTO 。另一個替代方案是較不常備份完整資料庫快照和更頻繁的歸檔記錄備份、這不僅會減少儲存需求、也會改善 RPO 、但可能會延長 RTO 。設定備份方案時、請考量您的 RTO 和 RPO 目標。磁碟區上的快照備份數量也有限制( 1023 )。

  • * 權限委派 * 。 * 利用 SnapCenter UI 內建的角色型存取控制、視需要將權限委派給應用程式和資料庫團隊。

解決方案部署

以下各節提供在 Azure 雲端的 Azure NetApp Files 上進行 SnapCenter 部署、組態和 Oracle 資料庫備份、還原和複製的逐步程序。

部署的先決條件

Details

部署需要在 Azure 的 ANF 上執行現有的 Oracle 資料庫。如果沒有、請依照下列步驟建立兩個 Oracle 資料庫以進行解決方案驗證。如需在 Azure 雲端以自動化技術部署 Oracle 資料庫的詳細資訊、請參閱 TR-4987 : "Azure NetApp Files with NFS 上簡化的自動化 Oracle 部署"

  1. Azure 帳戶已設定完成、您的 Azure 帳戶已建立必要的 vnet 和網路區段。

  2. 從 Azure 雲端入口網站、將 Azure Linux VM 部署為 Oracle DB 伺服器。為 Oracle 資料庫建立 Azure NetApp Files 容量集區和資料庫磁碟區。啟用 VM SSH 私密 / 公開金鑰驗證、以利 azureuser 與 DB 伺服器之間的驗證。如需環境設定的詳細資訊、請參閱上一節的架構圖表。也請參閱 "Azure VM和Azure NetApp Files 整套Oracle部署程序" 以取得詳細資訊。

    註 對於部署了本機磁碟備援的 Azure VM 、請確定您已在 VM 根磁碟中至少分配 128G 、以有足夠的空間來存放 Oracle 安裝檔案、並新增 OS 交換檔。相應地展開 /tmplv 和 /rontlv OS 分區。確保資料庫磁碟區命名遵循 VMNAME-u01 、 VMNAME-u02 和 VMNAME-u03 慣例。
    sudo lvresize -r -L +20G /dev/mapper/rootvg-rootlv
    sudo lvresize -r -L +10G /dev/mapper/rootvg-tmplv
  3. 從 Azure 雲端入口網站佈建 Windows 伺服器、以最新版本執行 NetApp SnapCenter UI 工具。如需詳細資訊、請參閱下列連結: "安裝SnapCenter 此伺服器"

  4. 在安裝最新版 Ansible 和 Git 的情況下、將 Linux VM 配置為 Ansible 控制器節點。如需詳細資訊、請參閱下列連結: "NetApp解決方案自動化入門" 在第 - 節中
    Setup the Ansible Control Node for CLI deployments on RHEL / CentOS
    Setup the Ansible Control Node for CLI deployments on Ubuntu / Debian

    註 Ansible 控制器節點可在預先置入或 Azure 雲端中找到、只要透過 ssh 連接埠到達 Azure DB VM 即可。
  5. 複製 NetApp Oracle 部署自動化工具套件 for NFS 的複本。請遵循中的指示 "TR-4887" 以執行教戰手冊。

    git clone https://bitbucket.ngage.netapp.com/scm/ns-bb/na_oracle_deploy_nfs.git
  6. 在 Azure DB VM /tmp/archive 目錄上執行 Oracle 19c 安裝檔案、並具有 777 權限。

    installer_archives:
      - "LINUX.X64_193000_db_home.zip"
      - "p34765931_190000_Linux-x86-64.zip"
      - "p6880880_190000_Linux-x86-64.zip"
  7. 觀看下列影片:

    Oracle 資料庫備份、恢復及複製、透過 SnapCenter 進行
  8. 檢閱 Get Started 線上功能表。

SnapCenter 安裝與設定

Details

我們建議您上網瀏覽 "軟件文檔SnapCenter" 繼續 SnapCenter 安裝和組態之前:。以下提供在 Azure anf 上安裝及設定 SnapCenter 軟體的高階步驟摘要。

  1. 從 SnapCenter Windows 伺服器下載並安裝最新的 Java JDK "取得適用於桌面應用程式的 Java"

  2. 從 SnapCenter Windows 伺服器、從 NetApp 支援網站 下載並安裝最新版本(目前為 5.0 )的 SnapCenter 安裝執行檔: "NetApp | 支援"

  3. 安裝 SnapCenter 伺服器之後、請啟動瀏覽器、透過連接埠 8146 使用 Windows 本機管理員使用者或網域使用者認證登入 SnapCenter 。

    此影像提供 SnapCenter 伺服器的登入畫面
  4. 檢閱 Get Started 線上功能表。

    此影像提供 SnapCenter 伺服器的線上功能表
  5. 在中 Settings-Global Settings、檢查 Hypervisor Settings 然後按一下「更新」。

    此映像提供 SnapCenter 伺服器的 Hypervisor 設定
  6. 如有需要、請調整 Session Timeout 將 SnapCenter UI 設定為所需的時間間隔。

    此映像為 SnapCenter 伺服器提供工作階段逾時
  7. 視需要新增其他使用者至 SnapCenter 。

    此映像提供 SnapCenter 伺服器的設定 - 使用者和存取權
  8. Roles 索引標籤列出可指派給不同 SnapCenter 使用者的內建角色。自訂角色也可由具有所需權限的管理員使用者建立。

    此映像提供 SnapCenter 伺服器的角色
  9. 寄件者 Settings-Credential、為 SnapCenter 管理目標建立認證。在本示範使用案例中、他們是 Linux 使用者、可登入 Azure VM 、並使用 ANF 認證來存取容量集區。

    此映像提供 SnapCenter 伺服器的認證
    此映像提供 SnapCenter 伺服器的認證
    此映像提供 SnapCenter 伺服器的認證
  10. 寄件者 Storage Systems 索引標籤、請新增 Azure NetApp Files 使用上述建立的認證。

    此映像提供 Azure NetApp Files for SnapCenter 伺服器
    此映像提供 Azure NetApp Files for SnapCenter 伺服器
  11. 寄件者 Hosts 索引標籤中、新增 Azure DB VM 、可在 Linux 上安裝適用於 Oracle 的 SnapCenter 外掛程式。

    此映像可為 SnapCenter 伺服器提供主機
    此映像可為 SnapCenter 伺服器提供主機
    此映像可為 SnapCenter 伺服器提供主機
  12. 在 DB 伺服器 VM 上安裝主機外掛程式後、會自動探索主機上的資料庫、並在中顯示 Resources 索引標籤。返回 Settings-Polices,請為完整的 Oracle 資料庫線上備份和僅歸檔記錄備份建立備份原則。請參閱本文件 "為Oracle資料庫建立備份原則" 以取得詳細的逐步程序。

    此映像提供 SnapCenter 伺服器的設定原則

資料庫備份

Details

NetApp 快照備份會建立資料庫磁碟區的時間點映像、以便在系統故障或資料遺失時進行還原。Snapshot 備份所需時間很少、通常不到一分鐘。備份映像會佔用最少的儲存空間、而且效能成本可忽略不計、因為它只會記錄自上次執行快照複本之後對檔案所做的變更。下節說明在 SnapCenter 中實作 Oracle 資料庫備份的快照。

  1. 瀏覽至 Resources 索引標籤、列出在資料庫 VM 上安裝 SnapCenter 外掛程式後所探索到的資料庫。一開始 Overall Status 資料庫的顯示方式為 Not protected

    此映像可為 SnapCenter 伺服器提供資料庫備份
  2. 按一下 View 下拉式清單可變更為 Resource Group。按一下 Add 登入右側以新增資源群組。

    此映像可為 SnapCenter 伺服器提供資料庫備份
  3. 命名資源群組、標記及任何自訂命名。

    此映像可為 SnapCenter 伺服器提供資料庫備份
  4. 新增資源至 Resource Group。將類似資源分組可簡化大型環境中的資料庫管理。

    此映像可為 SnapCenter 伺服器提供資料庫備份
  5. 選取備份原則、然後按一下下方的「 + 」號來設定排程 Configure Schedules

    此映像可為 SnapCenter 伺服器提供資料庫備份
    此映像可為 SnapCenter 伺服器提供資料庫備份
  6. 如果原則中未設定備份驗證、請保持驗證頁面不變。

    此映像可為 SnapCenter 伺服器提供資料庫備份
  7. 為了以電子郵件傳送備份報告和通知、環境中需要 SMTP 郵件伺服器。如果沒有設定郵件伺服器、請將其留黑。

    此映像可為 SnapCenter 伺服器提供資料庫備份
  8. 新資源群組摘要。

    此映像可為 SnapCenter 伺服器提供資料庫備份
  9. 重複上述程序、使用對應的備份原則建立僅限資料庫歸檔記錄檔的備份。

    此映像可為 SnapCenter 伺服器提供資料庫備份
  10. 按一下資源群組以顯示其中包含的資源。除了排程的備份工作外、按一下即可觸發一次性備份 Backup Now

    此映像可為 SnapCenter 伺服器提供資料庫備份
    此映像可為 SnapCenter 伺服器提供資料庫備份
  11. 按一下執行中的工作以開啟監控視窗、讓操作員能夠即時追蹤工作進度。

    此映像可為 SnapCenter 伺服器提供資料庫備份
  12. 成功完成備份工作後、資料庫拓撲下方會出現快照備份集。完整的資料庫備份集包含資料庫資料磁碟區的快照、以及資料庫記錄磁碟區的快照。純記錄備份僅包含資料庫記錄磁碟區的快照。

    此映像可為 SnapCenter 伺服器提供資料庫備份

資料庫恢復

Details

透過 SnapCenter 進行資料庫還原可還原資料庫 Volume 映像時間點的快照複本。接著、資料庫會依 SCN/timestamp 或備份集中可用的歸檔記錄所允許的點、向前捲動至所需的點。下節說明使用 SnapCenter UI 進行資料庫還原的工作流程。

  1. 寄件者 Resources 索引標籤、開啟資料庫 Primary Backup(s) 頁面。選擇資料庫資料 Volume 的快照、然後按一下 Restore 啟動資料庫恢復工作流程的按鈕。如果您想要透過 Oracle SCN 或時間戳記執行恢復、請記下備份集中的 SCN 編號或時間戳記。

    此映像可為 SnapCenter 伺服器提供資料庫還原
  2. 選取 Restore Scope。對於容器資料庫、 SnapCenter 可靈活執行完整的容器資料庫(所有資料檔案)、可插入的資料庫或資料表空間層級還原。

    此映像可為 SnapCenter 伺服器提供資料庫還原
  3. 選取 Recovery ScopeAll logs 表示將所有可用的歸檔記錄套用至備份集中。也可使用 SCN 或時間戳記的時間點還原。

    此映像可為 SnapCenter 伺服器提供資料庫還原
  4. PreOps 允許在還原 / 還原作業之前、針對資料庫執行指令碼。

    此映像可為 SnapCenter 伺服器提供資料庫還原
  5. PostOps 可在還原 / 還原作業後、針對資料庫執行指令碼。

    此映像可為 SnapCenter 伺服器提供資料庫還原
  6. 如有需要、可透過電子郵件通知。

    此映像可為 SnapCenter 伺服器提供資料庫還原
  7. 還原工作摘要

    此映像可為 SnapCenter 伺服器提供資料庫還原
  8. 按一下「執行中的工作」以開啟 Job Details 視窗。您也可以從開啟和檢視工作狀態 Monitor 索引標籤。

    此映像可為 SnapCenter 伺服器提供資料庫還原

資料庫複製

Details

透過 SnapCenter 複製資料庫是透過從磁碟區快照建立新的磁碟區來完成。系統會使用快照資訊、在擷取快照時使用磁碟區上的資料來複製新的磁碟區。更重要的是、相較於其他方法、製作正式作業資料庫的複本以支援開發或測試的速度很快(幾分鐘)、而且效率很高。因此、可大幅改善資料庫應用程式生命週期管理。下節說明使用 SnapCenter UI 複製資料庫的工作流程。

  1. 寄件者 Resources 索引標籤、開啟資料庫 Primary Backup(s) 頁面。選擇資料庫資料 Volume 的快照、然後按一下 clone 啟動資料庫複製工作流程的按鈕。

    此映像提供 SnapCenter 伺服器的資料庫複製
  2. 命名複製資料庫的 SID 。或者、對於容器資料庫、您也可以在 PDB 層級上執行複製作業。

    此映像提供 SnapCenter 伺服器的資料庫複製
  3. 選取要放置複製資料庫複本的 DB 伺服器。除非您想要以不同的名稱命名、否則請保留預設檔案位置。

    此映像提供 SnapCenter 伺服器的資料庫複製
  4. 原始資料庫中的 Oracle 軟體堆疊應已安裝並設定在 Clone DB 主機上。保留預設認證、但變更 Oracle Home Settings 以符合複製 DB 主機上的設定。

    此映像提供 SnapCenter 伺服器的資料庫複製
  5. PreOps 允許在複製作業之前執行指令碼。資料庫參數可調整以符合與正式作業資料庫(例如 SGA 降低目標)相較的複製資料庫需求。

    此映像提供 SnapCenter 伺服器的資料庫複製
  6. PostOps 允許在複製作業後對資料庫執行指令碼。複製資料庫還原可以是 SCN 、時間戳記型、或直到取消為止(將資料庫復原至備份集中的最後一個封存記錄檔)。

    此映像提供 SnapCenter 伺服器的資料庫複製
  7. 如有需要、可透過電子郵件通知。

    此映像提供 SnapCenter 伺服器的資料庫複製
  8. 複製工作摘要。

    此映像提供 SnapCenter 伺服器的資料庫複製
  9. 按一下「執行中的工作」以開啟 Job Details 視窗。您也可以從開啟和檢視工作狀態 Monitor 索引標籤。

    此映像可為 SnapCenter 伺服器提供資料庫還原
  10. 複製的資料庫會立即向 SnapCenter 登錄。

    此映像可為 SnapCenter 伺服器提供資料庫還原
  11. 驗證資料庫伺服器主機上的複製資料庫。對於複製的開發資料庫、應關閉資料庫歸檔模式。

    [azureuser@ora-02 ~]$ sudo su
    [root@ora-02 azureuser]# su - oracle
    Last login: Tue Feb  6 16:26:28 UTC 2024 on pts/0
    
    [oracle@ora-02 ~]$ uname -a
    Linux ora-02 4.18.0-372.9.1.el8.x86_64 #1 SMP Fri Apr 15 22:12:19 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux
    [oracle@ora-02 ~]$ df -h
    Filesystem                                       Size  Used Avail Use% Mounted on
    devtmpfs                                         7.7G     0  7.7G   0% /dev
    tmpfs                                            7.8G     0  7.8G   0% /dev/shm
    tmpfs                                            7.8G   49M  7.7G   1% /run
    tmpfs                                            7.8G     0  7.8G   0% /sys/fs/cgroup
    /dev/mapper/rootvg-rootlv                         22G   17G  5.6G  75% /
    /dev/mapper/rootvg-usrlv                          10G  2.0G  8.1G  20% /usr
    /dev/mapper/rootvg-homelv                       1014M   40M  975M   4% /home
    /dev/sda1                                        496M  106M  390M  22% /boot
    /dev/mapper/rootvg-varlv                         8.0G  958M  7.1G  12% /var
    /dev/sda15                                       495M  5.9M  489M   2% /boot/efi
    /dev/mapper/rootvg-tmplv                          12G  8.4G  3.7G  70% /tmp
    tmpfs                                            1.6G     0  1.6G   0% /run/user/54321
    172.30.136.68:/ora-02-u03                        250G  2.1G  248G   1% /u03
    172.30.136.68:/ora-02-u01                        100G   10G   91G  10% /u01
    172.30.136.68:/ora-02-u02                        250G  7.5G  243G   3% /u02
    tmpfs                                            1.6G     0  1.6G   0% /run/user/1000
    tmpfs                                            1.6G     0  1.6G   0% /run/user/0
    172.30.136.68:/ora-01-u02-Clone-020624161543077  250G  8.2G  242G   4% /u02_ntap1dev
    
    [oracle@ora-02 ~]$ cat /etc/oratab
    #
    # This file is used by ORACLE utilities.  It is created by root.sh
    # and updated by either Database Configuration Assistant while creating
    # a database or ASM Configuration Assistant while creating ASM instance.
    
    # A colon, ':', is used as the field terminator.  A new line terminates
    # the entry.  Lines beginning with a pound sign, '#', are comments.
    #
    # Entries are of the form:
    #   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
    #
    # The first and second fields are the system identifier and home
    # directory of the database respectively.  The third field indicates
    # to the dbstart utility that the database should , "Y", or should not,
    # "N", be brought up at system boot time.
    #
    # Multiple entries with the same $ORACLE_SID are not allowed.
    #
    #
    NTAP2:/u01/app/oracle/product/19.0.0/NTAP2:Y
    # SnapCenter Plug-in for Oracle Database generated entry (DO NOT REMOVE THIS LINE)
    ntap1dev:/u01/app/oracle/product/19.0.0/NTAP2:N
    
    
    [oracle@ora-02 ~]$ export ORACLE_SID=ntap1dev
    [oracle@ora-02 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Tue Feb 6 16:29:02 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode, log_mode from v$database;
    
    NAME      OPEN_MODE            LOG_MODE
    --------- -------------------- ------------
    NTAP1DEV  READ WRITE           ARCHIVELOG
    
    
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount;
    ORACLE instance started.
    
    Total System Global Area 3221223168 bytes
    Fixed Size                  9168640 bytes
    Variable Size             654311424 bytes
    Database Buffers         2550136832 bytes
    Redo Buffers                7606272 bytes
    Database mounted.
    
    SQL> alter database noarchivelog;
    
    Database altered.
    
    SQL> alter database open;
    
    Database altered.
    
    SQL> select name, open_mode, log_mode from v$database;
    
    NAME      OPEN_MODE            LOG_MODE
    --------- -------------------- ------------
    NTAP1DEV  READ WRITE           NOARCHIVELOG
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 NTAP1_PDB1                     MOUNTED
             4 NTAP1_PDB2                     MOUNTED
             5 NTAP1_PDB3                     MOUNTED
    
    SQL> alter pluggable database all open;

何處可找到其他資訊

若要深入瞭解本文件所述資訊、請參閱下列文件及 / 或網站: