drds 解决问题_DRDS 错误代码如何解决?-问答-阿里云开发者社区-阿里云

DRDS 错误代码如何解决?

猫饭先生

2017-10-30 14:19:20

13731

本文档列出了 DRDS 返回的常见错误码及解决方法。

TDDL-4006 ERR_TABLE_NOT_EXIST

TDDL-4007 ERR_CANNOT_FETCH_TABLE_META

TDDL-4100 ERR_ATOM_NOT_AVALILABLE

TDDL-4101 ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON

TDDL-4102 ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON

TDDL-4103 ERR_ATOM_CONNECTION_POOL_FULL

TDDL-4104 ERR_ATOM_CREATE_CONNECTION_TOO_SLOW

TDDL-4105 ERR_ATOM_ACCESS_DENIED

TDDL-4106 ERR_ATOM_DB_DOWN

TDDL-4108 ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW

TDDL-4200 ERR_GROUP_NOT_AVALILABLE

TDDL-4201 ERR_GROUP_NO_ATOM_AVALILABLE

TDDL-4202 ERR_SQL_QUERY_TIMEOUT

TDDL-4203 ERR_SQL_QUERY_MERGE_TIMEOUT

TDDL-4400 ERR_SEQUENCE

TDDL-4401 ERR_MISS_SEQUENCE

TDDL-4403 ERR_MISS_SEQUENCE_TABLE_ON_DEFAULT_DB

TDDL-4404 ERR_SEQUENCE_TABLE_META

TDDL-4405 ERR_INIT_SEQUENCE_FROM_DB

TDDL-4407 ERR_OTHER_WHEN_BUILD_SEQUENCE

TDDL-4408 ERR_SEQUENCE_NEXT_VALUE

TDDL-4500 ERR_PARSER

TDDL-4501 ERR_OPTIMIZER

TDDL-4502 ERR_OPTIMIZER_MISS_ORDER_FUNCTION_IN_SELECT

TDDL-4504 ERR_OPTIMIZER_SELF_CROSS_JOIN

TDDL-4506 ERR_MODIFY_SHARD_COLUMN

TDDL-4508 ERR_OPTIMIZER_NOT_ALLOWED_SORT_MERGE_JOIN

TDDL-4509 ERR_OPTIMIZER_ERROR_HINT

TDDL-4510 ERR_CONTAINS_NO_SHARDING_KEY

TDDL-4511 ERR_INSERT_CONTAINS_NO_SHARDING_KEY

TDDL-4515 ERR_CONNECTION_CHARSET_NOT_MATCH

TDDL-4516 ERR_TRUNCATED_DOUBLE_VALUE_OVERFLOW

TDDL-4517 ERR_MODIFY_SYSTEM_TABLE

TDDL-4600 ERR_FUNCTION

TDDL-4601 ERR_EXECUTOR

TDDL-4602 ERR_CONVERTOR

TDDL-4603 ERR_ACCROSS_DB_TRANSACTION

TDDL-4604 ERR_CONCURRENT_TRANSACTION

TDDL-4606 ERR_QUERY_CANCLED

TDDL-4607 ERR_INSERT_WHEN_UPDATE

TDDL-4610 ERR_CONNECTION_CLOSED

TDDL-1305 ERR_UNKNOWN_SAVEPOINT

TDDL-1094 ERR_UNKNOWN_THREAD_ID

TDDL-4612 ERR_CHECK_SQL_PRIV

TDDL-4613 ERR_INSERT_SELECT

TDDL-4614 ERR_EXECUTE_ON_MYSQL

TDDL-4615 ERR_CROSS_JOIN_SIZE_PROTECTION

TDDL-4616 ERR_UNKNOWN_DATABASE

TDDL-4800 ERR_SET_TXCID

TDDL-4801 ERR_TXCID_NULL

TDDL-4802 ERR_SELECT_LAST_TXCID

TDDL-4994 ERR_FLOW_CONTROL

TDDL-4998 ERR_NOT_SUPPORT

TDDL-4006 ERR_TABLE_NOT_EXIST

DRDS 数据表不存在。

示例:

ERR-CODE: [TDDL-4006][ERR_TABLE_NOT_EXIST] Table '*****' doesn't exist.

该错误表示 DRDS 数据表不存在,或者由于未知原因,DRDS 无法加载数据表的元数据信息。

如果出现该错误,请联系客服或 提工单。

TDDL-4007 ERR_CANNOT_FETCH_TABLE_META

DRDS 无法加载数据表的元数据信息。

示例:

ERR-CODE: [TDDL-4007][ERR_CANNOT_FETCH_TABLE_META] Table '*****' metadata

cannot be fetched because Table '*****.*****' doesn't exist.

该错误表示 DRDS 尝试读取数据表的元数据信息失败。错误原因可能是:

数据表未创建。

分库上的表名被人为删除或改名。

RDS/MySQL 无法连接。

出现该错误时,请首先检查表名是否存在,然后确认 DRDS 后端所有 RDS/MySQL 状态是否正常。

如果确定表名被人为删除或改名,可以通过 RDS/MySQL 的数据恢复功能修复。如果仍无法修复,请联系客服或 提工单 解决此问题。

TDDL-4100 ERR_ATOM_NOT_AVALILABLE

DRDS 后端 RDS/MySQL 暂时不可用。

示例:

ERR-CODE: [TDDL-4100][ERR_ATOM_NOT_AVALILABLE] Atom : ***** isNotAvailable

如果 DRDS 探测到后端某个 RDS/MySQL 实例状态异常,会临时阻止访问该实例并提示 TDDL-4100 错误。当遇到该错误,请检查 DRDS 后端所有 RDS/MySQL 是否异常,并尝试进行恢复。

当 RDS/MySQL 实例从异常状态恢复后,DRDS 将自动解除不可用状态,恢复应用正常访问。

TDDL-4101 ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON

未知原因的 DRDS 后端连接获取失败。

示例:

ERR-CODE: [TDDL-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.

DRDS 在处理请求时会向后端 RDS/MySQL 异步创建连接。如果无法在等待时间内完成 RDS/MySQL 连接创建,而异步任务又尚未返回错误原因,DRDS 会向应用返回 TDDL-4101 错误。

该错误通常是由后端 RDS/MySQL 异常导致的。如果排除 RDS/MySQL 问题后仍然出现该错误,请联系客服或 提工单。

TDDL-4102 ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON

已知原因的 DRDS 后端连接获取失败。

示例:

ERR-CODE: [TDDL-4102][ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON] Get

connection for db '*****' failed because wait millis 5000, active 0,

maxActive 5

DRDS 获取后端 RDS/MySQL 连接时出错,错误原因已经在 ERR-CODE: 消息中给出。

常见 DRDS 后端连接失败的原因有:

后端 RDS/MySQL 连接数已满

RDS/MySQL 连接超时

RDS/MySQL 拒绝连接

如果排除后端 RDS/MySQL 问题后仍然出现该错误,请联系客服或 提工单。

TDDL-4103 ERR_ATOM_CONNECTION_POOL_FULL

DRDS 后端 RDS/MySQL 连接池已满。

示例:

ERR-CODE: [TDDL-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.

该错误表示 DRDS 后端连接池已满。导致 TDDL-4103 错误的常见原因如下:

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

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

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

解决方法建议:

尽量使用框架访问数据库,例如 Spring JDBC,MyBatis 等。</

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值