首页 > 互联资讯 > 网络资讯  > 

PolarDB-X返回的常见错误码及解决方法

PXC-1305 ERR_UNKNOWN_SAVEPOINT

• 描述:指定名称的SAVEPOINT不存在。

• 示例:ERR-CODE: [PXC-1305][ERR_UNKNOWN_SAVEPOINT] SAVEPOINT ***** does not exist 

• 说明:在PolarDB-X上执行ROLLBACK TO SAVEPOINT或者RELEASE SAVEPOINT命令时,如果指定的SAVEPOINT名称不存在,会提示PXC-1305错误。建议检查SAVEPOINT命令返回的名称是否和使用的名称一致。

PXC-1094 ERR_UNKNOWN_THREAD_ID

• 描述:KILL命令指定的会话ID不存在。

• 示例:ERR-CODE: [PXC-1094][ERR_UNKNOWN_THREAD_ID] Unknown thread id: *****

• 说明:在PolarDB-X上执行KILL命令取消执行的SQL语句时,如果指定的会话ID不存在,或者对应的SQL语句已经结束执行,会提示PXC-1094错误。建议使用SHOW PROCESSLIST命令查看正在执行的SQL语句会话ID,并只针对返回的ID执行KILL命令。

PXC-4006 ERR_TABLE_NOT_EXIST

• 描述:PolarDB-X数据表不存在。

• 示例:ERR-CODE: [PXC-4006][ERR_TABLE_NOT_EXIST] Table '*****' doesn't exist.

• 说明:该错误码表示PolarDB-X数据表不存在,或者由于未知原因,PolarDB-X无法加载数据表的元数据信息。

PXC-4007 ERR_CANNOT_FETCH_TABLE_META

• 描述:PolarDB-X无法加载数据表的元数据信息。

• 示例:ERR-CODE: [PXC-4007][ERR_CANNOT_FETCH_TABLE_META] Table '*****' metadata cannot be fetched because Table '*****.*****' doesn't exist.

• 说明:该错误码表示PolarDB-X尝试读取数据表的元数据信息失败。可能的错误原因如下:

• • 数据表未创建。

• 维护的元数据库信息不一致。

• 表被删除或者改名。

• 出现该错误时,首先检查表名是否存在,或者执行check table 命令确认PolarDB-X维护的元数据库信息是否一致。如果确定表被人为删除或改名,可以通过PolarDB-X提供的数据恢复功能修复。如果仍无法修复,请联系技术支持。

PXC-4018 ERR_INVALID_DDL_PARAMS

• 描述:PolarDB-X执行DDL过程失败。

• 示例:ERR-CODE: [PXC-4018][ERR_INVALID_DDL_PARAMS] invalid '*****'.

• 说明:该错误表示用户执行DDL的参数有错误,请检查参数正确性。如果确认参数正确,请联系技术支持。

PXC-4100 ERR_ATOM_NOT_AVALILABLE

• 描述:PolarDB-X后端数据节点暂时不可用。

• 示例:ERR-CODE: [PXC-4100][ERR_ATOM_NOT_AVALILABLE] Atom : ***** isNotAvailable

• 说明:如果PolarDB-X探测到后端某个数据节点状态异常,会临时阻止访问该实例并提示PXC-4100错误。当遇到该错误,请检查PolarDB-X后端所有数据节点是否异常。当后端数据节点从异常状态恢复后,PolarDB-X将自动解除不可用状态,恢复应用正常访问。

PXC-4101 ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON

• 描述:PolarDB-X计算节点和数据节点连接获取失败。

• 示例:ERR-CODE: [PXC-4101][ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON] Get connection for db '*****' from pool failed. AppName:*****, Env:*****, UnitName:null. Message from pool: wait millis 5000, active 0, maxActive 5. You should look for the following logs which contains the real reason.

• 说明:PolarDB-X在处理请求时会向数据节点异步创建连接。如果无法在等待时间内完成数据节点连接创建,而异步任务又尚未返回错误原因,PolarDB-X会向应用返回PXC-4101错误。该错误通常是由后端数据节点异常导致的。如果排除数据节点问题后仍然出现该错误,请联系技术支持。

PXC-4102 ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON

• 描述:已知原因的PolarDB-X后端连接获取失败。

• 示例:ERR-CODE: [PXC-4102][ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON] Get connection for db '*****' failed because wait millis 5000, active 0, maxActive 5

• 说明:PolarDB-X计算节点获取数据节点连接时出错,错误原因已经在ERR-CODE消息中给出。常见PolarDB-X数据节点连接失败的原因如下:

• • 后端数据节点连接数已满

• 计算节点到数据节点的连接超时

• 数据节点拒绝连接

• 如果排除后端数据节点问题后仍然出现该错误,请联系技术支持。

PXC-4103 ERR_ATOM_CONNECTION_POOL_FULL

• 描述:PolarDB-X后端数据节点连接池已满。

• 示例:ERR-CODE: [PXC-4103][ERR_ATOM_CONNECTION_POOL_FULL] Pool of DB '*****' is full. Message from pool: wait millis 5000, active 5, maxActive 5. AppName:*****, Env:*****, UnitName:null.

• 说明:该错误表示PolarDB-X后端连接池已满。导致PXC-4103错误的常见原因如下:

• • 应用SQL语句执行比较慢,占用单个连接的时间过长,导致连接数不够;

• 应用端没有关闭数据库连接,导致连接泄露;

• 有很多跨库查询(例如聚合统计类查询,未带分库条件的查询)同时执行,占用大量连接。

• 解决方法建议如下:

• • 尽量使用框架访问数据库,如Spring JDBC、MyBatis等;

• 按性能分析报告与DBA建议优化业务SQL语句;

• 使用PolarDB-X读写分离将跨库查询转发至读库处理;

• 升级更高规格的PolarDB-X,提升后端处理能力;

• 联系技术支持调整PolarDB-X后端连接数。

PXC-4104 ERR_ATOM_CREATE_CONNECTION_TOO_SLOW

• 描述:PolarDB-X后端数据节点连接创建太慢。

• 示例:ERR-CODE: [PXC-4104][ERR_ATOM_CREATE_CONNECTION_TOO_SLOW] Get connection for db '*****' from pool timeout. AppName:*****, Env:*****, UnitName:null. Message from pool: wait millis 5000, active 3, maxActive 5.

• 说明:PolarDB-X向后端数据节点异步创建连接时,如果在短时间创建大量连接,或者数据节点建立连接速度太慢,会出现等待超时。该问题通常是由于后端数据节点压力过大或异常导致的,建议使用PolarDB-X读写分离,或者升级更高规格,减轻后端处理压力。如果排除后端数据节点问题后仍然出现该错误,请联系技术支持。如果问题是由短时间创建大量连接导致,建议联系技术支持调整PolarDB-X最小连接数。

PXC-4105 ERR_ATOM_ACCESS_DENIED

• 描述:PolarDB-X后端数据节点拒绝创建连接。

• 示例:ERR-CODE: [PXC-4105][ERR_ATOM_ACCESS_DENIED] DB '*****' Access denied for user '*****'@'*****'. AppName:*****, Env:*****, UnitName:null. Please contact DBA to check.

• 说明:该错误表明PolarDB-X通过用户名和密码连接数据节点时被拒绝访问,请联系技术支持。

PXC-4106 ERR_ATOM_DB_DOWN

• 描述:PolarDB-X后端数据节点无法连接。

• 示例:ERR-CODE: [PXC-4106][ERR_ATOM_DB_DOWN] DB '*****' cannot be connected. AppName:*****, Env:*****, UnitName:null. It seems a very real possibility that this DB IS DOWN. Please contact DBA to check.

• 说明:该错误表明PolarDB-X向后端数据节点创建连接超时或者没有响应。遇到该错误的通常原因是数据节点故障,请联系技术支持。

PXC-4108 ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW

• 描述:变量(variable)不允许被设置为NULL。

• 示例:ERR-CODE: [PXC-4108][ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW] System variable ***** can''t set to null for now;

• 说明:有些数据节点变量(variable)不允许用SET var = x语句设置成NULL值。遇到这种情况,PolarDB-X会提示PXC-4108错误。

PXC-4200 ERR_GROUP_NOT_AVALILABLE

• 描述:PolarDB-X下的某个数据节点暂时不可用。

• 示例:ERR-CODE: [PXC-4200][ERR_GROUP_NOT_AVALILABLE] The TDDL Group ***** is running in fail-fast status, caused by this SQL:***** which threw a fatal exception as *****.

• 说明:当分库包含的数据节点出现访问异常,并且分库下没有其他可用数据节点时,PolarDB-X会将分库置于fail-fast状态并提示PXC-4200错误。通常该错误是由于数据节点故障导致的。请根据包含的数据节点异常信息定位和解决问题。当故障数据节点恢复后,PolarDB-X将自动取消fail-fast状态。

如果数据节点故障解决后仍然出现PXC-4200错误,请联系技术支持。

PXC-4201 ERR_GROUP_NO_ATOM_AVALILABLE

• 描述:PolarDB-X分库内暂时没有可用数据节点。

• 示例:ERR-CODE: [PXC-4201][ERR_GROUP_NO_ATOM_AVALILABLE] All weights of DBs in Group '*****' is 0. Weights is: *****.

• 说明:当分库包含的数据节点全都不可用,或者处于fail-fast状态时,PolarDB-X会提示PXC-4201错误。通常该错误是由于数据节点故障导致的。请检查后端数据节点状态以定位和解决问题。如果故障解决后仍然出现PXC-4201错误,请联系技术支持。

PXC-4202 ERR_SQL_QUERY_TIMEOUT

• 描述:PolarDB-X查询超时。

• 示例:ERR-CODE: [PXC-4202][ERR_SQL_QUERY_TIMEOUT] Slow query leads to a timeout exception, please contact DBA to check slow sql. SocketTimout:*** ms, Atom:*****, Group:*****, AppName:*****, Env:*****, UnitName:null.

• 说明:该错误表示SQL语句在后端数据节点上的执行时间超过PolarDB-X设置的socketTimeout参数限制。默认的PolarDB-X超时(socketTimeout)时间设置是900秒。建议优化SQL语句,以及在后端数据节点上创建适合的索引以提升SQL语句的执行性能。如果优化后的SQL语句仍然较慢,可以参见如下Hint语法临时设置PolarDB-X的超时时间:/*TDDL:SOCKET_TIMEOUT=900000*/ SELECT * FROM dual;,其中SOCKET_TIMEOUT设置的单位是毫秒。关于PolarDB-X的Hint用法,详情请参见自定义SQL超时时间。如果需要永久调整PolarDB-X超时设置,请联系技术支持。

PXC-4203 ERR_SQL_QUERY_MERGE_TIMEOUT

• 描述:PolarDB-X分布式查询超时。

• 示例:ERR-CODE: PXC-4203 Slow sql query leads to a timeout exception during merging results, please optimize the slow sql. The the default timeout is  ms. DB is *

• 说明:PolarDB-X执行分布式查询超时,默认的超时设置是900秒。产生PXC-4203错误表示SQL语句扫描了多个分库的数据并且执行时间超过900秒。建议进行如下优化:

• • 在WHERE条件中添加分库键(Sharding key)条件,将SQL语句优化成单库执行;

• 检查是否可以在后端数据节点上创建适合的索引,提升扫描各个分库数据的性能;

• 设法消除分布式查询中的跨库JOIN,数据重排序等耗时操作,降低PolarDB-X数据合并阶段的消耗。

• 如果优化后的SQL语句仍然较慢,可以使用如下Hint语法临时设置PolarDB-X的超时时间:/TDDL:SOCKET_TIMEOUT=900000/ SELECT  FROM dual;,其中SOCKET_TIMEOUT设置的单位是毫秒。关于PolarDB-X的Hint用法,详情请参见自定义SQL超时时间。

PXC-4400 ERR_SEQUENCE

• 描述:处理Sequence(全局唯一序列)失败。

• 示例:ERR-CODE: PXC-4400 Sequence : All dataSource faild to get value!

• 说明:处理Sequence出错,错误信息在Sequence :中给出。导致PXC-4400的常见原因是数据节点故障,无法访问Sequence有关的数据表。建议先检查后端数据节点状态。如果排除数据节点故障后仍然发生错误,请联系技术支持。

PXC-4401 ERR_MISS_SEQUENCE

• 描述:Sequence不存在。

• 示例:ERR-CODE: PXC-4401 Sequence '*' is not found

• 说明:命令中使用的Sequence名称不存在。建议用SHOW SEQUENCES命令检查PolarDB-X中所有已创建的Sequence名称,并且选择正确的Sequence使用。如果使用的Sequence尚不存在,可以用如下语句创建:

CREATE SEQUENCE <sequence name> [ START WITH <numeric value> ] 

[ INCREMENT BY <numeric value> ] [ MAXVALUE <numeric value> ] 

[ CYCLE | NOCYCLE ]`

• 如果使用的Sequence已经存在,但是仍然提示PXC-4401错误,请联系技术支持。关于PolarDB-X的Sequence用法,详情请参见PolarDB-X Sequence介绍。


PolarDB-X返回的常见错误码及解决方法由讯客互联网络资讯栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“PolarDB-X返回的常见错误码及解决方法