阿里云数据传输服务-常见问题-D_第1页
阿里云数据传输服务-常见问题-D_第2页
阿里云数据传输服务-常见问题-D_第3页
阿里云数据传输服务-常见问题-D_第4页
阿里云数据传输服务-常见问题-D_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据传输常见问题FAQ数据传输/常见问题FAQ数据传输/常见问题FAQ PAGE 5 PAGE 5常见问题FAQ数据迁移FAQ数据迁移预检查时,预检查项schema不存在失败是什么原因?如何修复?目前DTS已经支持自动在目标RDS实例创建数据库。如果在预检查时报schema不存在,那么可能的原因如下: 您本地的数据名称含有大写字母、特殊字符或是为RDS的关键字。RDS要求数据名由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长64个字符。如果您源实例的数据名称不满足这个要求,那么DTS就不会自动在RDS中创建这个库,而会在预检查时,报schema不存在的错误。特殊字符为了解决

2、这个问题,您需要先手动在RDS控制台创建一个合法的数据库,然后在配置DTS迁移任务时,使用库 名映射,将本地数据库中的数据迁移到RDS上这个名字合法的数据库中。具体可以参考:最佳实践中的库名不同 的数据库之间的数据迁移一节RDS的白名单列表中突然添加了很多不认识的IP,这些IP是哪里的?是否安全?RDS实例是否设置了白名单,如果RDS实例限制了白名单,DTS服务器 不能访问。那么DTS会在配置迁移任务时,将服务器的IP列表添加到RDS实例的白名单中,防止因为白名单限 制,DTS连接不上RDS实例导致迁移失败。在迁移完成后的一天内, DTS会将自己服务器列表IP从RDS白名单中删除掉。使用DTS

3、进行数据迁移,源数据库的数据会不会在迁移后被删除掉?不会,DTS进行数据迁移时,其实是复制了源数据库的一份数据,并不会对源数据库的数据有任何影响。我的阿里云账号下面有两个RDS实例A,B,DTS是否可以将A中的数据库C迁移到B中的数据库D?可以,DTS提供的库名映射功能,可以实现将两个RDS实例中不同库名的两个数据库之间的数据迁移。具体任 务配置方法详见:最佳实践中的库名不同的数据库之间的数据迁移DTS是否能支持两个不同阿里云账号下的RDS实例之间的数据迁移?是否支持增量迁移?可以,进行跨阿里云账号下RDS实例间的迁移,需要以目标RDS实例所属的阿里云账号登录DTS,同时源实例 类型选择有公网

4、IP的自建数据库。具体的任务配置方法详见:最佳实践中的跨阿里云账号的RDS实例间的数据 迁移迁移的目标库中已经存在表了,使用DTS进行数据迁移是否会覆盖掉这些数据?不会,如果配置迁移任务时,要进行整个数据库的迁移,那么预检查时,会要求目标待迁入数据库为空库,如 果不是空库,那么预检查的目标库是否为空项会报错。如果配置迁移任务时,只迁移几个表,那么预检查时,会要求目标库中这些表必须没有数据,如果含有数据库 的,那么预检查的目标库是否为空项会报错。在目标库有数据的情况下,DTS不支持进行数据迁移,所以不会DTS数据迁移不会覆盖掉已存在的数据。支持,DTS提供的对象名映射功能,可以实现在一个RDS实

5、例内复制出一个跟已存在库一模一样的库。具体任 务配置方法详见:最佳实践中的实例内不同数据库之间的数据迁移一节DTS迁移过程中,是否会锁表,对源数据库是否有影响?如果配置迁移任务时,选择了全量数据迁移和增量数据迁移,那么在全量数据迁移过程中,DTS会判断源数据 库中是否存在非事务且无主键的表,如果存在,那么为了保证迁移数据一致性,DTS会给这些表上只读锁,然 后将这些表的数据全量迁移到目标库之后,释放掉只读锁,进行其他表的全量迁移。在上只读锁期间,只有被上锁的表只能进行只读操作,其他表可以正常读写。DTS迁移时,对于ECS、RDS实例是走内网还是公网?如果是进行同一个地区内部的数据迁移,那么DT

6、S会使用内网连接ECS、RDS实例如果是进行跨地区的数据迁移,那么DTS会使用外网连接源实例(ECS、RDS),使用内网连接目标RDS实例数据迁移过程中,是否支持DDL操作?目前DTS数据迁移过程中,不支持源库进行DDL操作。如果迁移过程中源库进行了DDL操作,那么可能导致数 据丢失。全量迁移报java.sql.BatchUpdateException: INSERT, DELETE command denied to user userhost for table * 是什么原因?全量迁移如果报INSERT、CREATE或DELETE等的权限问题,一般都是由于目标RDS实例被锁定了,导致账号

7、写 权限被回收。对于这个问题,需要先回收目标RDS实例的日志空间或升级目标RDS实例的规格后,在DTS控制台触发重试功 能,断点重启任务。具体修复方法详见:最佳实践中的失败修复一节的增量迁移是实时获取在迁移过程中,源数据库产生的增量数据,然后在全量迁移完成后,开始同步到目 标RDS实例中。当增量迁移第一次追平源库的写入时,增量迁移的状态为无延迟,此后增量迁移会一直同步源数据库的业务写 入。如果用户选择了量数据迁移和增量数据迁移,那么在全量数据迁移过程中,DTS会判断源数据库中是否存在非 事务且无主键的表,如果存在,那么为了保证迁移数据一致性,DTS会给这些表上只读锁,其他情况下,DTS不会给源

8、数据库上锁RDS的主库还是备库获取数据? DTS进行数据迁移时,是从RDS的主库上拉取数据。DTS是否支持VPC模式下的RDS实例的数据迁移?如果VPC 模式的RDS实例为目标实例时,DTS暂时不支持它的数据迁移如果VPC模式的RDS实例为源实例时,DTS可以支持将它的数据迁移到经典网络的RDS实例上。但是在配置任 务时,源实例的类型为由公网IP的自建数据库,然后填写源RDS实例的外网连接串,此时DTS会使用外网DNS连接RDS实例。DTS是否支持VPC内的ECS上的自建数据库迁移到RDS实例?不支持,DTS现在还不能支持VPC内部的ECS上的自建数据库迁移到RDS实例使用DTS将自建数据库迁

9、移到RDS,为什么迁移过程中RDS的空间大小会比源数据库大?因为DTS进行的是逻辑迁移方式,它是将迁移数据封装成SQL后,同步到目标RDS实例中的,此时会在目标RDS实例中产生binlog数据,所以迁移过程中,RDS的空间大小可能比源数据库大。DTS是否支持定时自动迁移? 创建数据迁移任务时,报获取结构连接超时是什么原因? 获取结构连接超时的错误,可能由于下面两种原因:您的源数据库设置了白名单,导致DTS服务器不能连接上。建议将白名单放开后重试您提供的迁移账号对应的host为localhost,导致DTS服务器不能从远程连接上。建议将迁移账号对应的host调整为%后,重试数据迁移时,目标数据库

10、中多了一个表increment_trx,这个表是做什么的? 创建迁移任务时,报获取迁移结构失败,原因java.sql.SQLException: Io exception: The Network Adapter could not establish theconnection如果配置Oracle到RDS MySQL迁移任务时,在点击授权白名单并进入下一步时,如果报如上的错误,一般是由于数据传输服务器连接不上源Oracle数据库。当遇到此问题时,需要在Oracle安装服务器上执行netstat -ano 查看Oracle数据库的端口是否配置了内外网IP监听。如果没有配置,那么需要修改Orac

11、le的监听服务重启数据库服务后,重新创建迁移任务即可。增量迁移过程中,报类似如下错误:DTS-077100: Record Replicator error, cause by java.io.IOException: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 8895524 for key PRIMARY这种错误是主键冲突,说明您的目标实例中已经存在这个主键对应的纪录了。出现这种问题,一般是因为在目 标实例中,您的这个表上有触发器,在同步过程中插入纪录

12、时,这个触发器还会触发重新插入一次纪录,从而 导致主键冲突。数据订阅FAQRDS是否有解决方案可以实现自动的binlog下载,下载到本地的统计服务器DTS的数据订阅支持RDS binlog日志的实时订阅,可以开通DTS的数据订阅服务,通过DTS SDK订阅 RDS binlog数据并实时同步到本地的统计服务器中。类似混合云场景下的HA,比如我的业务都在RDS里了,在本地的数据中心做一个从库,这个数据传输支持 吗?支持,可以开通DTS的数据订阅服务,通过RDS备份恢复+DTS实时订阅二者结合,实现本地灾备的功能。具体 实现方案详见:最佳时间中的利用数据订阅实现本地灾备启动订阅SDK时报getgu

13、idinfofailed,是什么原因?这个是由于您在SDK中设置的订阅通道ID不对。需要将示例代码中的client.askForGUID(订阅通道ID);这里面 的订阅通道ID替换成您要订阅的订阅通道对应的ID。可以,如果 数据订阅只订阅数据变更,那么两边索引不同不会影响。但是如果订阅了结构变更,而且RDS上涉及到索引变 更的话,可能会由于两边索引不同,导致结构变更在本地消费失败。数据订阅可以订阅实时增量数据,这个新增的数据是只指新增数据,还是包含修改的数据? DTS的数据订阅可以订阅的增量数据包括:所有的增删改以及结构变更(DDL)数 据 订 阅 启 动 SDK, 报 如 下 的 错 误 E

14、xception in thread main com.aliyuncs.exceptions.ClientException: SignatureDoesNotMatch : Specified signature is not matched with our calculation. at com.aliyuncs.DefaultAcsClient.parseAcsResponse(DefaultAcsClient.java:139) at com.aliyuncs.DefaultAcsClient.getAcsResponse(DefaultAcsClient.java:89) at

15、com.aliyun.drc.regionmanager.RegionRouter.getRegionRouterInfo(RegionRouter.java:38) at com.aliyun.drc.clusterclient.partition.PartitionPool.init(PartitionPool.java:94)这是为什么?这个报错是由于您在SDK中配置的AccessKeyID/AccessKeySecret 不正确。建议重新生成新的AccessKeyID/AccessKeySecret 后,使用新的AK重启SDK。一个SDK客户端 可以订阅多个通道吗不能,目前数据传输服务

16、的SDK还不能支持一个SDK订阅多个订阅通道的数据数据订阅启动SDK报如下的错误:keepaliveerror 如果数据订阅报如上的错误,一般原因可能有两个:1) SDK运行的服务器没有公网IP,不能连接数据传输服务的服务器2) 订阅通道的消费时间点不在订阅通道的数据范围之内。当是这种原因时,需要先到数据传输控制台修改这个订阅通道的消费位点后,重新启动SDK如果SDK退出后,过几天重启运行,不能成功订阅数据这是因为数据订阅通道中保留数据的时间范围为1天,从当前时间-1天 , 当天时间,订阅通道会删除过期数据。所以如果上次SDK退出时最后一条消费数据的时间点对应的数据,不在当前订阅通道中,那么就

17、不能订阅到 这个消费位点对应的数据。为了解决这个问题,用户需要先到数据订阅控制台修改消费位点后,重新启动SDK为什么在控制台修改消费位点操作成功后,启动SDK,订阅到的数据不是修改后位点对应的数据如果在修 改消费位点过程中,SDK还是存活的,那么SDK就会不断得向服务端汇报自己消费的最后位点,导致控制台修 改后的消费位点被覆盖,所以SDK拉到的数据还是最后一个消费位点对应的数据SDK正常拉数据过程中,突然卡住不能订阅到数据这种情况,可能是SDK代码中没有调用ackAsConsumed接口汇报消费位点导致的。由于SDK内部设置了8192个Record的缓存空间,如果不调用ackAsConsumed汇报位点,那么这缓存空间数据就不会删除,当缓存满时,就不能拉取新的数据,就会出现SDK卡住不能订阅数据现象(12)如何确认数据是否正常消费如果数据正常消费,那么数据传输控制台的消费位点就会正常往前走为什么控制台上的消费位点要比数据范围最大值还要大?因为订阅通道的数据范围更新频率为1分钟,而消费位点的更新频率为1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论