网格基础结构管理

本节重点介绍如何管理支持群集和高可用性的 Oracle Grid Infrastructure。主要任务包括配置网格基础结构主目录 (dbaascli gridHome create)、升级网格基础结构 (dbaascli grid upgrade) 以及通过配置 (dbaascli grid configureTCPS)、删除 (dbaascli grid removeTCPSCert) 或轮换 TCPS(传输层安全)证书 (dbaascli grid rotateTCPSCert) 来管理 TCPS(传输层安全)证书。这些命令可确保有效地设置、维护和保障网格基础结构的安全。

dbaascli gridHome 创建

要配置网格基础结构主目录,请使用 dbaascli gridHome create 命令。

先决条件:

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

语法:

dbaascli gridHome create --version value [--resume [--sessionID value]] [--waitForCompletion value]

参数:

参数 说明
--version 指定网格主目录版本
--resume 恢复上一个运行
--sessionID 指定以恢复特定的会话 ID
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false

常见问题解答:

问:dbaascli gridHome create 命令的用途是什么?

答案:dbaascli gridHome create 命令用于在 Oracle Base Database Cloud@Customer 环境中为 Oracle Grid 基础结构配置网格基础结构主目录。

问:运行 dbaascli gridHome create 命令的先决条件是什么?

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

问:如何指定要创建的网格基础结构主目录的版本?

答:使用 --version 选项指定网格主目录版本。这是创建网格主目录时的必需选项。

问:我是否可以恢复以前的 dbaascli gridHome 创建会话?

答:是的,可以使用 --resume 选项恢复上一个会话。(可选)可以使用 --sessionID 选项指定会话 ID 以恢复特定会话。

问:在 dbaascli gridHome create 命令中,– resume 选项执行什么操作?

答:使用 --resume 选项可以恢复以前中断或不完整的操作。

问:如何在后台运行该操作?

答:可以将 --waitForCompletion 选项设置为 false 以在后台运行该操作。此选项的有效值是 true(默认值)或 false。

问:如果未指定– waitForCompletion,则缺省行为是什么?

答:如果未指定 --waitForCompletion,该操作将在前台运行,该命令将等待该操作完成,然后再将控制权返回给用户。

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

答:如果操作不完整或中断,--sessionID 选项用于指定要恢复的上一会话的 ID。

问:是否可以使用 dbaascli gridHome create 命令升级现有网格主目录?

答:不可以,此命令专门用于配置新的网格基础结构主目录,而不是用于升级现有主目录。

问:使用 19.9.0.0.0 版创建网格主目录的示例命令是什么?

A:下面是一个示例命令:

dbaascli gridHome create --version 19.9.0.0.0

问:如果 dbaascli gridHome create 命令被中断,我该怎么办?

答:可以使用 --resume 选项恢复操作。如果您有会话 ID,则可以使用 --sessionID 选项提供该 ID 以恢复特定会话。

问:是否可以指定不带会话 ID 的– resume 选项?

答:是的,可以使用 --resume 选项而不指定会话 ID。在这种情况下,系统将尝试恢复最近的期次。

问:如果指定– waitForCompletion false,会发生什么情况?

答:如果指定 --waitForCompletion false,该操作将在后台运行,允许您在操作完成时继续使用命令行。

问:是否可以跟踪后台操作的进度?

答:dbaascli 命令不提供跟踪后台操作的直接方法。您可能需要手动查看系统日志或会话状态。

问:创建网格主目录时是否可以指定无效的网格主目录版本?

答案:否,--version 选项必须包含有效的网格基础结构版本。如果提供的版本无效,该命令将返回错误。

问:如何确定要用于创建的网格主目录版本?

答:您可以参考 Oracle 文档,也可以咨询数据库管理员来确定要用于环境的正确网格主目录版本。

问:在运行 dbaascli gridHome create 命令之前,我应验证什么?

答:请确保您以 root 用户身份登录,并且要用于网格基础结构的版本与您的环境兼容。

dbaascli 网格 configureTCPS

要为现有群集配置 TCPS,请使用 dbaascli grid configureTCPS 命令。

先决条件:

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

语法:

dbaascli grid configureTCPS
[--pkcs12WalletFilePath]
[--caCertChain]
[--precheckOnly]
[--serverCert]
[--privateKey]
[--certType]
[--privateKeyPasswordProtected]

参数:

参数 说明
--pkcs12WalletFilePath 指定证书文件的绝对路径,该文件采用 pkcs12 wallet 格式
--caCertChain 级连证书列表,包含中间 CA 证书和根 CA 证书
--precheckOnly 指定 yes 以仅运行此操作的预检查。有效值:yes 或 no。
--serverCert 指定要为 TCPS 配置使用或滚动的 PEM 证书的路径。
--privateKey 指定证书的私钥文件的路径。
--certType 要添加到网格基础结构 wallet 的证书类型。接受的值为:SELF_SIGNED_CERT、CA_SIGNED_CERT 或 PKCS12_CERT。默认值:SELF_SIGNED_CERT
--privateKeyPasswordProtected 指定私钥是否受密码保护。有效值:true 或 false。默认值:true。

Oracle Base Database Cloud@Customer 的 TCPS 配置:

TCPS 行为因 Oracle Base Database Cloud@Customer 部署类型而异:

对于 Oracle Database 19c 及更高版本,默认情况下会为新预配的数据库启用 TCPS。在引入此行为之前预配的现有数据库可能未启用 TCPS。

要为现有数据库启用 TCPS,请在所有数据库节点上更新特定于数据库的 sqlnet.ora 文件,方法是添加 WALLET_LOCATION 参数,如下所示:

WALLET_LOCATION = (SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/grid/tcps_wallets)))

在所有数据库节点上更新 sqlnet.ora 文件后,重新启动数据库以启用 TCPS。

如果数据库未配置为使用 WALLET_ROOT 参数,则启用 TCPS 可能会影响 Oracle Zero Data Loss Recovery Appliance (ZDLRA) 连接。在启用 TCPS 之前,确认满足以下前提条件:

  1. 数据库正在运行 Oracle Database 发行版更新 19.17 或更高版本。

  2. 数据库配置为使用 WALLET_ROOT 参数。

  3. 如果为数据库配置了 ZDLRA 备份,请验证 RMAN 通道配置是否在 WALLET_ROOT/server_seps 下引用了 RA_WALLET。

例如:

  1. 连接到 RMAN。

  2. 运行以下命令:

    SHOW CHANNEL;
  3. 验证输出中是否包含类似于以下内容的 RA_WALLET 项:

    CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' FORMAT '%d_%I_%U_%T_%t' PARMS "SBT_LIBRARY=/u02/app/oracle/product/19.0.0.0/dbhome_1/lib/libra.so, ENV=(RA_WALLET='location=file:/var/opt/oracle/dbaas_acfs/dbrs19c/wallet_root/server_seps credential_alias=DBRS')";

    在此示例中,RA_WALLET 位置指向与 TCPS 兼容的 WALLET_ROOT/server_seps。

常见问题解答:

问:dbaascli grid configureTCPS 命令的用途是什么?

答案:dbaascli grid configureTCPS 命令用于为 Oracle Base Database Cloud@Customer 环境中的现有集群配置传输层安全性 (Transport Layer Security,TCPS)。

问:运行 dbaascli grid configureTCPS 命令的先决条件是什么?

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

问题:Oracle Base Database Cloud@Customer 系统是否默认启用 TCPS?

答案:否。Oracle Base Database Cloud@Customer 系统默认情况下未启用 TCPS。要启用 TCPS,需要更新特定数据库的 sqlnet.ora 文件并重新启动数据库。

问:在 Oracle Base Database Cloud@Customer 系统上启用 TCPS 会产生什么后果?

答:在 Oracle Base Database Cloud@Customer 系统上启用 TCPS 将导致 Zero Data Loss Recovery Appliance (ZDLRA) 连接失败。只能启用 ZDLRA 或 TCPS 配置,但不能同时启用两者。

问:– pkcs12WalletFilePath 选项指定了什么?

答:--pkcs12WalletFilePath 选项以 PKCS12 wallet 格式指定证书文件的绝对路径,该文件用于 TCPS 配置。

问:– caCertChain 选项用于什么?

答:--caCertChain 选项指定包含中间 CA 证书和根 CA 证书的串联证书列表。

问:– precheckOnly 选项的作用是什么?

答:--precheckOnly 选项指定是否仅为 TCPS 配置操作运行预检查。接受的值为 yes 或 no。

问:– serverCert 选项指定了什么?

答:--serverCert 选项指定将用于或轮换用于 TCPS 配置的 PEM 证书的路径。

问:如何为 TCPS 配置指定私钥?

答:使用 --privateKey 选项指定与服务器证书关联的私钥文件的路径。

问:– certType 选项可接受哪些值?

答:--certType 选项的接受值为:

默认值为 SELF_SIGNED_CERT。

问:私钥密码是否默认受到保护?

答:是,缺省情况下,--privateKeyPasswordProtected 选项设置为 true,表示私钥受密码保护。如果私钥未受密码保护,则可以将其设置为 false。

问:是否可以在配置 TCPS 之前运行预检查?

答:是的,您可以通过将 --precheckOnly 选项设置为 yes 来仅运行操作的预检查。这有助于在进行更改之前验证环境。

问:如果我为 PKCS12 wallet 文件提供了错误的路径,会发生什么情况?

答:如果 --pkcs12WalletFilePath 包含错误的路径,该命令将失败,并且 TCPS 配置不会继续。

问:如果私钥受到密码保护,我该怎么办?

答:如果私钥受密码保护,请确保将 --privateKeyPasswordProtected 选项设置为 true(默认值)。

Q:是否可以为 TCPS 配置指定我自己的 CA 签名证书?

答:是的,您可以使用 --serverCert 和 --privateKey 选项以及将 --certType 设置为 CA_SIGNED_CERT 来指定您自己的 CA 签名证书。

问:使用自签名证书配置 TCPS 的示例命令是什么?

答:下面是一个示例:

dbaascli grid configureTCPS --serverCert /path/to/self_signed_cert.pem --privateKey /path/to/private_key.pem --certType SELF_SIGNED_CERT

问:我是否可以使用 PKCS12 证书进行 TCPS 配置?

答:是的,可以通过指定 --pkcs12WalletFilePath 选项并将 --certType 设置为 PKCS12_CERT 来使用 PKCS12 证书。

问:在运行 dbaascli grid configureTCPS 命令之前,我应验证什么?

答:请验证您是否具有有效的证书文件、私钥文件,以及您是否以 root 用户身份登录。此外,请确保您了解使用 ZDLRA 时的含义,因为它无法与 TCPS 同时运行。

示例:dbaascli grid configureTCPS

要使用自签名证书配置网格,请执行以下操作:

dbaascli grid configureTCPS

要使用 CA 签名证书配置网格,请执行以下操作:

dbaascli grid configureTCPS --cert_type CA_SIGNED_CERT --server_cert /tmp/certs/server_cert.pem --ca_cert_chain /tmp/certs/ca.pem --private_key /tmp/certs/encrypted_private.key --private_key_password_protected false

dbaascli 网格 removeTCPSCert

要从网格基础结构 wallet 中删除现有 TCPS 证书,请使用 dbaascli grid removeTCPSCert 命令。

先决条件:

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

语法:

dbaascli grid removeTCPSCert --subject <value>
 {
   --userCert | --trustedCert | --requestedCert
 }
 [--serialNumber <value>] [--executePrereqs] [--resume [--sessionID <value>]] [--bounceListeners]

参数:

参数 说明
--subject 指定证书的主体
--userCert 用于指示用户证书的标志
--trustedCert 用于指示可信证书的标志
--requestedCert 用于指示请求的证书的标志
--serialNumber 指定证书的序列号
--executePrereqs 运行先决条件检查并报告结果
--resume 恢复上一个运行
--sessionID 指定以恢复特定的会话 ID
--bounceListeners 用于退回网格基础结构监听程序和扫描监听程序的标志

常见问题解答:

问:dbaascli grid removeTCPSCert 命令的用途是什么?

答:dbaascli grid removeTCPSCert 命令用于从 Oracle Base Database Cloud@Customer 环境中的网格基础结构 wallet 中删除现有 TCPS 证书。

问:运行 dbaascli grid removeTCPSCert 命令的先决条件是什么?

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

问:在 dbaascli grid removeTCPSCert 命令中,– subject 选项指定什么?

答:--subject 选项指定要从网格基础结构 wallet 中删除的证书的主题。

问:– userCert 标志的用途是什么?

答:--userCert 标志指示要删除的证书是用户证书。

问:何时应使用– trustedCert 标志?

答:从网格基础结构 wallet 中删除可信证书时使用 --trustedCert 标志。

问:– requestedCert 标志的作用是什么?

答:--requestedCert 标志指示要删除的证书是请求的证书。

问:– serialNumber 选项指定了什么?

答:--serialNumber 选项指定要删除的证书的序列号。当存在具有相同主题的多个证书时,用于唯一标识证书非常有用。

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

答:--executePrereqs 选项在删除证书并报告结果之前运行先决条件检查,以确保为操作正确准备了环境。

Q:使用– resume 选项可以做什么?

答:如果删除操作以前被中断,则 --resume 选项将恢复该操作。

问:如何在恢复中断的操作时指定会话 ID?

答:使用 --sessionID 选项指定要恢复的中断操作的会话 ID。

问:– bounceListeners 标志的作用是什么?

答案:在删除 TCPS 证书后,使用 --bounceListeners 标志重新启动网格基础结构监听程序并扫描监听程序。

问:我是否可以在不退回监听程序的情况下删除 TCPS 证书?

答:是,--bounceListeners 标志是可选的。如果不指定,则不会自动退回监听程序。

问:如何确保操作的安全运行?

答:您可以在运行命令之前使用 --executePrereqs 选项执行先决条件检查,确保在删除过程之前所有内容都按顺序排列。

问:如果我需要按序列号删除特定用户证书,该怎么办?

答:使用 --subject 选项指定证书的主题,使用 --userCert 标志指示它是用户证书,使用 --serialNumber 选项指定证书的序列号。

问:我可以同时删除多个证书吗?

答:不,该命令设计为根据提供的主题和其他参数一次删除单个证书。

问:如果证书删除过程中断,会发生什么情况?

答:您可以使用 --resume 选项和中断进程的 --sessionID 恢复操作。

问:我是否需要以 root 用户身份运行该命令?

答:是,必须以 root 用户身份运行 dbaascli grid removeTCPSCert 命令,才能具有删除 TCPS 证书所需的特权。

问:我如何识别要删除的证书?

答:您可以按证书的主题识别证书,也可以选择按证书的序列号来确保您针对正确的证书进行移除。

问:删除可信证书的示例命令是什么?

答:下面是一个示例:

dbaascli grid removeTCPSCert --subject "CN=example_cert" --trustedCert

dbaascli 网格 rotateTCPSCert

要轮换 TCPS 证书,请使用 dbaascli grid rotateTCPSCert 命令。

先决条件:

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

语法:

dbaascli grid rotateTCPSCert
[--pkcs12WalletFilePath]
[--caCertChain]
[--precheckOnly]
[--serverCert]
[--privateKey]
[--certType]
[--privateKeyPasswordProtected]

参数:

参数 说明
--pkcs12WalletFilePath 指定证书文件的绝对路径,该文件采用 pkcs12 wallet 格式
--caCertChain 级连证书列表,包含中间 CA 证书和根 CA 证书
--precheckOnly 指定 yes 以仅运行此操作的预检查。有效值:yes 或 no。
--serverCert 指定要为 TCPS 配置使用或滚动的 PEM 证书的路径。
--privateKey 指定证书的私钥文件的路径。
--certType 要添加到网格基础结构 wallet 的证书类型。接受的值为:SELF_SIGNED_CERT、CA_SIGNED_CERT 或 PKCS12_CERT。默认值:SELF_SIGNED_CERT
--privateKeyPasswordProtected 指定私钥是否受密码保护。有效值:true 或 false。默认值:true。

常见问题解答:

问:dbaascli grid rotateTCPSCert 命令的用途是什么?

答案:dbaascli grid rotateTCPSCert 命令用于在 Oracle Base Database Cloud@Customer 环境中的网格基础结构 wallet 中轮换 TCPS(Transport Layer Security Protocol,传输层安全协议)证书。

问:运行 dbaascli grid rotateTCPSCert 命令的先决条件是什么?

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

问:– pkcs12WalletFilePath 选项指定了什么?

答:--pkcs12WalletFilePath 选项以 TCPS 配置的 PKCS12 wallet 格式指定证书文件的绝对路径。

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

答:--caCertChain 选项指定 TCPS 配置的证书(包括中间 CA 证书和根 CA 证书)的串联列表。

问:– precheckOnly 选项的作用是什么?

答:使用 --precheckOnly 选项可以运行预检查,而无需进行任何实际更改。有效值为“yes”以仅运行预检查,值为“no”以继续轮换。

问:如何使用– serverCert 选项?

答案:--serverCert 选项指定为 TCPS 配置使用或轮换的 PEM(Privacy Enhanced Mail,隐私增强邮件)服务器证书的路径。

问:– privateKey 选项指定了什么?

答:--privateKey 选项指定与用于 TCPS 旋转的服务器证书相对应的私钥文件的路径。

问:– certType 选项的有效值有哪些?

答:--certType 选项接受以下值,用于指定要添加到网格基础结构 wallet 的证书类型:

问:– privateKeyPasswordProtected 选项的作用是什么?

答案:--privateKeyPasswordProtected 选项指示私钥是否受密码保护。有效值为 true(默认值)和 false

问:我是否可以在不轮换证书的情况下运行 dbaascli grid rotateTCPSCert 命令?

答:是的,通过使用 --precheckOnly yes 选项,您只能运行预检查而不轮换证书。

问:使用 PKCS12 wallet 轮换证书的命令示例是什么?

A:下面是一个示例命令:

dbaascli grid rotateTCPSCert --pkcs12WalletFilePath /path/to/wallet.p12 --certType PKCS12_CERT

Q:如何轮换具有 CA 签名证书链的服务器证书?

答:使用 --serverCert 和 --caCertChain 选项,如下所示:

dbaascli grid rotateTCPSCert --serverCert /path/to/serverCert.pem --caCertChain /path/to/caChain.pem

问:如果不指定– privateKeyPasswordProtected,会发生什么情况?

答:如果不指定 --privateKeyPasswordProtected 选项,该命令将假定私钥受密码保护(默认值:true)。

问:我可以轮换自签名证书吗?

答:可以,您可以使用默认的 --certType SELF_SIGNED_CERT 选项轮换自签名证书或显式指定自签名证书。

问:如何在不提供私钥的情况下轮换证书?

答:对于某些证书类型(如 PKCS12),您可能不需要提供单独的私钥文件,因为它包含在 wallet 中。但是,如果需要私钥,则必须使用 --privateKey 选项提供私钥。

问:如果我想在后台轮换证书,该怎么办?

答:dbaascli grid rotateTCPSCert 命令不为后台执行提供显式选项。您可以直接在后台会话中运行该命令(例如,使用 nohup 或类似工具)。

问:如果未指定,默认证书类型是什么?

答:默认证书类型为 SELF_SIGNED_CERT。

示例:dbaascli grid rotateTCPSCert

要使用自签名证书轮换证书(默认选项):

dbaascli grid rotateTCPSCert

要使用 CA 签名证书轮换证书,请执行以下操作:

dbaascli grid rotateTCPSCert --cert_type CA_SIGNED_CERT --server_cert /tmp/certs/server_cert.pem --ca_cert_chain /tmp/certs/ca.pem --private_key /tmp/certs/encrypted_private.key --privateKeyPasswordProtected true

dbaascli 网格升级

要将 Oracle Grid Infrastructure 从一个主要版本升级到另一个主要版本,请使用 dbaascli grid upgrade 命令。

先决条件:

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

语法:

dbaascli grid upgrade --version
[--resume]
[--executePrereqs]
[--containerURL]
[--softwareOnly]
[--targetHome]
[--revert]

参数:

参数 说明
--version 指定目标版本
--resume 恢复上一个运行
--executePrereqs 运行网格基础结构升级的先决条件
--containerUrl 指定用于提取网格基础结构映像的定制 URL
--softwareOnly 仅安装网格基础结构软件
--targetHome 指定现有目标网格主目录的路径
--revert 恢复失败的运行

常见问题解答:

问:dbaascli grid upgrade 命令的用途是什么?

答案:dbaascli grid upgrade 命令用于在 Oracle Base Database Cloud@Customer 虚拟机上将 Oracle Grid Infrastructure 从一个主要版本升级到另一个主要版本。

问:运行 dbaascli grid upgrade 命令的先决条件是什么?

答:该命令必须以 root 用户身份运行,并且您需要连接到 Oracle Base Database Cloud@Customer 虚拟机。

问:– version 选项指定的是什么?

答:--version 选项指定要升级到的 Oracle Grid Infrastructure 的目标版本。

Q:使用– resume 选项可以做什么?

答:--resume 选项恢复以前中断或失败的网格基础结构升级过程。

问:如何使用– executePrereqs 选项?

答:--executePrereqs 选项仅运行网格基础结构升级的先决条件检查,而不执行实际升级。

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

答:--containerURL 选项指定用于提取用于升级的网格基础结构软件映像的定制 URL。

问:– softwareOnly 选项的作用是什么?

答:--softwareOnly 选项仅安装网格基础结构软件,而不配置或升级网格环境。

问:何时使用– targetHome 选项?

答:--targetHome 选项指定将执行升级的现有目标网格主目录的路径。

Q:如果升级失败,会发生什么情况?

答:如果升级失败,可以使用 --revert 选项将升级回其先前状态。

问:我是否可以分阶段执行网格基础结构升级?

答:是的,通过使用 --softwareOnly 选项,您可以先安装软件,然后再完成完全升级,从而允许分阶段升级。

问:如何使用 dbaascli grid upgrade 命令仅升级软件?

答:使用以下语法仅升级软件:

dbaascli grid upgrade --version <target_version> --softwareOnly

问:我是否可以在不执行升级的情况下检查升级先决条件?

答:是的,您只能使用以下项运行先决条件检查:

dbaascli grid upgrade --version <target_version> --executePrereqs

问:如何使用定制容器 URL 升级网格基础结构?

答:您可以指定用于提取网格基础结构映像的 URL,如下所示:

dbaascli grid upgrade --version <target_version> --containerURL <custom_url>

问:如何恢复以前中断的升级过程?

答:要恢复以前中断或失败的升级,请使用:

dbaascli grid upgrade --version <target_version> --resume

问:在 dbaascli grid upgrade 命令中,– revert 选项的作用是什么?

答:--revert 选项将失败或中断的网格基础结构升级回其原始状态。

问:我是否可以在不立即配置网格基础结构的情况下执行完全升级?

答:是的,您首先只能使用 --softwareOnly 选项安装软件,然后在以后进行配置。

问:如果升级失败并且我要撤消更改,我该怎么办?

答:使用 --revert 选项可回滚失败的升级:

dbaascli grid upgrade --version <target_version> --revert

示例:dbaascli 网格升级

dbaascli grid upgrade --version 19.11.0.0.0 --executePrereqs
DBAAS CLI version MAIN
Executing command grid upgrade --version 19.11.0.0.0 --executePrereqs

dbaascli 网格补丁程序

要将 Oracle Grid Infrastructure 修补到指定的次要版本,请使用 dbaascli grid patch 命令。

先决条件:

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

语法:

dbaascli grid patch
 {
            --targetVersion <value>
            | --targetHome <value>
        }
        [--executePrereqs] [--nodeList <value>] [--continueWithDbDowntime] [--drainTimeoutInSeconds <value>] [--containerURL <value>] [--imageFile <value>] [--patchInParallel]
        {
            [--resume [--sessionID <value>]]
            | [--rollback [--sessionID <value>]]
        }
        [--waitForCompletion <value>]

参数:

参数 说明
--targetVersion 指定指定为以句点分隔的五个数字段(例如 19.12.0.0.0)的 Oracle 主目录的目标版本
--targetHome 指定异地打补丁的目标栅格基础结构主目录的全限定路径
--containerURL 指定用于提取网格基础结构映像的定制 URL
--executePrereqs 用于运行先决条件选项
--nodeList 指定节点列表(如果必须对节点子集执行打补丁)
--patchInParallel 指定以并行执行远程节点打补丁
--rollback 指定回退已打补丁的 Oracle 主目录
--resume 恢复上一个运行
--sessionID 指定以恢复特定的会话 ID
--continueWithDbDowntime 继续为数据库停机打补丁。此选项可用于只有 1 个活动实例在上运行的环境中,并且可以在停机也可以继续进行打补丁操作的环境。
--drainTimeoutInSeconds 指定停止数据库时完成资源耗尽的时间(秒)
--createImage 从活动栅格主目录的副本创建映像,并打补丁为指定的目标版本
--createImageDir 指定要创建映像的目录的全限定路径
--imageFile 指定要使用的映像的全限定路径
--patchInParallel 为远程节点并行进行打补丁
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false

常见问题解答:

问:dbaascli grid patch 命令的作用是什么?

答:dbaascli grid patch 命令用于将 Oracle Grid Infrastructure 修补到指定的次要版本。

问:运行 dbaascli grid patch 命令是否需要特殊权限?

答:是的,您需要以 root 用户身份运行 dbaascli grid patch 命令。

问题:是否可以在为 Oracle Grid Infrastructure 打补丁时指定目标版本?

答:是的,您可以使用 --targetVersion 选项指定目标版本。

Q:如何为补丁程序指定目标版本?

答:使用 --targetVersion 选项后跟版本号,格式为 19.12.0.0.0。

问:在 dbaascli grid patch 命令中,– containerURL 选项的作用是什么?

答:使用 --containerURL 选项可以指定用于提取网格基础结构映像的定制 URL。

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

答:--executePrereqs 选项用于在应用修补程序之前运行先决条件检查。

问:如何使用 dbaascli grid patch 命令为部分节点打补丁?

答:使用 --nodeList 选项后跟逗号分隔的节点名称列表,以便仅为部分节点打补丁。

问:如果我使用– rollback 选项,会发生什么情况?

答:--rollback 选项会将打补丁的 Oracle 主目录回退到之前的状态。

问:我是否可以恢复以前的打补丁会话?

答:是的,可以使用 --resume 选项恢复上一个打补丁会话。如果具有特定的会话 ID,则可以使用 --sessionID 选项指定该 ID。

问:– continueWithDbDowntime 选项用于什么?

答:--continueWithDbDowntime 选项允许您继续打补丁,即使存在数据库停机(通常在只有一个活动实例的环境中使用)。

问:如何从打补丁的网格主目录创建映像?

答:使用 --createImage 选项创建映像。可以使用 --createImageDir 选项指定应在其中创建映像的目录。

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

答:使用 --imageFile 选项可以指定要用于打补丁的映像文件的全限定路径。

问:如何在后台运行 dbaascli grid patch 命令?

答:您可以使用设置为 false 的 --waitForCompletion 选项在后台运行该操作。

问:我是否可以使用自定义 URL 提取补丁程序映像?

答:是的,可以使用 --containerURL 选项指定用于提取网格基础结构映像的定制 URL。

问:如果我不想为所有节点打补丁,如何指定要打补丁的节点?

答:您可以使用 --nodeList 选项和以逗号分隔的节点名称列表来指定要打补丁的节点。

问:如果我需要回退补丁程序,该怎么办?

答:使用 dbaascli grid patch 命令中的 --rollback 选项可回退修补程序。

问:如果我的环境只有一个活动实例并且我需要继续停机,如何处理打补丁操作?

答:即使在数据库停机的情况下,也可以使用 --continueWithDbDowntime 选项继续打补丁。

问:我是否可以创建已修补网格主目录的映像?

答:是的,可以使用 --createImage 选项创建已打补丁网格主目录的映像。如果需要,请使用 --createImageDir 指定应将映像保存到的目录。

问:如果要在中断后恢复打补丁会话,我该怎么办?

答:使用 --resume 选项可恢复打补丁会话。如果您知道会话 ID,则可以使用 --sessionID 指定该 ID。

问:如果打补丁过程在中途失败怎么办?

答:如果打补丁过程失败,可以使用 --resume 选项重新启动该过程。还可以使用 --rollback 选项恢复到以前的状态。

问:如何确保在打补丁之前满足所有先决条件?

答:在应用修补程序之前,请使用 --executePrereqs 选项运行所有先决条件检查。

问:我可以在后台执行打补丁以避免保持终端?

答:是的,您可以使用 --waitForCompletion false 选项在后台运行打补丁过程。

问:如何在打补丁后创建网格主目录映像?

答:使用 --createImage 选项从打补丁的网格主目录创建新映像。如果需要,请使用 --createImageDir 指定目录。

Q:如何使用现有的映像文件进行打补丁?

答:可以使用 --imageFile 选项指定要用于打补丁的映像文件的全限定路径。

问:如果要在打补丁期间避免数据库停机,我该怎么办?

答:确保您的环境运行着多个活动实例。您可以避免使用 --continueWithDbDowntime 选项,该选项仅适用于只有一个活动实例的环境。

问:我如何知道后台运行的补丁程序的进度?

答:如果使用 --waitForCompletion false 运行修补程序,则可以使用操作系统命令(如 ps)检查后台作业的状态,或查看网格主目录中的日志。

问:是否可以使用 dbaascli 网格修补程序修补到更高主版本?

答:不,dbaascli grid patch 仅允许为当前主要版本的次要版本打补丁。对于重大升级,您需要遵循不同的升级过程。

问:我是否可以在打补丁期间跳过特定的先决条件检查?

答:不,使用 --executePrereqs 时,将执行所有先决条件检查。但是,您可以在继续之前查看先决条件检查的结果并手动处理任何问题。

问:如果打补丁过程卡住或挂起,我该怎么办?

答:如果打补丁过程没有响应,则可以使用操作系统命令停止打补丁过程,然后使用 --resume 选项继续。如果这不起作用,请尝试使用 --rollback 选项还原补丁程序。

问:我是否可以跨多个集群自动执行打补丁流程?

答:是的,使用包含 dbaascli grid patch 命令的脚本以及相应的选项,可以在不同的集群中自动打补丁。

问:在哪里可以找到打补丁过程的日志?

答:日志通常位于 Oracle Grid 主目录日志目录中或在设置过程中指定的默认位置。您可以监视这些日志以了解有关打补丁过程的详细信息。

问:是否可以在不进行用户交互的情况下创建无提示补丁程序流程?

答:是的,通过在命令中指定所有必需的选项并在后台 (--waitForCompletion false) 运行它,可以创建非交互式打补丁过程。

问题:是否可以在应用补丁程序之前检查可用的补丁程序更新?

答:dbaascli grid patch 命令本身没有列出可用修补程序的选项。但是,您可以使用 Oracle 的标准方法(例如 Oracle 技术支持)来确定最新补丁程序。

问:是否可以使用 dbaascli 为多个 Oracle 主目录打补丁?

答案:否。dbaascli grid patch 命令用于一次为特定的 Oracle Grid Infrastructure 主目录打补丁。您需要分别为每个主目录运行该命令。

问:在为网格基础结构打补丁时,是否可以完全防止停机?

答:为了最大限度地减少停机时间,请确保您的环境具有多个活动数据库实例(RAC 配置),以便可以按节点执行打补丁。在这种情况下,不应使用 --continueWithDbDowntime 选项。

问:如何处理 RAC One Node 环境的打补丁?

答:在 RAC One Node 环境中,需要谨慎使用 --continueWithDbDowntime 选项,因为可能只有一个活动实例。有关 RAC One Node 的特定打补丁准则,请查看 Oracle 文档。

问:是否可以查看以前补丁程序的会话历史记录?

答:dbaascli 实用程序不提供查看会话历史记录的直接方法。但是,可以在 Grid 主目录日志目录中找到以前打补丁会话的日志。

示例:

示例:基本网格打补丁

dbaascli grid patch --targetVersion 19.12.0.0.0

将 Oracle Grid Infrastructure 修补到版本 19.12.0.0.0。

示例:使用定制容器 URL 打补丁

dbaascli grid patch --targetVersion 19.12.0.0.0 --containerURL https://example.com/custom/url

将网格基础结构打补丁到版本 19.12.0.0.0,使用定制容器 URL 提取网格基础结构映像。

示例:使用先决条件检查打补丁

dbaascli grid patch --targetVersion 19.12.0.0.0 --executePrereqs

在运行先决条件检查后,将网格基础结构打补丁到版本 19.12.0.0.0。

示例:在节点的子集上打补丁

dbaascli grid patch --targetVersion 19.12.0.0.0 --nodeList node1,node2,node3

将网格基础结构打补丁到指定节点(node1、node2 和 node3)上的版本 19.12.0.0.0。

示例:回退修补程序

dbaascli grid patch --rollback

回退 Oracle Grid Infrastructure 上上次应用的补丁程序。

示例:恢复以前的修补程序操作

dbaascli grid patch --resume

从停止打补丁的位置恢复以前的打补丁操作。

示例:恢复具有特定会话 ID 的修补程序操作

dbaascli grid patch --resume --sessionID 12345

使用会话 ID 12345 恢复打补丁操作。

示例:允许使用数据库停机打补丁

dbaascli grid patch --targetVersion 19.12.0.0.0 --continueWithDbDowntime

将网格基础结构打补丁到版本 19.12.0.0.0,同时允许数据库在需要时停机。

示例:创建修补映像

dbaascli grid patch --targetVersion 19.12.0.0.0 --createImage --createImageDir /path/to/dir

创建修补网格主目录(版本 19.12.0.0.0)的映像并将其存储在指定的目录中。

示例:使用现有图像文件

dbaascli grid patch --targetVersion 19.12.0.0.0 --imageFile /path/to/image/file.zip

使用位于 /path/to/image/file.zip 的现有映像文件将网格基础结构打补丁到版本 19.12.0.0.0。

示例:在后台运行打补丁操作

dbaascli grid patch --targetVersion 19.12.0.0.0 --waitForCompletion false

将网格基础结构打补丁到版本 19.12.0.0.0,并在后台运行该操作。

示例:前提条件、定制 URL 和节点子集的组合

dbaascli grid patch --targetVersion 19.12.0.0.0 --executePrereqs --containerURL https://example.com/custom/url --nodeList node1,node2

将网格基础结构打补丁到版本 19.12.0.0.0,运行先决条件检查,对映像使用定制 URL,并且仅对 node1 和 node2 应用补丁程序。

示例:使用现有映像文件创建打补丁的映像

dbaascli grid patch --targetVersion 19.12.0.0.0 --createImage --createImageDir /path/to/dir --imageFile /path/to/existing/image.zip

为修补程序使用现有映像文件时,创建修补映像并将其存储在指定的目录中。

示例:验证先决条件而不打补丁

dbaascli grid patch --targetVersion 19.12.0.0.0 --executePrereqs

在不实际应用补丁程序的情况下验证是否满足将补丁程序打补丁到版本 19.12.0.0.0 的所有先决条件。

示例:运行补丁程序并忽略先决条件失败

dbaascli grid patch --targetVersion 19.12.0.0.0 --continueWithDbDowntime --executePrereqs

即使某些先决条件检查失败,也会运行补丁程序。这在允许停机并且可以忽略某些先决条件的情况下非常有用。

示例:检查补丁程序日志以查找问题

tail -f /u01/app/grid/logs/grid_patch.log

实时监视补丁程序日志,以诊断打补丁过程中的任何问题。

示例:在并行环境中应用补丁程序

dbaascli grid patch --targetVersion 19.12.0.0.0 --nodeList node1,node2 --waitForCompletion false

在节点子集(node1 和 node2)上为网格基础结构打补丁,并在后台运行该进程。

示例:使用来自外部源的特定图像文件

dbaascli grid patch --targetVersion 19.12.0.0.0 --imageFile /mnt/images/grid_patch_19.12.zip

使用位于外部存储设备上的预下载映像文件为网格基础结构打补丁。

示例:使用定制会话 ID 运行补丁程序

dbaascli grid patch --targetVersion 19.12.0.0.0 --resume --sessionID 67890

使用会话 ID 67890 恢复中断的打补丁操作。

示例:调度打补丁以稍后运行

echo "dbaascli grid patch --targetVersion 19.12.0.0.0" | at 02:00

使用 Linux 中的 at 命令调度打补丁命令在凌晨 2:00 运行。

示例:指定要完成的超时

dbaascli grid patch --targetVersion 19.12.0.0.0 --waitForCompletion true --continueWithDbDowntime --timeout 7200

为网格基础结构打补丁,同时允许停机,但会在超时之前等待多达 7200 秒(2 小时)完成。

示例:为另一个环境创建定制映像

dbaascli grid patch --targetVersion 19.12.0.0.0 --createImage --createImageDir /backups/images/grid_patch

创建要存储在 /backups/images/grid_patch 目录中的已修补网格基础结构的定制映像,以用于其他环境。

示例:中断后的补丁程序恢复

dbaascli grid patch --resume --continueWithDbDowntime

如果打补丁过程中断,则恢复并恢复打补丁过程,并允许数据库停机。

示例:将先决条件检查与后台执行组合

dbaascli grid patch --targetVersion 19.12.0.0.0 --executePrereqs --waitForCompletion false

检查先决条件并在后台运行补丁程序。

示例:跳过创建映像以加快打补丁

dbaascli grid patch --targetVersion 19.12.0.0.0 --patchInParallel --continueWithDbDowntime --waitForCompletion false

在节点之间并行将网格基础结构打补丁到版本 19.12.0.0.0,允许数据库停机,并且无需创建映像即可加快流程。

示例:通过日志监视补丁程序进度

tail -f /u01/app/grid/logs/grid_patch_progress.log

实时监视日志文件以进行打补丁进度,从而深入了解打补丁过程的每一步。

示例:使用定制耗尽超时进行打补丁

dbaascli grid patch --targetVersion 19.12.0.0.0 --drainTimeoutInSeconds 3600 --continueWithDbDowntime

为网格基础结构打补丁并设置 1 小时(3600 秒)的定制超时,以允许在数据库停机期间正常耗尽资源。

示例:将补丁程序应用于具有先决条件检查的特定节点

dbaascli grid patch --targetVersion 19.12.0.0.0 --nodeList node1,node4 --executePrereqs

仅将节点 node1 和 node4 修补到版本 19.12.0.0.0,并事先运行先决条件检查。

示例:在不等待完成的情况下打补丁

dbaascli grid patch --targetVersion 19.12.0.0.0 --waitForCompletion false

开始在后台将网格基础结构打补丁到版本 19.12.0.0.0,从而可以在不等待该过程完成的情况下执行其他任务。

示例:在耗尽超时问题后重新应用失败的补丁程序

dbaascli grid patch --resume --drainTimeoutInSeconds 7200

恢复上一个打补丁会话,并在资源耗尽超时因上一次尝试的时间不足而失败时将其延长到 2 小时(7200 秒)。

示例:使用特定会话 ID 实时查看补丁程序日志

tail -f /u01/app/grid/logs/grid_patch_12345.log

实时监视会话 ID 为 12345 的打补丁会话的日志文件。

示例:打补丁到新目标主目录

dbaascli grid patch --targetHome /u01/app/grid_home_19c --executePrereqs

对位于 /u01/app/grid_home_19c 的新 Oracle Grid 主目录执行异地补丁程序,并进行先决条件检查。

示例:停止后台补丁程序作业

ps -ef | grep dbaascli | grep patch | awk '{print $2}' | xargs kill -9

通过查找并停止关联的进程 ID (Process ID,PID) 来停止后台补丁程序作业。

示例:验证无日志的补丁程序完成情况

dbaascli grid status --targetVersion 19.12.0.0.0

通过检查当前网格基础结构版本状态,验证是否已成功应用到版本 19.12.0.0.0 的补丁程序。