Version information
Version: V4.2.2
Previous version: V4.2.1 BP1
Version release date: March 2, 2024
Supported upgrade versions:
Versions earlier than OMS V3.2.1 require an upgrade to V3.2.1 first.
OMS V3.2.1 and later can be directly upgraded to OMS V4.2.2.
Note
Due to underlying component integration, DataHub tasks cannot be displayed after OMS is upgraded from V3.2.1 to a later version. If you want to upgrade OMS from V3.2.1 to a later version with a DataHub task involved, contact OMS Technical Support.
New features
Custom project resource configuration
OMS V4.2.2 introduces the feature to customize project resource configuration. You can specify the resource (reading concurrency, writing concurrency, and memory) configuration size for each component when you create a data migration or synchronization project. This feature allows you to meet the stress requirements of different projects in different environments. It also supports you to adjust the parameter configuration during the project running, which can dynamically control the project stress.
Parameter template feature for projects
OMS V4.2.2 introduces the parameter template feature. You can preconfigure the component templates or project. When you create a project, you can select a corresponding parameter template for the project to issue parameters based on the preconfigured parameter template. This feature can standardize the project optimization results and improve the project stability through template-based configurations.
Support for schema wildcard characters in matching rules
OMS V4.2.2 extends the existing support for table wildcard characters in matching rules to include schema wildcard characters. This enhancement allows you to configure a single matching rule to cover object selection scenarios across the entire instance. For more information about matching rules, see the official documentation.
Support for skipping the catch-up point synchronization step during forward switchover
OMS V4.2.2 provides the Skip option in the Confirm Synchronization Catch-up and Stop Write Point step of a forward switchover. If the current incremental point matches the business-confirmed stop write time, you can click Skip to skip the current check operation.
Project capability expansion
Message format extension: Avro serialization format is supported for data synchronization from the MySQL compatible mode of OceanBase Database to a Kafka instance.
Character set extension: Migration or synchronization of data of the GB18030-2022 character set is supported in projects of OceanBase Database.
Data source version extension: DB2 LUW V9.7 is supported in projects for data synchronization.
Stability enhancements
Optimization of schema migration
The logic for handling database foreign key cross-database reference dependencies is added to avoid the issue where, during schema migration, the migration of a cross-database referenced foreign key is not correctly identified, leading to unexpected migration results.
Optimization of index post-processing
The ability to retry in batches is added for failed index post-processing, preventing low processing efficiency when there are too many failed post-indexes.
The logic for creating indexes is modified to execute based on the granularity of the index when a single project has multiple indexes during index post-processing, preventing the failure of a single index from causing the failure of all indexes in associated tables.
Automatic background retries are enabled for index post-processing failures. Retries are performed when specific error codes, such as timeouts, index addition failures, or unknown errors, are returned. This prevents issues caused by database jitters without requiring additional user intervention.
Automatic background skipping is enabled for index post-processing failures. The program automatically skips specific errors, such as an existing index, and considers the index to have been created successfully. This avoids the need for users to manually handle index failures.
Optimization of add table feature
The logic for merging subprojects and original parent projects in table addition is optimized to ensure that synchronization points of parent and child projects are close before merging. This prevents merging anomalies when synchronization points of parent and child projects differ significantly.
The logic for merging subprojects and original parent projects in table addition is optimized to ensure that the incremental log pull point after merging meets the requirements of the merged project. This prevents project failures caused by incremental log pull issues after merging.
The logic for writing incremental data after merging parent and child projects is optimized to ensure the minimum data backfill requirement during data pull for the merged project, preventing excessive data backfill which can lead to large data write volumes and slow performance in the merged project.
Optimization of forward switchover
The logic for processing objects during forward switchover is optimized to use the synchronization objects of the switchover project, preventing objects reduced in excess during the switchover from causing anomalies in the forward switchover process.
Optimization for OceanBase primary/standby database
The logic for processing OceanBase Database projects is optimized to add cluster ID identifiers. This prevents database switching issues between primary and standby databases in OceanBase Database from causing database switching issues in OMS, potentially leading to incorrect incremental log pull.
Notice
Adaptive handling of primary/standby database switching is not currently supported. OMS projects will disconnect after primary/standby database switching.
Optimization of message format
The logic for processing table schema sequences in OceanBase Database is optimized to ensure that table schema fields sent to the message queue by OMS are in the database-defined order. This prevents anomalies in downstream processing of table schema information.
Ease-of-use improvements
Feature enhancements
The data verification results of a data migration project can be filtered by the status Consistent, Inconsistent, or Other Exceptions.
The Alerting status is provided for filtering data migration projects by status on the project list page.
The error message is displayed in a fixed floating window in the upper right corner of the page.
The interaction logic for synchronizing data from OceanBase Database to a DataHub instance is adjusted to gray out the Tuple type after incremental DDL operations are selected.
The interaction form when the adjustment of an OMS index fails is adjusted to support displaying the failed status in the project list, running status, and index table header.
The impact hint displayed when the precheck of OMS exceeds the maximum length of the allowlist of OceanBase Database table objects is adjusted.
The interaction logic when DML/DDL statistics are enabled in OMS is adjusted to support a prompt to pause the project before enabling statistics and to describe the performance overhead of statistics.
The implementation logic of subproject precheck in OMS is adjusted to reuse the precheck result of the parent project to avoid redundant checks.
The implementation of schema migration in OMS is adjusted to support skipping failed table objects in data migration projects and data synchronization projects.
The step to display the precheck result is provided for data synchronization projects in OMS.
The object selection logic in OMS is adjusted to support selecting views only after schema migration is selected.
The password expiration strategy of OMS can be configured by using the parameter
oms.user.password.expiration.date.config.The configuration of precheck timeout in OMS is optimized to support setting the timeout period by using the parameter
precheck.timeout.seconds.The alert message is optimized to include an error code.
Tip enhancements
The exception hint is optimized when the connectivity with the data source fails.
The error message displayed when an error occurs while importing a CSV file is optimized to support displaying the name of the associated table when a column does not exist.
The parameter Incremental Synchronization Start Timestamp is not displayed when data is synchronized in full.
The column comment is optimized to add OMS-related text.
The parameter hint is optimized when a DRC user is created for an OceanBase data source in OMS.
A prompt is provided to indicate that modifying a data source does not affect existing projects.
A prompt is provided to indicate that tables without not-null unique keys are not supported for full verification when they are the only migration objects.
OpenAPI
OMS V4.2.2 introduces eight new OpenAPI endpoints, primarily covering data sources, table addition and subtraction, and pre-check features. The following table lists the endpoints.
| Feature | Endpoint | Description |
|---|---|---|
| Data source | CreateOceanBaseODPDataSource | Creates an OceanBase ODP data source. |
| Data source | DeleteDataSource | Deletes a data source. |
| Table addition and subtraction | CreateProjectModifyRecords | Adds or subtracts tables for a data transmission service project. |
| Table addition and subtraction | ListProjectModifyRecords | Views the table addition and subtraction operations of a data transmission service. |
| Table addition and subtraction | StopProjectModifyRecords | Suspends the table addition and subtraction operations of a data transmission service. |
| Table addition and subtraction | RetryProjectModifyRecords | Retries the table addition and subtraction operations of a data transmission service. |
| Table addition and subtraction | CancelProjectModifyRecord | Cancels the table addition and subtraction operations of a data transmission service. |
| Pre-check | SubmitPreCheck | Prechecks a data migration or synchronization project. |
Feature matrix of the current version
Data migration
| Data source | Schema migration | Full migration | Incremental DML | Incremental DDL | Full verification | Reverse incremental migration | Tables without a primary key |
|---|---|---|---|---|---|---|---|
| MySQL -> OB_MySQL | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
| Oracle-> OB_MySQL | Supported | Supported | Supported | Not supported | Supported | Supported | Supported |
| TiDB -> OB_MySQL | Supported | Supported | Supported | Not supported | Supported | Supported | Not supported |
| PostgreSQL -> OB_MySQL | Supported | Supported | Supported | Not supported | Supported | Supported | Not supported |
| Oracle -> OB_Oracle | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
| DB2 LUW -> OB_Oracle | Supported | Supported | Supported | Supported | Supported | Supported | Not supported |
| OB_Oracle -> OB_Oracle | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
| OB_MySQL -> OB_MySQL | Supported | Supported | Supported | Supported | Supported | Supported | Supported (excluding disaster recovery and dual-active scenarios) |
| OB_Oracle -> Oracle | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
| OB_Oracle -> MySQL | Not supported | Not supported | Supported | Not supported | Not supported | Not supported | Not supported |
| OB_MySQL -> MySQL | Supported | Supported | Supported | Supported | Supported | Supported | Not supported |
| OB_Oracle -> DB2 LUW | Supported | Supported | Supported | Supported | Supported | Supported | Not supported |
| DB2 LUW -> OB_MySQL | Supported | Supported | Supported | Supported | Supported | Supported | Not supported |
| OB_MySQL -> DB2 LUW | Supported | Supported | Supported | Supported | Supported | Supported | Not supported |
Data synchronization
| Data source | Schema synchronization | Full synchronization | Incremental DML | Incremental DDL | Tables without primary keys |
|---|---|---|---|---|---|
| OB_MySQL -> Kafka | Supported | Supported | Supported | Supported | Not supported |
| OB_MySQL -> RocketMQ | N/A | Supported | Supported | Not supported | Not supported |
| OB_MySQL -> DataHub (Tuple) | Supported | Supported | Supported | Not supported | Not supported |
| OB_MySQL -> DataHub (Blob) | Supported | Supported | Supported | Supported | Not supported |
| OB_Oracle -> Kafka | Supported | Supported | Supported | Supported | Not supported |
| OB_Oracle -> RocketMQ | N/A | Supported | Supported | Not supported | Not supported |
| OB_Oracle -> DataHub (Tuple) | Supported | Supported | Supported | Not supported | Not supported |
| OB_Oracle -> DataHub (Blob) | Supported | Supported | Supported | Supported | Not supported |
| Oracle -> DataHub (Blob) | Supported | Not supported | Supported | Not supported | Not supported |
| Oracle -> DataHub (Tuple) | Supported | Not supported | Supported | Not supported | Not supported |
| MySQL -> DataHub (Tuple) | Supported | Not supported | Supported | Not supported | Not supported |
| MySQL -> DataHub (Blob) | Supported | Not supported | Supported | Not supported | Not supported |
| ODP -> DataHub (Tuple) | Supported | Supported | Supported | Not supported | Not supported |
| ODP -> DataHub (Blob) | Supported | Supported | Supported | Supported | Not supported |
| IDB -> DataHub (Tuple) | Supported | Supported | Supported | Not supported | Not supported |
| IDB -> DataHub (Blob) | Supported | Supported | Supported | Supported | Not supported |
| ODP -> OB_MySQL | N/A | Supported | Supported | Supported | Not supported |
| IDB -> OB_MySQL | N/A | Supported | Supported | Supported | Not supported |
Database versions supported by the current version
| Feature | OceanBase Database versions | Other database versions | OCP versions |
|---|---|---|---|
| Data migration | V1.4.79, V2.1.1, V2.2.20, V2.2.30, V2.2.50, V2.2.52, V2.2.70, V2.2.72, V2.2.74, V2.2.75, V2.2.76, V2.2.76BP1, V2.2.77, V3.1.0, V3.1.1, V3.1.2, VV3.2.1, V3.2.2, V3.2.3, V3.2.4, V4.0.0, V4.1.0, V4.2.0, V4.2.1 |
|
|
| Data synchronization | V2.2.20, V2.2.30, V2.2.50, V2.2.52, V2.2.70, V2.2.72, V2.2.74, V2.2.75, V2.2.76, V2.2.76BP1, V2.2.77, V3.1.0, V3.1.1, V3.1.2, VV3.2.1, V3.2.2, V3.2.3, V3.2.4, V4.0.0, V4.1.0, V4.2.0, V4.2.1 |
|
|
Bug fixes
| Bug | Introduced version |
|---|---|
| Fixed the issue where forward switchover fails because the ENABLE NOVALIDATE option is used for the Oracle->OB_Oracle constraint. | Present since the earliest versions. |
| Fixed the issue where clicking View Document does not display the document content when you migrate data from an Oracle database to an OB_Oracle database. | OMS V4.1.0 |
| Fixed the issue where DBCat does not convert sys_guid and sysdate during schema migration from Oracle to OB_MySQL. | OMS V3.2.2 |
| Fixed the issue where multiple redundant HA instances are created due to a Store HA exception. | Present since the earliest versions. |
| Fixed the issue where the ID column in the config_job table of OMS exceeds the maximum value of INT. | Present since the earliest versions. |
| Fixed the issue where errors occur when you view logs in the error.log file of Incr-Sync because the file size approaches 200 MB. | Present since the earliest versions. |
| Fixed the issue where slice query and full migration performance is poor for a DB2 LUW database. | Present since the earliest versions. |
| Fixed the issue where incremental migration does not proceed after you create a data migration project for a DB2 LUW database, and SQL batch execution in the log fails. | OMS V4.1.0 |
| Fixed the issue where the traffic of a full migration table is 0. | Present since the earliest versions. |
| Fixed the issue where the memory usage increases when a large transaction of a DB2 LUW database is persisted to the disk. | Present since the earliest versions. |
| Fixed the issue where incremental data is lost because the Connector is connected to an incorrect Store instance. | Present since the earliest versions. |
Known issues
| Ticket | Introduced version | Solution |
|---|---|---|
| During full migration from a MySQL database to the MySQL compatible mode of OceanBase Database, if you select the Ignore option, source data still overwrites target data. | OMS V4.0.1 | No solution is available. |
| When you create a DBP data source, the database account name and password must be verified. | N/A | No solution is available. |
| The Writer skipddl setting in the reverse migration from OB_Oracle to Oracle does not take effect. | N/A | No solution is available. |
| The OMS process runs out of memory (OOM) after OCP Meta is restarted. (In this scenario, OMS Meta is deployed in OCP.) | N/A | No solution is available. |