Version information
Version: V4.2.2
Previous version: V4.2.1 BP1
Release date: March 2, 2024
Upgrade path:
OceanBase Migration Service (OMS) of a version earlier than V3.2.1 must be first upgraded to V3.2.1.
OMS V3.2.1 and later can be directly upgraded to V4.2.2.
Note
Due to underlying component integration, DataHub projects 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 project involved, contact OMS Technical Support.
New features
Custom project resource configurations
OMS V4.2.2 supports custom project resource configurations. You can specify the resource configurations, such as the read concurrency, write concurrency, and memory size, for each component based on the actual environment when you create a data migration or synchronization project. You can also dynamically adjust the configurations for the project.
Project parameter templates
OMS V4.2.2 supports parameter templates. You can configure a parameter template for components or projects. This way, when you create a project, you can directly select the parameter template to configure the project, consolidating project optimization results and improving project stability.
Wildcards supported in matching rules for schemas
OMS supports wildcards in matching rules for tables in earlier version, and supports wildcards in matching rules for schemas in V4.2.2. You can configure a single matching rule to select all objects in an instance. For more information about matching rules, see the relevant topics.
Support for skipping the step of confirming the writing stop timestamp upon synchronization completion during forward switchover
OMS V4.2.2 allows you to skip the step of confirming the writing stop timestamp upon synchronization completion during forward switchover. After you confirm that the current incremental synchronization timestamp is consistent with the writing stop timestamp, you can click Skip to skip the current check.
Project capability extension
Message format: The Avro serialization method is supported for data synchronization from a MySQL tenant of OceanBase Database to a Kafka instance.
Character set: The GB18030-2022 character set is supported for migration and synchronization in OceanBase Database.
Data source version: DB2 LUW 9.7 is supported.
Stability enhancements
Schema migration optimization
The logic for processing foreign keys that are referenced across databases is supported. This avoids the issue where the migration results may not be as expected because foreign keys that are referenced across databases are not correctly identified during schema migration.
Post-indexing optimization
The batch retry logic is supported. When post-indexing fails, you can select multiple indexes for a batch retry, improving the processing efficiency.
The index-based creation logic is supported. When multiple indexes are to be created in a single table, the indexes can be created one by one. This way, when one index fails to be created, other indexes can still be created in the table.
The automatic retry logic is supported. When post-indexing fails and an error code indicating a timeout, index creation failure, or unknown error is returned, a retry is automatically triggered in the background. This way, no additional processing is required when a database jitter occurs.
The automatic skip logic is supported. When post-indexing fails and a specific error code, such as one indicating that the specified index already exists, is returned, the background automatically skips the error and considers that the index has been successfully created. This way, you do not need to detect or handle index creation failures.
Table addition optimization
The logic for merging a child project and its original parent project during table addition is optimized to ensure that they can be merged only when their synchronization timestamps are close. This avoids the issue where an exception will occur during merging when the synchronization timestamps of a child project and its parent project have a large gap.
The logic for merging a child project and its original parent project during table addition is optimized to ensure that the timestamp for pulling incremental logs after merging meets the project requirements. If the log pull timestamp does not meet the project requirements, the project may fail.
The logic for writing incremental data after a child project and its parent project are merged is optimized to ensure a minimum amount of project data to be pulled back after merging. This avoids the issue of excessive project data or slow performance if a large amount of data is to be pulled back after merging.
Forward switchover optimization
The object processing logic during forward switchover is optimized. That is, forward switchover is performed based on the synchronization objects. This way, forward switchover will not be affected by objects for which a table has once been removed.
Primary/Standby switchover optimization
The project processing logic in OceanBase Database is optimized. The cluster ID is added to ensure that the incremental log pull program of OMS pulls logs from the correct database after a primary/standby switchover.
Notice
At present, automatic adaptation for a primary/standby switchover is not supported. After a primary/standby switchover, OMS projects will be disconnected.
Message format optimization
The logic for OMS to determine the processing sequence of schemas is optimized. OMS retains the sequence defined in the database when sending the schema fields to the message queue. This avoids exceptions when schema information is processed in downstream links.
Ease-of-use improvements
Feature improvements
A verification result filtering box is provided, where you can filter the verification results by the Consistent, Inconsistent, or Other Exceptions state.
The Alerting option is added for status-based filtering on the data migration project list page.
The error message display mode is adjusted on the pages of the OMS console. When an error occurs, the error message is displayed in a floating window in the upper-right corner of the pages.
The interaction logic in a data synchronization project from OceanBase Database to a DataHub instance is adjusted. After you select DDL Synchronization, you can deselect Tuple type.
The interaction logic that applies after post-indexing fails is adjusted. A failure state can be added to the project list, running status options, and headers of an index table.
The prompt displayed when the table object allowlist exceeds the length limit during a precheck is adjusted.
The interaction logic that applies when you enable DML/DDL statistics collection is adjusted. A prompt asking you to pause the project before enabling DML/DDL statistics collection and a prompt indicating the performance overhead are added.
The child project precheck logic is adjusted. That is, a child project will inherit the precheck results of its parent project to avoid repeated checks.
The schema migration logic is adjusted. In a data migration project, you can skip the table objects that fail the schema migration.
The precheck results can be displayed on the details page of a data synchronization project.
The object selection logic is adjusted. View objects can be selected only after you select Schema Migration.
The password expiration strategy is adjusted. You can set the
oms.user.password.expiration.date.configparameter to configure a password expiration strategy.The precheck timeout setting is optimized. You can set the
precheck.timeout.secondsparameter to configure a timeout value.Alert messages are optimized. The corresponding error code is added to each alert message.
Prompt optimization
The prompt displayed upon an exception in a data source connectivity check is optimized.
The prompt displayed upon an error in importing a CSV file is optimized. If a column does not exist, the name of the associated table is displayed in the prompt.
The incremental synchronization start timestamp is no longer displayed for a data synchronization project that covers not only the incremental synchronization step.
The prompt displayed on additional columns is optimized. An OMS mark is added to column comments.
The prompt displayed when you create a Data Replication Center (DRC) user during the creation of an OceanBase data source is optimized.
A prompt indicating that the modification does not affect existing projects is displayed when you modify a data source in OMS.
A prompt indicating that full verification is not supported for tables without a not-null unique key is added for migration objects.
APIs
OMS V4.2.2 supports eight new APIs regarding the data source, table addition/removal, and precheck modules. The following table describes the new APIs.
| Module | API | Description |
|---|---|---|
| Data source | CreateOceanBaseODPDataSource | Creates an OceanBase Database Proxy (ODP) data source. |
| Data source | DeleteDataSource | Deletes a data source. |
| Table addition/removal | CreateProjectModifyRecords | Adds or removes a table for a data transmission service project. |
| Table addition/removal | ListProjectModifyRecords | Queries the table addition and removal records of a data transmission service project. |
| Table addition/removal | StopProjectModifyRecords | Pauses the table addition or removal operation for a data transmission service project. |
| Table addition/removal | RetryProjectModifyRecords | Retries the table addition or removal operation for a data transmission service project. |
| Table addition/removal | CancelProjectModifyRecord | Cancels the table addition or removal operation for a data transmission service project. |
| Precheck | SubmitPreCheck | Performs a precheck on a data migration or synchronization project. |
Feature matrix
Data migration
| Data source | Schema migration | Full migration | Incremental synchronization of DML operations | Incremental synchronization of DDL operations | Full verification | Reverse incremental migration | Table without a primary key |
|---|---|---|---|---|---|---|---|
| MySQL -> OceanBase Database in MySQL mode | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
| Oracle -> OceanBase Database in MySQL mode | Supported | Supported | Supported | Not supported | Supported | Supported | Supported |
| TiDB -> OceanBase Database in MySQL mode | Supported | Supported | Supported | Not supported | Supported | Supported | Not supported |
| PostgreSQL -> OceanBase Database in MySQL mode | Supported | Supported | Supported | Not supported | Supported | Supported | Not supported |
| Oracle -> OceanBase Database in Oracle mode | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
| DB2 LUW -> OceanBase Database in Oracle mode | Supported | Supported | Supported | Supported | Supported | Supported | Not supported |
| OceanBase Database in Oracle mode -> OceanBase Database in Oracle mode | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
| OceanBase Database in MySQL mode -> OceanBase Database in MySQL mode | Supported | Supported | Supported | Supported | Supported | Supported | Supported (not supported in active-active disaster recovery scenarios) |
| OceanBase Database in Oracle mode -> Oracle | Supported | Supported | Supported | Supported | Supported | Supported | Supported |
| OceanBase Database in Oracle mode -> MySQL | Not supported | Not supported | Supported | Not supported | Not supported | Not supported | Not supported |
| OceanBase Database in MySQL mode -> MySQL | Supported | Supported | Supported | Supported | Supported | Supported | Not supported |
| OceanBase Database in Oracle mode -> DB2 LUW | Supported | Supported | Supported | Supported | Supported | Supported | Not supported |
| DB2 LUW -> OceanBase Database in MySQL mode | Supported | Supported | Supported | Supported | Supported | Supported | Not supported |
| OceanBase Database in MySQL mode -> DB2 LUW | Supported | Supported | Supported | Supported | Supported | Supported | Not supported |
Data synchronization
| Data source | Schema synchronization | Full synchronization | Incremental synchronization of DML operations | Incremental synchronization of DDL operations | Table without a primary key |
|---|---|---|---|---|---|
| OceanBase Database in MySQL mode -> Kafka | Supported | Supported | Supported | Supported | Not supported |
| OceanBase Database in MySQL mode -> RocketMQ | N/A | Supported | Supported | Not supported | Not supported |
| OceanBase Database in MySQL mode -> DataHub (Tuple type) | Supported | Supported | Supported | Not supported | Not supported |
| OceanBase Database in MySQL mode -> DataHub (Blob type) | Supported | Supported | Supported | Supported | Not supported |
| OceanBase Database in Oracle mode -> Kafka | Supported | Supported | Supported | Supported | Not supported |
| OceanBase Database in Oracle mode -> RocketMQ | N/A | Supported | Supported | Not supported | Not supported |
| OceanBase Database in Oracle mode -> DataHub (Tuple type) | Supported | Supported | Supported | Not supported | Not supported |
| OceanBase Database in Oracle mode -> DataHub (Blob type) | Supported | Supported | Supported | Supported | Not supported |
| Oracle -> DataHub (Blob type) | Supported | Not supported | Supported | Not supported | Not supported |
| Oracle -> DataHub (Tuple type) | Supported | Not supported | Supported | Not supported | Not supported |
| MySQL -> DataHub (Tuple type) | Supported | Not supported | Supported | Not supported | Not supported |
| MySQL -> DataHub (Blob type) | Supported | Not supported | Supported | Not supported | Not supported |
| ODP -> DataHub (Tuple type) | Supported | Supported | Supported | Not supported | Not supported |
| ODP -> DataHub (Blob type) | Supported | Supported | Supported | Supported | Not supported |
| IDB -> DataHub (Tuple type) | Supported | Supported | Supported | Not supported | Not supported |
| IDB -> DataHub (Blob type) | Supported | Supported | Supported | Supported | Not supported |
| ODP -> OceanBase Database in MySQL mode | N/A | Supported | Supported | Supported | Not supported |
| IDB -> OceanBase Database in MySQL mode | N/A | Supported | Supported | Supported | Not supported |
Supported database versions
| Feature | OceanBase Database version | Other database version | OCP version |
|---|---|---|---|
| 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, and 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, and V4.2.1 |
|
|
Fixed issues
| Issue | Introduced in |
|---|---|
| Forward switchover fails if the ENABLE NOVALIDATE constraint exists in a data migration or synchronization project from an Oracle database to an Oracle tenant of OceanBase Database. | Earliest OMS version |
| The document content is not displayed after you click View Document when you create a data migration or synchronization project from an Oracle database to an Oracle tenant of OceanBase Database. | OMS V4.1.0 |
| DBCat does not convert the system GUID and date during schema migration from an Oracle database to a MySQL tenant of OceanBase Database. | OMS V3.2.2 |
| Multiple redundant HA instances are created due to an HA exception in the Store component. | Earliest OMS version |
The ID column in the config_job table exceeds the maximum value allowed for the INT type. |
Earliest OMS version |
An error occurs during log viewing in the console when the error.log file of the Incr-Sync component approaches 200 MB in size. |
Earliest OMS version |
| In a DB2 LUW data migration project, queries by using the sharding column are slow and the full migration performance is poor. | Earliest OMS version |
| In a DB2 LUW data migration project, incremental synchronization does not advance. It can be found in logs that batch SQL execution fails. | OMS V4.1.0 |
| The traffic is 0 during full migration. | Earliest OMS version |
| The memory usage increases when large transactions in DB2 LUW are persisted to the disk. | Earliest OMS version |
| Incremental data is lost because the Connector component connects to an incorrect Store instance. | Earliest OMS version |
Known issues
| Issue | Introduced in | Solution |
|---|---|---|
During full data migration from a MySQL database to a MySQL tenant of OceanBase Database, the data in the source database still overwrites the data in the destination database even if the Ignore option is selected. |
OMS V4.0.1 | None. |
| The database account username and password need to be verified when a DBP data source is created. | Earliest OMS version | None. |
In a data migration or synchronization project from an Oracle tenant of OceanBase Database to an Oracle database, the modification of the skipddl parameter in the JDBCWriter component does not take effect. |
Earliest OMS version | None. |
| An out-of-memory (OOM) exception occurs in the OMS process after the OCP MetaDB is restarted, because the OMS MetaDB is in OCP. | Earliest OMS version | None. |