Db2 从 V 4.7.x 升级到 V 4.8

重要信息: IBM Cloud Pak® for Data 4.8 版本将于 2025 年 7 月 31 日结束支持 (EOS)。 欲了解更多信息,请参阅 IBM Cloud Pak for Data 版本 4.X 的停止服务公告

IBM Cloud Pak for Data 4.8 版本支持结束之前,升级到 IBM Software Hub 5.1 版本。 有关更多信息,请参阅IBM Cloud Pak for Data 版本 4.8 升级到 IBM Software Hub 版本 5.1

实例管理员可以将 Db2Cloud Pak for Data V 4.7 升级到 V 4.8

谁需要完成此任务?

实例管理员 要升级 Db2,您必须是 实例管理员。 实例管理员有权管理以下项目中的软件:

实例的 操作程序项目

Cloud Pak for Data 实例的操作程序安装在操作程序项目中。 在升级命令中, ${PROJECT_CPD_INST_OPERATORS} 环境变量指的是操作程序项目。

实例的 操作数项目

Cloud Pak for Data 实例的 Cloud Pak for Data control plane 和服务安装在操作数项目中。 在升级命令中, ${PROJECT_CPD_INST_OPERANDS} 环境变量引用操作数项目。

何时需要完成此任务?

查看以下选项以确定是否需要完成此任务:

  • 如果要同时升级 Cloud Pak for Data control plane 以及一个或多个服务,请改为遵循 升级 Cloud Pak for Data 中的过程。
  • 如果在升级 Cloud Pak for Data control plane时未升级 Db2 ,请完成此任务以升级 Db2

    根据需要重复 如果您负责 Cloud Pak for Data的多个实例,那么可以重复此任务以在集群上升级更多 Db2 实例。

完成此任务所需的信息

在升级 Db2之前,请查看以下信息:

版本需求

必须在同一发行版中安装与 Cloud Pak for Data 实例关联的所有组件。 例如,如果 Cloud Pak for Data control plane 的版本是 4.8.8 ,您必须升级 Db2 版本 4.8.8

环境变量
此任务中的命令使用环境变量,以便您可以完全按照编写的方式运行命令。
  • 如果没有用于定义环境变量的脚本,请参阅 设置安装环境变量
  • 要使用脚本中的环境变量,必须先确定环境变量的来源,然后再运行此任务中的命令。 例如,运行以下命令:
    source ./cpd_vars.sh
存储需求
升级 Db2时,无需指定存储器。

准备工作

此任务假定满足以下先决条件:

先决条件 在何处查找更多信息
集群满足 Db2的最低需求。 如果此任务未完成,请参阅 系统需求
将从中运行升级的工作站设置为客户机工作站和以下命令行界面:
  • Cloud Pak for Data CLI: cpd-cli
  • OpenShift® CLI: oc
如果此任务未完成,请参阅 更新客户机工作站
Cloud Pak for Data control plane 已升级。 如果此任务未完成,请参阅 升级 Cloud Pak for Data
对于使用专用容器注册表的环境 (例如气郄环境) ,会将 Db2 软件映像镜像到专用容器注册表。 如果此任务未完成,请参阅 镜像映像到专用容器注册表
对于使用专用容器注册表的环境 (例如气郄环境) , cpd-cli 配置为从专用容器注册表中拉取 olm-utils-v2 映像。 如果此任务未完成,请参阅 从专用容器注册表中拉取 olm-utils-v2 映像

过程

完成以下任务以升级 Db2:

  1. 升级服务
  2. 验证升级
  3. 升级 Db2 服务实例
  4. 验证服务实例升级
  5. 下一步操作

升级服务

重要信息: 升级 Cloud Pak for Data 平台时,更新了 Db2Operator Lifecycle Manager (OLM) 对象。 cpd-cli manage apply-olm 同时更新 操作程序项目 中的所有 OLM 对象。

要升级 Db2:

  1. cpd-cli 登录到 Red Hat® OpenShift Container Platform 集群:
    ${CPDM_OC_LOGIN}
    请记住: CPDM_OC_LOGINcpd-cli manage login-to-ocp 命令的别名。
  2. 更新 Db2的定制资源。
    cpd-cli manage apply-cr \
    --components=db2oltp \
    --release=${VERSION} \
    --cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
    --license_acceptance=true \
    --upgrade=true

验证升级

apply-cr 命令返回以下内容时,将升级 Db2 :
[SUCCESS]... The apply-cr command ran successfully

如果要确认定制资源状态为 Completed,那么可以运行 cpd-cli manage get-cr-status 命令:

cpd-cli manage get-cr-status \
--cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
--components=db2oltp

升级 Db2 服务实例

重要信息: 如果以下任何场景适用,请勿使用这些步骤:

升级步骤取决于要升级到的 Cloud Pak for Data 版本。


升级到 4.8.0 或 4.8.1
  1. 以具有足够许可权的用户身份登录到 Red Hat OpenShift Container Platform 以完成该任务:
    oc login OpenShift_URL:port
  2. 对于每个 Db2 数据库部署,请执行以下步骤来检查 Db2 版本:
    1. 运行以下命令以查找实例标识。 结果将在 NAME下:
      注: NAME 必须与数据库部署的 " 详细信息 " 页面中的 部署标识 匹配。
      oc get Db2uCluster
    2. 运行以下命令,替换实例标识以获取版本:
      oc get db2ucluster <instance_id> -o yaml | grep version

    更多信息,请参阅 Db2 兼容版本 Cloud Pak for Data 版本

  3. 如果已应用任何定制补丁来覆盖脚本,请使用以下命令将其除去:
    oc set volume statefulset/c-${DB2U_ID}-db2u -n ${PROJECT_CPD_INST_OPERANDS} --remove --name=<volume_name>
    重要信息: 您的 Db2 pod 将在运行该命令后重新启动。
  4. 运行 oc patch 命令并指定从 Db2 Version 列获取的版本号,以升级 Db2 数据库部署。 将 instance_id 替换为从 oc get Db2uCluster 命令获取的部署标识:
    oc patch db2ucluster <instance_id> --type merge -p '{"spec":{"version":"<db2_version>"}}'


升级到 4.8.2 或更高版本
  1. 要获取 Db2 服务实例的列表,请运行以下命令:
    cpd-cli service-instance list --profile=${CPD_PROFILE_NAME} --service-type=db2oltp

    更多信息,请参阅 Db2 兼容版本 Cloud Pak for Data 版本

  2. 如果已应用任何定制补丁来覆盖脚本,请将其除去。
    1. 以具有足够许可权的用户身份登录到 Red Hat OpenShift Container Platform 以完成该任务:
      oc login OpenShift_URL:port
    2. 运行以下命令:
      oc set volume statefulset/c-${DB2U_ID}-db2u -n ${PROJECT_CPD_INST_OPERANDS} --remove --name=<volume_name>
    重要信息: 您的 Db2 pod 将在运行该命令后重新启动。
  3. 要升级 Db2 服务实例,请运行以下命令:
    cpd-cli service-instance upgrade --profile=${CPD_PROFILE_NAME} --instance-name=${INSTANCE_NAME} --service-type=db2oltp

验证服务实例升级

您可以使用命令或 Web 控制台来验证服务实例是否已升级并可供使用。

命令
运行以下命令并等待状态更改为 Ready:
oc get db2ucluster <instance_id> -o jsonpath='{.status.state} {"\n"}'
运行以下命令检查Db2服务实例的状态:
cpd-cli service-instancestatus ${INSTANCE_NAME} \
--profile=${CPD_PROFILE_NAME} \
--service-type=db2oltp
运行以下命令以检查服务实例是否已更新:
help service-instance list \
--profile=${CPD_PROFILE_NAME} \
--service-type=db2oltp
Web 控制台
从 " 数据库详细信息 " 页面,等待数据库版本更改。

下一步操作

注意: 如果您具有 Q 复制部署,那么需要在升级后交换 SSL 证书。 有关更多信息,请参阅为 Db2 Q Replication 交换 SSL 证书

查看 Db2 服务的安装后设置 ,以确定在用户访问服务之前是否需要完成任何任务。 Db2 服务。