OceanBase Migration Service (OMS) provide data migration. You can use OMS to migrate data between OceanBase Database and other data sources in real time.
Background information
OMS supports online migration. The server deployed with OMS must be able to connect to both source and destination database instances at the same time. You can start a data migration task simply after you configure the source and destination databases and select the objects to be migrated.
OMS automatically performs all the procedures in a data migration task, replicating the database objects, existing data, or incremental data in the source database (data table) to the destination database (data table). It also ensures the real-time synchronization of incremental data from the source database to the destination database.
Supported project types
OMS provides the online data migration and real-time incremental data synchronization features. The following project types are supported:
Migrate data from a MySQL database to a MySQL tenant of OceanBase Database
Migrate data from a MySQL tenant of OceanBase Database to a MySQL database
Migrate data from an Oracle database to a MySQL tenant of OceanBase Database
Migrate data from an Oracle tenant of OceanBase Database to an Oracle database
Migrate data from an Oracle database to an Oracle tenant of OceanBase Database
Migrate data from a DB2 LUW database to an Oracle tenant of OceanBase Database
Migrate data from an Oracle tenant of OceanBase Database to a DB2 LUW database
Migrate data from a DB2 LUW database to a MySQL tenant of OceanBase Database
Migrate data from a MySQL tenant of OceanBase Database to a DB2 LUW database
Migrate data within OceanBase Database in active-active disaster recovery scenarios
Migrate data from a TiDB database to a MySQL tenant of OceanBase Database
Migrate data from a PostgreSQL database to a MySQL tenant of OceanBase Database
Migrate incremental data from an Oracle tenant of OceanBase Database to a MySQL database
Note
For more information about the version restrictions on data sources, see Limitations.
Supported migration types
In the following table, OB_MySQL stands for a MySQL tenant of OceanBase Database, and OB_Oracle stands for an Oracle tenant of OceanBase Database. For more information about the DDL operations supported in incremental synchronization, see topics in the Supported DDL operations for synchronization and limitations chapter.
| Data migration project | Schema migration | Full migration | Incremental synchronization of DML operations | Incremental synchronization of DDL operations | Full verification | Reverse incremental synchronization | Table 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 (not supported in active-active 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 types
| Migration type | Description |
|---|---|
| Schema migration | OMS migrates the definitions of data objects, such as tables, indexes, constraints, comments, and views, from the source database to the destination database. Temporary tables are automatically filtered out. If the source database is not an OceanBase database, OMS Community Edition performs format conversion and encapsulation based on the syntax definition and standard of the type of the destination tenant of OceanBase Database and then replicates the data to the destination database. |
| Full migration | OMS migrates the existing data from tables in the source database to the corresponding tables in the destination database. On the Full Migration page, you can view information on the Tables, Table Indexes, and Migration Performance tabs. The status of a full migration task changes to Completed only after the table objects and table indexes are migrated. On the Table Indexes page, you can click View Creation Syntax next to a table to view its index creation syntax. You can combine full migration with incremental synchronization to ensure data consistency between the source and destination databases. If any objects fail to be migrated during full migration, the causes of the failure are displayed. |
| Incremental synchronization | OMS synchronizes the data that has been changed (added, modified, or deleted) in the source database to the corresponding tables in the destination database. When services continuously write data to the source database, OMS starts the incremental data pull module to pull incremental data from the source instance, parses and encapsulates the incremental data, and then stores the data in OMS. After that, OMS starts the full data migration. After the full data migration task is completed, OMS starts the incremental data replay module to pull incremental data from the incremental data pull module. The incremental data is synchronized to the destination instance after being filtered, mapped, and converted. |
| Full verification | After the full data migration and incremental data migration are completed, OMS automatically initiates a full data verification task to verify the data tables in the source and destination databases. You can initiate custom data verification tasks during incremental data synchronization. If tables with inconsistent data are detected, you can choose to re-verify all data or only the inconsistent data in the tables. |
| Forward switchover | Forward switchover is an abstract and standard process of traditional system cutover and does not involve the switchover of application connections. This process includes a series of tasks that are performed by OMS for application switchover in a data migration task. You must make sure that the entire forward switchover process is completed before the application connections are switched over to the destination database. Forward switchover is required for data migration. By performing forward switchover, OMS ensures the completion of forward data migration. You can start the Incr-Sync component for reverse incremental synchronization based on your business needs. The forward switchover process involves the following operations:
|
| Reverse incremental | In business cutover scenarios, after the migration is completed, you can start an incremental synchronization task in a reverse direction. In other words, you can synchronize data from the destination database to the source database before the business database switchover. In this way, data changes made in the destination database after the switchover are applied to the source business database in real time. |