• 使用OMA评估MySQL兼容性


    OMA快速上手

    OMA是一个集采集,评估,回放,验证为一体的OceanBase评估工具,在将数据库从Oracle/MySQL迁移到OB的过程中进行功能和性能的评估,帮助
    用户快速了解整个系统的迁移难度。

    首先先阅读官方提供的文档使用手册
    https://www.oceanbase.com/docs/oceanbase-migration-assessment/oma/V3.2.1/product-features
    文档说明非常全

    评估 MySQL 实例

    官方提供的样例:

    sh bin/start.sh --name task_name \ # 任务的名称,可以随意取值
    --mode ANALYZE \ # 分析模式
    --from-type DB \ # 来源为数据库
    --evaluate-mode SOURCE_TARGET \ # 评估⽅式
    --source-db-type MYSQL \ # 源数据库的类型
    --source-db-version 5.6/5.7/8.0 \ # 源数据库的版本
    --source-db-host 10.10.10.1 \ # 源数据库的地址
    --source-db-port 3306 \ # 源数据库的端⼝
    --source-db-user user \ # 源数据库的⽤⼾名
    --source-db-password pass \ # 源数据库的密码
    --schemas "yewu_test" \ # 需要评估的 Schema,MySQL 暂不⽀持评估多个 Schema
    --target-db-type OBMYSQL \ # ⽬标端的类型,固定值 OBMYSQL
    --target-db-version 2.2.x # ⽬标端的版本,固定值 2.2.x
    

    实验鸡

    192.168.1.11使用docker启动一个MySQL5.7
    并创建库创建表最后写入一些数据。
    最后再安装一个不小于1.8版本的jdk
    

    安装OMA

    去官方下载oma-3.3.0.tar

    解压并进入目录

    tar xvf oma-3.3.0.tar -C /usr/local 
    cd oma-3.3.0.tar
    

    验证MySQL

    如何获取MySQL schemas ?
    https://www.yiibai.com/mysql/show-databases.html

    sh bin/start.sh --name MoveDatabase \
    --mode ANALYZE \
    --from-type DB \
    --evaluate-mode SOURCE_TARGET \
    --source-db-type MYSQL \
    --source-db-version 5.7 \
    --source-db-host 192.168.1.11 \
    --source-db-port 3306 \
    --source-db-user root \
    --source-db-password 123456 \
    --schemas "test" \
    --target-db-type OBMYSQL \
    --target-db-version 2.2.x 
    

    执行输出

    [root@node1 oma-3.3.0]# sh bin/start.sh --name MoveDatabase --mode ANALYZE --from-type DB --evaluate-mode SOURCE_TARGET --source-db-type MYSQL --source-db-version 5.7 --source-db-host 192.168.1.11 --source-db-port 3306 --source-db-user root --source-db-password 123456 --schemas "test" --target-db-type OBMYSQL --target-db-version 2.2.x 
    
       ____                       ____                   __  __ _                 _   _                                                                   _   
      / __ \                     |  _ \                 |  \/  (_)               | | (_)                 /\                                              | |  
     | |  | | ___ ___  __ _ _ __ | |_) | __ _ ___  ___  | \  / |_  __ _ _ __ __ _| |_ _  ___  _ __      /  \   ___ ___  ___  ___ ___ _ __ ___   ___ _ __ | |_ 
     | |  | |/ __/ _ \/ _` | '_ \|  _ < / _` / __|/ _ \ | |\/| | |/ _` | '__/ _` | __| |/ _ \| '_ \    / /\ \ / __/ __|/ _ \/ __/ __| '_ ` _ \ / _ \ '_ \| __|
     | |__| | (_|  __/ (_| | | | | |_) | (_| \__ \  __/ | |  | | | (_| | | | (_| | |_| | (_) | | | |  / ____ \\__ \__ \  __/\__ \__ \ | | | | |  __/ | | | |_ 
      \____/ \___\___|\__,_|_| |_|____/ \__,_|___/\___| |_|  |_|_|\__, |_|  \__,_|\__|_|\___/|_| |_| /_/    \_\___/___/\___||___/___/_| |_| |_|\___|_| |_|\__|
                                                                   __/ |                                                                                      
                                                                  |___/                                                                                       
    
    OceanBase Migration Assessment version : 3.3.0
    Power by Ant Group
    [INFO ] 10:38:43.774 [main] c.a.oceanbase.oma.command.Commander - Start OceanBase Migration Assessment version [3.3.0] ...
    [INFO ] 10:38:43.776 [main] c.a.oceanbase.oma.command.Commander - command parameters : 
    --name MoveDatabase 
    --mode ANALYZE 
    --from-type DB 
    --evaluate-mode SOURCE_TARGET 
    --source-db-type MYSQL 
    --source-db-version 5.7 
    --source-db-host 192.168.1.11 
    --source-db-port 3306 
    --source-db-user root 
    --source-db-password 123456 
    --schemas test 
    --target-db-type OBMYSQL 
    --target-db-version 2.2.x
    [INFO ] 10:38:43.788 [main] c.a.o.o.s.ScheduleServiceImpl - local jdbc jdbc:sqlite:/usr/local/oma-3.3.0/db/oma.sqlite
    [INFO ] 10:38:43.812 [main] c.a.o.oma.common.ds.conf.JdbcHelper - [SQLITE_3.2.0] URL:[jdbc:sqlite:/usr/local/oma-3.3.0/db/oma.sqlite] connect count init:[5] : max[20] properties [{}]
    [INFO ] 10:38:44.067 [main] c.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
    [INFO ] 10:38:44.098 [ScheduleTask] c.a.o.o.scheduler.tasks.ScheduleTask - start process objects/sql now ...
    [INFO ] 10:38:44.102 [ScheduleTask] c.a.o.oma.common.ds.conf.JdbcHelper - [MYSQL_5.7] URL:[jdbc:mysql://192.168.1.11:3306/test] connect count init:[5] : max[20] properties [{autoReconnect=true, useUnicode=true, characterEncoding=utf8, useSSL=false, testWhileIdle=false, failOverReadOnly=true}]
    [INFO ] 10:38:44.268 [ScheduleTask] c.alibaba.druid.pool.DruidDataSource - {dataSource-2} inited
    [INFO ] 10:38:44.287 [PerfEvaluateTask] c.a.o.o.s.t.PerformanceEvaluateTask - start performance evaluate now ...
    [INFO ] 10:38:44.333 [work-thread-3] c.alipay.oceanbase.oma.scanner.c.a.a - ALL BASE TABLE COUNT [1]
    [INFO ] 10:38:44.334 [work-thread-3] c.alipay.oceanbase.oma.scanner.c.a.a - ALL VIEW COUNT [0]
    [INFO ] 10:38:44.341 [work-thread-3] c.alipay.oceanbase.oma.scanner.c.a.a - ALL TRIGGER COUNT [0]
    [INFO ] 10:38:44.344 [work-thread-3] c.alipay.oceanbase.oma.scanner.c.a.a - ALL FUNCTION COUNT [0]
    [INFO ] 10:38:44.346 [work-thread-3] c.alipay.oceanbase.oma.scanner.c.a.a - ALL PROCEDURE COUNT [0]
    [INFO ] 10:38:44.348 [work-thread-3] c.alipay.oceanbase.oma.scanner.c.a.a - ALL EVENT COUNT [0]
    [INFO ] 10:38:44.348 [work-thread-3] c.alipay.oceanbase.oma.scanner.c.a.a - ALL OBJECTS COUNT [ 1 ]
    [WARN ] 10:38:44.348 [work-thread-3] c.a.o.o.scheduler.tasks.CollectTask - scan cost 61 ms
    [INFO ] 10:38:44.348 [work-thread-3] c.a.o.o.scheduler.tasks.CollectTask - ready to collect 1 objects
    [INFO ] 10:38:44.353 [work-thread-3] c.a.o.o.scheduler.tasks.CollectTask - scan finish ...
    [INFO ] 10:38:44.354 [work-thread-3] c.a.o.o.scheduler.tasks.ScheduleTask - task : collect-DB -- 01143 finish ... 
    [INFO ] 10:38:44.355 [ConvertTask] c.a.o.o.scheduler.tasks.ConvertTask - convert process finish ...
    [INFO ] 10:38:44.356 [ConvertTask] c.a.o.o.scheduler.tasks.ScheduleTask - task : convert-task -- 28e4a finish ... 
    [ test(0|0) ] Progress:                                                                                                      |0%  [INFO ] 10:38:45.227 [EvaluateTask] c.a.o.o.scheduler.tasks.EvaluateTask - evaluate process finish ...
    [WARN ] 10:38:45.228 [EvaluateTask] c.a.o.o.scheduler.tasks.EvaluateTask - evaluateCostTime 873 ms dumpCostTime 0 ms
    [INFO ] 10:38:45.228 [EvaluateTask] c.a.o.o.scheduler.tasks.ScheduleTask - task : evaluate-DB -- b96e8 finish ... 
    [ test(0|1) ] Progress:                                                                                                      |0%  [INFO ] 10:38:45.230 [PerfEvaluateTask] c.a.o.o.s.t.PerformanceEvaluateTask - performance evaluate process finish ...
    [WARN ] 10:38:45.230 [PerfEvaluateTask] c.a.o.o.s.t.PerformanceEvaluateTask - performanceEvaluateCostTime 0 ms dumpCostTime 0 ms
    [INFO ] 10:38:45.230 [PerfEvaluateTask] c.a.o.o.scheduler.tasks.ScheduleTask - task : performance-DB -- 4ec2b finish ... 
    [ test(0|1) ] Progress:                                                                                                      |0%  [INFO ] 10:38:45.235 [work-thread-1] c.a.o.oma.scheduler.tasks.TuningTask - tuning process finish ...
    [WARN ] 10:38:45.235 [work-thread-1] c.a.o.oma.scheduler.tasks.TuningTask - turningCostTime 0 ms
    [INFO ] 10:38:45.235 [work-thread-1] c.a.o.o.scheduler.tasks.ScheduleTask - task : tuning-DB -- 6bddd finish ... 
    [INFO ] 10:38:45.466 [ReportTask] c.a.o.oma.scheduler.tasks.ReportTask - evaluate process finish ...
    [INFO ] 10:38:45.467 [ReportTask] c.a.o.oma.scheduler.tasks.ReportTask - report task finish report-DB-da723 finish...1
    [INFO ] 10:38:45.467 [ReportTask] c.a.o.o.scheduler.tasks.ScheduleTask - task : report-DB -- da723 finish ... 
    [INFO ] 10:38:49.288 [ScheduleTask] c.a.o.o.s.ScheduleServiceImpl - finished ...
    [INFO ] 10:38:49.288 [ScheduleTask] c.a.o.o.s.ScheduleServiceImpl - finished running...
    [INFO ] 10:38:49.288 [ScheduleTask] c.a.o.o.s.ScheduleServiceImpl - finished create report...
    [ test(0|1) ] Progress: #################################################################################################### |100%  
    [INFO ] 10:38:49.288 [ScheduleTask] c.a.o.oma.reporter.ReportServiceImpl - report get count : 1
    SCHEMA : test 评估耗时 : 5218 毫秒
    +-------------------------------------------------------------------+
    | schema: schema  | source: sourceDB      | target: targetDB      |
    +-----------------+---------+---------+---------+---------+---------+
    |  Object Type    |  pass   | convert | failure |  total  | percent |
    +-----------------+---------+---------+---------+---------+---------+
    | TABLE           | 1       | 0       | 0       | 1       |  100.0% |
    +-----------------+---------+---------+---------+---------+---------+
    
    ================================================================
    
    [INFO ] 10:38:50.338 [ScheduleTask] c.a.o.o.s.ScheduleServiceImpl - all schema finished ...start Time : [ 2022.03.10 10:38:44 ] end Time : [ 2022.03.10 10:38:50 ] cost time :  6 Sec
    [INFO ] 10:38:50.339 [ScheduleTask] c.a.o.o.s.ScheduleServiceImpl - 评估完成,压缩评估报告,可能需要一定时间,请耐心等待...
    
    
    评估程序OMA运行完成,评估报告简报:
    任务 : MoveDatabase_20220310_103843 开始时间 : 2022.03.10 10:38:44 结束时间 : 2022.03.10 10:38:50
    
    SCHEMA : test 评估耗时 : 5218 毫秒
    +-------------------------------------------------------------------+
    | schema: schema  | source: sourceDB      | target: targetDB      |
    +-----------------+---------+---------+---------+---------+---------+
    |  Object Type    |  pass   | convert | failure |  total  | percent |
    +-----------------+---------+---------+---------+---------+---------+
    | TABLE           | 1       | 0       | 0       | 1       |  100.0% |
    +-----------------+---------+---------+---------+---------+---------+
    
    ================================================================
    
    [root@node1 oma-3.3.0]# 
    

    咳咳,数据量比较小,这个实验仅用于记录。

    评估报告

    命令运行完成后,可在终端查看评估报告的概览,同时也会在 report 目录下生成对应 Task 的评估
    报告。

  • 相关阅读:
    es6-14 Promise
    微信公众号支付 出现的问题
    RedisDesktopManager 打开报0xc000007b程序错误
    easyui 下对radio的选中操作
    谷歌浏览器(Chrome)禁止浏览器缓存 设置
    oracle 中start with 的用法
    Spring JdbcTemplate 调用存储过程
    Object 转化为String时的一个问题 null->"null"
    android/ios js 启动apk
    nexus2.1.2的配置
  • 原文地址:https://www.cnblogs.com/iXiAo9/p/15988434.html
Copyright © 2020-2023  润新知