解决超时错误
解决与数据库建立连接时发生的超时错误。
故障现象
在 Cloud Pak for Data上浏览 Db2
Data Management Console 时,可能会显示以下错误消息:
Timeout getting a transport object from pool.
ERRORCODE=-4210, SQLSTATE=57033原因
在 JCC 客户机端使用 属性来连接到使用 securityMechanism=9SRVCON_AUTH = SERVER_ENCRYPT 配置的数据库时,建立连接的过程需要比通常时间更长的时间。 有时,在您重新启动数据库服务器后首次尝试连接时可能需要数十秒时间。 如果建立与数据库的连接所花费的时间超过了 connectionTimeout 限制,那么可能会导致 -4210 错误。
解决问题
loginTimeout 的缺省值为 30 秒, connectionTImeout 为 0。 可以定制 loginTimeout 或 connectionTImeout 值。 如果 connectionTImeout 设置为正值,那么该值将覆盖在连接上设置的任何其他超时值,例如 loginTimeout。 因此,要解决此问题,请执行以下步骤以将 connectionTImeout 设置为正值。
- 获取实例标识:
oc get dmc -n ${PROJECT_CPD_INST_OPERANDS} - 编辑
configmap${DB2INSTANCDID}oc edit cm ${DB2INSTANCDID} - 在
50001/BLUDB之后添加:connectionTImeout=40。 下面提供了configmap的概要文件示例。profile: '{"DB_IDENTITY_HASH":"-88665374","URL":"jdbc:db2://c-db2oltp-1635255394239239-db2u-engn-svc:50001/BLUDB:connectionTimeout=40","_PROFILE_INIT_":"true","collectionCred":{"isCollectionCred":"true","password":"changeit","refreshToken":"","securityMechanism":"9","user":"db2inst1"},"dataServerExternalType":"DASHDBTX","dataServerType":"DB2LUW","databaseName":"BLUDB","databaseVersion":"11.5.0","databaseVersion_VRMF":"11.5.6.0","dbUUID":"a3046c10-9ce1-4d1a-9fcd-7a82b16049cc","host":"c-db2oltp-1635255394239239-db2u-engn-svc","isInstPartitionable":"false","lastUpdatedTimeStamp":"1635256696467","name":"db2oltp-1635255394239239","namespace":"","plan":"smp","port":"50001","sslCertLocation":"/opt/ibm-datasrvrmgr/Config/cpd-internal-tls/ca.crt","sslConnection":"true","timeZone":"0","timeZoneDiff":"0"}' profileName: db2oltp-1635255394239239 - 将更改保存到
configmap。
如果问题仍然存在,请调整 connectionTimeout的值。