首批通过分布式安全可靠测评,为关键业务系统打造
修改系统参数
更新时间:2026-04-14 15:40:38
OceanBase 迁移服务(OceanBase Migration Service,OMS)社区版支持 Admin 用户修改系统参数,普通用户仅支持查看系统参数。
操作步骤
登录 OMS 社区版控制台。
在左侧导航栏,单击 系统管理 > 系统参数。
系统参数 页面为您详细列举每个配置项的 参数名称、取值、所属模块、描述 和 修改时间。
参数 描述 默认值 struct.obkv.createtable 迁移 HBase 数据库的数据至 OBKV 时,您可以通过修改该参数的取值,来设置全局任务的结构迁移默认在 OBKV 中的建表语句。 create table if not exists {TABLE_NAME} (Kvarbinary(1024) not null,Qvarbinary(256) not null,Tbigint not null,Vvarbinary(1048576),primary key(K,Q,T)) partition by key(K) partitions 64;mysql_to_obmysql.charset.mapping MySQL 数据库至 OceanBase 社区版的数据迁移任务中,对不支持编码的转换规则。 []
例如,[{"charset":"utf16le","mappedCharset":"utf16"},{"charset":"*","mappedCharset":"utf8mb4"}]sync.unified.config OMS 社区版同步任务统一配置项,包含: enableHadoopVendorsKafkaServer:是否为 Hadoop 版 Kafka。disableIdentificationAlgorithm:当创建需要 SSL 认证的 Kafka 数据源时,默认对 Kafka 地址进行主机名(域名)验证。如果所提供的 SSL 根证书没有该 Kafka 地址信息,您可以将该参数设置为true,即关闭主机名验证。checkStoreStartedMinSyncProcess:判断 Store 是否启动正常的最小拉取进度,默认为 3 秒,支持动态配置。
只有 Store 处于运行中,且拉取进度超过所配置的最小拉取进度后,才会认为 Store 启动成功,开始进入全量阶段。fullJvmMem:全量 Connector 初始化内存,默认为 4096 MB。incrJvmMem:增量 Connector 初始化内存,默认为 2048 MB。
{"enableHadoopVendorsKafkaServer":false,"checkStoreStartedMinSyncProcess":3,"fullJvmMem":4096,"incrJvmMem":2048} sync.ddl.supported 数据同步任务支持的 DDL 类型。 {"supportConfigs":{"ADB_SINK":["ALTER_TABLE","ALTER_TABLE_ADD_COLUMN","ALTER_TABLE_MODIFY_COLUMN"],"DATAFLOW_SINK":["ALTER_TABLE","ALTER_TABLE_ADD_COLUMN","ALTER_TABLE_MODIFY_COLUMN"]}} sync.connnector.max.size 用于控制数据同步任务的最大数量。 2 struct.transfer.config 结构迁移任务执行相关的配置值。 {"dbcat.ob.query.timeout":15,"ob.parallel":4,"independent.obj.convert.batch.size":50,"independent.obj.convert.partition.size":10,"independent.obj.execute.batch.size":50,"independent.obj.execute.partition.size":2,"independent.core.pool.size":256,"independent.max.pool.size":256,"independent.queue.capacity":16,"checkenable":true} store.topic.mode.config 用于控制 OMS 社区版对数据同步任务中 Store Subtopic 白名单的构造规则。 - OceanBase Store Subtopic 支持不共享模式和共享模式,共享模式包括集群共享和租户共享。
字段oceanbase下,mode包括UN_SHARE(非共享)、DATABASE(数据库级别)、OCEANBASE_TENANT(租户级别)和OCEANBASE_CLUSTER(集群级别),mode_num表示指定模式下的最大订阅粒度。- 集群共享:此时同一个集群下的 Store 复用,租户下的配置无效,会复用第一个创建的 Store。当该 Store 的位点不满足时,才会创建新的 Store。
- 租户共享:
当mode_num为 1 时,不同租户会创建不同的 Store。
当mode_num大于 1 时,会出现多个租户共用一个 Store 的情况。受影响的租户数为mode_num的取值-1,会复用第一个创建的 Store。当该 Store 的位点不满足时,才会创建新的 Store。
- MySQL Store Subtopic 目前仅支持根据服务实例粒度订阅。
字段mysql下,mode目前支持INSTANCE(实例级别)和UN_SHARE(非共享)。
{"oceanbase":{"mode":"OCEANBASE_TENANT","modeNum":1},"mysql":{"mode":"INSTANCE","modeNum":1}} precheck.skippable_flags 是否可以跳过预检查。对于失败的预检查项,如果您确认不会影响后续使用,可以修改 precheck.skippable_flags的配置项为 true,该参数的值为 JSON。例如:{ "DB_ACCOUNT_FULL_READ_PRIVILEGE": true, "DB_ACCOUNT_INCR_READ_PRIVILEGE":true, "DB_SERVICE_STATUS":true }
不同预检查项对应的值请参见下文《预检查项说明》模块的内容。{} ops.store.max_count_per_subtopic 一个子 topic 下最多可以启动多少个 Store 进程。里面的值代表最多可以启动的个数。 6 oms.user.password.expiration.date.config 该参数用于控制用户密码的过期策略。 {"rootRolePasswordValidityDays":90,"rootViewerRolePasswordValidityDays":90,"adminRolePasswordValidityDays":90,"adminViewerRolePasswordValidityDays":90,"userRolePasswordValidityDays":90,"userViewerRolePasswordValidityDays":90,"userPasswordValidityDaysTipsThreshold":30} oms.captcha.enable 验证码开关,默认关闭。修改为 true 后,登录页面会展示图片验证码,验证码 10 分钟超时失效。此时登录 OMS 社区版需要输入图片验证码的内容,超时或输入错误都会导致登录失败。 false obmysql41_to_obmysql40_and_earlier.collation.mapping 迁移 OceanBase 社区版 V4.1.0 的数据至 OceanBase 社区版 V4.1.0 之前版本时,数据迁移任务对不支持字符序的转换规则。 [{"collation":"latin1_swedish_ci","mappedCollation":"utf8mb4_general_ci"}] obmysql41_to_obmysql40_and_earlier.charset.mapping 迁移 OceanBase 社区版 V4.1.0 的数据至 OceanBase 社区版 V4.1.0 之前版本时,数据迁移任务对不支持编码的转换规则。 [{"charset":"latin1","mappedCharset":"utf8mb4"}] mysql_to_obmysql.collation.mapping MySQL 数据库至 OceanBase 数据库 MySQL 租户的数据迁移任务中,对不支持字符序的转换规则。 []
例如,[{"collation":"utf16le_general_ci","mappedCollation":"utf16_general_ci"},{"collation":"*","mappedCollation":"utf8mb4_general_ci"}]alarm.thresholds 告警相关阈值集合。 failedLengthOfTimeThreshold:任务失败告警阈值。syncDelayThreshold:同步任务告警延迟阈值。syncFailedLengthOfTimeThreshold:同步任务失败时间告警阈值。migrateDelayThreshold:迁移任务告警延迟阈值。migrateFailedLengthOfTimeThreshold:任务失败时间告警阈值。alarmRestrainTimeOfMin:针对不同告警等级的告警抑制时间。HIGH:高保护状态。MEDIUM:中保护状态。LOW:低保护状态。IGNORE:无保护状态。
{"delayThreshold":{"HIGH":30,"MEDIUM":300,"LOW":900},"failedLengthOfTimeThreshold":{"HIGH":30,"MEDIUM":300,"LOW":900},"alarmRestrainTimeOfMin":{"HIGH":3,"MEDIUM":3,"LOW":3,"IGNORE":100},"rule":"OMS_CONFIG_RULE_ALARM_THRESHOLDS"} mysql.store.metabuilder.filter MySQL Store 是否根据白名单过滤 meta 信息。取值包括 true 和 false: - 配置为 true,表示根据白名单进行过滤。
- 配置为 false,表示不过滤,会拉取所有 meta 信息。
false migration.timeout 执行迁移对象超时配置。 {"ddl.timeout.in.private.cloud": 172800000, "ddl.timeout.in.public.cloud": 172800000} migration.record.init.batch_size 结构迁移记录初始化批大小。 100 migration.mysql.support_datatypes 数据迁移的 MySQL 源端支持字段类型白名单。里面的值代表 MySQL 支持的字段类型数组。里面的一个元素等于一个 MySQL 字段类型。 [] migration.mysql.support_collations 数据迁移的 MySQL 源端支持字符序白名单。 ["binary","gbk","gb18030","utf8mb4","utf16","utf8"] migration.mysql.support_charsets 数据迁移的 MySQL 源端支持编码白名单。里面的值代表 MySQL 支持的编码数组。里面的一个元素等于一个 MySQL 编码。 ["binary","utf8mb4","utf8"] migration.db.support_versions 数据迁移对源端数据库版本的支持情况。 键是数据库类型,值是对数据库版本的正则匹配表达式。 "MYSQL": "(5.5\|5.6\|5.7\|8.0).*":表示 OMS 社区版支持 MySQL 数据库 V5.5、V5.6、V5.7 和 V8.0。"MARIADB": "10.\[12345\].\*":表示 OMS 社区版支持 MariaDB V10.1.0~V10.5.9 版本。"POSTGRESQL": "(10).\*":OMS 社区版支持 PostgreSQL 数据库 V10.x。
{ "MYSQL": "(5.5|5.6|5.7|8.0).*", "MARIADB": "10.[12345].*", "POSTGRESQL": "(10).*"} migration.db.dest.support_versions 数据迁移对目标端数据库版本的支持情况。 {"POLARDB_X_1": {"OB_MYSQL": "(1 2 3).*"}} migration.checker.params.steady Checker 平稳档位的配置值。 limitator.platform.threads.number:线程数。limitator.select.batch.max:全量迁移/校验查询批大小。limitator.image.insert.batch.max:全量迁移插入批大小。limitator.datasource.connections.max:连接数。如果并发数超过连接数,并发数据将无效。limitator.java.opt:JVM 参数配置。
{"limitator.platform.threads.number": 4, "limitator.select.batch.max": 200, "limitator.image.insert.batch.max": 100,"limitator.datasource.connections.max":50, "limitator.java.opt":"-server -Xms4g -Xmx4g -Xmn2g -Xss256k"} migration.checker.params.normal Checker 正常档位的配置值。 limitator.platform.threads.number:线程数。limitator.select.batch.max:全量迁移/校验查询批大小。limitator.image.insert.batch.max:全量迁移插入批大小。limitator.datasource.connections.max:连接数。如果并发数超过连接数,并发数据将无效。limitator.java.opt:JVM 参数配置。
{"limitator.platform.threads.number": 8, "limitator.select.batch.max": 600, "limitator.image.insert.batch.max": 200,"limitator.datasource.connections.max":50, "limitator.java.opt":"-server -Xms8g -Xmx8g -Xmn4g -Xss256k"} migration.checker.params.fast Checker 快速档位的配置值。 limitator.platform.threads.number:线程数。limitator.select.batch.max:全量迁移/校验查询批大小。limitator.image.insert.batch.max:全量迁移插入批大小。limitator.datasource.connections.max:连接数。如果并发数超过连接数,并发数据将无效。limitator.java.opt:JVM 参数配置。
{"limitator.platform.threads.number": 32, "limitator.select.batch.max": 1200, "limitator.image.insert.batch.max": 400,"limitator.datasource.connections.max":50, "limitator.java.opt":"-server -Xms16g -Xmx16g -Xmn8g -Xss256k"} ha.config HA 开关。详情请参见 修改高可用功能的配置。 {"enable":false,"enableHost":false,"enableStore":true,"enableConnector":true,"enableJdbcWriter":true,"subtopicStoreNumberThreshold":5,"checkRequestIntervalSec":600,"checkHostDownIntervalSec":540,"checkModuleExceptionIntervalSec":240,"clearAbnormalResourceHours":72} oms.telemetry OMS 支持 Telemetry(遥测), enabled为true表示打开。详情请参见 Telemetry 参数说明{"url":"https://openwebapi.oceanbase.com","enabled":true} oms.ce.plugin.log.clean OMS 社区版 V4.2.3-CE 及之后版本支持的日志清理功能。开启该功能后,每小时运行一次,用于清理不需要的日志,可以避免日志占用磁盘空间过大的问题。 logCleanSwitch:是否开启日志清理,默认值为false(关闭)。fuzzyLogNames:需要清理的日志名称,您可以写全名,也可以使用通配符 *(匹配所有)或 ?(匹配一位)。logRetentionMinutes:日志保留时间。默认值为-60,表示清理当前时间提前一小时之前的日志。
{"logCleanSwitch":false,"fuzzyLogNames":["congo_20*","liboblog.log.20*","libobcdc.log.20*","connector.20*","common-default.log.20*","check_query.log.20*","common-error.log.20*","oms-ha.log.20*","oms-scheduler.log20*","oms-web.log.20*","oms-step.log.20*","oms-alarm.log.20*","connection-error.log.20*","database.log.20*","oms-api.log.20*","oms-integration.20*","cm-web.log.20*","dao-digest.log.20*","service.log.20*"],"logRetentionMinutes":-60} 单击目标参数 取值 列下的编辑图标。
在 修改取值 对话框中,配置 取值,您也可以 恢复默认值。
单击 确定。
预检查项说明
配置 precheck.skippable_flags 时,您可以根据下表查询 JSON 中的 key,值为 true 表示可跳过,值为 false 表示不可以跳过。例如,设置唯一键检查和外键检查的预检查项为可跳过,则在 precheck.skippable_flags 中的配置值如下:
{
"DB_UK_INDEX": true,
"DB_FOREIGN_REFERENCE":true,
}
您可以登录 OMS 社区版控制台,进入数据迁移任务的详情页面,在 预检查 页签下查看预检查任务名称,去除"源端-"和"目标端"前缀后,对照下表查看其对应的 key 值。

| 预检查项标题 | 枚举名 |
|---|---|
| LOB 字段 48M 限制检查 | DB_TABLE_LOB_SIZE |
| ROW_MOVEMENT 检查 | ROW_MOVEMENT |
| 数据库时区检查 | DB_TIMEZONE |
| 账号创建表权限检查 | DB_ACCOUNT_CREATE_PRIVILEGE |
| Oracle 账号最小权限 | DB_ORACLE_MIN_PRIVILEGE |
| 表类型检查 | DB_TABLE_TYPE |
| 数据库连通性检查 | RDB_CONNECT |
| 消息队列连通检查 | MQ_CONNECT |
| 逻辑表连通性检查 | LOGIC_DB_CONNECT |
| 逻辑表存在性检查 | LOGIC_TABLE_EXIST |
| 获取 configUrl 权限检查 | LOGIC_DB_ACCOUNT_INCR_DRC_READ_PRIVILEGE |
| 消息队列 topic 存在检查 | MQ_TOPIC_EXIST |
| TiCDC Kafka topic 存在检查 | TIDB_KAFKA_TOPIC_EXIST |
| 结构同步 Datahub topic 不存在检查 | DATAHUB_TOPIC_NOT_EXIST |
| 数据库存在性检查 | RDB_SCHEMA_EXIST |
| 数据库大小写敏感检查 | DB_CASE_SENSITIVE |
| 数据库版本检查 | DB_VERSION |
| 数据库 wal_level 检查 | DB_WAL_LEVEL |
| 数据库 sql mode 检查 | DB_SQL_MODE |
| 增量日志检查 | DB_INCR_LOG |
| 数据库时钟同步检查 | DB_TIME_SYNC |
| 主备库检查 | DB_MASTER_SLAVE |
| 最大允许包大小检查 | DB_MAX_ALLOWED_PACKET |
| 账号读 oceanbase.memstore 权限检查 | DB_MEMSTORE_READ_PRIVILEGE |
| mysql 账号 create 权限检查 | DB_MYSQL_CREATE_PRIVILEGE |
| 检查 MySQL 账号是否已授权 OMS 维持心跳数据 | DB_MYSQL_UPDATE_HEARTBEAT_PRIVILEGE |
| sys 租户下 drcUser 对库 oceanbase 的读权限检查 | DB_STRUCT_OB_SYSTEM_VIEW_READ_PRIVILEGE |
| OceanBase 集群节点连通性检查 | DB_NODE_CONNECT |
| 表名唯一性检查 | DB_TABLE_NAME_UNIQUE |
| 表存在性预检查 | RDB_TABLE_EXIST |
| 禁止 LOB 字段存在检查 | LOB_FIELD_NOT_EXIST |
| 逻辑表 Schema 一致性检查 | LOGIC_TABLE_SCHEMA_CONSISTENCY |
| 同目标端不构成循环复制检查 | LOGIC_TABLE_SAME_SOURCE_AND_DEST |
| 结构迁移权限检查 | DB_STRUCT_PRIVILEGE |
| 账号写权限检查 | DB_ACCOUNT_WRITER_PRIVILEGE |
| 账号全量读权限检查 | DB_ACCOUNT_FULL_READ_PRIVILEGE |
| 账号增量读权限检查 | DB_ACCOUNT_INCR_READ_PRIVILEGE |
| 数据库编码检查 | DB_CHARSET |
| 表迁移字段数最大限制数量检查 | DB_COLUMN_COUNT |
| 数据库 CONSTRAINT 检查 | DB_CONSTRAINT |
| 主键数据类型检查 | DB_DATA_TYPE_INDEX |
| 数据库引擎检查 | DB_ENGINE |
| 对象间外键依赖完整性检查 | DB_FOREIGN_REFERENCE |
| 函数式唯一索引表检查 | DB_FUNCTION_BASED |
| 内部账号全量读权限检查 | DB_INNER_ACCOUNT_FULL_READ_PRIVILEGE |
| 外键表存在性检查 | DB_NO_FOREIGN_KEY |
| Oracle 的外键约束支持性检查 | DB_ORACLE_FK_SUPPORT_CHECK |
| 禁止伪列存在检查 | DB_PSEUDO_COLUMN_CHECK |
| 数据库数据类型检查 | DB_DATA_TYPE |
| 白名单 64K 长度限制检查 | DB_WHITE_LIST_LENGTH |
| 库表名大小写敏感配置一致检查 | DB_LOWER_CASE_TABLE_NAMES |
| OceanBase 系统视图 gv$sysstat 的读权限预检查 | OB_SYS_STAT_VIEW_READ_PRIV |
| 对象间依赖完整性检查 | RDB_OBJECT_DEPENDENCY_INTEGRITY |
| oracle 反向增量限制项检查 | DB_ORACLE_REVERSE_LIMIT |
| 反向增量限制项检查 | DB_REVERSE_LIMIT |
| 源端和目标端同表检查 | DB_TABLE_CYCLICALLY |
| 唯一键检查 | DB_UK_INDEX |
| 数据库 ROW_MOVEMENT 检查 | DB_ROW_MOVEMENT |
| 逻辑表唯一键检查 | LOGIC_TABLE_UK_INDEX |
| 逻辑表账号全量读权限检查 | LOGIC_DB_ACCOUNT_FULL_READ_PRIVILEGE |
| 逻辑表账号增量读权限检查 | LOGIC_DB_ACCOUNT_INCR_READ_PRIVILEGE |
| Schema 一致性检查 | SYNC_SCHEMA_CONSISTENCY |
| 列级别补偿日志开启检查 | DB_COL_LEVEL_SUPPLEMENTAL_LOG |
| 全量迁移/校验依赖 OB 系统视图的读权限检查 | OB_MYSQL_SYS_VIEW_READ_PRIV |
| 系统视图读权限检查 | STRUCT_SYS_VIEW_READ_PRIV |
| mysql 账号 SHOW VIEW 权限检查 | DB_MYSQL_SHOW_VIEW_PRIVILEGE |