TR-4997 : VCF 中的 Oracle RAC 部署與保護(含 VVols )
NetApp公司的Alleno Cao、Niyazz Mohamed
本解決方案提供 VMware Cloud Foundation ( VCF )中 Oracle 部署與保護的概觀與詳細資料、其中 vSphere Virtual Volumes ( vVols )是 Real Application Clusters ( RAC )組態中的主要資料庫儲存設備和 Oracle 資料庫。
目的
VMware vSphere 虛擬磁碟區( vVols )是一種 SAN/NAS 管理與整合架構、可將虛擬磁碟公開為原生儲存物件、並可在虛擬磁碟層級執行陣列型作業。換句話說、 vVols 讓 SAN/NAS 裝置能夠感知 VM 、並能以單一虛擬磁碟的精細度、以虛擬機器為中心的方法、充分發揮陣列型資料服務的效益。 VVols 可讓客戶充分運用目前儲存投資和移轉的獨特功能、而不會中斷營運模式、針對所有儲存類型的虛擬環境進行最佳化、以達到更簡單、更有效率的營運模式。
在中"TR-4996"、我們展示了單一執行個體的 Oracle 資料庫部署和 VCF 中的 VVols 保護功能。本文件說明如何在 VMware Cloud Foundation 環境中部署及保護 Oracle RAC 資料庫、並在 NetApp ONTAP 儲存叢集中使用 vVols 作為主要資料庫儲存設備。Oracle RAC 資料庫的設定方式、如同部署在本機儲存系統的本機檔案系統中一樣。本技術報告著重於在 VCF 中建立 VVols 以進行 Oracle RAC 部署的步驟。我們也透過 NetApp 自動化工具套件和 NetApp SnapCenter UI 工具的 RAC 資料庫保護、在 VVols 上的 VCF 中示範 Oracle RAC 資料庫部署。
本解決方案可解決下列使用案例:
-
在 VCF 中部署 Oracle RAC 資料庫、並在 NetApp ONTAP AFF 上部署 vVols 資料存放區作為主要資料庫儲存設備
-
使用 NetApp SnapCenter UI 工具、在 VCF 中使用 vVols 資料存放區進行 Oracle 資料庫備份與還原
目標對象
本解決方案適用於下列人員:
-
DBA 希望在 VCF 中部署 Oracle RAC 、並在 NetApp ONTAP AFF 上部署 vVols 資料存放區作為主要資料庫儲存設備
-
資料庫解決方案架構設計師、想要在 VCF 中測試 Oracle RAC 工作負載、並在 NetApp ONTAP AFF 儲存設備上使用 vVols 資料存放區
-
想要部署及管理部署至 VCF 的 Oracle RAC 資料庫、並在 NetApp ONTAP AFF 儲存設備上使用 vVols 資料存放區的儲存管理員
-
想要在 VCF 中使用 vVol 資料存放區備份 Oracle RAC 資料庫的應用程式擁有者
解決方案測試與驗證環境
此解決方案的測試與驗證是在 VCF 的實驗室環境中執行、 NetApp ONTAP AFF 儲存設備上的 VVols 資料存放區可能與最終部署環境不符。如需詳細資訊,請參閱一節 部署考量的關鍵因素。
架構
![此映像提供在 AWS 公有雲中使用 iSCSI 和 ASM 的 Oracle 部署組態的詳細圖片。](./../media/vcf_orarac_vvol_architecture.png)
硬體與軟體元件
硬體 |
||
NetApp ONTAP AFF A300 |
9.14.1P4 版 |
DS224 機櫃含 24 個 NVMe 磁碟、總容量 35.2 TiB |
VMware vSphere 叢集 |
版本 8.02 |
12 個 CPU x Intel ( R ) Xeon ( R ) Gold 5218 CPU @ 2.30GHz 、 8 個節點( 4 個管理和 4 個工作負載網域) |
軟體 |
||
RedHat Linux |
RHEL-8.6 、 4.18.0-372.9.1.el8.x86_64 核心 |
託管 Oracle DB 伺服器、部署 RedHat 訂閱以進行測試 |
Windows伺服器 |
2022 Standard 、 10.0.20348 Build 20348 |
託管 SnapCenter 伺服器 |
CentOS Linux |
CentOS Linux 8.5.2111 版 |
代管 Ansible 控制器 |
Oracle Grid 基礎架構 |
版本 19.18 |
已套用 RU 修補程式 p34762026_190000_Linux-x86-64.zip |
Oracle資料庫 |
版本 19.18 |
已套用 RU 修補程式 p34765931_190000_Linux-x86-64.zip |
Oracle OPatch |
12.2.0.1.36 版 |
最新修補程式 p6880880_190000_Linux-x86-64.zip |
伺服器SnapCenter |
版本 6.0 |
工作群組部署 |
VMware vSphere的插件SnapCenter |
版本 6.0 |
部署為 ova VM 至 vSphere 叢集 |
適用於 VMware vSphere 的 ONTAP 工具 |
版本 9.13 |
部署為 ova VM 至 vSphere 叢集 |
開啟 JDK |
版本 Java-11-OpenJDK-11.0.23.0.9-3.el8.x86_64 |
DB VM 上的 SnapCenter 外掛程式需求 |
VCF 中的 Oracle RAC 資料庫組態
* RAC 節點 * |
資料庫 |
* 資料庫儲存 * |
ora01 |
NTAP_pdb1 、 NTAP_pdb2 、 NTAP_pdb3 ) |
VVols NetApp ONTAP AFF A300 上的資料存放區( VCL_ORA_Bins 、 VCL_ORA_CRS 、 VCL_ORA_DAT1 、 VCL_ORA_DAT2 、 VCL_ORA_LOGS ) |
ora02 |
NTAP_pdb1 、 NTAP_pdb2 、 NTAP_pdb3 ) |
VVols NetApp ONTAP AFF A300 上的資料存放區( VCL_ORA_Bins 、 VCL_ORA_CRS 、 VCL_ORA_DAT1 、 VCL_ORA_DAT2 、 VCL_ORA_LOGS ) |
部署考量的關鍵因素
-
* vVols 到 ONTAP 叢集連線的傳輸協定。 *NFS 或 iSCSI 是很好的選擇。效能等級相當。在本解決方案示範中、我們使用 iSCSI 做為 vVols 連線至底線的 ONTAP 儲存叢集的儲存傳輸協定。如果 VCF 基礎架構支援、則 NetApp ONTAP 上的 VVols 資料存放區也支援 FC/FCoE 、 NVMe / FC 通訊協定。
-
* vVols 資料存放區上的 Oracle 儲存配置。 *在我們的測試與驗證中、我們部署了五個 Vols 資料存放區、分別用於 Oracle 二進位檔案、 Oracle 叢集登錄 / 投票、 Oracle 資料和 Oracle 記錄檔。最好將不同類型的 Oracle 檔案分隔到自己的資料存放區、以便輕鬆管理及執行資料庫備份、還原或複製。為大型資料庫建立專用的 vVols 、並針對具有類似 QoS 設定檔的小型資料庫或資料庫、共用 vVols 。
-
* Oracle 儲存備援。 * `Normal Redundancy`用於關鍵的 Oracle RAC 叢集登錄 / 投票檔案、以便三個 ASM 磁碟故障群組上的三個投票檔案提供最佳的叢集保護、並將叢集登錄鏡射到 ASM 磁碟故障群組中。 `External Redundancy`用於 Oracle 二進位檔案、資料和記錄檔、以最佳化儲存使用率。底線標示的 ONTAP RAID-DP 可在 `External Redundancy`使用時提供資料保護。
-
* ONTAP 儲存驗證的認證。 *ONTAP 儲存叢集驗證只能使用 ONTAP 叢集層級認證、包括 SnapCenter 連線至 ONTAP 儲存叢集、或 ONTAP 工具連線至 ONTAP 儲存叢集。
-
* 將儲存設備從 vVols 資料存放區配置至資料庫 VM 。 *一次只能從 vVols 資料存放區新增一個磁碟至資料庫 VM 。目前不支援同時從 vVols 資料存放區新增多個磁碟。
-
* 資料庫保護 *NetApp 提供 SnapCenter 軟體套件來進行資料庫備份、並以使用者友好的 UI 介面進行還原。NetApp 建議實作這樣的管理工具、以實現快速的快照備份、快速的資料庫還原與還原。
解決方案部署
以下各節提供在 VCF 中部署 Oracle 19c 資料庫的逐步程序、其中 VVols 資料存放區位於 RAC 組態中的 NetApp ONTAP 儲存設備上。
部署的先決條件
Details
部署需要下列先決條件。
-
已設定 VMware VCF 。有關如何創建 VCF 的信息或說明,請參閱 VMware 文檔 "VMware Cloud Foundation 文件"。
-
在 VCF 工作負載網域中、為三個 Linux VM 、兩個 VM 用於 Oracle RAC 資料庫叢集、以及一個 VM 用於 Ansible 控制器。配置一部 Windows 伺服器 VM 以執行 NetApp SnapCenter 伺服器。有關爲自動 Oracle 數據庫部署設置 Ansible 控制器的信息,請參閱以下資源 "NetApp解決方案自動化入門"。
-
Oracle RAC 資料庫虛擬機器應已配置至少兩個網路介面、一個用於 Oracle RAC 私有互連、另一個用於應用程式或公有資料流量。
-
適用於 VMware vSphere 的 SnapCenter 外掛程式 6.0 版已部署在 VCF 中。有關插件部署,請參閱以下資源 "VMware vSphere文件的VMware外掛程式SnapCenter":。
-
適用於 VMware vSphere 的 ONTAP 工具已部署在 VCF 中。請參閱下列資源以取得 VMware vSphere 部署的 ONTAP 工具: "適用於 VMware vSphere 的 ONTAP 工具文件"
|
請確定您已在 Oracle VM 根 Volume 中至少分配 50 g 、以便有足夠的空間來存放 Oracle 安裝檔案。 |
建立儲存功能設定檔
Details
首先、為裝載 vVols 資料存放區的底線 ONTAP 儲存設備建立自訂儲存功能設定檔。
-
從 vSphere 用戶端捷徑開啟 NetApp ONTAP 工具。確保 ONTAP 儲存叢集已新增至
Storage Systems
、作為 ONTAP 工具部署的一部分。 -
按一下
Storage capability profile
以新增 Oracle 的自訂設定檔。命名設定檔並新增簡短說明。 -
選擇儲存控制器類別:效能、容量或混合式。
-
選取傳輸協定。
-
視需要定義 QoS 原則。
-
設定檔的其他儲存屬性。如果您想要加密功能、或是套用設定檔時可能會造成問題、請確定 NetApp 控制器已啟用加密功能。
-
檢閱摘要並完成儲存功能設定檔的建立。
建立及設定 vVols 資料存放區
Details
完成先決條件後、透過 vSphere 用戶端以管理員使用者身分登入 VCF 、導覽至工作負載網域。請勿使用內建的 VMware 儲存選項來建立 VVols 。請改用 NetApp ONTAP 工具來建立 vVols 。以下說明建立和設定 VVols 的程序。
-
VVols 建立工作流程可從 ONTAP 工具介面或 VCF 工作負載網域叢集觸發。
-
填寫資料存放區的一般資訊、包括資源配置目的地、類型、名稱和傳輸協定。
-
選擇從上一步、和建立 vVols 的自訂儲存功能設定檔
Storage system
Storage VM
。 -
選擇
Create new volumes
、填寫磁碟區名稱和大小、然後按一下、ADD
NEXT
移至摘要頁面。 -
按一下
Finish
以建立 Oracle 二進位的 vVols 資料存放區。 -
為 Oracle 叢集登錄或 CRS 建立資料存放區。
您可以將多個磁碟區新增至 vVols 資料存放區、或跨 ONTAP 控制器節點跨 vVols 資料存放區磁碟區、以獲得效能或備援。 -
為 Oracle 資料建立資料存放區。理想情況下、請在每個 ONTAP 控制器節點上建立個別的資料存放區、並採用 Oracle ASM 跨控制器節點分拆資料、以最大化 ONTAP 儲存叢集容量的使用率。
-
為 Oracle 記錄建立資料存放區。根據 Oracle 記錄寫入的連續性質、最好只將它放在單一 ONTAP 控制器節點上。
-
部署後驗證 Oracle 資料存放區。
根據儲存功能設定檔建立 VM 儲存原則
Details
在將儲存設備從 vVols 資料存放區配置至資料庫 VM 之前、請根據從上一步建立的儲存功能設定檔、新增 VM 儲存原則。以下是程序。
-
在 vSphere 用戶端功能表中、開啟
Policies and Profiles
並反白顯示VM Storage Policies
。按一下Create
以開啟VM Storage Policies
工作流程。 -
命名 VM 儲存原則。
-
在
Datastore specific rules`中、檢查 `Enable rules for "NetAPP.clustered.Data.ONTAP.VP.vvol" storage
-
對於 NetApp.Cluster.Data.ONTAP.VP.VVOL 規則
Placement
、請選取從上一步建立的自訂儲存容量設定檔。 -
對於 NetApp.Cluster.Data.ONTAP.VP.VOL 規則
Replication
、請選擇Disabled
是否不複寫 vVols 。 -
儲存相容性頁面會顯示 VCF 環境中相容的 vVols 資料存放區。
-
檢閱並完成以建立 VM 儲存原則。
-
驗證剛建立的 VM 儲存原則。
從 vVols 資料存放區將磁碟分配給 RAC VM 、並設定 DB 儲存設備
Details
從 vSphere 用戶端、透過編輯 VM 設定、將所需磁碟從 vVols 資料存放區新增至資料庫 VM 。然後、登入 VM 以格式化二進位磁碟、並將其掛載至裝載點 /u01 。以下說明確切的步驟和工作。
-
在將磁碟從資料存放區分配至資料庫 VM 之前、請先登入 VMware ESXi 主機、以驗證並確保 ESXi 層級上已啟用多個寫入器(將「 CtlGBLAllowMW 值」設為 1 )。
[root@vcf-wkld-esx01:~] which esxcli /bin/esxcli [root@vcf-wkld-esx01:~] esxcli system settings advanced list -o /VMFS3/GBLAllowMW Path: /VMFS3/GBLAllowMW Type: integer Int Value: 1 Default Int Value: 1 Min Value: 0 Max Value: 1 String Value: Default String Value: Valid Characters: Description: Allow multi-writer GBLs. Host Specific: false Impact: none [root@vcf-wkld-esx01:~]
-
新增專用 SCSI 控制器、以搭配 Oracle RAC 磁碟使用。停用 SCSI 匯流排共用。
-
從 RAC 節點 1 - ora01 、將磁碟新增至 VM 以進行 Oracle 二進位儲存、而不需共用。
-
從 RAC 節點 1 、將三個磁碟新增至 VM for Oracle RAC CRS 儲存設備、並啟用多寫入器共用。
-
從 RAC 節點 1 、將每個資料存放區的兩個磁碟分別新增至虛擬機器、以供共用 Oracle 資料儲存設備使用。
-
從 RAC 節點 1 、將兩個磁碟從記錄資料存放區新增至 VM 、以供共用的 Oracle 記錄檔儲存設備使用。
-
從 RAC 節點 2 、將磁碟新增至 VM 以用於 Oracle 二進位儲存設備、而無需共用。
-
從 RAC 節點 2 、選取 `Existing Hard Disks`選項以新增其他共用磁碟、並為每個共用磁碟啟用多寫入器共用。
-
從 VM
Edit Settings`中, `Advanced Parameters`添加具有值的屬性 `disk.enableuuid
TRUE
。VM 需要停機才能新增進階參數。設定此選項可讓 SnapCenter 精確識別您環境中的 vVol 。這應該在所有 RAC 節點上完成。 -
現在、請重新啟動 VM 。以管理員使用者的身分透過 ssh 登入 VM 、以檢閱新增的磁碟機。
[admin@ora01 ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 600M 0 part /boot/efi ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 48.4G 0 part ├─rhel-root 253:0 0 43.4G 0 lvm / └─rhel-swap 253:1 0 5G 0 lvm [SWAP] sdb 8:16 0 50G 0 disk sdc 8:32 0 10G 0 disk sdd 8:48 0 10G 0 disk sde 8:64 0 10G 0 disk sdf 8:80 0 40G 0 disk sdg 8:96 0 40G 0 disk sdh 8:112 0 40G 0 disk sdi 8:128 0 40G 0 disk sdj 8:144 0 80G 0 disk sdk 8:160 0 80G 0 disk sr0 11:0 1 1024M 0 rom [admin@ora01 ~]$ [admin@ora02 ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 600M 0 part /boot/efi ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 48.4G 0 part ├─rhel-root 253:0 0 43.4G 0 lvm / └─rhel-swap 253:1 0 5G 0 lvm [SWAP] sdb 8:16 0 50G 0 disk sdc 8:32 0 10G 0 disk sdd 8:48 0 10G 0 disk sde 8:64 0 10G 0 disk sdf 8:80 0 40G 0 disk sdg 8:96 0 40G 0 disk sdh 8:112 0 40G 0 disk sdi 8:128 0 40G 0 disk sdj 8:144 0 80G 0 disk sdk 8:160 0 80G 0 disk sr0 11:0 1 1024M 0 rom [admin@ora02 ~]$
-
從每個 RAC 節點、只要接受預設選項、即可將 Oracle 二進位磁碟( /dev/sdb )分割為主要和單一分割區。
sudo fdisk /dev/sdb
-
將分割磁碟格式化為 xfs 檔案系統。
sudo mkfs.xfs /dev/sdb1
-
將磁碟掛載至 /u01 掛載點。
[admin@ora01 ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.7G 36K 7.7G 1% /dev tmpfs 7.8G 1.4G 6.4G 18% /dev/shm tmpfs 7.8G 34M 7.7G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/mapper/rhel-root 44G 29G 16G 66% / /dev/sda2 1014M 249M 766M 25% /boot /dev/sda1 599M 5.9M 593M 1% /boot/efi /dev/sdb1 50G 24G 27G 47% /u01 tmpfs 1.6G 12K 1.6G 1% /run/user/42 tmpfs 1.6G 0 1.6G 0% /run/user/54331 tmpfs 1.6G 4.0K 1.6G 1% /run/user/1000
-
將裝載點新增至 /etc/fstab 、以便在 VM 重新開機時掛載磁碟機。
sudo vi /etc/fstab
[oracle@ora_01 ~]$ cat /etc/fstab # # /etc/fstab # Created by anaconda on Wed Oct 18 19:43:31 2023 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/rhel-root / xfs defaults 0 0 UUID=aff942c4-b224-4b62-807d-6a5c22f7b623 /boot xfs defaults 0 0 /dev/mapper/rhel-swap none swap defaults 0 0 /root/swapfile swap swap defaults 0 0 /dev/sdb1 /u01 xfs defaults 0 0
在 VCF 中部署 Oracle RAC
Details
我們建議您運用 NetApp 自動化工具套件、在 VCF 中使用 vVols 部署 Oracle RAC 。請仔細閱讀隨附的說明(讀我檔案)、並依照工具組中的指示、設定部署參數檔案、例如:部署目標檔案 - hosts 、通用變數檔案 - vars/vars.yml 、以及本機 DB VM 變數檔案 - host_vars/host_name.yml 。以下是逐步程序。
-
以管理使用者的身分透過 ssh 登入 Ansible 控制器 VM 、並複製一套自動化工具組、以在 VCF 中部署 Oracle RAC 、並使用 vVols 。
git clone https://bitbucket.ngage.netapp.com/scm/ns-bb/na_oracle_deploy_rac.git
-
在 RAC 節點 1 資料庫 VM 的 /tmp/archive 資料夾中、登入下列 Oracle 安裝檔案。資料夾應允許所有使用者以 777 權限存取。
LINUX.X64_193000_grid_home.zip p34762026_190000_Linux-x86-64.zip LINUX.X64_193000_db_home.zip p34765931_190000_Linux-x86-64.zip p6880880_190000_Linux-x86-64.zip
-
在 Ansible 控制器和資料庫 VM 之間設定 ssh 免持式驗證、這需要產生 ssh 金鑰配對、並將公開金鑰複製到資料庫 VM 管理使用者根目錄 .ssh 資料夾 authorized_keys 檔案。
ssh-keygen
-
設定使用者定義的目標主機參數檔案。以下是目標主機檔案(主機)的典型組態範例。
#Oracle hosts [oracle] ora01 ansible_host=10.61.180.21 ansible_ssh_private_key_file=ora01.pem ora02 ansible_host=10.61.180.22 ansible_ssh_private_key_file=ora02.pem
-
設定使用者定義的本機主機特定參數檔案。以下是本機 host_name.yml 檔案 - ora01.yml 的典型組態範例。
# Binary lun ora_bin: /dev/sdb # Host DB configuration ins_sid: "{{ oracle_sid }}1" asm_sid: +ASM1
-
設定使用者定義的全域參數檔案。以下是通用參數檔案 - vars.yml 的典型組態範例
####################################################################### ### ONTAP env specific config variables ### ####################################################################### # ONTAP storage platform: on-prem, vmware-vvols ontap_platform: vmware-vvols # Prerequisite to create five vVolss in VMware vCenter # VCF_ORA_BINS - Oracle binary # VCF_ORA_CRS - Oracle cluster registry and vote # VCF_ORA_DAT1 - Oracle data on node1 # VCF_ORA_DAT2 - Oracle data on node2 # VCF_ORA_LOGS - Oracle logs on node1 or node2 # Oracle disks are added to VM from vVols: 1 binary disk, 3 CRS disks, 4 data disks, and 2 log disks. ###################################################################### ### Linux env specific config variables ### ###################################################################### redhat_sub_username: XXXXXXXX redhat_sub_password: "XXXXXXXX" # Networking configuration cluster_pub_ip: - {ip: 10.61.180.21, hostname: ora01} - {ip: 10.61.180.22, hostname: ora02} cluster_pri_ip: - {ip: 172.21.166.22, hostname: ora01-pri} - {ip: 172.21.166.24, hostname: ora02-pri} cluster_vip_ip: - {ip: 10.61.180.93, hostname: ora01-vip} - {ip: 10.61.180.94, hostname: ora02-vip} cluster_scan_name: ntap-scan cluster_scan_ip: - {ip: 10.61.180.90, hostname: ntap-scan} - {ip: 10.61.180.91, hostname: ntap-scan} - {ip: 10.61.180.92, hostname: ntap-scan} ##################################################################### ### DB env specific install and config variables ### ##################################################################### # Shared Oracle RAC storage ora_crs: - { device: /dev/sdc, name: ora_crs_01 } - { device: /dev/sdd, name: ora_crs_02 } - { device: /dev/sde, name: ora_crs_03 } ora_data: - { device: /dev/sdf, name: ora_data_01 } - { device: /dev/sdg, name: ora_data_02 } - { device: /dev/sdh, name: ora_data_03 } - { device: /dev/sdi, name: ora_data_04 } ora_logs: - { device: /dev/sdj, name: ora_logs_01 } - { device: /dev/sdk, name: ora_logs_02 } # Oracle RAC configuration oracle_sid: NTAP cluster_name: ntap-rac cluster_nodes: ora01,ora02 cluster_domain: solutions.netapp.com grid_cluster_nodes: ora01:ora01-vip:HUB,ora02:ora02-vip:HUB network_interface_list: ens33:10.61.180.0:1,ens34:172.21.166.0:5 memory_limit: 10240 # Set initial password for all required Oracle passwords. Change them after installation. initial_pwd_all: "XXXXXXXX"
-
從 Ansible 控制器、複製的自動化工具套件主目錄 /home/admin/na_oracle_deploy _RAC 、執行先決條件教戰手冊來設定不符合的先決條件。
ansible-playbook -i hosts 1-ansible_requirements.yml
-
執行 Linux 組態教戰手冊。
ansible-playbook -i hosts 2-linux_config.yml -u admin -e @vars/vars.yml
-
執行 Oracle 部署教戰手冊。
ansible-playbook -i hosts 4-oracle_config.yml -u admin -e @vars/vars.yml
-
您也可以選擇從單一教戰手冊執行上述所有教戰手冊。
ansible-playbook -i hosts 0-all_playbook.yml -u admin -e @vars/vars.yml
VCF 中的 Oracle RAC 部署驗證
Details
本節提供 VCF 中 Oracle RAC 部署驗證的詳細資訊、以確保所有 Oracle RAC 資源都能如預期般完整部署、設定及運作。
-
以管理員使用者身分登入 RAC VM 、以驗證 Oracle 網格基礎架構。
[admin@ora01 ~]$ sudo su [root@ora01 admin]# su - grid [grid@ora01 ~]$ crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.LISTENER.lsnr ONLINE ONLINE ora01 STABLE ONLINE ONLINE ora02 STABLE ora.chad ONLINE ONLINE ora01 STABLE ONLINE ONLINE ora02 STABLE ora.net1.network ONLINE ONLINE ora01 STABLE ONLINE ONLINE ora02 STABLE ora.ons ONLINE ONLINE ora01 STABLE ONLINE ONLINE ora02 STABLE ora.proxy_advm OFFLINE OFFLINE ora01 STABLE OFFLINE OFFLINE ora02 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup) 1 ONLINE ONLINE ora01 STABLE 2 ONLINE ONLINE ora02 STABLE ora.DATA.dg(ora.asmgroup) 1 ONLINE ONLINE ora01 STABLE 2 ONLINE ONLINE ora02 STABLE ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE ora01 STABLE ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE ora02 STABLE ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE ora02 STABLE ora.RECO.dg(ora.asmgroup) 1 ONLINE ONLINE ora01 STABLE 2 ONLINE ONLINE ora02 STABLE ora.VOTE.dg(ora.asmgroup) 1 ONLINE ONLINE ora01 STABLE 2 ONLINE ONLINE ora02 STABLE ora.asm(ora.asmgroup) 1 ONLINE ONLINE ora01 Started,STABLE 2 ONLINE ONLINE ora02 Started,STABLE ora.asmnet1.asmnetwork(ora.asmgroup) 1 ONLINE ONLINE ora01 STABLE 2 ONLINE ONLINE ora02 STABLE ora.cvu 1 ONLINE ONLINE ora02 STABLE ora.ntap.db 1 ONLINE ONLINE ora01 Open,HOME=/u01/app/o racle2/product/19.0. 0/NTAP,STABLE 2 ONLINE ONLINE ora02 Open,HOME=/u01/app/o racle2/product/19.0. 0/NTAP,STABLE ora.ora01.vip 1 ONLINE ONLINE ora01 STABLE ora.ora02.vip 1 ONLINE ONLINE ora02 STABLE ora.qosmserver 1 ONLINE ONLINE ora02 STABLE ora.scan1.vip 1 ONLINE ONLINE ora01 STABLE ora.scan2.vip 1 ONLINE ONLINE ora02 STABLE ora.scan3.vip 1 ONLINE ONLINE ora02 STABLE -------------------------------------------------------------------------------- [grid@ora01 ~]$
-
驗證 Oracle ASM 。
[grid@ora01 ~]$ asmcmd ASMCMD> lsdg State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 512 4096 1048576 163840 163723 0 163723 0 N DATA/ MOUNTED EXTERN N 512 512 4096 1048576 163840 163729 0 163729 0 N RECO/ MOUNTED NORMAL N 512 512 4096 4194304 30720 29732 10240 9746 0 Y VOTE/ ASMCMD> lsdsk Path AFD:ORA_CRS_01 AFD:ORA_CRS_02 AFD:ORA_CRS_03 AFD:ORA_DATA_01 AFD:ORA_DATA_02 AFD:ORA_DATA_03 AFD:ORA_DATA_04 AFD:ORA_LOGS_01 AFD:ORA_LOGS_02 ASMCMD> afd_state ASMCMD-9526: The AFD state is 'LOADED' and filtering is 'ENABLED' on host 'ora01' ASMCMD>
-
列出叢集節點。
[grid@ora01 ~]$ olsnodes ora01 ora02
-
驗證 OCR/ 投票。
[grid@ora01 ~]$ ocrcheck Status of Oracle Cluster Registry is as follows : Version : 4 Total space (kbytes) : 901284 Used space (kbytes) : 84536 Available space (kbytes) : 816748 ID : 118267044 Device/File Name : +VOTE Device/File integrity check succeeded Device/File not configured Device/File not configured Device/File not configured Device/File not configured Cluster registry integrity check succeeded Logical corruption check bypassed due to non-privileged user [grid@ora01 ~]$ crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE 1ca3fcb0bd354f8ebf00ac97d70e0824 (AFD:ORA_CRS_01) [VOTE] 2. ONLINE 708f84d505a54f58bf41124e09a5115a (AFD:ORA_CRS_02) [VOTE] 3. ONLINE 133ecfcedb684fe6bfdc1899b90f91c7 (AFD:ORA_CRS_03) [VOTE] Located 3 voting disk(s). [grid@ora01 ~]$
-
驗證 Oracle 接聽程式。
[grid@ora01 ~]$ lsnrctl status listener LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 16-AUG-2024 10:21:38 Copyright (c) 1991, 2022, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 14-AUG-2024 16:24:48 Uptime 1 days 17 hr. 56 min. 49 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/grid/19.0.0/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/ora01/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.61.180.21)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.61.180.93)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=ora01.solutions.netapp.com)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle2/product/19.0.0/NTAP/admin/NTAP/xdb_wallet))(Presentation=HTTP)(Session=RAW)) Services Summary... Service "+ASM" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service... Service "+ASM_DATA" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service... Service "+ASM_RECO" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service... Service "+ASM_VOTE" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service... Service "1fbf0aaa1d13cb5ae06315b43d0ab734.solutions.netapp.com" has 1 instance(s). Instance "NTAP1", status READY, has 1 handler(s) for this service... Service "1fbf142e7db2d090e06315b43d0a6894.solutions.netapp.com" has 1 instance(s). Instance "NTAP1", status READY, has 1 handler(s) for this service... Service "1fbf203c3a46d7bae06315b43d0ae055.solutions.netapp.com" has 1 instance(s). Instance "NTAP1", status READY, has 1 handler(s) for this service... Service "NTAP.solutions.netapp.com" has 1 instance(s). Instance "NTAP1", status READY, has 1 handler(s) for this service... Service "NTAPXDB.solutions.netapp.com" has 1 instance(s). Instance "NTAP1", status READY, has 1 handler(s) for this service... Service "ntap_pdb1.solutions.netapp.com" has 1 instance(s). Instance "NTAP1", status READY, has 1 handler(s) for this service... Service "ntap_pdb2.solutions.netapp.com" has 1 instance(s). Instance "NTAP1", status READY, has 1 handler(s) for this service... Service "ntap_pdb3.solutions.netapp.com" has 1 instance(s). Instance "NTAP1", status READY, has 1 handler(s) for this service... The command completed successfully [grid@ora01 ~]$ [grid@ora01 ~]$ tnsping ntap-scan TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 16-AUG-2024 12:07:58 Copyright (c) 1997, 2022, Oracle. All rights reserved. Used parameter files: /u01/app/grid/19.0.0/network/admin/sqlnet.ora Used EZCONNECT adapter to resolve the alias Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=tcp)(HOST=10.61.180.90)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=10.61.180.91)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=10.61.180.92)(PORT=1521))) OK (10 msec)
-
變更為 Oracle 使用者以驗證叢集式資料庫。
[oracle@ora02 ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 16 11:32:23 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 --------- -------------------- ------------ NTAP READ WRITE ARCHIVELOG SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 NTAP_PDB1 READ WRITE NO 4 NTAP_PDB2 READ WRITE NO 5 NTAP_PDB3 READ WRITE NO SQL> select name from v$datafile 2 union 3 select name from v$controlfile 4 union 5 select member from v$logfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP/1FBF0AAA1D13CB5AE06315B43D0AB734/DATAFILE/sysaux.275.1177083797 +DATA/NTAP/1FBF0AAA1D13CB5AE06315B43D0AB734/DATAFILE/system.274.1177083797 +DATA/NTAP/1FBF0AAA1D13CB5AE06315B43D0AB734/DATAFILE/undo_2.277.1177083853 +DATA/NTAP/1FBF0AAA1D13CB5AE06315B43D0AB734/DATAFILE/undotbs1.273.1177083797 +DATA/NTAP/1FBF0AAA1D13CB5AE06315B43D0AB734/DATAFILE/users.278.1177083901 +DATA/NTAP/1FBF142E7DB2D090E06315B43D0A6894/DATAFILE/sysaux.281.1177083903 +DATA/NTAP/1FBF142E7DB2D090E06315B43D0A6894/DATAFILE/system.280.1177083903 +DATA/NTAP/1FBF142E7DB2D090E06315B43D0A6894/DATAFILE/undo_2.283.1177084061 +DATA/NTAP/1FBF142E7DB2D090E06315B43D0A6894/DATAFILE/undotbs1.279.1177083903 +DATA/NTAP/1FBF142E7DB2D090E06315B43D0A6894/DATAFILE/users.284.1177084103 +DATA/NTAP/1FBF203C3A46D7BAE06315B43D0AE055/DATAFILE/sysaux.287.1177084105 NAME -------------------------------------------------------------------------------- +DATA/NTAP/1FBF203C3A46D7BAE06315B43D0AE055/DATAFILE/system.286.1177084105 +DATA/NTAP/1FBF203C3A46D7BAE06315B43D0AE055/DATAFILE/undo_2.289.1177084123 +DATA/NTAP/1FBF203C3A46D7BAE06315B43D0AE055/DATAFILE/undotbs1.285.1177084105 +DATA/NTAP/1FBF203C3A46D7BAE06315B43D0AE055/DATAFILE/users.290.1177084125 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.266.1177081837 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.265.1177081837 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.267.1177081837 +DATA/NTAP/CONTROLFILE/current.261.1177080403 +DATA/NTAP/DATAFILE/sysaux.258.1177080245 +DATA/NTAP/DATAFILE/system.257.1177080129 +DATA/NTAP/DATAFILE/undotbs1.259.1177080311 NAME -------------------------------------------------------------------------------- +DATA/NTAP/DATAFILE/undotbs2.269.1177082203 +DATA/NTAP/DATAFILE/users.260.1177080311 +DATA/NTAP/ONLINELOG/group_1.262.1177080427 +DATA/NTAP/ONLINELOG/group_2.263.1177080427 +DATA/NTAP/ONLINELOG/group_3.270.1177083297 +DATA/NTAP/ONLINELOG/group_4.271.1177083313 +RECO/NTAP/CONTROLFILE/current.256.1177080403 +RECO/NTAP/ONLINELOG/group_1.257.1177080427 +RECO/NTAP/ONLINELOG/group_2.258.1177080427 +RECO/NTAP/ONLINELOG/group_3.259.1177083313 +RECO/NTAP/ONLINELOG/group_4.260.1177083315 33 rows selected.
-
或登入 EM Express 以在成功執行教戰手冊後驗證 RAC 資料庫。
使用 SnapCenter 在 VCF 中進行 Oracle RAC 資料庫備份與還原
SnapCenter 設定
Details
SnapCenter 第 6 版比第 5 版有許多功能增強功能、包括支援 VMware vVols 資料存放區。SnapCenter 仰賴資料庫 VM 上的主機端外掛程式來執行應用程式感知的資料保護管理活動。有關 NetApp SnapCenter Plug-in for Oracle 的詳細信息,請參閱本文檔 "如何使用Oracle資料庫的外掛程式"。以下提供在 VCF 中設定 SnapCenter 版本 6 以進行 Oracle RAC 資料庫備份與還原的高階步驟。
-
從 NetApp 支援網站下載 SnapCenter 軟體的第 6 版: "NetApp支援下載"。
-
以系統管理員身分登入託管 Windows VM 的 SnapCenter 。安裝 SnapCenter 6.0 的必要條件。
-
作爲管理員,從安裝最新的 Java JDK "取得適用於桌面應用程式的 Java"。
如果 Windows 伺服器部署在網域環境中、請將網域使用者新增至 SnapCenter 伺服器本機系統管理員群組、然後與網域使用者一起執行 SnapCenter 安裝。 -
以安裝使用者身分透過 HTTPS 連接埠 8846 登入 SnapCenter UI 、以設定 SnapCenter for Oracle 。
-
如果您是新使用者、請檢閱
Get Started
功能表以快速瞭解 SnapCenter 。 -
更新
Hypervisor Settings
在全域設定中。 -
使用叢集管理 IP 將 ONTAP 儲存叢集新增至
Storage Systems
、並透過叢集管理使用者 ID 進行驗證。 -
新增 Oracle RAC 資料庫 VM 和 vSphere 外掛程式 VM
Credential
、以便 SnapCenter 存取 DB VM 和 vSphere 外掛程式 VM 。認證應該在 Linux VM 上擁有 Sudo 權限。您可以為虛擬機器的不同管理使用者 ID 建立不同的認證。在 vCenter 中部署外掛程式 VM 時、會定義 vShpere 外掛程式 VM 管理使用者 ID 。 -
在 VCF 中將 Oracle RAC 資料庫
Hosts
VM 新增至、並在前一個步驟中建立 DB VM 認證。 -
同樣地、請將 NetApp VMware 外掛程式 VM 新增至
Hosts
、並在前一個步驟中建立 vSphere 外掛程式 VM 認證。 -
最後、在 DB VM 上探索 Oracle 資料庫之後、請返回
Settings
-Policies
建立 Oracle 資料庫備份原則。理想情況下、請建立個別的歸檔記錄備份原則、以允許更頻繁的備份間隔、在發生故障時將資料遺失降至最低。
|
請確定 SnapCenter 伺服器名稱可以解析為 DB VM 和 vSphere 外掛 VM 的 IP 位址。同樣地、 DB VM 名稱和 vSphere 外掛程式 VM 名稱也可以從 SnapCenter 伺服器解析為 IP 位址。 |
資料庫備份
Details
相較於傳統的 RMAN 型方法、 SnapCenter 利用 ONTAP Volume Snapshot 來加快資料庫備份、還原或複製速度。當資料庫在快照之前處於 Oracle 備份模式時、快照的應用程式一致。
-
從
Resources
索引標籤中的任何資料庫都會在 VM 新增至 SnapCenter 之後自動探索。一開始、資料庫狀態會顯示為Not protected
。 -
按一下資料庫以啟動工作流程、以啟用資料庫的保護。
-
套用備份原則、視需要設定排程。
-
如有必要、請設定備份工作通知。
-
檢閱摘要並完成以啟用資料庫保護。
-
按需備份工作可透過按一下來觸發
Back up Now
。 -
可在監控備份工作
Monitor
按一下執行中工作的索引標籤。 -
按一下資料庫、檢閱已完成的 RAC 資料庫備份集。
資料庫還原 / 還原
Details
SnapCenter 從快照備份中為 Oracle RAC 資料庫提供許多還原與還原選項。在此範例中、我們示範如何從較舊的快照備份還原、然後將資料庫轉送到最後一個可用的記錄檔。
-
首先、執行快照備份。然後建立測試表格、並在表格中插入一列、以驗證從快照映像復原的資料庫、然後再建立測試表格。
[oracle@ora01 ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Mon Aug 19 10:31:12 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> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 NTAP_PDB1 READ WRITE NO 4 NTAP_PDB2 READ WRITE NO 5 NTAP_PDB3 READ WRITE NO SQL> alter session set container=ntap_pdb1; Session altered. SQL> create table test (id integer, dt timestamp, event varchar(100)); Table created. SQL> insert into test values (1, sysdate, 'validate SnapCenter rac database restore on VMware vVols storage'); 1 row created. SQL> commit; Commit complete. SQL> select * from test; ID ---------- DT --------------------------------------------------------------------------- EVENT -------------------------------------------------------------------------------- 1 19-AUG-24 10.36.04.000000 AM validate SnapCenter rac database restore on VMware vVols storage SQL>
-
從 SnapCenter
Resources
索引標籤、開啟資料庫 NTAP1 備份拓撲頁面。反白顯示 3 天前建立的快照資料備份集。按一下Restore
以啟動還原復原工作流程。 -
選擇還原範圍。
-
選擇恢復範圍至
All Logs
。 -
指定要執行的任何選用預先指令碼。
-
指定要執行的任何選擇性指令碼後置作業。
-
視需要傳送工作報告。
-
檢閱摘要、然後按一下
Finish
以啟動還原與還原。 -
從 RAC DB VM 或 a01 、驗證資料庫的成功還原 / 還原是否已向前移轉至最近的狀態、並恢復 3 天之後建立的測試表。
[root@ora01 ~]# su - oracle [oracle@ora01 ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Mon Aug 19 11:51:15 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 from v$database; NAME OPEN_MODE --------- -------------------- NTAP READ WRITE SQL> sho pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 NTAP_PDB1 READ WRITE NO 4 NTAP_PDB2 READ WRITE NO 5 NTAP_PDB3 READ WRITE NO SQL> alter session set container=ntap_pdb1; Session altered. SQL> select * from test; ID ---------- DT --------------------------------------------------------------------------- EVENT -------------------------------------------------------------------------------- 1 19-AUG-24 10.36.04.000000 AM validate SnapCenter rac database restore on VMware vVols storage SQL> select current_timestamp from dual; CURRENT_TIMESTAMP --------------------------------------------------------------------------- 19-AUG-24 11.55.20.079686 AM -04:00 SQL> exit Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.18.0.0.0
這將完成 SnapCenter 備份、還原及恢復使用 VVols 的 VCF 中的 Oracle RAC 資料庫的示範。
何處可找到其他資訊
若要深入瞭解本文件所述資訊、請參閱下列文件及 / 或網站:
-
VMware Cloud Foundation
-
NetApp企業資料庫解決方案
-
SnapCenter 軟體 6.0
-
適用於 VMware vSphere 的 ONTAP 工具文件