1.18版本新增。
Relational Migrator 运行预检,以验证源数据库具有迁移作业所需的权限和配置。在创建迁移作业时,检查会自动运行。它们还在迁移前分析期间运行,该分析在其 Prerequisites 标签页上报告结果。
查看失败的检查
在作业创建过程中检查失败时,Relational Migrator 会在 Mode 选择下方显示警告,概括失败的检查数量。单击 View details 打开 Preflight checks failed 对话框,其中列出了每个失败的检查、受检查影响的表以及修复失败的 SQL。要修复失败,您可以复制单个声明或下载包含所有修复的脚本。
重要
失败的检查不会阻止迁移。在开始迁移作业之前,查看每个失败,并与数据库管理员一起运行修复脚本。要了解每个检查验证的内容,请参阅源数据库的部分。
Oracle
Oracle 的预检是每种迁移模式的经过验证的最小权限和配置集。检查失败反映了真实的要求,如果不解决,可能会导致迁移失败。从 Oracle 源数据库进行快照迁移作业时,会运行以下检查:
预检 | 说明 |
|---|---|
Oracle 11.1 版本或更新版本 | 验证源运行 Oracle 11.1 或更高版本。 Debezium Oracle LogMiner 连接器需要此最低版本。 |
角色:SELECT_CATALOG_ROLE | 验证迁移用户具有 此角色授予对 Relational Migrator 检查表和日志配置时检查的数据字典视图的读取权限。 |
迁移表的 SELECT 权限 | 验证迁移用户在每个迁移表上具有 Relational Migrator 在快照过程中从每个表中读取行。 |
迁移表上的 FLASHBACK 权限 | 验证迁移用户在每个迁移表上具有 此权限允许快照读取在一致时间点的每个表,而不阻止并发写入。 |
MySQL
MySQL 的预检是最佳近似值,可能比特定迁移所需的范围更广或更窄。从 MySQL 源数据库进行快照迁移作业时会运行以下检查:
预检 | 说明 |
|---|---|
MySQL 版本 5.7 或更高版本 | 验证源运行 MySQL 5.7 或更高版本。 Debezium MySQL 连接器需要此最低版本。 |
权限:SELECT、RELOAD、SHOW 数据库、复制 SLAVE、复制 客户端 | 验证迁移用户具有
|
PostgreSQL
PostgreSQL 的预检是最佳近似值,可能比特定迁移所需的范围更宽或更窄。从 PostgreSQL 源数据库迁移快照作业时会运行以下检查:
预检 | 说明 |
|---|---|
PostgreSQL 9.4 版本或更高版本 | 验证源运行 PostgreSQL 9.4 或更高版本。 Debezium PostgreSQL Connector 使用逻辑解码,这需要此最低版本。 |
迁移的表上的 SELECT 权限 | 验证迁移用户在每个迁移表上具有 Relational Migrator 在快照过程中从每个表中读取行。 |
SQL 服务器
SQL Server 的预检是最佳近似值,可能比特定迁移所需的范围更广或更窄。从 SQL Server 源数据库进行快照迁移作业时会运行以下检查:
预检 | 说明 |
|---|---|
SQL Server 2008 版本 (10.0) 或更高版本 | 验证源运行 SQL Server2008 (7700)10.0 或更高版本。 Debezium SQL Server 连接器需要此最低版本。 |
在源数据库上启用变更数据捕获 | 验证源数据库上启用了变更数据捕获 (CDC)。 连接器需要数据库级别的 CDC,即使是快照迁移也是如此。 |
Db2
DB2 的预检是最佳近似值,可能比特定迁移所需的范围更广或更窄。从 DB2 源数据库迁移快照的作业会运行以下检查:
预检 | 说明 |
|---|---|
Debezium ASNCDC.IBMSNAP_REGISTER 表存在 | 验证 即使是快照迁移,连接器也需要 |
Sybase
Relational Migrator 不会对 Sybase 源数据库运行预检。