在缩减工作程序 pod 数 (Db2 Big SQL) 之后执行插入或选择操作期间发生 SQL5197N 或 SQL5199N 错误

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

IBM Cloud Pak for Data 4.6 版本支持结束之前,升级到 IBM Software Hub 5.1 版本。 更多信息,请参阅 IBM Software Hub 版本 5.1 文档中的升级 IBM Software Hub。

在缩减工作程序 pod 数之后运行的 INSERT 或 SELECT 语句可能失败。

症状

插入或选择操作失败,显示 SQL5197N 或 SQL5199N。 例如:
DB21034E The command was processed as an SQL statement because it was not a valid Command Line 
Processor command. During SQL processing it returned: SQL5199N The statement failed because a 
connection to a Hadoop/External Table I/O component could not be established or maintained. 
Hadoop/External Table I/O component name: "SCHEDULER". Reason code: "1". Database partition number: "0". 
SQLSTATE=57067

SQL5197N The statement failed because of a communication error with a Db2 Big SQL component. 
Big SQL component name: "SCHEDULER". Reason code: "1". Log entry identifier: "DB2". SQLSTATE=57066

解决问题

要解决此问题,请完成以下步骤来重新启动 Db2® Big SQL 实例:
  1. 以项目管理员身份登录到 OpenShift® 集群:
    oc login <OpenShift_URL>:<port>
  2. 切换到安装了 Cloud Pak for Data control plane 的项目:
    oc project ${PROJECT_CPD_INSTANCE}
    注: 此命令使用环境变量,以便您可以完全按编写方式运行该命令。 有关寻源环境变量的信息,请参阅 设置安装环境变量
  3. 标识 Db2 Big SQL 实例标识:
    oc get cm -l component=db2bigsql -o custom-columns="Instance Id:{.data.instance_id},Instance Name:{.data.instance_name},Created:{.metadata.creationTimestamp}"
  4. 获取 Db2 Big SQL 头 pod 的名称:
    head_pod=$(oc get pod -l app=bigsql-<instance_id>,name=dashmpp-head-0 --no-headers=true -o=custom-columns=NAME:.metadata.name)
  5. 重新启动 Db2 Big SQL:
    oc exec -i $head_pod -- sudo su - db2inst1 -c "bigsql stop; bigsql start"