首批通过分布式安全可靠测评,为关键业务系统打造
修改系统参数
更新时间:2026-04-14 15:36:02
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} precheck.timeout.seconds 单项预检查任务的最大执行时长,单位为秒。 600 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.db.support_versions 数据迁移对源端数据库版本的支持情况。 键是数据库类型,值是对数据库版本的正则匹配表达式。 "MYSQL": "(5.5\|5.6\|5.7\|8.0).*":表示 OMS 支持 MySQL 数据库 V5.5、V5.6、V5.7 和 V8.0。"MARIADB": "10.\[123456\].\*":表示 OMS 支持 MariaDB V10.1.0~V10.6.x。"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。"POSTGRESQL": "(10\|11\|12\|13).\*":OMS 支持的 PostgreSQL 数据库版本为 V10.x、V11.x、V12.x 和 V13.x。
{ "MYSQL": "(5.5|5.6|5.7|8.0).*", "MARIADB": "10.[123456].*", "ORACLE": "1[01289].*", "DB2": "(9.7|10.1|10.5|11.1|11.5).*", "POSTGRESQL": "(10|11|12|13).*"} 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(非共享)、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 is.show.polardb.public 是否显示 PolarDB-X 1.0 数据源。 false oms.user.task.allocate.count.switch admin 可以分配任务的最大值限制配置。 {"allocateSwitch":false,"totalCount":0} datasource.multi_version.driver.config 数据库多版本驱动配置。 {"MYSQL":{"com.mysql.cj.jdbc.Driver":[],"shade.com.mysql.jdbc.Driver":[]},"POLARDB_X_1":{"com.mysql.cj.jdbc.Driver":[],"shade.com.mysql.jdbc.Driver":[]}} datasource.mysql.driver.should_switch_prompts MySQL 数据源切换驱动提示。 ["CLIENT_PLUGIN_AUTH is required","Unknown system variable 'performance_schema'"] supervisor.config Supervisor 组件配置。 {"configMap":{}} store.jvm.config.default Store 组件默认下发的 JVM 配置。 {"MYSQL_STORE":{"memory":2048,"enable":true},"PG_STORE":{"memory":2048,"enable":true},"enable":true} project.transfer.object.modify.config 动态加减表对象功能的配置。 {"incrSyncRealtimeThreshold":60,"storeRealtimeThreshold":60,"storePullBackDuration":60,"inheritableStoreConfigKeys":[],"inheritableConnectorConfigKeys":[]} dataflow.query.batch.size Dataflow 单次查询对象数量。 {"POLARDB_X_1":999,"OB_ORACLE":999,"OB_MYSQL":999,"POLARDB_X_2":999,"ORACLE":999,"DEFAULT":10000} struct.transfer.retry.config 结构迁移重试相关配置参数。 {"enabled":true,"max.attempts":5,"skippable.errors":["Duplicate key name","name is already used by an existing object","already exists"],"non.retryable.errors":["Out of resource","execute ddl while there are some long running ddl on foreign key related table not allowed","fulltext index is disabled by default not supported","out of disk space"],"retryable.errors":{"Ignore":"OMS","Cannot do an operation on a closed statement":"OMS","supervisor restart":"OMS","oms inner service network error":"OMS","Failed to invoke":"OMS","Timeout":"DB","Add index failed":"DB","Entry not exist":"DB","unexpected end of stream":"DB","could not load system variables":"DB","No memory or reach tenant memory limit":"DB"}} struct.transfer.config 结构迁移任务执行相关的配置值。 {"dbcat.ob.query.timeout": 15,"ob.parallel": 2,"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,"execute.ob.query.timeout": 15,"execute.ob4x.index.parallel": 2,"global.max.parallel": 300,"project.fetch.max.parallel": 4,"project.fetch.queue.size": 1,"project.execute.max.parallel": 4,"project.execute.queue.size": 1,"project.fetch.idle.interval.ms": 1000,"project.fetch.scan.batch.size": 64,"project.fetch.group.size": 16,"project.fetch.cache.size": 128,"project.execute.idle.interval.ms": 1000,"project.execute.scan.batch.size": 4,"project.execute.group.size": 1,"project.execute.cache.size": 8,"project.async.action.watcher.idle.interval.ms": 1000} oms.auth.saml2.entity-id 配置 SAML 2.0 认证服务实体 ID 标识。 空 oms.auth.saml2.metadata-provider 配置 SAML 2.0 认证服务 Metadata 地址。 空 oms.auth.saml2.certificate 配置校验 SAML 2.0 认证返回信息的密钥信息。 空 oms.auth.sso-login-url 配置 SAML 2.0 认证 SSO 服务地址。 空 oms.auth.saml2.redirect-url SAML 2.0 应用认证成功后的重定向地址。 空 connector.conflict.log.config 数据迁移任务中全量迁移、增量同步或反向增量步骤的冲突日志下载配置。 appendErrorMsgToConflictLog:是否需要添加原始的错误信息,默认值为true。maxConflictRecordSizeInKiB:每行记录的最大大小,单位为 KB,默认值为 1024。maxConflictLogFileSizeInMiB:每个日志文件的最大大小,单位为 MiB,默认值为 100。maxConflictLogFilesToRetain:全量或者增量最多保留多少个日志文件,默认值为 5。maxDownloadRate:最大下载速率,单位为 MB/秒,默认值为 1。maxDownloadRequestNum:下载请求的最大并发数,默认值为 10。
{"appendErrorMsgToConflictLog":true,"maxConflictRecordSizeInKiB":1024,"maxConflictLogFileSizeInMiB":100,"maxConflictLogFilesToRetain":5,"maxDownloadRate":1.0,"maxDownloadRequestNum":10} invisible_column_uk_enabled.with_pk_or_not_null_uk 迁移 Oracle 数据库的数据至 OceanBase 数据库 Oracle 兼容模式时,有非空唯一键表是否增加隐藏列。 false单击目标参数 取值 列下的编辑图标。
在 修改取值 对话框中,配置 取值,您也可以 恢复默认值。
单击 确定。
预检查项说明
配置 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 |