基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
修改系统参数
更新时间:2025-08-04 17:20:44
OceanBase 迁移服务(OceanBase Migration Service,OMS)支持 Admin 用户修改系统参数,普通用户仅支持查看系统参数。
操作步骤
登录 OMS 控制台。
在左侧导航栏,单击 系统管理 > 系统参数。
系统参数 页面为您详细列举每个配置项的 参数名称、取值、所属模块、描述 和 修改时间。
参数 描述 默认值 oms.oceanbase.logproxy.pool 用于控制 OMS OceanBase logProxy 的配置,OMS 自动识别该参数。详情请参见 oblogproxy 参数说明。 {"default":""} operation_audit_log.enable 操作审计功能的开关。操作审计功能的详情请参见 操作审计。 false operation_audit_log.retention_time 操作审计记录的保留时间。建议取值范围在 1 至 1095 之间,单位为天。 7 oms.captcha.enable 验证码开关,默认关闭。修改为 true 后,登录页面会展示图片验证码,验证码 10 分钟超时失效。此时登录 OMS 需要输入图片验证码的内容,超时或输入错误都会导致登录失败。 false oms.user.password.expiration.date.config 该参数用于控制用户密码的过期策略。 {"rootRolePasswordValidityDays":90,"rootViewerRolePasswordValidityDays":90,"adminRolePasswordValidityDays":90,"adminViewerRolePasswordValidityDays":90,"userRolePasswordValidityDays":90,"userViewerRolePasswordValidityDays":90,"userPasswordValidityDaysTipsThreshold":30} mysql.store.metabuilder.filter MySQL Store 是否根据白名单过滤 meta 信息。取值包括 true 和 false: - 配置为 true,表示根据白名单进行过滤。
- 配置为 false,表示不过滤,会拉取所有 meta 信息。
false mysql_to_obmysql.charset.mapping MySQL 数据库至 OceanBase 数据库 MySQL 租户的数据迁移项目中,对不支持编码的转换规则。 []
例如,[{"charset":"utf16le","mappedCharset":"utf16"},{"charset":"*","mappedCharset":"utf8mb4"}]mysql_to_obmysql.collation.mapping MySQL 数据库至 OceanBase 数据库 MySQL 租户的数据迁移项目中,对不支持字符序的转换规则。 []
例如,[{"collation":"utf16le_general_ci","mappedCollation":"utf16_general_ci"},{"collation":"*","mappedCollation":"utf8mb4_general_ci"}]obmysql41_to_obmysql40_and_earlier.collation.mapping 迁移 OceanBase 数据库 MySQL 租户 V4.1.0 的数据至 OceanBase 数据库 MySQL 租户 V4.1.0 之前版本时,数据迁移项目对不支持字符序的转换规则。 [{"collation":"latin1_swedish_ci","mappedCollation":"utf8mb4_general_ci"}] obmysql41_to_obmysql40_and_earlier.charset.mapping 迁移 OceanBase 数据库 MySQL 租户 V4.1.0 的数据至 OceanBase 数据库 MySQL 租户 V4.1.0 之前版本时,数据迁移项目对不支持编码的转换规则。 [{"charset":"latin1","mappedCharset":"utf8mb4"}] 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"} ha.config HA 开关。详情请参见 修改高可用功能的配置。 {"enable":false,"enableHost":false,"enableStore":true,"perceiveStoreClientCheckpoint":false,"enableConnector":true,"enableJdbcWriter":true,"subtopicStoreNumberThreshold":5,"checkRequestIntervalSec":600,"checkJdbcWriterIntervalSec":600,"checkHostDownIntervalSec":540,"checkModuleExceptionIntervalSec":240,"clearAbnormalResourceHours":72} migration.checker.params.fast Full-Verification 快速档位的配置值。 limitator.platform.threads.number:线程数。limitator.select.batch.max:全量迁移/校验查询批大小。limitator.image.insert.batch.max:全量迁移插入批大小。limitator.datasource.connections.max:连接数。如果并发数超过连接数,并发数据将无效。limitator.java.opt:JVM 参数配置。task.checker_jvm_param:Full-Import/Full-Verification 组件的 JVM 参数。task.new.migrate.job.reader.worker.num:读取源端数据使用的线程数。task.new.migrate.job.writer.worker.num:写入目标端使用的线程数。task.new.migrate.job.write.batch.size:写入目标端单批次最大 batch 条数。task.new.migrate.job.data.queue.size:读取数据的队列大小。如果未被 Dispatcher 消费的数据量超过该值,则 Reader 会阻塞。task.new.migrate.job.batch.queue.size:攒批队列的大小。如果未被 Writer 消费的 Batch 数量超过该值,则 Dispatcher 会阻塞。task.new.migrate.job.splitor.queue.size:切片队列的大小。如果未被读取数据的 split 超过该值,则 split 过程会暂停。
{"limitator.platform.threads.number":32,"limitator.select.batch.max":1200,"limitator.datasource.connections.max":50,"limitator.java.opt":null,"task.checker_jvm_param":"-server -Xms16g -Xmx16g -Xmn8g -Xss512k","task.new.migrate.job.reader.worker.num":32,"task.new.migrate.job.writer.worker.num":32,"task.new.migrate.job.write.batch.size":200,"task.new.migrate.job.data.queue.size":32768,"task.new.migrate.job.batch.queue.size":256,"task.new.migrate.job.splitor.queue.size":256} migration.checker.params.normal Full-Verification 正常档位的配置值。 limitator.platform.threads.number:线程数。limitator.select.batch.max:全量校验查询批大小。limitator.image.insert.batch.max:全量迁移插入批大小。limitator.datasource.connections.max:连接数。如果并发数超过连接数,并发数据将无效。limitator.java.opt:JVM 参数配置。task.checker_jvm_param:Full-Import/Full-Verification 组件的 JVM 参数。task.new.migrate.job.reader.worker.num:读取源端数据使用的线程数。task.new.migrate.job.writer.worker.num:写入目标端使用的线程数。task.new.migrate.job.write.batch.size:写入目标端单批次最大 batch 条数。task.new.migrate.job.data.queue.size:读取数据的队列大小。如果未被 Dispatcher 消费的数据量超过该值,则 Reader 会阻塞。task.new.migrate.job.batch.queue.size:攒批队列的大小。如果未被 Writer 消费的 Batch 数量超过该值,则 Dispatcher 会阻塞。task.new.migrate.job.splitor.queue.size:切片队列的大小。如果未被读取数据的 split 超过该值,则 split 过程会暂停。
{"limitator.platform.threads.number":8,"limitator.select.batch.max":600,"limitator.datasource.connections.max":50,"limitator.java.opt":null,"task.checker_jvm_param":"-server -Xms8g -Xmx8g -Xmn4g -Xss512k","task.new.migrate.job.reader.worker.num":8,"task.new.migrate.job.writer.worker.num":8,"task.new.migrate.job.write.batch.size":200,"task.new.migrate.job.data.queue.size":32768,"task.new.migrate.job.batch.queue.size":256,"task.new.migrate.job.splitor.queue.size":256} migration.checker.params.steady Full-Verification 平稳档位的配置值。 limitator.platform.threads.number:线程数。limitator.select.batch.max:全量校验查询批大小。limitator.image.insert.batch.max:全量迁移插入批大小。limitator.datasource.connections.max:连接数。如果并发数超过连接数,并发数据将无效。limitator.java.opt:JVM 参数配置。task.checker_jvm_param:Full-Import/Full-Verification 组件的 JVM 参数。task.new.migrate.job.reader.worker.num:读取源端数据使用的线程数。task.new.migrate.job.writer.worker.num:写入目标端使用的线程数。task.new.migrate.job.write.batch.size:写入目标端单批次最大 batch 条数。task.new.migrate.job.data.queue.size:读取数据的队列大小。如果未被 Dispatcher 消费的数据量超过该值,则 Reader 会阻塞。task.new.migrate.job.batch.queue.size:攒批队列的大小。如果未被 Writer 消费的 Batch 数量超过该值,则 Dispatcher 会阻塞。task.new.migrate.job.splitor.queue.size:切片队列的大小。如果未被读取数据的 split 超过该值,则 split 过程会暂停。
{"limitator.platform.threads.number":4,"limitator.select.batch.max":200,"limitator.datasource.connections.max":50,"limitator.java.opt":null,"task.checker_jvm_param":"-server -Xms4g -Xmx4g -Xmn2g -Xss512k","task.new.migrate.job.reader.worker.num":4,"task.new.migrate.job.writer.worker.num":4,"task.new.migrate.job.write.batch.size":100,"task.new.migrate.job.data.queue.size":32768,"task.new.migrate.job.batch.queue.size":256,"task.new.migrate.job.splitor.queue.size":256} 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。"ORACLE": "1\[01289\].\*":OMS 支持的 Oracle 数据库版本为 10G/11G/12C/18C/19C。"DB2": "(9.7\|10.1\|10.5\|11.1\|11.5).\*":OMS 支持的 DB2 LUW 数据库版本为 Linux 或 AIX 操作系统上的 V9.7、V10.1、V10.5、V11.1 和 V11.5。
{ "MYSQL": "(5.5|5.6|5.7|8.0).*", "MARIADB": "10.[12345].*", "ORACLE": "1[01289].*", "DB2": "(9.7|10.1|10.5|11.1|11.5).*", "POSTGRESQL": "(10).*"} migration.mysql.support_collations 数据迁移的 MySQL 源端支持字符序白名单。 ["binary","gbk","gb18030","utf8mb4","utf16","utf8"] migration.mysql.support_charsets 数据迁移的 MySQL 源端支持编码白名单。里面的值代表 MySQL 支持的编码数组,里面的一个元素等于一个 MySQL 编码。 ["binary","gbk","gb18030","utf8mb4","utf16","utf8"] migration.mysql.support_datatypes 数据迁移的 MySQL 源端支持字段类型白名单。里面的值代表 MySQL 支持的字段类型数组,里面的一个元素等于一个 MySQL 字段类型。 [] migration.oracle.unsupport_datatypes 数据迁移的 oracle 源端支持字段类型黑名单。里面的值代表 Oracle 不支持的字段类型数组,里面的一个元素等于一个 Oracle 字段类型。 ["LONG","LONG RAW","XMLTYPE","UNDEFINED","BFILE","ROWID","UROWID"] ops.dms.logic_name.suffix.pattern 基于 DMS 逻辑表同步的前缀。 空 ops.store.max_count_per_subtopic 一个子 topic 下最多可以启动多少个 Store 进程。 里面的值代表最多可以启动的个数。 6 precheck.skippable_flags 是否可以跳过预检查。 对于失败的预检查项,如果您确认不会影响后续使用,可以修改 precheck.skippable_flags的配置项为 true,该参数的值为 JSON。例如:{ "DB_ACCOUNT_FULL_READ_PRIVILEGE": true, "DB_ACCOUNT_INCR_READ_PRIVILEGE":true, "DB_SERVICE_STATUS":true }
不同预检查项对应的值请参见下文《预检查项说明》模块的内容。{} sync.unified.config OMS 同步项目统一配置项,包含: enableHeartBeatRecordToDataHub:是否投递心跳。enableHadoopVendorsKafkaServer:是否为 Hadoop 版 Kafka。disableIdentificationAlgorithm:当创建需要 SSL 认证的 Kafka 数据源时,默认对 Kafka 地址进行主机名(域名)验证。如果所提供的 SSL 根证书没有该 Kafka 地址信息,您可以将该参数设置为true,即关闭主机名验证。checkStoreStartedMinSyncProcess:判断 Store 是否启动正常的最小拉取进度,默认为 3 秒,支持动态配置。
只有 Store 处于运行中,且拉取进度超过所配置的最小拉取进度后,才会认为 Store 启动成功,开始进入全量阶段。fullJvmMem:全量 Full-Import 初始化内存,默认为 4096 MB。incrJvmMem:增量 Incr-Sync 初始化内存,默认为 2048 MB。
{"enableHeartBeatRecordToDataHub":false,"enableHadoopVendorsKafkaServer":false,"disableIdentificationAlgorithm":false,"checkStoreStartedMinSyncProcess":3,"fullJvmMem":4096,"incrJvmMem":2048} 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(非共享)。 - Oracle Store Subtopic 目前仅支持根据数据库粒度订阅。
字段oracle下,mode目前支持DATABASE(数据库级别)和UN_SHARE(非共享)。
{"oceanbase":{"mode":"OCEANBASE_TENANT","modeNum":1},"mysql":{"mode":"INSTANCE","modeNum":1},"oracle":{"mode":"DATABASE","modeNum":1}} sync.connnector.max.size 用于控制数据同步项目的最大数量。 2 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"]}} store.logic.config.url.config 如果不能直接获取 ODP 逻辑表的 configUrl,您可以通过该参数进行手动配置。 configUrlMap的 key 是{ip}:{port}-{cluster},value 是正确的 configUrl。{"enabled":false,"configUrlMap":{}} migration.timeout 执行迁移对象超时配置。 {"ddl.timeout.in.private.cloud": 120000, "ddl.timeout.in.public.cloud": 600000} migration.db.dest.support_versions 数据迁移对目标端数据库版本的支持情况。 {"POLARDB_X_1": {"OB_MYSQL": "(1|2|3).*"}} migration.record.init.batch_size 结构迁移记录初始化批大小。 100 单击目标参数 取值 列下的编辑图标。
在 修改取值 对话框中,配置 取值,您也可以 恢复默认值。
单击 确定。
预检查项说明
配置 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 |
OceanBase 数据库 V4.x日志归档开关检查
注意该预检查项仅支持 OceanBase 物理数据源。 |
OB_ARCHIVE_LOG |