OceanBase Migration Service (OMS) supports data migration, which allows you to migrate data to or from OceanBase Database in real time from or to other data sources.
Background information
During online data migration, the OMS deployment server must be networked with both the source and target instances. You only need to configure the source and target data sources, select the objects to migrate, and then start the migration task.
OMS automatically completes the entire data migration process. It can replicate database objects, existing data, and incremental data from the source database (table) to the target database (table), and ensure real-time incremental synchronization from the source database to the target database.
Supported migration types
The following table lists the supported migration types.
| Migration type | Schema migration | Full migration | Incremental DML | Incremental DDL | Full data verification | Reverse incremental | Tables without primary keys |
|---|---|---|---|---|---|---|---|
| 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 (Not supported in disaster recovery 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 |
Migration type descriptions
| Migration type | Description |
|---|---|
| Schema migration | Responsible for migrating data object definitions (tables, indexes, constraints, comments, and views) from the source database to the target database. It automatically filters out temporary tables. When the source database is not OceanBase Database, it converts and assembles data types and SQL syntax based on the syntax standards of the target OceanBase tenant type, then replicates them to the target database. |
| Full migration | Migrates existing data from source tables to corresponding tables in the target database. You can view the Full Migration page, where you can find the Table Objects, Table Indexes, and Migration Performance. The full migration status will be marked as completed only when both table objects and table indexes are migrated. On the Table Indexes page, click View Creation Syntax after the target table object to view the index creation syntax. Combining full migration with incremental synchronization ensures the final consistency between the source and target databases. If any migration objects fail, the specific failure reasons will be displayed. |
| Incremental synchronization | After an incremental synchronization task starts, it synchronizes data changes (insertions, modifications, or deletions) from the source database to corresponding tables in the target database. When there is continuous business write operations in the source database, OMS starts the incremental pull module before the full data migration starts. This module pulls incremental updates from the source instance, parses and packages them, and stores them in OMS. After the full data migration is completed, OMS starts the incremental data replay module, which retrieves incremental data from the incremental pull module. The incremental data is filtered, mapped, and converted, then synchronized to the target instance. |
| Full data verification | After the full data migration is completed and incremental data is synchronized to the target database, OMS automatically initiates a full data verification task for the data tables in the source and target databases. During the incremental data synchronization process, you can also initiate custom data verification. For data that does not match the verification results, you can re-verify all data in the table or only the inconsistent data. |
| Forward switchover | Forward switchover (abstracted and standardized system cutover process) does not involve switching the application connections. It is a task flow that OMS executes in conjunction with application switching. You need to complete the forward switchover before the application connections are switched to the target database. Forward switchover is an essential process in data migration. It ensures that OMS completes the forward data migration and allows you to start the reverse incremental component based on business needs. The main tasks involved in forward switchover are as follows:
|
| Reverse incremental | After the migration is completed, you can initiate a reverse incremental synchronization task from the target database to the source database (reverse) on OMS before the business database is switched. This task synchronizes data changes generated in the target database after the business database is switched back to the source database in real time. |
Supported migration types
OMS allows you to migrate data online and synchronize incremental data in real time. The following migration types are supported:
Migrate data from a MySQL database to a MySQL-compatible tenant of OceanBase Database
Migrate data from an OceanBase Database MySQL-compatible tenant to a MySQL database
Migrate data from an Oracle database to a MySQL-compatible tenant of OceanBase Database
Migrate data from an Oracle-compatible tenant of OceanBase Database to an Oracle database
Migrate data from an Oracle database to an Oracle-compatible tenant of OceanBase Database
Migrate data from a DB2 LUW database to an Oracle-compatible tenant of OceanBase Database
Migrate data from an Oracle-compatible tenant of OceanBase Database to a DB2 LUW database
Migrate data from a DB2 LUW database to a MySQL-compatible tenant of OceanBase Database
Migrate data from a MySQL-compatible tenant of OceanBase Database to a DB2 LUW database
Disaster recovery and active-active data migration in OceanBase Database
Migrate data from a TiDB database to a MySQL-compatible tenant of OceanBase Database
Migrate data from a PostgreSQL database to a MySQL-compatible tenant of OceanBase Database
Migrate incremental data from an Oracle-compatible tenant of OceanBase Database to a MySQL database
Migrate data from a PolarDB-X 1.0 database to a MySQL-compatible tenant of OceanBase Database
Note
For version limitations on data sources, see Limitations.