---
title: "产品形态 | OceanBase 文档中心"
description: 产品形态 本文为您介绍 OceanBase 迁移评估工具（OceanBase Migration Assessment，OMA）的命令行形式以及命令行的参数。 命令行形式 OMA 直接使用命令行模式运行。 如果是 Windows 环境，请使用 start.bat 。 如果是 Linux 环境，请使用 sh bin/s…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*eTwkRZSHAj0AAAAAAAAAAAAADiGDAQ/original) 迁移评估 OMAV 3.4.0 企业版

# 产品形态

更新时间：2024-03-01 18:15:42

本文为您介绍 OceanBase 迁移评估工具（OceanBase Migration Assessment，OMA）的命令行形式以及命令行的参数。

## 命令行形式

OMA 直接使用命令行模式运行。

- 如果是 Windows 环境，请使用 `start.bat`。
 - 如果是 Linux 环境，请使用 `sh bin/start.sh`。

OMA 工具的一个运行示例如下：

```shell
user@Server1 oma-x.x.x % sh bin/start.sh --name test_11g \
--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  1234 \
--source-db-user user \
--source-db-password password \
--source-db-service-name orcl11g.example.oracle.com \
--schemas "OBDBA" \
--target-db-type OBORACLE \
--target-db-version x.x.xx

   ____                       ____                   __  __ _                 _   _                                                                   _
  / __ \                     |  _ \                 |  \/  (_)               | | (_)                 /\                                              | |  
 | |  | | ___ ___  __ _ _ __ | |_) | __ _ ___  ___  | \  / |_  __ _ _ __ __ _| |_ _  ___  _ __      /  \   ___ ___  ___  ___ ___ _ __ ___   ___ _ __ | |_
 | |  | |/ __/ _ \/ _` | '_ \|  _ < / _` / __|/ _ \ | |\/| | |/ _` | '__/ _` | __| |/ _ \| '_ \    / /\ \ / __/ __|/ _ \/ __/ __| '_ ` _ \ / _ \ '_ \| __|
 | |__| | (_|  __/ (_| | | | | |_) | (_| \__ \  __/ | |  | | | (_| | | | (_| | |_| | (_) | | | |  / ____ \\__ \__ \  __/\__ \__ \ | | | | |  __/ | | | |_
  \____/ \___\___|\__,_|_| |_|____/ \__,_|___/\___| |_|  |_|_|\__, |_|  \__,_|\__|_|\___/|_| |_| /_/    \_\___/___/\___||___/___/_| |_| |_|\___|_| |_|\__|
                                                               __/ |
                                                              |___/

OceanBase Migration Assessment version : x.x.xx
Power by Ant Group
[INFO ] 16:24:27.165 [main] c.a.oceanbase.oma.command.Commander - Start OceanBase Migration Assessment version [x.x.xx] ...
[INFO ] 16:24:27.168 [main] c.a.oceanbase.oma.command.Commander - command parameters :
--name test_11g
--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 1234
--source-db-user user
--source-db-password user
--source-db-service-name orcl11g.example.oracle.com
--schemas OBDBA
--target-db-type OBORACLE
--target-db-version x.x.xx
[INFO ] 16:24:27.179 [main] c.a.o.o.s.ScheduleServiceImpl - local jdbc jdbc:sqlite:./db/oma.sqlite
......
================================================================

[INFO ] 16:25:15.638 [main] c.a.o.o.s.ScheduleServiceImpl - all schema finished ...
[INFO ] 16:25:15.638 [main] c.a.o.o.s.ScheduleServiceImpl - 评估完成,压缩评估报告，可能需要一定时间，请耐心等待...

评估程序OMA运行完成,评估报告简报:
任务 : test_11g-20210527_162427 开始时间 : 2021.05.27 16:24:27 结束时间 : 2021.05.27 16:25:15

SCHEMA : OBDBA 评估耗时 : 47895 毫秒
+-------------------------------------------------------------------+
| schema: schema  | source: sourceDB      | target: targetDB      |
+-----------------+---------+---------+---------+---------+---------+
|  Object Type    |  pass   | convert | failure |  total  | percent |
+-----------------+---------+---------+---------+---------+---------+
| TABLE           | 186     | 0       | 1       | 187     |  99.5 % |
+-----------------+---------+---------+---------+---------+---------+
| PROCEDURE       | 4       | 0       | 0       | 4       |  100.0% |
+-----------------+---------+---------+---------+---------+---------+
| TRIGGER         | 0       | 0       | 1       | 1       |  0.0  % |
+-----------------+---------+---------+---------+---------+---------+
| PACKAGE         | 1       | 0       | 0       | 1       |  100.0% |
+-----------------+---------+---------+---------+---------+---------+
| SEQUENCE        | 2       | 0       | 0       | 2       |  100.0% |
+-----------------+---------+---------+---------+---------+---------+
| INDEX           | 127     | 0       | 0       | 127     |  100.0% |
+-----------------+---------+---------+---------+---------+---------+
| VIEW            | 9       | 0       | 0       | 9       |  100.0% |
+-----------------+---------+---------+---------+---------+---------+
| PACKAGE BODY    | 1       | 0       | 0       | 1       |  100.0% |
+-----------------+---------+---------+---------+---------+---------+

================================================================

```

对于 convert 和 failure 的情况，您可以联系 OMA 的技术服务人员解决问题。

## 命令行参数说明

除 `DuseUidToSchemaMap` 和 `DuserAndPassword` 前使用单横线（-）外，其它参数统一使用双横线（--）输入。下表为您介绍 `start.sh` 脚本的各项参数。

| 参数 | 描述 | 可选值 | 默认值 | 适用场景 |
| --- | --- | --- | --- | --- |
| name | 任务的名称。 | 任意字符串 | 随机生成唯一 ID | 所有场景 |
| mode | 任务模式。 | - analyze：表示分析，通常使用该值。 - evaluate：表示分析单条 SQL 语句。 | analyze | 所有场景 |
| target-db-type | 目标端的类型。 | OBORACLE / OBMYSQL | - 源端为 Oracle 时，目标端为 OBORACLE。 - 源端为 MySQL 和 TiDB 时，目标端为 OBMYSQL。 - 源端为 DB2 LUW 时，目标端支持 OBORACLE，以及 3.2.3 版本的 OBMYSQL。 - 源端为 PostgreSQL 时，目标端支持 OBMYSQL，以及 3.2.3 版本的 OBORACLE。 | 所有场景 |
| target-db-version | 目标端的版本。 | 2.2.50、2.2.70、3.1.20、3.2.1 和 3.2.2   - 2.2.50 表示 2.2.5x 版本 - 2.2.70 表示 2.2.7x 版本 - 3.1.20 表示 3.1.x 版本 - 3.2.1 表示 3.2.1版本 - 3.2.2 表示 3.2.2 版本 | Oracle 和 DB2 LUW 为 3.1.2，MySQL、PostgreSQL 和 TiDB 为固定值 2.2.x | 所有场景 |
| target-db-host | 目标端的地址。 | -- | 无默认值 | 回放场景 |
| target-db-port | 目标端的端口。 | -- | 无默认值 | 回放场景 |
| target-db-user | 目标端的用户名。 | -- | 无默认值 | 回放场景 |
| target-db-password | 目标端的密码。 | -- | 必填，无默认值 | 回放场景 |
| target-db-schemas | 目标端的 Schemas。 | -- | 必填，无默认值 | 回放场景 |
| source-file | 当数据来源为 TEXT、Mybatis、iBatis 或 OMA 时使用，表示来源的文件路径。 | Mybatis 和 iBatis 模式支持文件夹，其它模式仅支持单个文件 | 必填，无默认值 | 所有场景 |
| from-type | 数据来源。 | - DB：数据库 - TEXT：文本文件 - Mybatis：Mybatis 文件 - iBatis：iBatis 文件 - COLLECT：采集 SQL - OMA：OMA 工具导出的文件 - SINGLE：单条 SQL | 必填，无默认值 | 兼容性评估 |
| evaluate-mode | 评估类型。 | - SOURCE_TARGET：使用源端数据库和目标端数据库的语法对比进行评估。 - ONLY_TARGET：仅适用目标端数据库的语法进行评估。 - ONLY_INSTANCE：存在目标端 OceanBase 数据库时使用。 - APPLICATION_CODE：评估 C 语言或 Java 语言的代码。 | 必填，无默认值 | 兼容性评估 |
| source-db-type | 来源数据库的类型。 | 支持 ORACLE、MYSQL、POSTGRESQL、TIDB、DB2 LUW、RDS MYSQL、POLARMYSQL、POLARO 和 DRDS。 | ORACLE | 兼容性评估 |
| source-db-version | 来源数据库的版本。 | - Oracle：11g/12c/18c/19c - MySQL：5.6/5.7/8.0 - PostgreSQL：10/11/12/13/14，忽略小版本号 - TiDB：3.0/4.0/5.0，忽略小版本号 - DB2 LUW：10.1.0/10.5.0/11.1/11.5 - DRDS：3.2.3.0 | Oracle 数据库的默认值为 11g，其它类型的数据库暂无默认值 | 兼容性评估 |
| source-db-host | 源数据库的地址。 | -- | 必填，无默认值 | 兼容性评估 |
| source-db-port | 源数据库的端口。 | -- | 必填，无默认值 | 兼容性评估 |
| source-db-user | 源数据库的用户名。 | 如果用户名中有空格，需要使用引号将用户名引起来。例如，"'sys as dba'"。 | 必填，无默认值 | 兼容性评估 |
| source-db-password | 源数据库的密码。 | -- | 必填，无默认值 | 兼容性评估 |
| source-db-sid | 源数据库的 SID。 | -- | 和 `source-db-service-name` 任选其一，无默认值 | 兼容性评估 |
| source-db-service-name | 源数据库的 Service name，您也可以替换为 `source-db-sid` 表示 SID。 | -- | 和 `source-db-sid` 任选其一，无默认值 | 兼容性评估 |
| source-db-name | 当源端为 DB2 LUW 数据库时，用于指定该数据库的名称。 | -- | 必填，无默认值 | 兼容性评估 |
| schemas | Schema。 | - 如果是 Oracle 数据库，可以指定多个，使用英文逗号（,）分隔。 - 如果是 PostgreSQL 数据库，由于其特殊性，需要将 DB 和 Schema 写一起，用英文句号（.）分隔。 - 如果是 TiDB 数据库，暂不支持评估多个 Schema。 | 必填，无默认值 | 兼容性评估 |
| objects | 需要评估的对象，使用英文逗号（,）分隔。 | "TABLE,INDEX,VIEW,SEQUENCE, SYNONYM,FUNCTION, PROCEDURE, PACKAGE,TRIGGER,PACKAGE BODY, TYPE,TYPE BODY" | 全部对象 | 兼容性评估 |
| collect-start-time | 数据来源为 COLLECT 时使用，表示收集的起始时间。 字符串，格式为 "YYYY-MM-DD HH:mm:ss"。 | -- | 必填，无默认值 | 兼容性评估 |
| collect-during-time | 数据来源为 COLLECT 时使用，表示收集的持续时间（分钟）。 | 整数，单位为分钟 | 必填，无默认值 | 兼容性评估 |
| collect-loop | 数据来源为 COLLECT 时使用，表示是否持续采集。 | 布尔值，有此参数为 true | false | 兼容性评估 |
| collect-interval | 数据来源为 COLLECT 时使用，表示收集的时间间隔（秒）。 | 整数，单位为秒 | 必填，无默认值 | 兼容性评估 |
| store-in-db | 是否存储结果至数据库中。OMA 工具自带一个 SQLite 数据库，可以存储结果至该数据库中。 | - true：表示存储结果至数据库中 - false：表示不存储结果至数据库中 | false | 兼容性评估 |
| collect-filter | 过滤条件。 | 自定义过滤条件。 `--collect-filter "1=1"` 的情况将不进行任何过滤 | 没有该参数的情况下，默认过滤条件为 `COMMAND_TYPE=3 AND SERVICE!='SYS@USERS'` | 兼容性评估 |
| collect-end-time | 采集结束时间。 | 例如，2021-04-07\ 19:00:51，请注意中间的空格有 \ 转义符。 | 必填，无默认值 | 兼容性评估 |
| scan-sql | 采集执行的 SQL 语句。 | 指定 SQL 语句，语句需要使用双引号引起来。同时，如果 SQL 语句中引用了表名带有 $ 的表，需要进行转义。   例如，`--scan-sql "\"SELECT sql_fulltext FROM v\\\$sql where rownum < 10\""` | 无默认值 | 兼容性评估，且 `from-type` 为 `COLLECT`、源端为 `Oracle` |
| task-interval | 不填写该参数表示只采集一次，否则每隔指定秒数会重新运行一次任务，适用于长期采集任务。 | -- | 无默认值 | 兼容性评估 |
| collect-filter | 自定义过滤条件。添加为 " " 的情况将不进行任何过滤，注意中间有个空格。 | -- | 无默认值 | 兼容性评估 |
| useUidToSchemaMap | 使用 Oracle 负载信息解析 11g 的 Oracle 文件时，该参数用于表示 UID 至 Schema 的映射关系。    **注意：**    该参数前使用的是单横线（-）。 | 使用冒号（:）分隔用户的 UID 和 Schema 名称，多个映射关系之间使用英文逗号（,）分隔。    例如，`-D useUidToSchemaMap=11:SCHEMA1,22:SCHEMA2` | 必填，无默认值 | 性能评估 |
| replay-phase | 回放流程。 回放包括采集、分析和发送三个阶段，该参数指定当前命令对应的阶段。 | COLLECT、ANALYZE 和 SEND 如果选择 COLLECT，且 with-reduce 参数配置为 true，则采集和分析阶段合并到一条命令运行。 | 必填，无默认值 | 性能评估 |
| with-reduce | 是否合并采集和分析阶段。 通过指定该参数可以将采集阶段和分析阶段合并到一条命令运行。 | 如果填写该参数，表示 true。如果未填写该参数，表示 false。 如果该参数为 true，则 replay-phrase 参数只能选择 COLLECT。 | false | 性能评估 |
| nls-format | OceanBase 数据库端的 date format 格式，用于转换 date 格式。   使用 `show variables like '%nls%format%';`查看具体的 nls 配置。 | -- | 如果不填写该参数，默认为 "DD-MON-RR" | 性能评估 |
| split-count | 分片数。 | -- | 必填，无默认值 | 性能评估 |
| source-tenant | 需要采集的租户名称。 | -- | 必填，无默认值 | 性能评估 |
| parallel-count | 并行处理线程数。 | 线上库使用 20。 | 5 | 性能评估 |
| replay-process-name | 回放进程的名称。 | -- | 无默认值 | 性能评估 |
| delay-start-time | 开始回放的时间。例如，`delay-start-time 5`，表示 5 秒后开始回放。 | -- | 无默认值 | 性能评估 |
| replay-scale | 回放倍数，默认按照原始速度回放。 | -- | 1 | 性能评估 |
| warm-up | 系统预热时间。由于回放时存在冷启动问题，需要配置一个预热时间，单位为秒。 | -- | 0 | 性能评估 |
| replay-sample | 抽样率，0~1 之间。默认为 1，即全抽样。 | -- | 1 | 性能评估 |
| max-parallel | 最大线程数。 | 不能超过 400。 | 400 | 性能评估 |
| target-db-tenant-cluster | 租户和集群名，使用#分开。前面是租户，后面是集群。目前多个 USER 回放仅支持同一租户下的多用户。 | -- | 无默认值 | 性能评估 |
| userAndPassword | 登录的用户名和密码。    **注意：**    该参数前使用的是单横线（-）。 | 使用冒号（:）分隔用户名和密码，每组之间使用英文逗号（,）分隔。 例如，`-D userAndPassword=user1:password1,user2:password2` | 无默认值 | 性能评估 |
| hide-detail | 报告中是否隐藏评估语句细节。 | 指定该参数时，报告中不显示待评估的语句，仅显示评估结果。不指定该参数时，正常生成报告。 | 默认为不指定该参数，正常生成报告。 | 兼容性评估 |
| tuning-mode | 开启调优模式。 | 如果填写该参数，表示 true。如果不填写该参数，表示 false。 | 无默认值 | 兼容性评估 |
| metadata-from | 调优需要的数据库信息来源。如果未填写 tuning-mode 参数，则无需指定该参数。 | 目前仅支持 jdbc。 | jdbc | 兼容性评估 |

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
