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 LogMinerConnector需要此最低版本。 |
角色:SELECT_CATALOG_ROLE | 验证迁移用户是否具有 此角色授予对数据字典视图的读取访问访问权限, Relational Migrator检查这些数据字典视图以检查表和日志配置。 |
迁移表上的 SELECT权限 | 验证迁移用户是否对每个已迁移的表具有 Relational Migrator在快照从每个表中读取行。 |
已迁移表上的 FLASHBACK权限 | 验证迁移用户是否对每个已迁移的表具有 此权限允许快照在一致的时间点读取每个表,而不会阻止并发写入。 |
MySQL
MySQL的预检查是最佳近似值,可能比特定迁移所需的范围更广泛或更窄。会对来自MySQL源数据库的快照迁移作业运行以下检查:
飞行前检查 | 说明 |
|---|---|
MySQL 5.7 或更高版本 | 验证源是否运行MySQL 5.7 或更高版本。 Debezium MySQLConnector需要此最低版本。 |
特权:SELECT、RELOAD、SHOW DATABASES、REPLICATION SLAVE、REPLICATION CLIENT | 验证迁移用户是否具有
|
PostgreSQL
PostgreSQL 的预检检查是最佳近似值,可能比特定迁移所需的范围更广泛或更窄。会对来自 PostgreSQL 源数据库的快照迁移作业运行以下检查:
飞行前检查 | 说明 |
|---|---|
PostgreSQL 9.4 或更高版本 | 验证源是否运行 PostgreSQL 9.4 或更高版本。 Debezium PostgreSQLConnector使用逻辑解码,因此需要此最低版本。 |
迁移表上的 SELECT权限 | 验证迁移用户是否对每个已迁移的表具有 Relational Migrator在快照从每个表中读取行。 |
SQL 服务器
SQL Server 的预检查是最佳近似值,可能比特定迁移所需的范围更广泛或更窄。会对来自SQL Server 源数据库的快照迁移作业运行以下检查:
飞行前检查 | 说明 |
|---|---|
SQL Server 版本 2008 (10.0) 或更高版本 | 验证源是否运行SQL Server 2008 (10.0) 或更高版本。 Debezium SQL ServerConnector需要此最低版本。 |
已在源数据库上启用变更数据捕获 | 验证源数据库上是否启用了变更数据捕获 (CDC)。 即使对于快照迁移,Connector也需要数据库级 CDC。 |
Db2
DB2 的预检查是最佳近似值,可能比特定迁移所需的范围更宽或更窄。会对来自 DB2 源数据库的快照迁移作业运行以下检查:
飞行前检查 | 说明 |
|---|---|
Debezium ASNCDC.IBMSNAP_REGISTER 表存在 | 验证 即使对于快照迁移,Connector也需要 |
Sybase
Relational Migrator不会对 Sybase 源数据库运行运行前检查。