兼容性判定
公开资料依据 · 建议 PoC 复核支持度partial
严重度critical
置信度medium
依据规则my.partition.exchange
怎么改
目标有原生 EXCHANGE 时逐项映射;否则在受控事务/窗口执行 DETACH/ATTACH、重命名并保留旧分区为 staging;WITHOUT VALIDATION 的越界行若目标不能承载,必须清洗/拒绝并报告行为收紧,或退到继承/手工路由,该状态不可完整复刻;多步方案不得冒充原子交换
判定说明
EXCHANGE PARTITION 为受限支持;建议 PoC 复核校验、锁与原子性
库侧 / 应用侧路径
库侧改造
可行:先比对列序/类型/索引/约束/collation 与边界,预建 CHECK 避免 attach 扫描,再按锁序执行并保存反向操作
应用侧改造
不可行:分区维护优先数据库侧处理
推荐路线:db_side。验证建议:覆盖严格结构一致、边界内外、WITH/WITHOUT VALIDATION、DEFAULT 分区扫描、触发器不触发、自增值、锁时长;逐故障点演练失败恢复/反向 attach,并做双向行数和校验和对账
规则样例
ALTER TABLE sales EXCHANGE PARTITION p2025 WITH TABLE sales_stage
ALTER TABLE sales EXCHANGE PARTITION p0 WITH TABLE stage WITHOUT VALIDATION
ALTER TABLE sales DROP PARTITION p0
参考来源
- https://github.com/oceanbase/oceanbase-doc/blob/2a5ae3a23a51729d065cec716508eb26cb064106/zh-CN/100.learn-more-about-oceanbase/500.compatibility-with-mysql.md
- https://dev.mysql.com/doc/refman/8.4/en/partitioning-management-exchange.html
- https://github.com/pingcap/docs/blob/87b21d6d905ce9d293d57d0a80c1b9592ee932cb/mysql-compatibility.md
相关改造点
- MYSQL → OceanBase 4.3.5 MySQL 模式 全部改造点
- OceanBase 4.3.5 MySQL 模式 兼容性总览
- MYSQL 迁移国产库总览
- ORACLE CONNECT BY 层次查询 迁移 OceanBase 4.3.5 MySQL 模式 怎么改
- ORACLE LEVEL 层次伪列 迁移 OceanBase 4.3.5 MySQL 模式 怎么改
- ORACLE CONNECT_BY_ROOT 层次操作符 迁移 OceanBase 4.3.5 MySQL 模式 怎么改
- ORACLE DECODE 函数 迁移 OceanBase 4.3.5 MySQL 模式 怎么改
- ORACLE ORDER SIBLINGS BY 子句 迁移 OceanBase 4.3.5 MySQL 模式 怎么改
- ORACLE (+) 传统外连接标记 迁移 OceanBase 4.3.5 MySQL 模式 怎么改