背景
最近公司因为需要做Oracle2OceanBase的数据迁移后做测试,但是数据接近2T,对于超大数据表的迁移使用ETL工具,效率太慢了。综合考虑使用OMS,以下是做数据迁移的具体步骤,给大家提供一些借鉴。
一,创建数据源
把源端和目标端添加进去,源断是Oracle_ods,目标端是oceanbase_ods
二,新建迁移项目
选择好源端和目标端后,点击下一步
可以对源端数据进行过滤,同步where条件筛选后的数据
注意
数据迁移只会将源库的数据(结构)复制一份到目标数据库,并不会对源数据(结构)造成影响。
全量数据迁移过程中如果源库有数据更新,这部分更新数据不保证被迁移到目标实例。为保证迁移数据的一致性,建议选择「结构迁移+全量数据迁移+增量数据迁移」。
OMS 从 oracle 备库拉取增量数据时: 当您选择迁移类型中包含增量迁移,反向增量时,如果增量数据拉取出现异常,您可以尝试在主库执行ALTER SYSTEM SWITCH LOGFILE以便推动OMS正常工作。
2.1 点击下一步
等待检查通过就可以执行了
可能遇到的问题
1,目标端数据库 max_allowed_packet 参数小于预期值 64 MB,可能会导致数据迁移性能不佳。对目标端 OceanBase 的情况,建议 MySQL 模式 >= 8MB,Oracle 模式 >= 64MB
- 迁移用户 ODS@oboracle#obcluster 缺少系统权限:SELECT ANY DICTIONARY。
GRANTSELECTANY DICTIONARY TO HNSJZXSC_ZGBXH4
- 迁移用户 ODS@oboracle#obcluster 缺少系统权限:SELECT ANY DICTIONARY。
GRANTSELECTANY DICTIONARY TO HNSJZXSC_ZGBXH4
修改参数校验
修改系统参数,跳过校验
恢复是继续执行迁移任务
任务报错后会停止,修改错误后,点恢复就继续执行任务
版权归原作者 奋进的码哥 所有, 如有侵权,请联系我们删除。