概述

本文主要介绍DTS任务如何在预检查阶段对源数据库进行连接性检查。

 

详细信息

为保障数据迁移任务的顺利执行,在预检查阶段需要检查DTS服务器是否能够连通需要迁移的源数据库。以下将介绍源数据库连接性检查失败可能的原因及修复方法。当源数据库连接性预检查失败时,可能是以下几种原因。

 

数据库账号或密码不正确

检测方法

在任何一台可以连接源数据库的设备上,使用数据迁移任务中填入的数据库账号和数据库密码连接源数据库,验证数据库账号和数据库密码是否正确。

注:您也可以直接在源数据库部署的服务器上验证数据库账号和数据库密码是否正确。

 

修复方法 

登录数据传输控制台,修改数据迁移任务,填入正确的数据库账号和数据库密码后重新执行预检查。

 

源数据库对来源IP地址进行了限制

检测方法

  1. 您可以直接在源数据库部署的服务器上,使用数据迁移任务中填入的数据库账号和数据库密码连接源数据库。如果连接正常,说明源数据库可能限制了来源IP地址。
  2. 如果源数据库为MySQL,您可以使用MySQL客户端连接源数据库后,执行如下SQL语句进行检查。
    SELECT HOST FROM mysql.user WHERE user='[$UserName]',password='[$PassWord]';
    注:
  3. 如果源数据库为SQL Server,检查安装SQL Server的服务器上是否设置了防火墙,或者检查源数据库中是否有endpoint或trigger限制了访问来源IP地址。
  4. 如果源数据库为Oracle,检查源数据库的配置文件sqlnet.ora,确认配置项TCP.VALIDNODE_CHECKING是否为yes。如果为yes,说明源数据库限制了访问来源IP地址。

 

修复方法

  1. 如果源数据库为MySQL,您可以在源数据库中执行如下SQL语句,重新给数据迁移使用的数据库账号授权。
    GRANT ALL ON *.* TO '[$UserName]'@'%' IDENTIFIED BY '[$PassWord]';
  2. 如果源数据库为SQL Server,关闭防火墙或禁用trigger。
  3. 如果源数据库为Oracle,修改TCP.VALIDNODE_CHECKINGno并重启进程。
  4. 执行了上述修复操作后,登录数据传输控制台,重新执行预检查。

 

源数据库服务器设置了防火墙

检测方法

  1. 如果安装源数据库的服务器为Windows系统,那么在控制面板中查找到Windows防火墙,查看是否配置了防火墙。
  2. 如果安装源数据库的服务器为Linux系统,通过Shell工具连接到服务器使用iptables -L命令,检查服务器是否配置了防火墙。

 

修复方法

关闭相关防火墙限制后,登录数据传输控制台,重新执行预检查。

 

网络互通问题

经过上述排查后仍然无法通过源库连接性检查,可能是DTS服务器与源数据库网络互通问题,您可以提交工单联系阿里云技术支持协助解决。

 

适用于

  • 数据传输服务 DTS