全部产品
数据传输服务DTS

查看迁移详情

更新时间:2017-08-18 13:54:53   分享:   

描述

任务处于:迁移中、迁移失败、暂停中、迁移完成时,可以调用这个接口查看数据迁移详情,包括每个对象的迁移状态及进度。

请求参数

参数说明 数据类型 是否必须 参数说明
Action String 系统默认参数,这个接口的接口定义,取值为:DescribeMigrationJobDetail
MigrationJobId String 迁移任务ID
MigrationMode.StructureInitialization Boolean 查看结构迁移详情
MigrationMode.DataInitialization Boolean 查看全量数据迁移
MigrationMode.DataSynchronization Boolean 查看增量数据迁移
PageSize Integer 每页的记录数,取值:30/50/100,默认为30。
只有当MigrationMode.StructureInitialization、MigrationMode.DataInitialization、MigrationMode.DataSynchronization 这三个配置项只有一个为true时,这个配置项才能生效
PageNum Integer 页码,大于0且不超过Integer的最大值,默认值为:1。
只有当MigrationMode.StructureInitialization、MigrationMode.DataInitialization、MigrationMode.DataSynchronization 这三个配置项只有一个为true时,这个配置项才能生效

返回参数

参数名称 数据类型 参数说明
StructureInitializationDetails List 结构迁移详情
StructureInitializationDetail的定义参考StructureInitializationDetail参数定义
DataInitializationDetails List 全量迁移详情
DataInitializationDetail 的定义参考 DataInitializationDetail 参数定义
DataSynchronizationDetails List 增量迁移详情
DataSynchronizationDetail 的定义参考 DataSynchronizationDetail 参数定义

StructureInitializationDetail参数定义

参数名称 数据类型 参数说明
ObjectName String 迁移对象名称
ObjectType String 迁移对象类型,取值包括:
Table、Constraint、Index、View、MaterilizeView、Type、Synonym、Trigger、Function、Procedure、Package、Default、Rule、Plan Guide
SourceOwnerDBName String 迁移对象在源实例所属的数据库名称
DestinationOwnerDBName String 迁移对象在目标实例所属的Schema
Status String 这个迁移对象的迁移状态
ErrorMessage String 这个迁移对象迁移失败的原因
ObjectDefinition String 这个迁移对象的结构语法定义
Constraints List 这个迁移对象对应的约束子对象。只有当这个迁移对象为表时,才会有约束,约束包括索引、外键

DataInitializationDetail 参数定义

参数名称 数据类型 参数说明
TableName String 迁移表的表名
SourceOwnerDBName String 迁移表在源实例所属的数据库名称
DestinationOwnerDBName String 迁移表在目标实例所属的数据库名称
Status String 这个表的迁移状态
ErrorMessage String 这个表迁移失败的原因
TotalRowNum String 这个表待迁移的全部记录数
FinishRowNum String 这个表已经完成迁移的记录数
UsedTime String 截止目前为止,迁移这个表所用的时间,单位为秒

DataSynchronizationDetail 参数定义

参数名称 数据类型 参数说明
TableName String 迁移表的表名
SourceOwnerDBName String 迁移表在源实例所属的数据库名称
DestinationOwnerDBName String 迁移表在目标实例所属的数据库名称
Status String 这个表的迁移状态
ErrorMessage String 这个表迁移失败的原因

示例

下面简单演示通过JAVA SDK 查看迁移任务详情的示例:

  1. private static void describeMigrationJobDetail(String MigrationJobId) {
  2. DescribeMigrationJobDetailRequest request = new DescribeMigrationJobDetailRequest();
  3. request.setMigrationJobId(MigrationJobId);
  4. request.setMigrationModeStructureInitialization(true);
  5. request.setMigrationModeDataInitialization(true);
  6. request.setMigrationModeDataSynchronization(true);
  7. try {
  8. DescribeMigrationJobDetailResponse response = client.getAcsResponse(request);
  9. System.out.println("Get Migration Detail of Migration Job " +MigrationJobId+" Succeed!");
  10. List<StructureInitializationDetail> struInitDetails= response.getStructureInitializationDetailList();
  11. System.out.println("Structure Initialization Detail:");
  12. for (int i = 0; i < struInitDetails.size(); i++) {
  13. String objectName=struInitDetails.get(i).getObjectName();
  14. String SrcDBName=struInitDetails.get(i).getSourceOwnerDBName();
  15. String DestDBName = struInitDetails.get(i).getDestinationOwnerDBName();
  16. String Status=struInitDetails.get(i).getStatus();
  17. String errorMsg=struInitDetails.get(i).getErrorMessage();
  18. System.out.println("ObjectName:"+objectName+"; SRCDBName:"+SrcDBName+"; DESTDBName:"
  19. +DestDBName+"; Status:"+Status+"errorMsg:"+errorMsg);
  20. }
  21. List<DataInitializationDetail> dataInitDetails = response.getDataInitializationDetailList();
  22. System.out.println("Data Initialization Detail:");
  23. for (int i = 0; i < dataInitDetails.size(); i++) {
  24. String tblName=dataInitDetails.get(i).getTableName();
  25. String tbl_srcDBName=dataInitDetails.get(i).getSourceOwnerDBName();
  26. String tbl_destDBName=dataInitDetails.get(i).getDestinationOwnerDBName();
  27. String dataInitStatus=dataInitDetails.get(i).getStatus();
  28. String dataInitSumRows=dataInitDetails.get(i).getTotalRowNum();
  29. String dataInitFinishRows=dataInitDetails.get(i).getFinishRowNum();
  30. String dataUsedTime=dataInitDetails.get(i).getMigrationTime();
  31. String dataInitErrMSG = dataInitDetails.get(i).getErrorMessage();
  32. System.out.println("TableName:"+tblName+"; SRCDBName:"+tbl_srcDBName
  33. +"; DESTDBName:"+tbl_destDBName+"; SumRows:"+dataInitSumRows+"; FinishRows"
  34. +"; UsedTime:"+dataUsedTime+"; ErrorMSG:"+dataInitErrMSG);
  35. }
  36. List<DataSynchronizationDetail> dataSyncDetails = response.getDataSynchronizationDetailList();
  37. System.out.println("Data Synchronization Detail");
  38. for (int i = 0; i < dataSyncDetails.size(); i++) {
  39. String dataSyncTblName=dataSyncDetails.get(i).getTableName();
  40. String dataSyncSRCDBName=dataSyncDetails.get(i).getSourceOwnerDBName();
  41. String dataSyncDESTDBName = dataSyncDetails.get(i).getDestinationOwnerDBName();
  42. String dataSyncStatus = dataSyncDetails.get(i).getStatus();
  43. String dataSyncErrMsg = dataSyncDetails.get(i).getErrorMessage();
  44. System.out.println("TableName:"+dataSyncTblName+"; SRCDBName:"+dataSyncSRCDBName
  45. +"; DESTDBName:"+dataSyncDESTDBName+"; Status:"+dataSyncStatus+"; ErrorMSG:"+dataSyncErrMsg);
  46. }
  47. } catch (Exception e) {
  48. // TODO: handle exception
  49. System.out.println("Get Migration Detail of Migration Job " +MigrationJobId+" Failed!");
  50. System.out.println(e.toString());
  51. }
  52. }
本文导读目录
本文导读目录
以上内容是否对您有帮助?