oracle迁移mysql总结

  1. mybatis语句改造
    日期函数,分页关键字,经纬度,自增主键
  2. 数据导入
    navicat or datax
    数据验证 datax的导入成功的比例
    测试验证:使用goreplay将老编排服务复制流量复制新编排服务对返回结果进行对比
  3. 迁移方案
    两套集群,回滚方案
  4. 具体实施
  • 网关断流
  • 新老集群服务停止
  • 灰度测试数据清空
  • 导数据
  • 导灰度测试订单
  • 测试验证
  • 网关接流
  • 测试端测
    其中还包括域名的切换,报表服务nas的挂载
  1. 迁移总结
  • 迁移前
    灰度环境测试演练
  • 迁移中
    严格按照迁移前的演练
  • 迁移后
    日志巡检,监控,问题查证。
  1. 遇到问题
    mybatis sql改造部分服务自增主键迁移漏掉
    datax json脚本问题:字段关键字,主键字段不对,缺失部分表(管理平台权限)
    生产导入:内存溢出oom
    主键自增,字段类型,索引新增 数据量非常缓慢

数据库问题测试环境5.x,dba通知生产8.x
安装时需要忽略表名大小写
数据库连接池 dba将wait_timeout 更改为2100s不是默认的8h
hikari连接池配置更改

hikari.minimum-idle: 10

hikari.idle-timeout: 180000

hikari.maximum-pool-size: 50

hikari.auto-commit: true

hikari.max-lifetime: 1200000

hikari.connection-timeout: 30000

hikari.connection-test-query: SELECT 1 FROM DUAL

压测问题:某列表接口tps低,吞吐低,程序未报错,初步怀疑redis问题,redis性能基准测试没问题。
日志没采集,本地日志报获取不到连接,怀疑慢查询,dba导出慢查询日志,存在慢查询日志,但是查询时速度却很快
后加上索引重新压测满足条件。单个查询快并不代表高并发查询快。该加索引还得加。mysql太精致了。

切割当晚:
运维流程不规范(灰度验证环境服务没停导致新库部分表产生脏数据)
灰度测试订单脚本问题导入新库报错(后市场对账单发现缺失订单)
缺失部分表导致管理界面菜单列表未显示(此问题测试,灰度,割接当晚均出现)

网络问题: 三方回调,支付回调,新网关域名,
mysql到新服务的网络策略

https://www.csdn.net/tags/NtzaQg2sMzczOC1ibG9n.html

posted @ 2022-06-04 18:14  java渣渣  阅读(171)  评论(0编辑  收藏  举报