关于本任务
Db2 Data Management Console 使用数据库管理员账户通过 JDBC 连接检索监控数据。 若更新数据库管理账户密码,请确保同步更新由 Db2 Data Management Console.管理的密码密钥。
| 变量 |
描述 |
NAMESPACE |
您的 Db2® 实例正在运行的命名空间。 |
DB_TYPE |
数据库必须属于以下类型之一:
|
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 密码密钥:
- 在 IBM Cloud Pak for Data 网页客户端的主页上,通过导航菜单依次进入: 。
- 在实例页面上,要打开该 Db2 Data Management Console 实例,请点击溢出菜单中的 “打开 ”。
控制台会发现所有与控制台位于同一集群中的 Db2 实例。
- 检查是否存在密码已更新的 Db2 实例。
- 如果存在密码已更新的 Db2 实例(
db2inst1),请执行以下步骤:
- 从命令行运行以下 kubectl 命令来更新私钥对象中的密码。
kubectl patch -n $NAMESPACE secret/$DB_TYPE-$INSTANCE_ID \
-p "{\"data\":{\"password\": \"$(echo $INSTANCE_NEW_PASSWORD | base64)\"}}"
- 凭证缓存每 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 实例,请执行以下步骤:
- 运行以下命令,以获取
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
- 运行以下命令,以获取
SUB_TYPE 和 DISPLAY_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
- 运行以下命令以添加数据库配置文件。
注意: 仅当 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"}}'