PolarDB操作报错合集之当使用DTS(数据传输服务)同步的表在目标库中进行LEFT JOIN查询时遇到异常,是什么导致的

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 在使用阿里云的PolarDB(包括PolarDB-X)时,用户可能会遇到各种操作报错。下面汇总了一些常见的报错情况及其可能的原因和解决办法:1.安装PolarDB-X报错、2.PolarDB安装后无法连接、3.PolarDB-X 使用rpm安装启动卡顿、4.PolarDB执行UPDATE/INSERT报错、5.DDL操作提示“Lock conflict”、6.数据集成时联通PolarDB报错、7.编译DN报错(RockyLinux)、8.CheckStorage报错(源数据库实例被删除)、9.嵌套事务错误(TDDL-4604)。

问题一:PolarDB这里是什么原因?


PolarDB这里是什么原因?使用springboot连接polardbx。


参考回答:

driver不对。com.mysql.cj.jdbc.driver 需要用mysql的驱动连PolarDB-X。可以参考 https://doc.polardbx.com/dev-guide/topics/connect-to-polardb-x.html


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/610022


问题二:在PolarDB筛选今天的日期,结果,其它日期的也出来了,什么情况?


在PolarDB筛选今天的日期,结果,其它日期的也出来了,什么情况?


参考回答:

SELECT DATE(t1.AUDIT_CREATE_TIME) FROM temp_info t1 WHERE DATE(t1.AUDIT_CREATE_TIME) = CURDATE()

数据库中的AUDIT_CREATE_TIME列包含时间信息,而不仅仅是日期,那么使用CURDATE()函数可能会导致问题,因为CURDATE()只返回当前日期,没有时间部分。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/608767


问题三:在PolarDB我加这个好像没起效果?


在PolarDB我加这个好像没起效果?现在查询2 秒,想1 秒以内达不到。

SELECT t1.sell_record_id id,t1.sell_record_id,t1.sell_record_code,t1.deal_code_list,t1.sale_channel_code,t1.store_code,t1.shop_code,t1.express_code,t1.delivery_time,t1.plan_send_time,t1.record_time,t1.pay_time,t1.buyer_name,t1.express_no,t1.express_money,t1.payable_money,t1.paid_money,t1.fx_express_money,t1.fx_payable_money,t1.goods_weigh,t1.goods_num,t1.pay_type,t1.is_back,t1.pay_status,t1.order_status,t1.shipping_status,t1.must_occupy_inv,t1.lock_inv_status,t1.is_pending,t1.is_problem,t1.is_combine_new,t1.is_split_new,t1.is_change_record,t1.is_handwork,t1.is_copy,t1.sale_mode,t1.is_fenxiao,t1.is_rush,t1.is_replenish,t1.order_remark,t1.store_remark,t1.buyer_remark,t1.seller_remark,t1.seller_flag,t1.order_type,t1.is_hx,t1.cn_date,t1.return_status,t1.receiver_name,t1.receiver_phone,t1.receiver_mobile,t1.receiver_address,t1.is_bj,t1.bj_je,t1.invoice_status,main.transport_mode,main.virtual_store_code FROM oms_sell_record t1 LEFT JOIN oms_sell_record_main main ON t1.sell_record_code=main.record_code WHERE t1.shop_code IN('tb002','12697403','13961149','14632902','10688625','10805738','10688722','11665749','13706526','14034891','10783567','14765793','12597064','14398503','13552442','13074907','12854030','12697486','12707476','13552464','13236068','13400475','14594666','14590426','14993880','14994782','15016784','jd034','ht036','ht037','15035749','15070232') AND (t1.store_code IN ('WXCK001','WXCK002','WXCK003','WXCK004','WXCK005','WXCK006','WXCK007','WXCK008','SZCK001','JSJCK001','JSJCK002','JSJCK003','JSJCK004','JSJCK005','JSJCK006','JSJCK007','WXCK001-70','SZCK001-20','CGTEST') OR t1.store_code='' OR t1.store_code is NULL) AND t1.is_problem = 1 AND t1.order_status = 0 ORDER BY t1.record_time DESC,t1.sell_record_id DESC LIMIT 0,2000


参考回答:

这个走行存的话,默认并行是会在1s内的 ,你可以通过设置 set use_imci_engine = on/off 来看看列存/行存的执行效率,CALL dbms_outln.add_optimizer_outline('', '', 1, '/+ SET_VAR(use_imci_engine=OFF) /', 'SELECT * FROM t1 WHERE id = 1');

通过这样的 outline 可以辅助固化这一条的计划。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/608629


问题四:PolarDB的DTS 同步的表,在目标库 使用 left join 查询报异常怎么处理?


PolarDB的DTS 同步的表,在目标库 使用 left join 查询报异常怎么处理? Failed to get global lock for table/view 'ordercenter.sell_order' on master 2


参考回答:

我看了下,live数据库在RW2上,ordercenter在RW1上,如果你想关联查询这两张表,要么把这两个库放到一个RW上去,要么建一个RO节点。ALTER DATABASE name POLARDB_WRITE_NODE master_id;

https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/usage-1?spm=a2c4g.11186623.0.0.3f2e4d84v00v4l 如果你想任意rw都可以访问任意db,那是我们正在搞的行级别多写,会更灵活点 这个文档有具体的操作介绍

https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/usage-1?spm=a2c4g.11186623.0.0.3f2e4d84v00v4l


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/608605


问题五:PolarDB的 binlog时间改成了 3 天,为什么历史数据没有清空?


PolarDB的 binlog时间改成了 3 天,也 flush logs 了,为什么历史数据没有清空?


参考回答:

执行 show full binary logs 这个语句,看一下文件的写入时间是不是 3天内的


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/608600



相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
4月前
|
SQL 分布式计算 监控
在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
【2月更文挑战第32天】在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
49 6
|
4月前
|
Cloud Native NoSQL 关系型数据库
数据传输DTS校验问题之校验报错如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
|
2月前
|
关系型数据库 数据库 RDS
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
135 0
|
3月前
|
缓存 NoSQL 关系型数据库
数据传输服务的主要功能
【6月更文挑战第4天】数据传输服务的主要功能
30 3
|
3月前
|
数据库 安全 关系型数据库
数据传输服务
【6月更文挑战第3天】数据传输服务
33 3
|
3月前
|
数据库 关系型数据库 MySQL
数据传输服务是什么?
【6月更文挑战第3天】数据传输服务是什么?
44 2
|
4月前
|
NoSQL 关系型数据库 数据库
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
【2月更文挑战第29天】数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
52 5
|
4月前
|
SQL 数据库
在数据传输服务(DTS)中,当SQL数据迁移报告对象名 'dbo.VQD_Rpt_Report' 无效时
【2月更文挑战第32天】在数据传输服务(DTS)中,当SQL数据迁移报告对象名 'dbo.VQD_Rpt_Report' 无效时
42 1
|
4月前
|
关系型数据库 MySQL 数据挖掘
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
DTS 作为阿里云核心的数据交互引擎,以其高效的实时数据流处理能力和广泛的数据源兼容性,为用户构建了一个安全可靠、可扩展、高可用的数据架构桥梁。阿里云数据库 SelectDB 通过与 DTS 联合,为用户提供了简单、实时、极速且低成本的事务数据分析方案。用户可以通过 DTS 数据传输服务,一键将自建 MySQL / RDS MySQL / PolarDB for MySQL 数据库,迁移或同步至阿里云数据库 SelectDB 的实例中,帮助企业在短时间内完成数据迁移或同步,并即时获得深度洞察。
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
|
4月前
DTS数据传输延迟可能有多种原因
【1月更文挑战第16天】【1月更文挑战第79篇】DTS数据传输延迟可能有多种原因
250 2

相关产品

  • 云原生数据库 PolarDB