TR-5003 :在 ANF 上實作高處理量的 Oracle VLDB
NetApp公司的Alleno Cao、Niyazz Mohamed
本解決方案提供在 Microsoft Azure NetApp Files ( anf )上設定高處理量 Oracle 超大型資料庫( VLDB )的概觀與詳細資料,並在 Azure 雲端中搭配 Oracle Data Guard 使用。
目的
高處理量和關鍵任務 Oracle VLDB 對後端資料庫儲存設備的需求很大。為了符合服務層級協議( SLA ),資料庫儲存設備必須提供所需的容量和每秒高輸入 / 輸出作業( IOPS ),同時維持低於毫秒的延遲效能。在公有雲中部署這樣的資料庫工作負載時,這種情況特別困難,因為這種情況是共用儲存資源環境。並非所有儲存平台的建立都一樣。結合 Azure 基礎架構的優質 Azure NetApp Files 儲存設備,可滿足如此嚴苛的 Oracle 工作負載需求。在通過驗證的效能標竿()中"Azure NetApp Files 多個磁碟區上的 Oracle 資料庫效能", anf 透過 slob 工具,在合成 100% 隨機選取工作負載中提供 250 萬個讀取 IOPS ,並提供 700 微秒延遲。標準的 8k 區塊大小可轉換為約 20 GiB/s 的處理量。
在本文件中,我們將示範如何在具有多個 NFS 磁碟區的 anf 儲存設備上,使用 Data Guard 組態來設定 Oracle VLDB ,以及在儲存負載平衡方面設定 Oracle ASM 。您可以透過快照快速備份待命資料庫(分鐘),並視需要複製以進行讀取 / 寫入存取,以供使用案例使用。NetApp 解決方案工程團隊提供自動化工具套件,可輕鬆建立及重新整理複本,符合使用者定義的排程。
本解決方案可解決下列使用案例:
-
在橫跨 Azure 區域的 Microsoft Azure NetApp Files 儲存設備上,於 Data Guard 設定中實作 Oracle VLDB 。
-
快照備份及複製實體待命資料庫,透過自動化提供報告,開發,測試等使用案例。
目標對象
本解決方案適用於下列人員:
-
DBA 在 Azure 雲端中使用 Data Guard 設定 Oracle VLDB ,以實現高可用度,資料保護及災難恢復。
-
資料庫解決方案架構設計師,對 Azure 雲端中的 Oracle VLDB 搭配 Data Guard 組態感興趣。
-
管理支援 Oracle 資料庫的 Azure NetApp Files 儲存設備的儲存管理員。
-
應用程式擁有者喜歡在 Azure 雲端環境中使用 Data Guard 來支撐 Oracle VLDB 。
解決方案測試與驗證環境
此解決方案的測試與驗證是在 Azure 雲端實驗室設定中執行,可能與實際的使用者部署環境不符。如需詳細資訊,請參閱一節 部署考量的關鍵因素。
架構
硬體與軟體元件
硬體 |
||
Azure NetApp Files |
Microsoft 目前提供的版本 |
兩個 4 TiB 容量集區,優質服務層級,自動 QoS |
適用於 DB 伺服器的 Azure VM |
標準 B4ms ( 4 個 vCPU 、 16 個 GiB 記憶體) |
三個 DB VM ,一個做為主要 DB 伺服器,一個做為備用 DB 伺服器,第三個做為複製 DB 伺服器 |
軟體 |
||
RedHat Linux |
Red Hat Enterprise Linux 8.6 ( LVM ) - x64 Gen2 |
已部署RedHat訂閱以進行測試 |
Oracle Grid 基礎架構 |
版本 19.18 |
已套用 RU 修補程式 p34762026_190000_Linux-x86-64.zip |
Oracle資料庫 |
版本 19.18 |
已套用 RU 修補程式 p34765931_190000_Linux-x86-64.zip |
DNFS OneOff Patch |
p32931941_190000_Linux-x86-64.zip |
同時套用至網格和資料庫 |
Oracle OPatch |
12.2.0.1.36 版 |
最新修補程式 p6880880_190000_Linux-x86-64.zip |
Ansible |
版本核心版本 2 . 2 |
Python 版本 - 3.10.13 |
NFS |
3.0版 |
已啟用 Oracle 的 DNFS |
Oracle VLDB Data Guard 組態,採用模擬的紐約至洛杉磯 DR 設定
資料庫 |
* DB_UNIQUE 名稱 * |
* Oracle Net Service Name* |
主要 |
ntap_nY |
NTAP_NY.internal.cloudapp.net |
待命 |
ntap_lla |
NTAP_LA.internal.cloudapp.net |
部署考量的關鍵因素
-
* Azure NetApp Files 組態。 *Azure NetApp Files 在 Azure NetApp 儲存帳戶中配置為
Capacity Pools
。在這些測試和驗證中,我們部署了 2 個 TiB 容量集區,在東部地區主控 Oracle 主集區,並部署 4 個 TiB 容量集區,在西部 2 區主控待命資料庫和資料庫複製。ANF 容量集區有三種服務層級:標準,高級和 Ultra 。anf 容量集區的 IO 容量取決於容量集區大小及其服務層級。在建立容量集區時,您可以將 QoS 設定為自動或手動,而將資料加密設為 REST 單一或雙。 -
* 調整資料庫磁碟區大小。 *對於正式作業部署, NetApp 建議您從 Oracle AWR 報告中全面評估 Oracle 資料庫處理量需求。為資料庫設定容量時,請同時考量資料庫大小和處理量需求。透過自動 QoS 組態設定,可保證頻寬為每 TiB 128 MIB/s ,並以 Ultra 服務層級配置。較高的處理量可能需要較大的磁碟區規模來滿足需求。
-
* 單一 Volume 或多個 Volume 。 *單一大型磁碟區可提供類似於多個磁碟區的效能層級,其集合大小與 QoS 相同,並根據磁碟區大小和容量集區服務層級嚴格強制執行。建議為 Oracle VLDB 實作多個磁碟區(多個 NFS 裝載點),以更有效地利用共享後端 anf 儲存資源池。在多個 NFS 磁碟區上實作用於 IO 負載平衡的 Oracle ASM 。
-
* 應用程式 Volume 群組 *部署適用於 Oracle 的應用程式 Volume Group ( AVG )以進行效能最佳化。應用程式 Volume 群組所部署的磁碟區會置於區域或分區基礎架構中,以達到最佳化的應用程式 VM 延遲和處理量。
-
* Azure VM 考量。 *在這些測試和驗證中,我們使用 Azure VM - Standard_B4ms ,搭配 4 個 vCPU 和 16 個 GiB 記憶體。您必須針對需要高處理量的 Oracle VLDB ,適當地選擇 Azure DB VM 。除了 vCPU 數量和 RAM 數量之外, VM 網路頻寬(入口和出口或 NIC 處理量限制)也可能成為達到資料庫儲存容量之前的瓶頸。
-
* DNFS 組態。 *透過使用 DNFS ,在 Azure 虛擬機器上執行的 Oracle 資料庫若搭配 ANF 儲存設備,可提供遠高於原生 NFS 用戶端的 I/O 。確保已套用 Oracle DNFS 修補程式 p32931941 來解決潛在的錯誤。
解決方案部署
假設您已將主要 Oracle 資料庫部署在 Vnet 內的 Azure 雲端環境中,做為設定 Oracle Data Guard 的起點。理想情況下,主要資料庫會部署在具有 NFS 裝載的 anf 儲存設備上。您的主要 Oracle 資料庫也可以在 NetApp ONTAP 儲存設備上執行,或是在 Azure 生態系統或私有資料中心內執行任何其他選擇儲存設備。下節說明在 Azure 的主 Oracle DB (具有 anf 儲存設備)與 Azure 中的實體備用 Oracle DB (具有 anf 儲存設備)之間的 Oracle Data Guard 設定中,在 anf 上的 Oracle VLDB 組態。
部署的先決條件
Details
部署需要下列先決條件。
-
Azure 雲端帳戶已設定完成,您的 Azure 帳戶已建立必要的 vnet 和網路子網路。
-
從 Azure 雲端入口網站主控台,您至少需要部署三個 Azure Linux VM ,一個做為主要 Oracle DB 伺服器,一個做為備用 Oracle DB 伺服器,以及一個複製目標 DB 伺服器來進行報告,開發和測試等。如需環境設定的詳細資訊,請參閱上一節的架構圖表。另請參閱 Microsoft "Azure虛擬機器" 以取得更多資訊。
-
主 Oracle 資料庫應已安裝並設定在主 Oracle DB 伺服器中。另一方面,在備用 Oracle DB 伺服器或複製 Oracle DB 伺服器中,只會安裝 Oracle 軟體,而且不會建立 Oracle 資料庫。理想情況下, Oracle 檔案目錄配置應完全符合所有 Oracle DB 伺服器。如需有關 NetApp 在 Azure 雲端和 ANF 中自動部署 Oracle 的建議詳細資訊,請參閱下列技術報告以取得協助。
-
"TR-4987 :簡化的自動化 Azure NetApp Files NFS 部署"
請確定您已在 Azure VM 根 Volume 中至少分配 128G ,以便有足夠的空間來存放 Oracle 安裝檔案。
-
-
從 Azure 雲端入口網站主控台,部署兩個 ANF 儲存容量集區來主控 Oracle 資料庫磁碟區。ANF 儲存容量集區應位於不同區域,以模擬真正的 DataGuard 組態。如果您不熟悉儲存設備的部署,請參閱文件中的"快速入門:設定Azure NetApp Files 功能以建立NFS磁碟區"逐步說明。
-
當主要 Oracle 資料庫和備用 Oracle 資料庫位於兩個不同區域時,應設定 VPN 閘道,以允許兩個不同 VN 之間的資料流量傳輸。Azure 中的詳細網路組態已超出本文件的範圍。下列螢幕擷取畫面提供一些參考資料,說明 VPN 閘道的設定,連線方式,以及資料流量在實驗室中的確認方式。
實驗室 VPN 閘道:
主要 vnet 閘道:
Vnet 閘道連線狀態:
驗證是否已建立流量傳輸(按一下三個點以開啟頁面):
-
請參閱本文件"部署適用於 Oracle 的應用程式 Volume 群組",以部署適用於 Oracle 的 Application Volume Group 。
Data Guard 的主要 Oracle VLDB 組態
Details
在本示範中,我們已在主要 Azure DB 伺服器上設定名為 NTAP 的主要 Oracle 資料庫,其中有六個 NFS 裝載點: Oracle 二進位 /u01 , /u02 , /u04 , /u05 , /u06 , Oracle 資料檔案, Oracle 控制檔 /u03 , Oracle 作用中記錄檔,封存記錄檔和備援 Oracle 控制檔。此設定可做為參考組態。您的實際部署應考量到容量集區大小,服務層級,資料庫磁碟區數量和每個磁碟區大小等特定需求。
如需在 NFS 上使用 ASM 設定 Oracle Data Guard 的詳細逐步程序,請參閱 TR-5002 - 和 TR-4974 "在 AWS FS3/EC2 上使用 NFS/ASM 獨立重新啟動 Oracle 19c"- "使用 Azure NetApp Files 降低 Oracle Active Data Guard 成本"相關章節。雖然 TR-4974 中的程序已在 Amazon FSX ONTAP 上驗證,但同樣適用於 anf 。以下說明 Data Guard 組態中主要 Oracle VLDB 的詳細資料。
-
主要 Azure DB 伺服器 orap.internal.cloudapp.net 上的主要資料庫 NTAP 最初部署為獨立式資料庫,其中 ANF 位於 NFS 上,而 ASM 則部署為資料庫儲存設備。
orap.internal.cloudapp.net: resource group: ANFAVSRG Location: East US size: Standard B4ms (4 vcpus, 16 GiB memory) OS: Linux (redhat 8.6) pub_ip: 172.190.207.231 pri_ip: 10.0.0.4 [oracle@orap ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.8G 1.1G 6.7G 15% /dev/shm tmpfs 7.8G 17M 7.7G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/mapper/rootvg-rootlv 22G 20G 2.1G 91% / /dev/mapper/rootvg-usrlv 10G 2.3G 7.8G 23% /usr /dev/sda1 496M 181M 315M 37% /boot /dev/mapper/rootvg-varlv 8.0G 1.1G 7.0G 13% /var /dev/sda15 495M 5.8M 489M 2% /boot/efi /dev/mapper/rootvg-homelv 2.0G 47M 2.0G 3% /home /dev/mapper/rootvg-tmplv 12G 11G 1.9G 85% /tmp /dev/sdb1 32G 49M 30G 1% /mnt 10.0.2.38:/orap-u06 300G 282G 19G 94% /u06 10.0.2.38:/orap-u04 300G 282G 19G 94% /u04 10.0.2.36:/orap-u01 400G 21G 380G 6% /u01 10.0.2.37:/orap-u02 300G 282G 19G 94% /u02 10.0.2.36:/orap-u03 400G 282G 119G 71% /u03 10.0.2.39:/orap-u05 300G 282G 19G 94% /u05 [oracle@orap ~]$ 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. # # +ASM:/u01/app/oracle/product/19.0.0/grid:N NTAP:/u01/app/oracle/product/19.0.0/NTAP:N
-
以 Oracle 使用者身分登入主要 DB 伺服器。驗證網格組態。
$GRID_HOME/bin/crsctl stat res -t
[oracle@orap ~]$ $GRID_HOME/bin/crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE orap STABLE ora.LISTENER.lsnr ONLINE ONLINE orap STABLE ora.LOGS.dg ONLINE ONLINE orap STABLE ora.asm ONLINE ONLINE orap Started,STABLE ora.ons OFFLINE OFFLINE orap STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE orap STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.evmd 1 ONLINE ONLINE orap STABLE ora.ntap.db 1 OFFLINE OFFLINE Instance Shutdown,ST ABLE -------------------------------------------------------------------------------- [oracle@orap ~]$
-
ASM 磁碟群組組組態。
asmcmd
[oracle@orap ~]$ 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 4194304 1146880 1136944 0 1136944 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 286720 283312 0 283312 0 N LOGS/ ASMCMD> lsdsk Path /u02/oradata/asm/orap_data_disk_01 /u02/oradata/asm/orap_data_disk_02 /u02/oradata/asm/orap_data_disk_03 /u02/oradata/asm/orap_data_disk_04 /u03/oralogs/asm/orap_logs_disk_01 /u03/oralogs/asm/orap_logs_disk_02 /u03/oralogs/asm/orap_logs_disk_03 /u03/oralogs/asm/orap_logs_disk_04 /u04/oradata/asm/orap_data_disk_05 /u04/oradata/asm/orap_data_disk_06 /u04/oradata/asm/orap_data_disk_07 /u04/oradata/asm/orap_data_disk_08 /u05/oradata/asm/orap_data_disk_09 /u05/oradata/asm/orap_data_disk_10 /u05/oradata/asm/orap_data_disk_11 /u05/oradata/asm/orap_data_disk_12 /u06/oradata/asm/orap_data_disk_13 /u06/oradata/asm/orap_data_disk_14 /u06/oradata/asm/orap_data_disk_15 /u06/oradata/asm/orap_data_disk_16 ASMCMD>
-
主要 DB 上 Data Guard 的參數設定。
SQL> show parameter name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cdb_cluster_name string cell_offloadgroup_name string db_file_name_convert string db_name string NTAP db_unique_name string NTAP_NY global_names boolean FALSE instance_name string NTAP lock_name_space string log_file_name_convert string pdb_file_name_convert string processor_group_name string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string NTAP_NY.internal.cloudapp.net SQL> sho parameter log_archive_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest string log_archive_dest_1 string LOCATION=USE_DB_RECOVERY_FILE_ DEST VALID_FOR=(ALL_LOGFILES,A LL_ROLES) DB_UNIQUE_NAME=NTAP_ NY log_archive_dest_10 string log_archive_dest_11 string log_archive_dest_12 string log_archive_dest_13 string log_archive_dest_14 string log_archive_dest_15 string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_16 string log_archive_dest_17 string log_archive_dest_18 string log_archive_dest_19 string log_archive_dest_2 string SERVICE=NTAP_LA ASYNC VALID_FO R=(ONLINE_LOGFILES,PRIMARY_ROL E) DB_UNIQUE_NAME=NTAP_LA log_archive_dest_20 string log_archive_dest_21 string log_archive_dest_22 string
-
主要 DB 組態。
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; NAME -------------------------------------------------------------------------------- +DATA/NTAP/DATAFILE/system.257.1189724205 +DATA/NTAP/DATAFILE/sysaux.258.1189724249 +DATA/NTAP/DATAFILE/undotbs1.259.1189724275 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.266.1189725235 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.267.1189725235 +DATA/NTAP/DATAFILE/users.260.1189724275 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.268.1189725235 +DATA/NTAP/2B1302C26E089A59E0630400000A4D5C/DATAFILE/system.272.1189726217 +DATA/NTAP/2B1302C26E089A59E0630400000A4D5C/DATAFILE/sysaux.273.1189726217 +DATA/NTAP/2B1302C26E089A59E0630400000A4D5C/DATAFILE/undotbs1.271.1189726217 +DATA/NTAP/2B1302C26E089A59E0630400000A4D5C/DATAFILE/users.275.1189726243 NAME -------------------------------------------------------------------------------- +DATA/NTAP/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/system.277.1189726245 +DATA/NTAP/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/sysaux.278.1189726245 +DATA/NTAP/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/undotbs1.276.1189726245 +DATA/NTAP/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/users.280.1189726269 +DATA/NTAP/2B13061057039B10E0630400000AA001/DATAFILE/system.282.1189726271 +DATA/NTAP/2B13061057039B10E0630400000AA001/DATAFILE/sysaux.283.1189726271 +DATA/NTAP/2B13061057039B10E0630400000AA001/DATAFILE/undotbs1.281.1189726271 +DATA/NTAP/2B13061057039B10E0630400000AA001/DATAFILE/users.285.1189726293 19 rows selected. SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- +DATA/NTAP/ONLINELOG/group_3.264.1189724351 +LOGS/NTAP/ONLINELOG/group_3.259.1189724361 +DATA/NTAP/ONLINELOG/group_2.263.1189724351 +LOGS/NTAP/ONLINELOG/group_2.257.1189724359 +DATA/NTAP/ONLINELOG/group_1.262.1189724351 +LOGS/NTAP/ONLINELOG/group_1.258.1189724359 +DATA/NTAP/ONLINELOG/group_4.286.1190297279 +LOGS/NTAP/ONLINELOG/group_4.262.1190297283 +DATA/NTAP/ONLINELOG/group_5.287.1190297293 +LOGS/NTAP/ONLINELOG/group_5.263.1190297295 +DATA/NTAP/ONLINELOG/group_6.288.1190297307 MEMBER -------------------------------------------------------------------------------- +LOGS/NTAP/ONLINELOG/group_6.264.1190297309 +DATA/NTAP/ONLINELOG/group_7.289.1190297325 +LOGS/NTAP/ONLINELOG/group_7.265.1190297327 14 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP/CONTROLFILE/current.261.1189724347 +LOGS/NTAP/CONTROLFILE/current.256.1189724347
-
主要 DB 上的 DNFS 組態。
SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.0.2.39 /orap-u05 10.0.2.38 /orap-u04 10.0.2.38 /orap-u06 SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.0.2.37 /orap-u02 10.0.2.36 /orap-u03 10.0.2.36 /orap-u01 6 rows selected.
這將完成在使用 NFS/ASM 的主要站台上,針對 VLDB NTAP 的 Data Guard 設定示範。
Data Guard 的備用 Oracle VLDB 組態
Details
Oracle Data Guard 需要作業系統核心組態和 Oracle 軟體堆疊,包括待機 DB 伺服器上的修補程式集,才能與主要 DB 伺服器相符。為了便於管理和簡化,備用 DB 伺服器的資料庫儲存組態理想上也應與主要 DB 伺服器相符,例如資料庫目錄配置和 NFS 裝載點的大小。
同樣地,如需在 NFS 上使用 ASM 設定 Oracle Data Guard 待命的詳細步驟,請參閱 TR-5002 - 和 TR-4974 "在 AWS FS3/EC2 上使用 NFS/ASM 獨立重新啟動 Oracle 19c"- "使用 Azure NetApp Files 降低 Oracle Active Data Guard 成本"相關章節。以下說明在 Data Guard 設定中,待命 DB 伺服器上的備用 Oracle VLDB 組態詳細資料。
-
在示範實驗室的待命站台上進行備用 Oracle DB 伺服器組態。
oras.internal.cloudapp.net: resource group: ANFAVSRG Location: West US 2 size: Standard B4ms (4 vcpus, 16 GiB memory) OS: Linux (redhat 8.6) pub_ip: 172.179.119.75 pri_ip: 10.0.1.4 [oracle@oras ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.8G 1.1G 6.7G 15% /dev/shm tmpfs 7.8G 25M 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.3G 7.8G 23% /usr /dev/mapper/rootvg-varlv 8.0G 1.1G 7.0G 13% /var /dev/mapper/rootvg-homelv 2.0G 52M 2.0G 3% /home /dev/sda1 496M 181M 315M 37% /boot /dev/sda15 495M 5.8M 489M 2% /boot/efi /dev/mapper/rootvg-tmplv 12G 11G 1.8G 86% /tmp /dev/sdb1 32G 49M 30G 1% /mnt 10.0.3.36:/oras-u03 400G 282G 119G 71% /u03 10.0.3.36:/oras-u04 300G 282G 19G 94% /u04 10.0.3.36:/oras-u05 300G 282G 19G 94% /u05 10.0.3.36:/oras-u02 300G 282G 19G 94% /u02 10.0.3.36:/oras-u01 100G 21G 80G 21% /u01 10.0.3.36:/oras-u06 300G 282G 19G 94% /u06 [oracle@oras ~]$ cat /etc/oratab #Backup file is /u01/app/oracle/crsdata/oras/output/oratab.bak.oras.oracle line added by Agent # # 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. # # +ASM:/u01/app/oracle/product/19.0.0/grid:N NTAP:/u01/app/oracle/product/19.0.0/NTAP:N # line added by Agent
-
備用 DB 伺服器上的網格基礎架構組態。
[oracle@oras ~]$ $GRID_HOME/bin/crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE oras STABLE ora.LISTENER.lsnr ONLINE ONLINE oras STABLE ora.LOGS.dg ONLINE ONLINE oras STABLE ora.asm ONLINE ONLINE oras Started,STABLE ora.ons OFFLINE OFFLINE oras STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE oras STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.evmd 1 ONLINE ONLINE oras STABLE ora.ntap_la.db 1 ONLINE INTERMEDIATE oras Dismounted,Mount Ini tiated,HOME=/u01/app /oracle/product/19.0 .0/NTAP,STABLE --------------------------------------------------------------------------------
-
ASM 磁碟群組在待命 DB 伺服器上的組態。
[oracle@oras ~]$ 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 4194304 1146880 1136912 0 1136912 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 286720 284228 0 284228 0 N LOGS/ ASMCMD> lsdsk Path /u02/oradata/asm/oras_data_disk_01 /u02/oradata/asm/oras_data_disk_02 /u02/oradata/asm/oras_data_disk_03 /u02/oradata/asm/oras_data_disk_04 /u03/oralogs/asm/oras_logs_disk_01 /u03/oralogs/asm/oras_logs_disk_02 /u03/oralogs/asm/oras_logs_disk_03 /u03/oralogs/asm/oras_logs_disk_04 /u04/oradata/asm/oras_data_disk_05 /u04/oradata/asm/oras_data_disk_06 /u04/oradata/asm/oras_data_disk_07 /u04/oradata/asm/oras_data_disk_08 /u05/oradata/asm/oras_data_disk_09 /u05/oradata/asm/oras_data_disk_10 /u05/oradata/asm/oras_data_disk_11 /u05/oradata/asm/oras_data_disk_12 /u06/oradata/asm/oras_data_disk_13 /u06/oradata/asm/oras_data_disk_14 /u06/oradata/asm/oras_data_disk_15 /u06/oradata/asm/oras_data_disk_16
-
待機 DB 上 Data Guard 的參數設定。
SQL> show parameter name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cdb_cluster_name string cell_offloadgroup_name string db_file_name_convert string db_name string NTAP db_unique_name string NTAP_LA global_names boolean FALSE instance_name string NTAP lock_name_space string log_file_name_convert string pdb_file_name_convert string processor_group_name string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string NTAP_LA.internal.cloudapp.net SQL> show parameter log_archive_config NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_config string DG_CONFIG=(NTAP_NY,NTAP_LA) SQL> show parameter fal_server NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ fal_server string NTAP_NY
-
備用 DB 組態。
SQL> select name, open_mode, log_mode from v$database; NAME OPEN_MODE LOG_MODE --------- -------------------- ------------ NTAP MOUNTED ARCHIVELOG SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED MOUNTED 3 NTAP_PDB1 MOUNTED 4 NTAP_PDB2 MOUNTED 5 NTAP_PDB3 MOUNTED SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/DATAFILE/system.261.1190301867 +DATA/NTAP_LA/DATAFILE/sysaux.262.1190301923 +DATA/NTAP_LA/DATAFILE/undotbs1.263.1190301969 +DATA/NTAP_LA/2B12C97618069248E0630400000AC50B/DATAFILE/system.264.1190301987 +DATA/NTAP_LA/2B12C97618069248E0630400000AC50B/DATAFILE/sysaux.265.1190302013 +DATA/NTAP_LA/DATAFILE/users.266.1190302039 +DATA/NTAP_LA/2B12C97618069248E0630400000AC50B/DATAFILE/undotbs1.267.1190302045 +DATA/NTAP_LA/2B1302C26E089A59E0630400000A4D5C/DATAFILE/system.268.1190302071 +DATA/NTAP_LA/2B1302C26E089A59E0630400000A4D5C/DATAFILE/sysaux.269.1190302099 +DATA/NTAP_LA/2B1302C26E089A59E0630400000A4D5C/DATAFILE/undotbs1.270.1190302125 +DATA/NTAP_LA/2B1302C26E089A59E0630400000A4D5C/DATAFILE/users.271.1190302133 NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/system.272.1190302137 +DATA/NTAP_LA/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/sysaux.273.1190302163 +DATA/NTAP_LA/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/undotbs1.274.1190302189 +DATA/NTAP_LA/2B13047FB98B9AAFE0630400000AFA5F/DATAFILE/users.275.1190302197 +DATA/NTAP_LA/2B13061057039B10E0630400000AA001/DATAFILE/system.276.1190302201 +DATA/NTAP_LA/2B13061057039B10E0630400000AA001/DATAFILE/sysaux.277.1190302229 +DATA/NTAP_LA/2B13061057039B10E0630400000AA001/DATAFILE/undotbs1.278.1190302255 +DATA/NTAP_LA/2B13061057039B10E0630400000AA001/DATAFILE/users.279.1190302263 19 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/CONTROLFILE/current.260.1190301831 +LOGS/NTAP_LA/CONTROLFILE/current.257.1190301833 SQL> select group#, type, member from v$logfile order by 2, 1; GROUP# TYPE MEMBER ---------- ------- -------------------------------------------------------------------------------- 1 ONLINE +DATA/NTAP_LA/ONLINELOG/group_1.280.1190302305 1 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_1.259.1190302309 2 ONLINE +DATA/NTAP_LA/ONLINELOG/group_2.281.1190302315 2 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_2.258.1190302319 3 ONLINE +DATA/NTAP_LA/ONLINELOG/group_3.282.1190302325 3 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_3.260.1190302329 4 STANDBY +DATA/NTAP_LA/ONLINELOG/group_4.283.1190302337 4 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_4.261.1190302339 5 STANDBY +DATA/NTAP_LA/ONLINELOG/group_5.284.1190302347 5 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_5.262.1190302349 6 STANDBY +DATA/NTAP_LA/ONLINELOG/group_6.285.1190302357 GROUP# TYPE MEMBER ---------- ------- -------------------------------------------------------------------------------- 6 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_6.263.1190302359 7 STANDBY +DATA/NTAP_LA/ONLINELOG/group_7.286.1190302367 7 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_7.264.1190302369 14 rows selected.
-
驗證待命資料庫的恢復狀態。請注意
recovery logmerger
在中APPLYING_LOG
行動。SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS; ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ recovery logmerger 1 32 APPLYING_LOG recovery apply slave 0 0 IDLE RFS async 1 32 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE RFS ping 1 32 IDLE archive redo 0 0 IDLE managed recovery 0 0 IDLE archive redo 0 0 IDLE archive redo 0 0 IDLE recovery apply slave 0 0 IDLE ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ redo transport monitor 0 0 IDLE log writer 0 0 IDLE archive local 0 0 IDLE redo transport timer 0 0 IDLE gap manager 0 0 IDLE RFS archive 0 0 IDLE 17 rows selected.
-
待機 DB 上的 DNFS 組態。
SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.0.3.36 /oras-u05 10.0.3.36 /oras-u04 10.0.3.36 /oras-u02 10.0.3.36 /oras-u06 10.0.3.36 /oras-u03
這將完成 VLDB NTAP 的 Data Guard 設定示範,並在待命站台啟用託管式待命恢復。
設定 Data Guard Broker
Details
Oracle Data Guard Broker 是一套分散式管理架構、可自動化及集中建立、維護及監控 Oracle Data Guard 組態。以下章節示範如何設定 Data Guard Broker 來管理 Data Guard 環境。
-
透過 sqlplus 執行下列命令,即可在主要和待命資料庫上啟動資料保護代理程式。
alter system set dg_broker_start=true scope=both;
-
從主要資料庫連線至 Data Guard Borker 、做為 SYSDBA 。
[oracle@orap ~]$ dgmgrl sys@NTAP_NY DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Dec 11 20:53:20 2024 Version 19.18.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "NTAP_NY" Connected as SYSDBA. DGMGRL>
-
建立並啟用 Data Guard Broker 組態。
DGMGRL> create configuration dg_config as primary database is NTAP_NY connect identifier is NTAP_NY; Configuration "dg_config" created with primary database "ntap_ny" DGMGRL> add database NTAP_LA as connect identifier is NTAP_LA; Database "ntap_la" added DGMGRL> enable configuration; Enabled. DGMGRL> show configuration; Configuration - dg_config Protection Mode: MaxPerformance Members: ntap_ny - Primary database ntap_la - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 3 seconds ago)
-
驗證 Data Guard Broker 管理架構內的資料庫狀態。
DGMGRL> show database db1_ny; Database - db1_ny Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): db1 Database Status: SUCCESS DGMGRL> show database db1_la; Database - db1_la Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 2.00 KByte/s Real Time Query: OFF Instance(s): db1 Database Status: SUCCESS DGMGRL>
發生故障時, Data Guard Broker 可用於立即將主要資料庫容錯移轉至待命。如果 `Fast-Start Failover`啟用, Data Guard Broker 可在偵測到故障時,在沒有使用者介入的情況下,將主要資料庫容錯移轉至待命。
透過自動化複製備用資料庫以用於其他使用案例
Details
下列自動化工具套件是專為建立或重新整理 Oracle Data Guard 待命 DB 的複本而設計,部署至使用 NFS/ASM 組態的 ANF ,以進行完整的複製生命週期管理。
git clone https://bitbucket.ngage.netapp.com/scm/ns-bb/na_oracle_clone_anf.git
|
此工具組目前只能由具有 BitBucket 存取權限的 NetApp 內部使用者存取。對於有興趣的外部使用者,請向您的客戶團隊申請存取權限,或聯絡 NetApp 解決方案工程團隊。 |
何處可找到其他資訊
若要深入瞭解本文件所述資訊、請參閱下列文件及 / 或網站:
-
TR-5002 :使用 Azure NetApp Files 降低 Oracle Active Data Guard 成本
-
TR-4974 :使用 NFS/ASM 在 AWS FS3/EC2 上獨立重新啟動 Oracle 19c
-
Azure NetApp Files
-
Oracle Data Guard 概念與管理