Data Guard 管理

本节重点介绍如何管理 Oracle Data Guard 配置和操作。它包括 dbaascli dataguard prepareStandbyBlob 等命令,用于生成用于设置备用站点的 blob 文件,以及 dbaascli dataguard updateDGConfigAttributes,用于在所有群集节点上更新 Data Guard 自动化属性。这些命令简化了 Data Guard 环境的设置和维护,以实现高可用性和灾难恢复。

dbaascli dataguard prepareStandbyBlob

要生成包含备用站点上所需的各种文件的 blob 文件(如果是 dataguard 环境),请使用 dbaascli dataguard prepareStandbyBlob 命令。

以 root 或 oracle 用户身份运行该命令。

语法:

dbaascli dataguard prepareStandbyBlob --dbname <value> --blobLocation <value>

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称
--blobLocation 指定在 Data Guard 环境中生成备用 blob 文件的定制目录位置

常见问题解答:

问:dbaascli dataguard prepareStandbyBlob 命令的用途是什么?

答案:dbaascli dataguard prepareStandbyBlob 命令用于生成 blob 文件,其中包含 Data Guard 环境中备用站点上所需的各种文件。

问:运行 dbaascli dataguard prepareStandbyBlob 命令的先决条件有哪些?

答:该命令应以 root 或 oracle 用户身份运行。

问:如何指定要为其准备备用 blob 的 Oracle AI Database 的名称?

答:使用 --dbname 选项,后跟 Oracle AI Database 的名称。例如:

--dbname myDatabase

问:如何指定将生成备用 blob 文件的位置?

答:使用 --blobLocation 选项指定将生成备用 blob 文件的定制目录路径。例如:

--blobLocation /path/to/standby_blob

问:– dbname 选项在命令中执行什么操作?

答:--dbname 选项指定要为其准备备用 blob 文件的 Oracle AI Database 的名称。

问:– blobLocation 选项的用途是什么?

答:--blobLocation 选项定义将在其中创建备用 blob 文件的定制目录路径。

问:我是否可以以 root 或 oracle 之外的用户身份运行 dbaascli dataguard prepareStandbyBlob 命令?

答:否,该命令必须以 root 或 oracle 用户身份运行。

问:是否可以对– blobLocation 选项使用相对路径?

答:建议使用 --blobLocation 选项的绝对路径来确保在所需的目录中创建备用 blob 文件。

问:如果要更改生成备用 blob 文件的位置,应执行什么操作?

答:修改 --blobLocation 选项以指定备用 blob 文件的新目录路径。

问:在生成备用 blob 文件后,是否需要执行任何其他步骤?

答:是的,在生成备用 blob 文件后,您需要将其传输到备用站点并将其用于 Data Guard 配置。

dbaascli dataguard updateDGConfigAttributes

要更新所有群集节点上的 Data Guard 自动化属性,请使用 dbaascli dataguard updateDGConfigAttributes 命令。

以 root 或 oracle 用户身份运行该命令。

语法:

dbaascli dataguard updateDGConfigAttributes --attributes <value>

参数:

参数 说明
--attributes 包含要修改的 Data Guard 自动化属性。接受 <attribute=value> 格式的逗号分隔值。必须在 Data Guard 配置文件中预定义属性。

常见问题解答:

问:dbaascli dataguard updateDGConfigAttributes 命令的用途是什么?

答:dbaascli dataguard updateDGConfigAttributes 命令用于在所有群集节点上更新 Data Guard 自动化属性。

问:运行 dbaascli dataguard updateDGConfigAttributes 命令的先决条件有哪些?

答:该命令必须以 root 或 oracle 用户身份运行。

Q:如何使用此命令指定要更新的属性?

答:使用 --attributes 选项,后跟要修改的属性。属性应采用逗号分隔的格式,例如 attribute=value。例如:

--attributes attribute1=value1,attribute2=value2

问:– attributes 选项值应采用什么格式?

答:--attributes 选项值应采用逗号分隔的格式,每个属性都指定为 attribute=value。

问:是否可以在– attributes 选项中指定多个属性?

答:是的,您可以通过使用逗号分隔多个属性。例如:

--attributes attribute1=value1,attribute2=value2

问:如果我提供 Data Guard 配置文件中未预定义的属性,会发生什么情况?

答:如果提供的属性不是预定义的,则该命令可能会失败或忽略无法识别的属性。确保在 Data Guard 配置文件中预定义了所有属性。

问:更新 Data Guard 自动化属性后,是否需要重新启动任何服务?

答:在大多数情况下,您不需要在更新属性后重新启动服务。但是,请检查特定属性及其影响,以确定是否需要重新启动。

问:如何验证 Data Guard 属性是否已成功更新?

答:运行该命令后,您可以通过检查 Data Guard 配置或使用特定于设置的相应验证命令/工具来验证更新的属性。

问:如果命令无法更新属性,我该怎么办?

答:查看错误消息,了解出错原因的详细信息。请确保您指定了有效的属性,并且这些属性已在 Data Guard 配置文件中预定义。验证用户权限和命令语法。

问:是否可以使用此命令仅更新特定节点的属性?

答案:否,dbaascli dataguard updateDGConfigAttributes 命令会更新所有群集节点的属性。如果需要更新特定节点的属性,则可能需要使用不同的方法或命令。

dbaascli dataguard 故障转移

要执行到备用数据库的手动故障转移,请使用 dataguard failover 命令。

以 oracle 用户身份在目标备用数据库上运行此命令。

语法:

dbaascli dataguard failover --dbname <value> [--useImmediateFailover] [--executePrereqs] [--waitForCompletion <value>] [--resume [--sessionID <value>]]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称。
--useImmediateFailover 当 Oracle Data Guard 配置处于警告或错误状态时,使用此标志。
--executePrereqs 运行先决条件检查并报告结果。
--waitForCompletion 指定是否等待操作完成。设置为 false 以在后台运行操作。有效值:true 或 false。
--resume 恢复上一个操作。
--sessionID 按 ID 恢复特定会话。

使用 dbaascli 实用程序执行手动故障转移操作

要执行到备用数据库的手动故障转移,请使用 dataguard failover 命令。

  1. 连接到 Oracle Data Guard 配置中的虚拟机,该虚拟机将以 opc 用户身份托管新的主数据库。

    有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。

  2. 启动 root-user 命令 shell,然后切换到 oracle 用户:

    $ sudo -s
    # su - oracle
    $
  3. 启动故障转移到备用数据库。

    $ dbaascli dataguard failover --dbname <db-name>
  4. 返回到 root 用户。

    $ exit
    #
  5. 退出 root-user 命令 shell 并断开与虚拟机的连接。

    # exit
    $ exit

dbaascli dataguard 恢复

要在故障转移后将发生故障的数据库恢复为备用数据库,请使用 dataguard reinstate 命令。

以需要恢复的 oracle 用户身份运行此命令(即失败的备用数据库)。

语法:

dbaascli dataguard reinstate --dbname <value> [--primaryDBUniqueName <value>] [--executePrereqs] [--waitForCompletion <value>] [--resume [--sessionID <value>]]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称。
--primaryDBUniqueName 指定 Oracle Data Guard 设置中当前主数据库的数据库唯一名称。
--executePrereqs 运行先决条件检查并报告结果。
--waitForCompletion 指定是否等待操作完成。设置为 false 以在后台运行操作。有效值:true 或 false。
--resume 恢复上一个操作。
--sessionID 按 ID 恢复特定会话。

要确定何时应在 Data Guard (DG) 配置中恢复成员,请执行以下操作:

监视以下 ORA 错误的 dgmgrl show database 输出:

这些消息指示发生了故障转移。要在 Data Guard 配置中恢复完全同步,必须恢复以前的主服务器。

使用 dbaascli 实用程序恢复失败的主数据库

要在故障转移后恢复发生故障的主数据库,请使用 dataguard reinstate 命令。

  1. 以 oracle 用户身份连接到 Oracle Data Guard 配置中的其中一个虚拟机。

    有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。

  2. 启动恢复失败的主数据库。

    $ dbaascli dataguard reinstate --dbname <db-name>

    在多备用设置(Data Guard 组)中,建议指定 --primaryDBUniqueName 参数。

    dbaascli dataguard reinstate --dbname <db-name> --primaryDBUniqueName <primary-DB-unique-name>
  3. 断开与虚拟机的连接。

    $ exit

dbaascli dataguard 切换

要执行到备用数据库的切换,请使用 dataguard switchover 命令。

以 oracle 用户身份运行此命令。

语法:

dbaascli dataguard switchover --dbname <value> [--targetStandbyDBUniqueName <value>] [--executePrereqs] [--enableDGDebug] [--waitForCompletion <value>] [--resume [--sessionID <value>]]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称。
--targetStandbyDBUniqueName 指定将角色从备用数据库更改为主数据库的备用数据库唯一名称。
--executePrereqs 运行先决条件检查并报告结果。
--enableDGDebug 在执行操作时,启用跟踪。
--waitForCompletion 指定是否等待操作完成。设置为 false 以在后台运行操作。有效值:true 或 false。
--resume 恢复上一个操作。
--sessionID 按 ID 恢复特定会话。

使用 dbaascli 实用程序执行切换操作

要执行到备用数据库的切换,请使用 dataguard switchover 命令。

  1. 连接到 Oracle Data Guard 配置中的虚拟机,该虚拟机将以 opc 用户身份托管新的主数据库。

    有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。

  2. 启动 root-user 命令 shell,然后切换到 oracle 用户。

    $ sudo -s
    # su - oracle
    $
  3. 启动切换到备用数据库。

    $ dbaascli dataguard switchover --dbname <db-name>

    在多备用设置(Data Guard 组)中,建议指定 --targetStandbyDBUniqueName 参数。

    dbaascli dataguard switchover --dbname <db-name> --targetStandbyDBUniqueName <target-standby-DB-unique-name>
  4. 返回到 root 用户。

    $ exit
    #
  5. 退出 root-user 命令 shell 并断开与虚拟机的连接。

    # exit
    $ exit

dbaascli dataguard prepareForStandby

要创建 Oracle 备用数据库,请使用 dbaascli dataguard prepareForStandby 命令作为第一步。

以 root 用户身份在主数据库上运行此命令。在命令运行结束时,将创建一个备用 BLOB 文件。必须将此文件复制到备用数据库系统才能继续执行 configureStandby 步骤。

注:对于 Oracle Base Database Cloud@Customer 上的灾难恢复 (Disaster Recovery,DR) 配置,您必须使用 Oracle Cloud Infrastructure (OCI) 控制台或 OCI SDK 来设置 Data Guard。此用例不支持 dbaascli 实用程序,因此不应使用。

语法:

dbaascli dataguard prepareForStandby --dbname <value> --standbyDBUniqueName <value>  --standbyDBDomain | --noDBDomain  --standbyScanIPAddresses <Standby SCAN IP Addresses> [ --standbyScanPort ] [ --standbyServiceName ] [  -- primaryScanIPAddresses ] [ --primaryScanPort ] [--executePrereqs] [--resume [--sessionID <value>]] [--revert [--sessionID <value>]] [--waitForCompletion] [--skipDRConfiguration]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称。
--standbyDBUniqueName 指定将为其配置主数据库的备用数据库的唯一名称。
--standbyDBDomain 指定将为其配置主数据库的备用数据库域。
--noDBDomain 指定不对备用数据库使用数据库域名。
--standbyScanIPAddresses 指定对应备用数据库 SCAN 监听程序或备用数据库的 SCAN 名称的一系列 IP 地址的逗号分隔列表。
--standbyScanPort 指定备用数据库的对应 SCAN 端口号。
--standbyServiceName 指定将针对其配置主数据库的备用数据库服务名称。
--primaryScanIPAddresses 指定对应主数据库 SCAN 监听程序或主数据库的 SCAN 名称的一系列 IP 地址,各个 IP 地址之间用逗号分隔。
--primaryScanPort 指定主数据库的对应 SCAN 端口号。
--executePrereqs 运行先决条件检查并报告结果。
--resume 恢复上一个操作。
--sessionID 按 ID 恢复特定会话。
--revert 回退上一个操作。
--waitForCompletion 指定是否等待操作完成。设置为 false 以在后台运行操作。有效值:true 或 false。
--skipDRConfiguration 指定是否在备用数据库设置过程中跳过灾难恢复 (Disaster Recovery,DR) 配置。有效值:true(跳过 DR 配置)或 false(配置 DR)。

使用 dbaascli 实用程序执行 PrepareForStandby 操作

要准备主数据库以创建新的备用数据库,请使用 dbaascli dataguard prepareForStandby 命令。

  1. 连接到要以 opc 用户身份托管主数据库的虚拟机。

    有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。

  2. 启动 root-user 命令 shell。

    $ sudo -s
  3. 运行 prepareForStandby 命令。出现提示时输入 SYS 口令。

    dbaascli dataguard prepareForStandby --dbName <db name> --standbyDBUniqueName <standby db unique name> --standbyDBDomain <standby db domain> --standbyScanIPAddresses  <comma-delimieted list of standby SCAN IP addresses> --primaryScanIPAddresses <comma-delimited list of primary SCAN IP addresses> --standbyScanPort <standby SCAN listener port>

    完成后,该命令将显示创建备用 BLOB 文件的位置。

  4. 退出 root-user 命令 shell 并断开与虚拟机的连接。

    #  exit

dbaascli dataguard configureStandby

要创建新的备用数据库,请使用 dbaascli dataguard configureStandby 命令作为 prepareForStandby 步骤之后的第二个步骤。

以 root 用户身份在备用群集上运行此操作。

语法:

dbaascli dataguard configureStandby --dbname <value>  --oracleHome <value> | --oracleHomeName <value> --standbyDBUniqueName <value> [--standbyDBDomain <value>] | [--noDBDomain] --primaryScanIPAddresses <value> --primaryScanPort <value> --primaryServiceName <value> --protectionMode <value> --transportType <value> --activeDG <value> [--standbyBlobFromPrimary <value>] | [--standbyDBInfoJsonLocation <value>] [--standbyScanIPAddresses <value>] [--standbyScanPort <value>] [--standbySID <value>] [--nodeList <value>] [--skipAWRConfiguration] [--primaryDBOCID <value>] [--sgaSizeInMB <value>] [--pgaSizeInMB <value>] [--datafileDestination <value>] [--fraDestination <value>] [--redoLogDestination <value>] [--fraSizeInMB <value>] [--tdeKeyStoreType <value> [--tdeKeyOCID <value>]] [--tdeKeyOCID <value>] [--executePrereqs]  [--resume [--sessionID <value>]] | [--revert [--sessionID <value>]] --waitForCompletion <value>] [--enableFIPS <value>] [--skipDRConfiguration] [--okvServer <value> --okvAdminUserName <value> [--okvServerRestPort <value>]] [--okvWalletName <value>]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称。
--oracleHome 指定 Oracle 主目录路径。
--oracleHomeName 指定 Oracle 主目录名称。
--standbyDBUniqueName 指定备用数据库的数据库唯一名称。
--standbyDBDomain 指定将为其配置主数据库的备用数据库域。
--noDBDomain 指定不对备用数据库使用数据库域名。
--primaryScanIPAddresses 指定对应主数据库 SCAN 监听程序或主数据库的 SCAN 名称的一系列 IP 地址,各个 IP 地址之间用逗号分隔。
--primaryScanPort 指定主数据库服务的对应 SCAN 端口号。
--primaryServiceName 指定将针对其配置备用数据库的主数据库服务名称。
--protectionMode 指定在配置备用数据库时要设置的 Data Guard 保护模式。有效值:MAX_PERFORMANCE 或 MAX_AVAILABILITY。
--transportType 指定在配置备用数据库时要设置的 Data Guard 传输类型。有效值:ASYNC 或 SYNC。
--activeDG 指定 Data Guard 配置是否将处于活动状态。有效值:true 或 false。
--standbyBlobFromPrimary 指定从主数据库准备的备用 BLOB 文件的位置。这仅对备用操作是必需的。
--standbyDBInfoJsonLocation 指定从主数据库生成的信息文件的位置,用于导出其他元数据。此选项仅对备用操作是必需的。
--standbyScanIPAddresses 指定对应备用数据库 SCAN 监听程序或备用数据库的 SCAN 名称的一系列 IP 地址的逗号分隔列表。
--standbyScanPort 指定备用数据库的对应 SCAN 端口号。
--standbySID 指定备用配置的备用数据库 SID 。
--nodeList 指定应运行备用数据库的节点列表,包括已运行或已配置的节点。
--skipAWRConfiguration 指定是否在备用数据库设置过程中跳过 Oracle AWR 配置。有效值:true(跳过 AWR 配置)或 false(配置 AWR)。
--primaryDBOCID 指定与主数据库对应的资源 OCID 值。
--sgaSizeInMB 指定 sga_target 值(以 MB 为单位)。
--pgaSizeInMB 指定 pga_aggregate_target 值(以 MB 为单位)。
--datafileDestination 指定要用于数据库数据文件的存储位置。
--fraDestination 指定要用于数据库快速恢复区的存储位置。
--redoLogDestination 指定要用于重做日志文件的存储位置。
--fraSizeInMB 指定快速恢复区大小值(以 MB 为单位)。
--tdeKeyStoreType 指定 TDE 密钥库类型。有效值:FILE、KMS、AZURE、GOOGLE、AWS 或 OKV
--tdeKeyOCID 指定要用于 TDE 的 KMS/AZURE/GOOGLE/AWS 密钥 OCID。仅当为 TDE 密钥库类型选择了 KMS/AZURE/GOOGLE/AWS 时才适用。
--executePrereqs 运行先决条件检查并报告结果。
--resume 恢复上一个操作。
--sessionID 按 ID 恢复特定会话。
--revert 回退上一个操作。
--waitForCompletion 指定是否等待操作完成。设置为 false 以在后台运行操作。有效值:true 或 false。
--enableFIPS 指定是否启用 FIPS。设置为 false 可禁用它。有效值:true 或 false。
--skipDRConfiguration 指定是否在备用数据库设置过程中跳过灾难恢复 (Disaster Recovery,DR) 配置。有效值:true(跳过 DR 配置)或 false(配置 DR)。
--okvServer 指定 Oracle Key Vault 服务器。多个 IP 地址的逗号分隔列表。
--okvAdminUserName 指定 Oracle Key Vault 管理员用户名。
--okvServerRestPort 指定 Oracle Key Vault 的 REST 端口号。
--okvWalletName 指定 Oracle Key Vault wallet 名称。

使用 dbaascli 实用程序执行 configureStandby 操作

要创建备用数据库,请使用 dbaascli dataguard configureStandby 命令。

  1. 连接到要以 opc 用户身份托管备用数据库的虚拟机。

    有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。

  2. 启动 root-user 命令 shell。

    $ sudo -s
  3. 运行 configureStandby 命令。

    dbaascli dataguard configureStandby --standbySID <standby SID> --activeDG <true|false> --dbName <db name> --standbyDBUniqueName <standby db unique name> --standbyScanName <comma-delimited list of standby SCAN IP addresses> --protectionMode <MAX_PERFORMANCE|MAX_AVAILABILITY> --standbyScanPort <standby SCAN port> --oracleHome <oracle home path> --standbyDBDomain <standby db domain name>. --primaryServiceName <primary db service name> --transportType <ASYNC|SYNC> --primaryScanPort <primary db SCAN port> --primaryScanIPAddresses <comma-delimited list primary db SCAN IP addresses> --standbyBlobFromPrimary <standby BLOB from primary>
  4. 出现提示时,输入主数据库 SYS、TDE 和 AWR 口令。

    成功完成命令后,备用数据库将启动并开始运行。

dbaascli dataguard registerStandby

要将新创建的备用数据库注册到所有现有备用数据库和主数据库,请使用 dbaascli dataguard registerStandby 命令作为 configureStandby 步骤之后的第三步。

以 root 用户身份在主群集上运行此命令。此外,在多备用设置中,对所有备用集群(新创建的备用数据库集群除外)运行该命令。

语法:

dbaascli dataguard registerStandby --dbname <value> --standbyDBUniqueName <value>  --standbyDBDomain <value> | --noDBDomain --standbyScanIPAddresses <value> [--standbyScanPort <value>] [--standbyServiceName <value>] [--executePrereqs] [--resume [--sessionID <value>]] | [--revert [--sessionID <value>]] [--waitForCompletion <value>]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称。
--standbyDBUniqueName 指定要在 Oracle Data Guard 中介配置中注册的备用数据库的数据库唯一名称。
--standbyDBDomain 指定将为其配置主数据库的备用数据库域。
--noDBDomain 指定不对备用数据库使用数据库域名。
--standbyScanIPAddresses 指定对应备用数据库 SCAN 监听程序或备用数据库的 SCAN 名称的一系列 IP 地址的逗号分隔列表。
--standbyScanPort 指定备用数据库的对应 SCAN 端口号。
--standbyServiceName 指定将针对其配置主数据库的备用数据库服务名称。
--executePrereqs 运行先决条件检查并报告结果。
--resume 恢复上一个操作。
--sessionID 按 ID 恢复特定会话。
--revert 回退上一个操作。
--waitForCompletion 指定是否等待操作完成。设置为 false 以在后台运行操作。有效值:true 或 false。

使用 dbaascli 实用程序执行 registerStandby 操作

要将指定的备用数据库注册到 Oracle Data Guard 中介配置,请使用 dbaascli dataguard registerStandby 命令。

对于单个备用用例,只能在主群集上运行 registerStandby 命令,因为主群集与备用群集之间存在一对一关联。

但是,在具有多个备用数据库的配置中,必须在主集群和所有现有备用集群上运行 registerStandby 命令(不包括要添加的新备用数据库)。

例如,请考虑具有两个备用数据库的设置:stdby1 和 stdby2 ,其中 stdby2 是要注册的新备用数据库。在这种情况下,请在主群集和 stdby1 上运行 registerStandby 命令,但不在 stdby2 上运行。

总之,将新备用数据库添加到现有 Oracle Data Guard 配置时,请在主集群和所有其他以前注册的备用集群上运行 registerStandby 命令,但要添加的新备用集群除外。

  1. 以 opc 用户身份连接到 Data Guard 配置的主群集。

    有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。

  2. 启动 root-user 命令 shell。

    $ sudo -s
  3. 运行 registerStandby 命令。

    dbaascli dataguard registerStandby --dbname <db-name> --standbyDBUniqueName <standby-DB-unique-name> --standbyDBDomain <standby-DB-domain>

    成功完成命令后,指定的备用数据库将注册到 Oracle Data Guard 中介配置中。

  4. 在 Oracle Data Guard Broker 配置中的所有现有备用群集上重复步骤 1 到步骤 3(在主群集上执行),但要注册的备用群集除外。

dbaascli dataguard deregisterStandby

在备用数据库删除期间,请先运行 dbaascli dataguard deregisterStandby 命令,然后再删除备用集群上的数据库,以从 Oracle Data Guard Broker 配置中注销备用数据库。

以 root 用户身份在主群集上运行此命令。但是,在多个备用数据库的上下文中,需要在除目标备用数据库之外的所有备用集群上执行此命令。

语法:

dbaascli dataguard deregisterStandby --dbname <value> --standbyDBUniqueName <value> [--executePrereqs] [--resume [--sessionID <value>]] [--waitForCompletion <value>]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称。
--standbyDBUniqueName 指定要从 Oracle Data Guard 中介配置注销的备用数据库的数据库唯一名称。
--executePrereqs 运行先决条件检查并报告结果。
--resume 恢复上一个操作。
--sessionID 按 ID 恢复特定会话。
--waitForCompletion 指定是否等待操作完成。设置为 false 以在后台运行操作。有效值:true 或 false。

使用 dbaascli 实用程序执行 deregisterStandby 操作

在备用数据库删除期间,请先运行 dbaascli dataguard deregisterStandby 命令,然后再删除备用集群上的数据库,以从 Oracle Data Guard Broker 配置中注销备用数据库。

对于单个备用用例,只能在主群集上运行 deregisterStandby 命令,因为主群集与备用群集之间存在一对一关联。

但是,在具有多个备用数据库的配置中,必须在主集群和所有现有备用集群上运行 deregisterStandby 命令,但不包括当前正在取消注册的备用数据库。

例如,请考虑具有两个备用数据库的设置:stdby1 和 stdby2 ,其中 stdby2 将取消注册。在这种情况下,请在主群集和 stdby1 上运行 deregisterStandby 命令,但不在 stdby2 上运行。

总之,从现有 Oracle Data Guard 配置中删除备用数据库时,请在所需备用集群上执行删除数据库操作之前,在主集群和所有其他现有备用集群上运行 deregisterStandby 命令。

  1. 以 opc 用户身份连接到 Oracle Data Guard 配置的主群集。

    有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。

  2. 启动 root-user 命令 shell。

    $ sudo -s
  3. 运行 deregisterStandby 命令。

    dbaascli dataguard deregisterStandby --dbname <db-name> --standbyDBUniqueName <standby-DB-unique-name>

    成功完成命令后,指定的备用数据库将从 Oracle Data Guard 中介配置中取消注册(删除)。

  4. 在 Oracle Data Guard Broker 配置中的所有现有备用群集上重复第 1 步到第 3 步(在主群集上执行),但正在注销的备用群集除外。

dbaascli dataguard configureAWR

要在 Active Data Guard 备用数据库上启用或禁用自动工作量资料档案库 (Automatic Workload Repository,AWR) 配置,请使用 dbaascli dataguard configureAWR 命令。

在要启用或禁用 AWR 配置的 Active Data Guard 备用群集上,以 root 用户身份运行此命令。如果在备用数据库添加过程中未配置 AWR,请使用此命令。

语法:

dbaascli dataguard configureAWR --dbname <value> { --action <value> | --enable | --disable } [--executePrereqs] [--resume [--sessionID <value>]]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称。
--action 指定是启用还是禁用 AWR。使用 --action enable 启用 AWR,使用 --action disable 禁用 AWR。为实现向后兼容,会保留 --action 参数。但是,建议使用 --enable 或 --disable,因为它们提供相同的功能,但更明确
--executePrereqs 运行先决条件检查并报告结果。
--resume 恢复上一个操作。
--sessionID 按 ID 恢复特定会话。

使用 dbaascli 实用程序执行 configureAWR 操作

要在 ADG 备用数据库上配置 AWR,请使用 dbaascli dataguard configureAWR 命令。

  1. 连接到以 opc 用户身份托管 ADG 备用数据库的虚拟机。

    有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。

  2. 启动 root-user 命令 shell。

    $ sudo -s
  3. 运行 configureAWR 命令。

    要启用 AWR,请运行:

    $ dbaascli dataguard configureAWR --dbname <db-name> --enable

    要禁用 AWR,请运行:

    $ dbaascli dataguard configureAWR --dbname <db-name> --disable
  4. 出现提示时,输入 SYS 和 AWR 口令。

    成功完成命令后,ADG 备用数据库将配置有 AWR

dbaascli dataguard updateConfiguration

要更新 Data Guard 环境的传输模式或保护模式或两个参数,请使用 dbaascli dataguard updateConfiguration 命令。

以 root 用户的身份运行此命令。

在主数据库上运行更新传输模式命令时,仅更新主数据库的传输模式。要更新备用数据库的传输模式,该命令必须在该备用数据库上单独运行。

相反,在主数据库上运行更新保护模式命令时,将更新主数据库和备用数据库的保护模式。还可以从备用端更新保护模式,在这种情况下,主数据库和备用数据库都会更新。

从主数据库更新传输或保护模式时,系统会检查主数据库和备用数据库上的当前模式,仅当满足所有必需条件时才继续更新。

语法:

dbaascli dataguard updateConfiguration --dbname <value> [--protectionMode <value>] [--transportType <value>] [--standbyDGType <value>] [--executePrereqs] [--resume [--sessionID <value>]] [--waitForCompletion <value>]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称。
--protectionMode 指定在配置备用数据库时要设置的 Data Guard 保护模式。有效值:MAX_PERFORMANCE 或 MAX_AVAILABILITY。
--transportType 指定在配置备用数据库时要设置的 Data Guard 传输类型。有效值:ASYNC 或 SYNC。
--standbyDGType 指定要设置的备用数据库 Data Guard 类型。有效值:ADG 或 DG。
--executePrereqs 运行先决条件检查并报告结果。
--resume 恢复上一个操作。
--sessionID 按 ID 恢复特定会话。
--waitForCompletion 指定是否等待操作完成。设置为 false 以在后台运行操作。有效值:true 或 false。

使用 dbaascli 实用程序执行 updateConfiguration 操作

要更新传输模式和保护模式或同时更新这两个参数,请使用 dbaascli dataguard updateConfiguration 命令。

  1. 连接到以 opc 用户身份托管 ADG 备用数据库的虚拟机。

    有关详细说明,请参见 Connecting to a Virtual Machine with SSH 。

  2. 启动 root-user 命令 shell。

    $ sudo -s
  3. 运行 updateConfiguration 命令。

    $ dbaascli dataguard updateConfiguration --dbname <db-name> --protectionMode MAX_PERFORMANCE|MAX_AVAILABILITY --transportType ASYNC|SYNC --standbyDGType ADG|DG.

    成功完成命令后,指定的 Data Guard 将配置为指定的传输模式或保护模式。