TR-5006:在Google Cloud NetApp Volumes上使用 Data Guard 实现高吞吐量 Oracle VLDB
Allen Cao、Niyaz Mohamed, NetApp
该解决方案提供了在Google Cloud NetApp Volumes (GCNV) 上使用 Google 云中的 Oracle Data Guard 配置高吞吐量 Oracle 超大型数据库 (VLDB) 的概述和详细信息。
目的
高吞吐量和任务关键型 Oracle VLDB 对后端数据库存储提出了很高的要求。为了满足服务水平协议 (SLA),数据库存储必须提供所需的容量和每秒高输入/输出操作数 (IOPS),同时保持亚毫秒级延迟性能。在具有共享存储资源环境的公共云中部署此类数据库工作负载时,这一点尤其具有挑战性。并非所有存储平台都是平等的。 GCNV 是 Google 提供的一项高级存储服务,可以支持 Google 云中需要持续 IOPS 和低延迟性能特征的关键任务 Oracle 数据库部署。该架构可适应 OLTP 和 OLAP 工作负载,并具有支持各种性能配置文件的可配置服务层。 GCNV 提供超快的性能和亚毫秒级的延迟,在混合读/写工作负载下实现每卷高达 4.5 GiBps 的吞吐量。
利用 GCNV 的快速快照备份(秒)和克隆(分钟)功能,可以从物理备用数据库动态克隆生产数据库的全尺寸副本,以满足许多其他用例(如 DEV、UAT 等)的需求。您可以摆脱 Active Data Guard 许可证以及低效而复杂的快照备用数据库。可以节省大量成本。对于在主 Oracle 和备用 Oracle 服务器上均配备 64 个核心 CPU 的典型 Oracle Data Guard 设置,根据最新的 Oracle 价格表,仅 Active Data Guard 许可成本节省就高达 1,472,000 美元。
在本文档中,我们演示了如何在具有多个 NFS 卷和 Oracle ASM 的 GCNVS 存储上设置具有 Data Guard 配置的 Oracle VLDB,以实现存储负载平衡。备用数据库卷可以通过快照快速备份并克隆以进行读/写访问。 NetApp解决方案工程团队提供了自动化工具包,以通过简化的生命周期管理来创建和刷新克隆。
此解决方案适用于以下用例:
-
在 Google 云区域的 GCNV 存储服务上的 Data Guard 设置中实现 Oracle VLDB。
-
快照备份并克隆物理备用数据库,以通过自动化服务于报告、开发、测试等用例。
受众
此解决方案适用于以下人群:
-
一位 DBA 在 Google 云中使用 Data Guard 设置 Oracle VLDB 以实现高可用性、数据保护和灾难恢复。
-
一位对 Google 云中带有 Data Guard 配置的 Oracle VLDB 感兴趣的数据库解决方案架构师。
-
管理支持 Oracle 数据库的 GCNV 存储的存储管理员。
-
喜欢在 Google 云环境中使用 Data Guard 建立 Oracle VLDB 的应用程序所有者。
解决方案测试和验证环境
该解决方案的测试和验证是在 Google 云实验室设置中进行的,可能与实际用户部署环境不匹配。有关更多信息,请参阅部署考虑的关键因素 。
架构
硬件和软件组件
硬件 |
||
Google Cloud NetApp Volumes |
Google 当前提供的服务 |
两个存储池、高级服务级别、自动 QoS |
用于数据库服务器的 Google Compute Engine 虚拟机 |
N1(4 个 vCPU,15 GiB 内存) |
四个 DB VM、主 DB 服务器、备用 DB 服务器、克隆 DB 服务器和 Data Guard 观察器。 |
软件 |
||
红帽Linux |
Red Hat Enterprise Linux 8.10(Ootpa)- x86/64 |
RHEL 市场图像,PAYG |
Oracle 网格基础设施 |
19.18 版 |
已应用RU补丁p34762026_190000_Linux-x86-64.zip |
Oracle 数据库 |
19.18 版 |
已应用RU补丁p34765931_190000_Linux-x86-64.zip |
dNFS一次性补丁 |
p32931941_190000_Linux-x86-64.zip |
适用于网格和数据库 |
Oracle OPatch |
版本 12.2.0.1.36 |
最新补丁 p6880880_190000_Linux-x86-64.zip |
Ansible |
版本核心 2.16.2 |
python版本-3.10.13 |
NFS |
3.0 版 |
为 Oracle 启用 dNFS |
Oracle VLDB Data Guard 配置,模拟纽约到洛杉矶的灾难恢复设置
数据库 |
数据库唯一名称 |
Oracle 网络服务名称 |
主云 |
NTAP_NY |
NTAP_NY.cvs-pm-主机-1p.内部 |
备用 |
NTAP_LA |
NTAP_LA.cvs-pm-主机-1p.内部 |
部署考虑的关键因素
-
* Google Cloud NetApp Volumes配置。* GCNV 在 Google 云中分配为
Storage Pools
。在这些测试和验证中,我们部署了一个 2 TiB 存储池来托管 East4 区域的 Oracle 主数据库,并部署了一个 4 TiB 存储池来托管 West4 区域的备用数据库和数据库克隆。 GCNV存储池有四个服务级别:Flex、Standard、Premium、Extreme。 ANF容量池的IO容量取决于容量池的大小及其服务等级。在创建容量池时,您可以设置存储池位置、服务级别、可用区域和存储池容量。对于 Oracle Data Guard 配置,区域可用性应该足够,因为 Data Guard 会因区域级别故障而提供数据库故障转移保护。 -
*调整数据库卷的大小。*对于生产部署, NetApp建议根据 Oracle AWR 报告对 Oracle 数据库吞吐量要求进行全面评估。在为 VLDB 数据库设计 GCNV 卷布局时,请考虑数据库大小、吞吐量要求和服务级别。建议仅使用 `Premium`或者 `Extreme`Oracle 数据库服务。带宽保证为每 TiB 卷容量 64 MiB/s,最高可达 4.5 GiBps `Premium`服务,每 TiB 卷容量 128 MiB/s,最高 4.5 GiBps `Extreme`服务。更高的吞吐量将需要更大的体积尺寸来满足要求。
-
*多个卷和负载平衡。*由于 QoS 是根据卷大小和存储池服务级别严格执行的,因此单个大卷可以提供与具有相同聚合卷大小的多个卷类似的性能级别。建议为 Oracle VLDB 实现多个卷(多个 NFS 挂载点),以更好地利用共享后端 GCNV 存储资源池,并满足超过 4.5 GiBps 的吞吐量要求。实现 Oracle ASM 以实现多个 NFS 卷上的 IO 负载平衡。
-
*Google Compute Engine VM 实例考虑。*在这些测试和验证中,我们使用了具有 4 个 vCPU 和 15 GiB 内存的 Compute Engine VM - N1。您需要为具有高吞吐量要求的 Oracle VLDB 选择适当的 Compute Engine DB VM 实例。除了 vCPU 数量和 RAM 数量之外,在达到数据库存储吞吐量之前,VM 网络带宽(入口和出口或 NIC 吞吐量限制)也可能成为瓶颈。
-
dNFS 配置。通过使用 dNFS,在具有 GCNV 存储的 Google Compute Engine VM 上运行的 Oracle 数据库可以比本机 NFS 客户端驱动更多的 I/O。确保应用 Oracle dNFS 补丁 p32931941 来解决潜在的错误。
解决方案部署
以下部分演示了在 Oracle Data Guard 设置中 GCNV 上的 Oracle VLDB 的配置,该设置位于东部地区 Google 云中使用 GCNV 存储的主 Oracle 数据库和西部地区 Google 云中使用 GCNV 存储的物理备用 Oracle 数据库之间。
部署先决条件
Details
部署需要以下先决条件。
-
已设置 Google 云帐户,并在您的 Google 帐户内创建项目以部署设置 Oracle Data Guard 的资源。
-
创建跨越 Data Guard 所需区域的 VPC 和子网。对于有弹性的 DR 设置,请考虑将主数据库和备用数据库放置在可以容忍本地区域发生重大灾难的不同地理位置。
-
从 Google 云门户控制台部署四个 Google 计算引擎 Linux VM 实例,一个作为主 Oracle DB 服务器,一个作为备用 Oracle DB 服务器,一个克隆目标 DB 服务器和一个 Oracle Data Guard 观察器。有关环境设置的更多详细信息,请参阅上一节中的架构图。按照 Google 文档操作"在 Compute Engine 中创建 Linux 虚拟机实例"以获得详细说明。
确保在 Azure VM 根卷中分配了至少 50G,以便有足够的空间来暂存 Oracle 安装文件。默认情况下,Google 计算引擎虚拟机在实例级别被锁定。为了实现虚拟机之间的通信,应该创建特定的防火墙规则来打开 TCP 端口流量,例如典型的 Oracle 端口 1521。 -
从 Google 云门户控制台部署两个 GCNV 存储池来托管 Oracle 数据库卷。参考文档"创建存储池快速入门"以获得分步说明。以下是一些屏幕截图,供快速参考。
-
在存储池中创建数据库卷。参考文档"创建卷快速入门"以获得分步说明。以下是一些屏幕截图,供快速参考。
-
主 Oracle 数据库应该已经在主 Oracle DB 服务器中安装并配置。另一方面,在备用 Oracle DB 服务器或克隆 Oracle DB 服务器中,仅安装了 Oracle 软件,而没有创建 Oracle 数据库。理想情况下,Oracle 文件目录布局应该与所有 Oracle DB 服务器完全匹配。有关使用 NFS/ASM 安装和配置 Oracle 网格基础架构和数据库的帮助,请参阅 TR-4974。虽然该解决方案在 AWS FSx/EC2 环境上得到了验证,但它同样可以应用于 Google GCNV/Compute Engine 环境。
Data Guard 的主要 Oracle VLDB 配置
Details
在本演示中,我们在主 DB 服务器上设置了一个名为 NTAP 的主 Oracle 数据库,该数据库具有八个 NFS 挂载点:/u01 用于 Oracle 二进制文件,/u02、/u03、/u04、/u05、/u06、/u07 用于 Oracle 数据文件,并使用 Oracle ASM 磁盘组 +DATA 进行负载平衡;/u08 用于 Oracle 活动日志、归档日志文件,并使用 Oracle ASM 磁盘组 +LOGS 进行负载平衡。 Oracle 控制文件放置在 +DATA 和 +LOGS 磁盘组上以实现冗余。此设置可作为参考配置。您的实际部署应该考虑到存储池大小、服务级别、数据库卷数量和每个卷的大小方面的特定需求和要求。
有关使用 ASM 在 NFS 上设置 Oracle Data Guard 的详细分步过程,请参阅 TR-5002 -"使用Azure NetApp Files降低 Oracle Active Data Guard 成本" 。虽然 TR-5002 中的程序是在 Azure ANF 环境上验证的,但它们同样适用于 Google GCNV 环境。
下面说明了 Google GCNV 环境中 Data Guard 配置中主 Oracle VLDB 的详细信息。
-
主计算引擎 DB 服务器中的主数据库 NTAP 作为单实例数据库在 GCNV 存储上的独立重启配置中部署,使用 NFS 协议和 ASM 作为数据库存储卷管理器。
orap.us-east4-a.c.cvs-pm-host-1p.internal: Zone: us-east-4a size: n1-standard-4 (4 vCPUs, 15 GB Memory) OS: Linux (redhat 8.10) pub_ip: 35.212.124.14 pri_ip: 10.70.11.5 [oracle@orap ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.2G 0 7.2G 0% /dev tmpfs 7.3G 0 7.3G 0% /dev/shm tmpfs 7.3G 8.5M 7.2G 1% /run tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup /dev/sda2 50G 40G 11G 80% / /dev/sda1 200M 5.9M 194M 3% /boot/efi 10.165.128.180:/orap-u05 250G 201G 50G 81% /u05 10.165.128.180:/orap-u08 400G 322G 79G 81% /u08 10.165.128.180:/orap-u04 250G 201G 50G 81% /u04 10.165.128.180:/orap-u07 250G 201G 50G 81% /u07 10.165.128.180:/orap-u02 250G 201G 50G 81% /u02 10.165.128.180:/orap-u06 250G 201G 50G 81% /u06 10.165.128.180:/orap-u01 100G 21G 80G 21% /u01 10.165.128.180:/orap-u03 250G 201G 50G 81% /u03 [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 用户身份登录主数据库服务器。验证电网配置。
$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 ONLINE ONLINE orap Open,HOME=/u01/app/o racle/product/19.0.0 /NTAP,STABLE -------------------------------------------------------------------------------- [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 1228800 1219888 0 1219888 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 327680 326556 0 326556 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/oradata/asm/orap_data_disk_05 /u03/oradata/asm/orap_data_disk_06 /u03/oradata/asm/orap_data_disk_07 /u03/oradata/asm/orap_data_disk_08 /u04/oradata/asm/orap_data_disk_09 /u04/oradata/asm/orap_data_disk_10 /u04/oradata/asm/orap_data_disk_11 /u04/oradata/asm/orap_data_disk_12 /u05/oradata/asm/orap_data_disk_13 /u05/oradata/asm/orap_data_disk_14 /u05/oradata/asm/orap_data_disk_15 /u05/oradata/asm/orap_data_disk_16 /u06/oradata/asm/orap_data_disk_17 /u06/oradata/asm/orap_data_disk_18 /u06/oradata/asm/orap_data_disk_19 /u06/oradata/asm/orap_data_disk_20 /u07/oradata/asm/orap_data_disk_21 /u07/oradata/asm/orap_data_disk_22 /u07/oradata/asm/orap_data_disk_23 /u07/oradata/asm/orap_data_disk_24 /u08/oralogs/asm/orap_logs_disk_01 /u08/oralogs/asm/orap_logs_disk_02 /u08/oralogs/asm/orap_logs_disk_03 /u08/oralogs/asm/orap_logs_disk_04 ASMCMD>
-
主数据库上 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.cvs-pm-host-1p.interna 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
-
主数据库配置。
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.1198026005 +DATA/NTAP/DATAFILE/sysaux.258.1198026051 +DATA/NTAP/DATAFILE/undotbs1.259.1198026075 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.266.1198027075 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.267.1198027075 +DATA/NTAP/DATAFILE/users.260.1198026077 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.268.1198027075 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/system.272.1198028157 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/sysaux.273.1198028157 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/undotbs1.271.1198028157 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/users.275.1198028185 NAME -------------------------------------------------------------------------------- +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/system.277.1198028187 +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/sysaux.278.1198028187 +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/undotbs1.276.1198028187 +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/users.280.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/system.282.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/sysaux.283.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/undotbs1.281.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/users.285.1198028229 19 rows selected. SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- +DATA/NTAP/ONLINELOG/group_3.264.1198026139 +LOGS/NTAP/ONLINELOG/group_3.259.1198026147 +DATA/NTAP/ONLINELOG/group_2.263.1198026137 +LOGS/NTAP/ONLINELOG/group_2.258.1198026145 +DATA/NTAP/ONLINELOG/group_1.262.1198026137 +LOGS/NTAP/ONLINELOG/group_1.257.1198026145 +DATA/NTAP/ONLINELOG/group_4.286.1198511423 +LOGS/NTAP/ONLINELOG/group_4.265.1198511425 +DATA/NTAP/ONLINELOG/group_5.287.1198511445 +LOGS/NTAP/ONLINELOG/group_5.266.1198511447 +DATA/NTAP/ONLINELOG/group_6.288.1198511459 MEMBER -------------------------------------------------------------------------------- +LOGS/NTAP/ONLINELOG/group_6.267.1198511461 +DATA/NTAP/ONLINELOG/group_7.289.1198511477 +LOGS/NTAP/ONLINELOG/group_7.268.1198511479 14 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP/CONTROLFILE/current.261.1198026135 +LOGS/NTAP/CONTROLFILE/current.256.1198026135
-
Oracle 监听器配置。
lsnrctl status listener
[oracle@orap admin]$ lsnrctl status LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 15-APR-2025 16:14:00 Copyright (c) 1991, 2022, 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 14-APR-2025 19:44:21 Uptime 0 days 20 hr. 29 min. 38 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/19.0.0/grid/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/orap/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=orap.us-east4-a.c.cvs-pm-host-1p.internal)(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_DATA" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "+ASM_LOGS" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "32639b76c9bc91a8e063050b460a2116.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "32639d40d02d925fe063050b460a60e3.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "32639e973af79299e063050b460afbad.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "86b637b62fdf7a65e053f706e80a27ca.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "NTAPXDB.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "NTAP_NY_DGMGRL.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status UNKNOWN, has 1 handler(s) for this service... Service "ntap.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "ntap_pdb1.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "ntap_pdb2.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "ntap_pdb3.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... The command completed successfully
-
主数据库已启用闪回。
SQL> select name, database_role, flashback_on from v$database; NAME DATABASE_ROLE FLASHBACK_ON --------- ---------------- ------------------ NTAP PRIMARY YES
-
主数据库上的 dNFS 配置。
SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.180 /orap-u04 10.165.128.180 /orap-u05 10.165.128.180 /orap-u07 SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.180 /orap-u03 10.165.128.180 /orap-u06 10.165.128.180 /orap-u02 SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.180 /orap-u08 10.165.128.180 /orap-u01 8 rows selected.
这样就完成了在 GCNV 主站点上使用 NFS/ASM 为 VLDB NTAP 设置 Data Guard 的演示。
针对 Data Guard 的备用 Oracle VLDB 配置
Details
Oracle Data Guard 需要操作系统内核配置和 Oracle 软件堆栈(包括备用数据库服务器上的补丁集)以与主数据库服务器匹配。为了便于管理和简单起见,备用数据库服务器的数据库存储配置理想情况下也应该与主数据库服务器匹配,例如数据库目录布局和 NFS 挂载点的大小。
再次强调,有关使用 ASM 在 NFS 上设置 Oracle Data Guard 备用服务器的详细分步过程,请参阅"TR-5002 - 使用Azure NetApp Files降低 Oracle Active Data Guard 成本"和"TR-4974 - 使用 NFS/ASM 在 AWS FSx/EC2 上独立重启 Oracle 19c"相关章节。下面说明了 Google GCNV 环境中 Data Guard 设置中备用数据库服务器上备用 Oracle VLDB 配置的详细信息。
-
演示实验室中备用站点的备用 Oracle DB 服务器配置。
oras.us-west4-a.c.cvs-pm-host-1p.internal: Zone: us-west4-a size: n1-standard-4 (4 vCPUs, 15 GB Memory) OS: Linux (redhat 8.10) pub_ip: 35.219.129.195 pri_ip: 10.70.14.16 [oracle@oras ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.2G 0 7.2G 0% /dev tmpfs 7.3G 1.1G 6.2G 16% /dev/shm tmpfs 7.3G 8.5M 7.2G 1% /run tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup /dev/sda2 50G 40G 11G 80% / /dev/sda1 200M 5.9M 194M 3% /boot/efi 10.165.128.197:/oras-u07 250G 201G 50G 81% /u07 10.165.128.197:/oras-u06 250G 201G 50G 81% /u06 10.165.128.197:/oras-u02 250G 201G 50G 81% /u02 10.165.128.196:/oras-u03 250G 201G 50G 81% /u03 10.165.128.196:/oras-u01 100G 20G 81G 20% /u01 10.165.128.197:/oras-u05 250G 201G 50G 81% /u05 10.165.128.197:/oras-u04 250G 201G 50G 81% /u04 10.165.128.197:/oras-u08 400G 317G 84G 80% /u08 [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
-
备用数据库服务器上的网格基础设施配置。
[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 磁盘组配置。
[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 1228800 1228420 0 1228420 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 322336 322204 0 322204 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/oradata/asm/oras_data_disk_05 /u03/oradata/asm/oras_data_disk_06 /u03/oradata/asm/oras_data_disk_07 /u03/oradata/asm/oras_data_disk_08 /u04/oradata/asm/oras_data_disk_09 /u04/oradata/asm/oras_data_disk_10 /u04/oradata/asm/oras_data_disk_11 /u04/oradata/asm/oras_data_disk_12 /u05/oradata/asm/oras_data_disk_13 /u05/oradata/asm/oras_data_disk_14 /u05/oradata/asm/oras_data_disk_15 /u05/oradata/asm/oras_data_disk_16 /u06/oradata/asm/oras_data_disk_17 /u06/oradata/asm/oras_data_disk_18 /u06/oradata/asm/oras_data_disk_19 /u06/oradata/asm/oras_data_disk_20 /u07/oradata/asm/oras_data_disk_21 /u07/oradata/asm/oras_data_disk_22 /u07/oradata/asm/oras_data_disk_23 /u07/oradata/asm/oras_data_disk_24 /u08/oralogs/asm/oras_logs_disk_01 /u08/oralogs/asm/oras_logs_disk_02 /u08/oralogs/asm/oras_logs_disk_03 /u08/oralogs/asm/oras_logs_disk_04 ASMCMD>
-
备用数据库上的 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.cvs-pm-host-1p.interna l 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
-
备用数据库配置。
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.1198520347 +DATA/NTAP_LA/DATAFILE/sysaux.262.1198520373 +DATA/NTAP_LA/DATAFILE/undotbs1.263.1198520399 +DATA/NTAP_LA/32635CC1DCF58A60E063050B460AB746/DATAFILE/system.264.1198520417 +DATA/NTAP_LA/32635CC1DCF58A60E063050B460AB746/DATAFILE/sysaux.265.1198520435 +DATA/NTAP_LA/DATAFILE/users.266.1198520451 +DATA/NTAP_LA/32635CC1DCF58A60E063050B460AB746/DATAFILE/undotbs1.267.1198520455 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/system.268.1198520471 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/sysaux.269.1198520489 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/undotbs1.270.1198520505 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/users.271.1198520513 NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/system.272.1198520517 +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/sysaux.273.1198520533 +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/undotbs1.274.1198520551 +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/users.275.1198520559 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/system.276.1198520563 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/sysaux.277.1198520579 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/undotbs1.278.1198520595 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/users.279.1198520605 19 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/CONTROLFILE/current.260.1198520303 +LOGS/NTAP_LA/CONTROLFILE/current.257.1198520305 SQL> select group#, type, member from v$logfile order by 2, 1; GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------------ 1 ONLINE +DATA/NTAP_LA/ONLINELOG/group_1.280.1198520649 1 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_1.259.1198520651 2 ONLINE +DATA/NTAP_LA/ONLINELOG/group_2.281.1198520659 2 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_2.258.1198520661 3 ONLINE +DATA/NTAP_LA/ONLINELOG/group_3.282.1198520669 3 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_3.260.1198520671 4 STANDBY +DATA/NTAP_LA/ONLINELOG/group_4.283.1198520677 4 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_4.261.1198520679 5 STANDBY +DATA/NTAP_LA/ONLINELOG/group_5.284.1198520687 5 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_5.262.1198520689 6 STANDBY +DATA/NTAP_LA/ONLINELOG/group_6.285.1198520697 GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------------ 6 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_6.263.1198520699 7 STANDBY +DATA/NTAP_LA/ONLINELOG/group_7.286.1198520707 7 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_7.264.1198520709 14 rows selected.
-
验证备用数据库恢复状态。注意 `recovery logmerger`在 `APPLYING_LOG`行动。
SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS; ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ post role transition 0 0 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE recovery logmerger 1 24 APPLYING_LOG managed recovery 0 0 IDLE RFS ping 1 24 IDLE archive redo 0 0 IDLE archive redo 0 0 IDLE gap manager 0 0 IDLE ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ archive local 0 0 IDLE redo transport timer 0 0 IDLE archive redo 0 0 IDLE RFS async 1 24 IDLE redo transport monitor 0 0 IDLE log writer 0 0 IDLE 17 rows selected.
-
备用数据库已启用闪回。
SQL> select name, database_role, flashback_on from v$database; NAME DATABASE_ROLE FLASHBACK_ON --------- ---------------- ------------------ NTAP PHYSICAL STANDBY YES
-
备用数据库上的 dNFS 配置。
SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.197 /oras-u04 10.165.128.197 /oras-u05 10.165.128.197 /oras-u06 10.165.128.197 /oras-u07 10.165.128.197 /oras-u02 10.165.128.197 /oras-u08 10.165.128.196 /oras-u03 10.165.128.196 /oras-u01 8 rows selected.
这样就完成了 VLDB NTAP 的 Data Guard 设置演示,并在备用站点启用了托管备用恢复。
使用观察者设置 Data Guard Broker 和 FSFO
设置 Data Guard Broker
Details
Oracle Data Guard 代理是一个分布式管理框架,可自动并集中执行 Oracle Data Guard 配置的创建、维护和监控。以下部分演示如何设置 Data Guard Broker 来管理 Data Guard 环境。
-
通过 sqlplus 使用以下命令在主数据库和备用数据库上启动数据保护代理。
alter system set dg_broker_start=true scope=both;
-
从主数据库,以 SYSDBA 身份连接到 Data Guard Borker。
[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 ntap_ny; Database - ntap_ny Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): NTAP Database Status: SUCCESS DGMGRL> show database ntap_la; Database - ntap_la Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Average Apply Rate: 3.00 KByte/s Real Time Query: OFF Instance(s): NTAP Database Status: SUCCESS DGMGRL>
如果发生故障,可以使用 Data Guard Broker 立即将主数据库故障转移到备用数据库。如果 `Fast-Start Failover`启用后,当检测到故障时,Data Guard Broker 可以将主数据库故障转移到备用数据库,而无需用户干预。
使用观察者配置 FSFO
Details
或者,可以为 Data Guard Broker 启用快速启动故障转移 (FSFO),以便在发生故障时自动将主数据库故障转移到备用数据库。以下是使用观察者实例设置 FSFO 的步骤。
-
创建一个轻量级的 Google 计算引擎实例,以在与主数据库服务器或备用数据库服务器不同的区域运行 Observer。在测试用例中,我们使用了具有 2 个 vCPU、7.5G 内存的 N1 实例。在主机上安装相同版本的 Oracle。
-
以 oracle 用户身份登录并在 oracle 用户 .bash_profile 中设置 oracle 环境。
vi ~/.bash_profile
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export ORACLE_HOME=/u01/app/oracle/product/19.0.0/NTAP export PATH=$ORACLE_HOME/bin:$PATH
-
将主数据库和备用数据库 TNS 名称条目添加到 tnsname.ora 文件。
vi $ORACLE_HOME/network/admin/tsnames.ora
NTAP_NY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orap.us-east4-a.c.cvs-pm-host-1p.internal)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = NTAP_NY.cvs-pm-host-1p.internal) (UR=A) ) ) NTAP_LA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oras.us-west4-a.c.cvs-pm-host-1p.internal)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = NTAP_LA.cvs-pm-host-1p.internal) (UR=A) ) )
-
创建并使用密码初始化钱包。
mkdir -p /u01/app/oracle/admin/NTAP/wallet
mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -create
[oracle@orao NTAP]$ mkdir -p /u01/app/oracle/admin/NTAP/wallet [oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -create Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Enter password: Enter password again: [oracle@orao NTAP]$
-
为主数据库和备数据库的用户 sys 启用无密码认证。首先输入系统密码,然后输入上一步的钱包密码。
mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -createCredential NTAP_NY sys
mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -createCredential NTAP_LA sys
[oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -createCredential NTAP_NY sys Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Your secret/Password is missing in the command line Enter your secret/Password: Re-enter your secret/Password: Enter wallet password: [oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -createCredential NTAP_LA sys Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Your secret/Password is missing in the command line Enter your secret/Password: Re-enter your secret/Password: Enter wallet password: [oracle@orao NTAP]$
-
使用钱包位置更新 sqlnet.ora。
vi $ORACLE_HOME/network/admin/sqlnet.ora
WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /u01/app/oracle/admin/NTAP/wallet)) ) SQLNET.WALLET_OVERRIDE = TRUE
-
验证凭证。
mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -listCredential
sqlplus /@NTAP_LA as sysdba
sqlplus /@NTAP_NY as sysdba
[oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -listCredential Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Enter wallet password: List credential (index: connect_string username) 2: NTAP_LA sys 1: NTAP_NY sys
-
配置并启用快速启动故障转移。
mkdir /u01/app/oracle/admin/NTAP/fsfo
dgmgrl
Welcome to DGMGRL, type "help" for information. DGMGRL> connect /@NTAP_NY Connected to "ntap_ny" Connected as SYSDBA. DGMGRL> show configuration; Configuration - dg_config Protection Mode: MaxAvailability Members: ntap_ny - Primary database ntap_la - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 58 seconds ago) DGMGRL> enable fast_start failover; Enabled in Zero Data Loss Mode. DGMGRL> show configuration; Configuration - dg_config Protection Mode: MaxAvailability Members: ntap_ny - Primary database Warning: ORA-16819: fast-start failover observer not started ntap_la - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 43 seconds ago)
-
启动并验证观察者。
nohup dgmgrl /@NTAP_NY "start observer file='/u01/app/oracle/admin/NTAP/fsfo/fsfo.dat'" >> /u01/app/oracle/admin/NTAP/fsfo/dgmgrl.log &
[oracle@orao NTAP]$ nohup dgmgrl /@NTAP_NY "start observer file='/u01/app/oracle/admin/NTAP/fsfo/fsfo.dat'" >> /u01/app/oracle/admin/NTAP/fsfo/dgmgrl.log & [1] 94957 [oracle@orao fsfo]$ dgmgrl DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Apr 16 21:12:09 2025 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. DGMGRL> connect /@NTAP_NY Connected to "ntap_ny" Connected as SYSDBA. DGMGRL> show configuration verbose; Configuration - dg_config Protection Mode: MaxAvailability Members: ntap_ny - Primary database ntap_la - (*) Physical standby database (*) Fast-Start Failover target Properties: FastStartFailoverThreshold = '30' OperationTimeout = '30' TraceLevel = 'USER' FastStartFailoverLagLimit = '30' CommunicationTimeout = '180' ObserverReconnect = '0' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' ObserverOverride = 'FALSE' ExternalDestination1 = '' ExternalDestination2 = '' PrimaryLostWriteAction = 'CONTINUE' ConfigurationWideServiceName = 'ntap_CFG' Fast-Start Failover: Enabled in Zero Data Loss Mode Lag Limit: 30 seconds (not in use) Threshold: 30 seconds Active Target: ntap_la Potential Targets: "ntap_la" ntap_la valid Observer: orao Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configuration Status: SUCCESS DGMGRL>
|
为了实现零数据丢失,需要将 Oracle Data Guard 保护模式设置为 MaxAvailability`或者 `MaxProtection`模式。默认保护模式 `MaxPerformance`可以通过编辑 Data Guard 配置并更改来从 Data Guard Broker 界面进行更改 `LogXptMode`从异步到同步。 Oracle 归档日志目标日志模式需要相应更改。当根据需要为 Data Guard 启用实时日志应用程序时 `MaxAvailability ,避免自动重启数据库,因为自动重启数据库可能会无意中打开备用数据库 `READ ONLY WITH APPLY`模式,该模式需要 Active Data Guard 许可证。相反,手动启动数据库以确保它保持 `MOUNT`实时管理恢复的状态。
|
通过自动化克隆其他用例的备用数据库
Details
以下自动化工具包专门用于创建或刷新部署到 GCNV 的 Oracle Data Guard 备用数据库的克隆,并使用 NFS/ASM 配置实现完整的克隆生命周期管理。
https://bitbucket.ngage.netapp.com/projects/NS-BB/repos/na_oracle_clone_gcnv/browse
|
目前,只有具有 bitbucket 访问权限的NetApp内部用户才能访问该工具包。对于感兴趣的外部用户,请向您的客户团队请求访问权限或联系NetApp解决方案工程团队。参考"使用 ASM 在 GCNV 上实现 Oracle 克隆生命周期自动化"了解使用说明。 |
在哪里可以找到更多信息
要了解有关本文档中描述的信息的更多信息,请查看以下文档和/或网站:
-
TR-5002:使用Azure NetApp Files降低 Oracle Active Data Guard 成本
-
TR-4974:在 AWS FSx/EC2 上使用 NFS/ASM 进行独立重启时 Oracle 19c
-
NetApp 在 Google Cloud 上提供一流的文件存储服务
-
Oracle Data Guard 概念和管理