开发者社区> 问答> 正文

检测数据传输服务器是否能够连通要迁移的源数据库


检测数据传输服务器是否能够连通要迁移的源数据库。数据传输服务通过JDBC协议创建到源数据库的连接,当创建连接失败时,这个检查项即失败。
当源库连接性预检查失败时,可能是由于如下几种原因:


  • 创建迁移任务时,提供的账号或密码不正确
    检测方法:在任何一台网络能够跟源数据库互通的服务器上,使用创建迁移任务时使用的账号/密码,通过客户端软件连接源数据库,确认是否能够正常连接。如果连接报错,且报错信息中含有Access deny,那么说明账号或密码有误。
    修复方法:在数据传输服务控制台修改迁移任务,将账号密码修改成正确的配置后重新预检查。

  • 源库迁移账号限制了来源IP
    检测方法:
    在一台网络能够跟源数据库连通的服务器上,使用创建迁移任务时使用的账号/密码,通过客户端软件连接源数据库,能够正常连接。此时说明源数据库限制了来源IP,只有源库迁移账号允许的服务器可以连接,而数据传输服务器的IP不在授权列表,所以不能正常连接。

  • 如果源数据库为MySQL数据库,那么直接使用MySQL客户端连接源数据库,执行select host from mysql.user where user=’迁移账号’,password=‘迁移账号密码’,如果查询结果不为”%”,那么说明数据传输服务器IP不在授权IP列表中,所以不能正常连接。

  • 如果是SQL Server,那么检查SQL Server安装服务器上是否设置了防火墙,或者检查源数据库中是否有endpoint或trigger限制了访问来源IP。

  • 如果是Oracle,那么检查源数据库的配置文件sqlnet.ora,确认配置项TCP.VALIDNODE_CHECKING是否为yes,如果为yes,说明源数据库限制了访问来源IP。
    修复方法:

  • 如果源数据库为MySQL,那么在源数据库中执行grant all on . to “迁移账号”@”%” identified by “迁移密码”给迁移账号重新授权。这个命令中的迁移账号用真实的迁移账号替换,迁移密码用真实的迁移密码替换。授权后重新进行预检查。

  • 如果源数据库为SQL Server,那么需要先关闭掉防火墙或禁用掉trigger后,重新进行预检查。

  • 如果源数据库为Oracle,那么先修改TCP.VALIDNODE_CHECKING=no并重启监听后,重新进行预检查。

源数据库安装服务器设置了防火墙
检测方法:如果安装源数据库的服务器为Linux,那么在shell中运行 iptables -L,检查服务器是否配置了防火墙。如果安装源数据库的服务器为window,那么在控制面板中查找到Windows防火墙,查看是否配置了防火墙。
修复方法:先将防火墙关闭后,重新进行预检查。
数据传输服务器与源数据库网络不通
如果不是上面三种情况中的任何一种,那么可能是由于数据传输服务器跟源数据库网络不连通,当处于这种情况时,请联系数据传输服务值班同学协助解决。

展开
收起
云栖大讲堂 2017-10-31 10:39:18 2833 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS计算与存储分离架构实践 立即下载