更新由...管理的数据库密码密钥 Db2 Data Management Console

关于本任务

Db2 Data Management Console 使用数据库管理员账户通过 JDBC 连接检索监控数据。 若更新数据库管理账户密码,请确保同步更新由 Db2 Data Management Console.管理的密码密钥。
变量 描述
NAMESPACE 您的 Db2® 实例正在运行的命名空间。
DB_TYPE 数据库必须属于以下类型之一:
  • db2wh
  • db2oltp
  • dv
  • bigsql
INSTANCE_ID Db2 实例标识符。 有关更多信息,请参阅更新 Db2 密码密钥
INSTANCE_NEW_PASSWORD 数据库实例的新密码。
DMC_INSTANCE_ID Db2 Data Management Console 实例标识符。 请运行以下命令,以获取 DMC_INSTANCE_ID 的值。
oc get pods -n ${PROJECT_CPD_INST_OPERANDS} |grep ibm-dmc |grep monitor-0 | cut -d '-' -f3
CPD_USER IBM Cloud Pak for Data 登录用户名。
CPD_PASSWORD IBM Cloud Pak for Data 登录用户名 密码。
CLUSTER_ACCESSIBLE_IP IBM Cloud Pak for Data 网址 URL.

过程

更新由以下服务管理的 Db2 Data Management Console 密码密钥:

  1. IBM Cloud Pak for Data 网页客户端的主页上,通过导航菜单依次进入: 服务 > 实例
  2. 实例页面上,要打开该 Db2 Data Management Console 实例,请点击溢出菜单中的 “打开 ”。
    控制台会发现所有与控制台位于同一集群中的 Db2 实例。
  3. 检查是否存在密码已更新的 Db2 实例。
    • 如果存在密码已更新的 Db2 实例(db2inst1),请执行以下步骤:
      1. 从命令行运行以下 kubectl 命令来更新私钥对象中的密码。
        kubectl patch -n $NAMESPACE secret/$DB_TYPE-$INSTANCE_ID \
        -p "{\"data\":{\"password\": \"$(echo $INSTANCE_NEW_PASSWORD | base64)\"}}"
      2. 凭证缓存每 Db2 Data Management Console 十分钟刷新一次。 因此,您必须至少等待 10 分钟,以使新密码生效。

        要使密码更改立即生效 Db2 Data Management Console ,可使用以下命令删除监控Pod:

        oc delete pod ibm-dmc-DMC_INSTANCE_ID-monitor-0 -n ${PROJECT_CPD_INST_OPERANDS}
        然而,若在该环境中管理多个数据库, Db2 Data Management Console 当监控Pod被删除并重新启用时,所有数据库的监控功能都可能受到影响。
        注意: 若因用户账户被锁定导致连接 Db2 数据库失败,请执行 《更新密码密钥 》中的步骤3至4。
    • 如果未存在密码已更db2inst1新的 Db2 实例,请执行以下步骤:
      1. 运行以下命令,以获取 TOKEN
        curl --location --request GET 'https://$CLUSTER_ACCESSIBLE_IP/v1/preauth/validateAuth' --header 'Content-Type: application/json' --header 'username: $CPD_USER' --header 'password: $CPD_PASSWORD' --insecure
      2. 运行以下命令,以获取 SUB_TYPEDISPLAY_NAME 的值。
        curl --location --request GET 'https://$CLUSTER_ACCESSIBLE_IP/zen-data/v3/service_instances/$INSTANCE_ID' --header 'Content-Type: application/json' --header 'Authorization: Bearer $TOKEN' --insecure
      3. 运行以下命令以添加数据库配置文件。
        注意: 仅当 Db2 Data Management Console 实例在 IBM Cloud Pak® for Data 中处于运行状态时,才调用以下API。
        curl --location --request POST 'https://$CLUSTER_ACCESSIBLE_IP/addon-dmc/v1/profiles' --insecure --header 'Authorization: Bearer $TOKEN' --header 'Content-Type: application/json' --data '{"dbInstanceId":"$INSTANCE_ID",
         "display_name": "DISPLAY_NAME",
         "host":"c-$DB_TYPE-$INSTANCE_ID-db2u-engn-svc",
         "databaseName":"BLUDB",
         "dbType":"$DB_TYPE",
         "port":50001,
         "plan":"$SUB_TYPE",
         "sslConnection":true,
         "sslCertLocation":"/opt/ibm-datasrvrmgr/Config/$DB_TYPE-internal-tls/ca.crt",
         "collectionCred":
           {"user":"db2inst1",
            "password":"$INSTANCE_NEW_PASSWORD",
            "securityMechanism":"9"}}'