oma-3.1.10.tar.gz
2. 上传至OB主机解压
3. 打开目录下的readme.txt
## OMA快速上手
OMA是一个集采集,评估,回放,验证为一体的OceanBase迁移评估工具,在将数据库从Oracle/MySQL迁移到OB的过程中进行功能和性能的评估,帮助 用户快速了解整个系统的迁移难度。
### 评估一个Oracle实例的对象
sh bin/start.sh --name task_name \ # 任务名称,可随意取值 --mode ANALYZE \ # 分析模式 --from-type DB \ # 来源为数据库 --evaluate-mode SOURCE_TARGET \ # 评估方式,如果是oracle请使用SOURCE_TARGET --source-db-type ORACLE \ # 来源数据库类型 --source-db-version 12c \ # 来源数据库版本 --source-db-host 111.222.333.44 \ # 来源数据库地址 --source-db-port 1521 \ # 来源数据库端口 --source-db-user user \ # 来源数据库用户名 --source-db-password password \ # 来源数据库密码 --source-db-service-name serv.localdomain \ # 来源数据库service-name/也可以换成 --source-db-sid 表示SID --schemas "SCHEMA1,SCHEMA2" \ # 需要评估的schema,多个可以用,分割,需要大写 --target-db-type OBORACLE \ # 目标类型,只能填OBORACLE --target-db-version 2.2.70 # 目标版本,2.2.70表示2.2.7X版本和3.X,不用特意区分
### 评估一个MySQL实例
sh bin/start.sh --name task_name \ # 任务名称,可随意取值 --mode ANALYZE \ # 分析模式 --from-type DB \ # 来源为数据库 --evaluate-mode ONLY_TARGET \ # 评估方式,如果是mysql请使用ONLY_TARGET --source-db-type MYSQL \ # 来源数据库类型 --source-db-version 5.7 \ # 来源数据库版本 --source-db-host 100.11.22.33 \ # 来源数据库地址 --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
### 评估Oracle的SQL语句(从GV$SQL中采集)
sh bin/start.sh --name test_11g \ # 任务名称,可随意取值 --mode ANALYZE \ # 分析模式 --from-type COLLECT \ # 来源为从数据库采集 --collect-start-time "2020-04-07\ 15:30:00" \ # 采集的SQL的开始时间,注意时间中间的空格需要\转义 --collect-end-time "2020-04-07\ 16:30:00" \ # 采集的SQL的结束时间,注意时间中间的空格需要\转义,无此参数表示到当前时间 --evaluate-mode SOURCE_TARGET \ # 评估方式,如果是oracle请使用SOURCE_TARGET --source-db-type ORACLE \ # 来源数据库类型 --source-db-version 11g \ # 来源数据库版本 --source-db-host 11.159.61.XX \ # 来源数据库地址 --source-db-port 1521 \ # 来源数据库端口 --source-db-user aaaaa \ # 来源数据库用户名 --source-db-password bbbbb \ # 来源数据库密码 --source-db-service-name orcl11g.us.oracle.com \# 来源数据库service-name/也可以换成 --source-db-sid 表示SID --schemas "OBDBA" \ # 需要评估的schema,不支持多schema --target-db-type OBORACLE \ # 目标端类型 --target-db-version 2.2.70 \ # 目标端版本 --collect-filter "COMMAND_TYPE=3" # 【注意】可选参数,评估中的附加过滤条件 --task-interval 15 # 【注意】可选参数,有此参数表示每隔15秒重新运行一次评估,重新运行的开始时间为上次的结束时间,结束时间为当前时间,用来不间断采集SQL进行评估
### 从文本进行评估 文本中的SQL必须以单行的$$标识符进行分割,如 SELECT * FROM A; $$ SELECT * FROM B; $$ SELECT * FROM C; $$
sh bin/start.sh --name test_11555g \ --mode ANALYZE \ --from-type TEXT \ --evaluate-mode SOURCE_TARGET \ --source-file "/Users/wuyinghao/Downloads/test.sql" \ # 文本文件路径 --source-db-type ORACLE \ --source-db-version 11g \ --schemas DEFAULT \ --target-db-type OBORACLE \ --target-db-version 2.2.70 \ --process-thread-count 5
### 查看报告
评估完成以后,会在report文件夹下面看到对应的报告,并且会在结束后在控制台打印出简报:
评估程序OMA运行完成,评估报告简报: 任务 : task_name-XXXXXXX 开始时间 : 2021.01.02 18:24:34 结束时间 : 2021.01.02 18:25:50
SCHEMA : yewu_test 评估耗时 : 75927 毫秒 +-------------------------------------------------------------------+ | schema: schema | source: sourceDB | target: targetDB | +-----------------+---------+---------+---------+---------+---------+ | Object Type | pass | convert | failure | total | percent | +-----------------+---------+---------+---------+---------+---------+ | TABLE | 360 | 0 | 2 | 362 | 99.4 % | +-----------------+---------+---------+---------+---------+---------+ | PROCEDURE | 1 | 0 | 0 | 1 | 100.0 % | +-----------------+---------+---------+---------+---------+---------+ | TYPE | 2 | 0 | 0 | 2 | 100.0 % | +-----------------+---------+---------+---------+---------+---------+ | VIEW | 3 | 0 | 0 | 2 | 100.0 % | +-----------------+---------+---------+---------+---------+---------+
### 命令行模式
命令行模式用来对单条SQL语句进行快速评估 直接使用 sh bin/start.sh --mode CONSOLE 进入命令行模式,输入以后屏幕会出现以下打印,并开启内部shell:
======================================== 欢迎使用 OMA 命令行交互模式,直接对SQL语句进行评估
请在命令行直接输入你的SQL语句,并以$$为结尾行,系统将自动对SQL进行评估 输入oracle并回车,切换为oracle模式,输入mysql并回车,切换为mysql模式 exit 或者 Ctrl+D结束程序;Ctrl+C取消本次输入
示例 : 评估Oracle OMA >> (ORACLE MODE) ] oracle SELECT * FROM AA $$
OMA >> (ORACLE MODE) ]
======================================== 可以直接在终端输入SQL语句,换行加$$结尾完成输入,可以获得此SQL的评估结果,用来进行快速验证,默认使用oracle模式, 如需切换为mysql,直接输入mysql并回车,控制台将变成mysql模式: OMA >> (MYSQL MODE) ]
有问题或者有DB-Replay需求,请联系:yinghao.wyh@alipay.com |
4. 兼容性评估测试
sh bin/start.sh --name test_tbcs_sms \--mode ANALYZE \--from-type DB \--evaluate-mode SOURCE_TARGET \--source-db-type ORACLE \--source-db-version 11g \--source-db-host xxx.xxx.xxx.xxx \--source-db-port 1521 \--source-db-user dbauser \ # 用户需要访问数据字典的权限,建议是DBA角色--source-db-password xxxxxx \--source-db-service-name xxxxxx \--schemas "SMS,TBCS"\ # 这里schema需要大写!--target-db-type ORACLE \--target-db-version 2.2.70
执行效果如下:

5. 查看评估报告

进入到report目录下面,可以把zip包下载到windows服务器,用浏览器查看

浏览器查看


可以查看具体的兼容性详情



目前主要还是DBLINK不兼容。

更多精彩干货分享
点击下方名片关注
IT那活儿





