Version information
Version number: V4.0.1
Previous version: V3.4.0
Version release date: February 22, 2023
Version upgrade support:
Versions earlier than OceanBase Migration Service (OMS) V3.2.1 must be upgraded to V3.2.1 first.
OMS V3.2.1 and later can be directly upgraded to OMS V4.0.1.
Compatible database versions
| Feature | OBServer version | Other database versions | 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,V 2.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, V3.2.1, V3.2.2, V3.2.3, V3.2.4, and V4.0.0 |
|
|
| 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, V3.2.1, V3.2.2, V3.2.3, and V3.2.4 |
|
|
New features
Data migration and synchronization
Data can be migrated from a MySQL database to a MySQL tenant of OceanBase Database V4.0.0. Schema migration, full migration, incremental synchronization, and full verification are supported.
RocketMQ instances of Enterprise Edition V4.x and V5.x are supported in OceanBase Database.
Full synchronization from an OceanBase database to a RocketMQ instance is supported.
An incremental synchronization checkpoint can be selected for incremental synchronization. This option is not supported for full migration.
Synchronization of DDL operations from an OceanBase database to a Kafka instance is supported. In this way, you can promptly detect schema changes and simplify the synchronization solutions.
The Debezium JSON format is supported for data synchronization from an OceanBase database to a Kafka, DataHub (BLOB type), or RocketMQ instance to facilitate data processing in downstream big data ecosystems.
You can specify the cluster ID as needed in service scenarios such as data cleansing and history database.
When you select migration objects, you can use matching rules to implement many-to-one mappings. This facilitates database migration for database and table sharding products such as MyCat and TDDL.
You can set a throttling method based on the records per second (RPS) or I/O operations per second (IOPS). You can enable this feature for the source or destination database in busy hours to minimize the impact on online services.
Feature changes and optimization
Interaction experience optimization
A project creation wizard and the related feature descriptions are provided to help you conveniently create a project.
Among more than 110 error codes available, 35 specification-related error codes are provided to help you improve the self-service O&M capabilities.
The processing and display logic of matching rules is optimized to improve the efficiency of processing multiple matching rules.
When you create a project, you can find a link to the project creation document and the description of the object renaming, DDL synchronization, and DML synchronization features.
New component names, namely Store, Incr-Sync, Full-Import, and Full-Verification, are used for data migration and synchronization, and the underlying technical processing logic is optimized to facilitate understanding and self-service O&M.
Feature upgrades
A three-layer permission model consisting of the ROOT, ADMIN, and USER roles and roles with read-only permissions are supported. You can manage permissions by department. This improves the system permission control granularity.
Single sign-on (SSO) (OAuth 2.0 protocol) and Apsara Stack sign-on (ASO) are supported.
When you create a project, you can remove objects that do not meet the migration conditions in the precheck step. This improves the ease-of-use of OMS.
After the number of failed logon attempts of an account exceeds five, the account will be locked. This account locking logic increases the difficulty for brute-force cracking, thereby improving the product security.
You can dynamically change project names to facilitate project management.
The heartbeat table feature, which resolves the issue of high latency when no business data is written in the source database, is supported for the DB2 LUW data source.
The displayed alert information and display logic are optimized in the OMS and OCP consoles to help you conveniently handle alerts.
Standard performance metrics regarding full import and incremental synchronization are provided. This facilitates resource planning and project duration estimation in the early phase of a project.
Fixed issues
During data migration from an Oracle tenant of OceanBase Database to an Oracle database, the data will be inconsistent if the unique or primary key contains a column of the CHAR or NCHAR type.
Scope of impact: OMS V2.x and V3.x
During data migration from an Oracle database to an Oracle tenant of OceanBase Database, if the table to be migrated belongs to the igfile tablespace, reinitialization is performed after full migration.
Scope of impact: OMS V2.x and V3.x
During data migration from an Oracle database to an Oracle tenant of OceanBase Database, the code of the session-level character set is incorrectly set for schema migration.
Scope of impact: OMS V3.3.x and V3.4.0
During data migration between MySQL tenants of OceanBase Database, the performance in verifying data between the source database (single table) and destination database (partitioned table) is low.
Scope of impact: OMS V2.x and V3.x
During data migration from a DB2 LUW database to an Oracle tenant of OceanBase Database, if the DB2 LUW database version is 10.5.800.381, an error message indicating that the version is not supported is displayed.
Scope of impact: OMS V3.2.x, V3.3.x, and V3.4.0
The latency in the incremental synchronization step is inconsistent with the latency displayed in a time-series database.
Scope of impact: OMS V3.3.x and V3.4.0
Known issues
[O&M and monitoring] After you click Refresh on the Components page, the loading state is not displayed.
Temporary solution: Components are correctly refreshed. You can ignore this issue.
[Data migration] When a project is suspended, the displayed state of the data migration step is incorrect. You can ignore this issue.
[Migration between OceanBase databases] In the case of large table migration, the speed of data verification on HASH partitions is low.
Temporary solution: None. HASH functions are used differently in OceanBase databases than in Oracle and MySQL databases.
The three system parameters
migration.checker.params.*still take effect for the concurrency of data migration.Temporary solution: You can ignore this issue.
[Migration from a MySQL database to a MySQL tenant of OceanBase Database] If different Chinese character sets are specified for columns of tables in the source database, the data written to the MySQL tenant of OceanBase Database V2.2.77 during incremental synchronization is garbled.
Temporary solution: None.
Product behavioral changes
By default,
perceiveStoreClientCheckpointin theha.configsystem parameter is enabled.In the case of an upgrade exception or a writing exception in the destination database, if the checkpoint of data written by the Incr-Sync component to the destination database is greater than the earliest pulling checkpoint of the Store component, the project will fail. This parameter is provided to resolve such issues.
By default, cascade replication is enabled.
Cascade replication in OMS is similar to that in MySQL. For example, data is replicated from master node A to slave node B and then to slave node C. That is, data is replicated from OceanBase database A to OceanBase database B and then to another database C. This ensures that the modified data in node A can be synchronized to node C.
Serialization method: TransID is added for the Default and DefaultExtendColumnType methods.
In OceanBase Database, TransID indicates the ID of a transaction. In a transaction ID, inc is an auto-increment number, addr is the address or the coordinator, ts is the time when the transaction ID is generated, and hash is the HASH value of the preceding three. For an incomplete transaction, the transaction ID is null. In MySQL and Oracle, TransID indicates a checkpoint.
Serialization method: Cluster_ID is added for the Default and DefaultExtendColumnType methods.
In OceanBase Database,
ob_org_cluster_idspecifies a session-level cluster ID, which will be persisted to the transaction log. You can set this value from the user or transaction perspective. Downstream components perform corresponding business processing based on this value. This value is usually used in business scenarios such as data cleansing and history database.
Feature changes and guidance
Changes in component names
In OMS V4.0.1, component names are unified in the product layer to improve the ease-of-use. The following table describes the old and new component names.
Old component name New component name Store (log pulling component) Store (incremental pulling component) JDBCWriter (real-time synchronization component/Connector (synchronous write component) Incr-Sync (incremental synchronization component) Connector (full synchronization component)/Checker-Full (full migration component) Full-Import (full import component) Checker-Verify (full verification component) Full-Verification (full verification component) Set throttling
In the
coordinatorsection of the Full-Import or Incr-Sync component, thethrottleRpsparameter specifies the records per second (RPS) and thethrottleIOPSparameter specifies the I/O operations per second (IOPS). You can set these parameters as needed to reduce the impact of data synchronization on the performance of the source or destination database, thereby avoiding business loss.Upgrades of permission and role models
The three-layer permission model consisting of the ROOT, ADMIN, and USER roles is supported since OMS V4.0.1. Permissions of the ADMIN and USER roles can be isolated by department. Read/Write separation is also supported for the ROOT and ADMIN roles to meet the permission management requirements of enterprise customers.
Set a password expiration strategy
Role-based password expiration is supported since OMS V4.0.1. By default, role-based password expiration is disabled. Choose System Management > System Parameters and then specify
oms.user.password.expiration.date.configto set a password management strategy for enterprise customers.Changes in component parameters
The parameters of the Full-Import and Incr-Sync components are changed significantly in OMS V4.0.1. For more information, see the "Component parameters" topic in OMS O&M.
Enable third-party SSO
To log on to OMS by using the single sign-on (SSO) feature, you must integrate the OpenID Connect (OIDC) protocol and add parameters in the
config.yamlfile template. For more information, see the "Integrate the OIDC protocol to OMS to implement SSO" topic in Deployment Guide.