GBase Migration Toolkit迁移工具是GBase提供的一款可以实现异构数据库进行数据迁移的工具,它具有简单易操作的图形化界面,根据数据迁移需求创建相应的任务,并且可以对迁移任务进行相应的设置,实现多线程进行并发数据迁移。
在使用的过程中,我们可能会遇到一些报错,本文就将这些问题进行归纳和总结,以便遇到问题时进行查询。
1、打开工具报错“配置文件有误”
提示信息如下:
此错误一般为core_conf.properties配置文件中persistence_file_path参数有误,路径不存在或者无法访问。
2、任务创建失败
一般原因为对persistence_file_path目录没有操作权限,无法写入迁移任务。
其次考虑对conf文件夹内文件是否有修改权限,创建任务同时会对conf下部分配置文件进行自动修改,如无权限也可能导致任务保存失败。
3、启动任务失败
任务启动失败优先查看迁移工具日志文件,目录为“安装路径/migration/logs/migration.log”。
可能原因是工具对操作任务目录以及文件没有足够的权限,会导致启动失败。
4、迁移任务失败
任务启动失败优先查看迁移任务报告,报告中会展示常见的错误原因。具体错误原因可以查看工具日志文件,目录为“安装路径/migration/logs/migration.log”。
失败原因有很多,常见的有:
(1)源数据库和目标数据的权限问题;
(2)目标库中已存在重名的表名称;
(3)建表语句有误问题,造成建表语句有误的原因一般为UserDataTypeMapping.xml中的数据类型对应有问题,源数据库读取不到该数据类型,或者目标数据库不支持创建类型。
(4)网络中断问题,造成无法连接数据库。
(5)内存溢出问题,虚拟内存开辟空间不足,造成程序卡住,需要修改内存设置,配置文件为“安装目录/migration/Migration.ini”,设置-vmargs -Xmx40960m,设置参考值迁移数据量为2亿数据量,所需内存在30G左右。
注:任务迁移失败后,查看任务报告以及日志文件,可以判断任务是否已经在目标数据库内建表,若已经建表,排除问题原因后,清理环境重启启动任务,或者在任务中选择“重建表”,直接再次执行任务即可。
5、源为oracle报出“ORA-01000:超出打开游标最大数”
Oracle11g默认是300,通过show parameter open_cursors查看oracle游标设置,使用alter system set open_cursors=3000 scope=both 增大open_cursors解决。
6、产生迁移工具假死原因
产生迁移工具假死常见原因以及避免方式:
A、内存过小,会导致内存溢出,工具会卡死。 判断依据查看系统日志中,会有内存溢出异常。
建议:启动迁移工具将迁移工具的内存调大,修改安装目录下->migration->Migration.ini 文件中
-vmargs
-Xms1024m
-Xmx2048m
B、由于数据库设置导致。例如目标库为GBase8t时工具采取多线程插入,会造成死锁等现象,造成工具假死。判断依据工具中任务卡住,点击执行停止等操作无任何反应,日志中无报错信息。
建议:首先数据库建议使用行级锁。其次在性能运行的前提下调大并发读写线程数,降低死锁的概率。
7、Check约束迁移问题
A.迁移check约束的时候建议不要修改列名称,否则会出现建表失败的问题。
B.SQLServer迁移check约束的时候,check约束的表达式中不要使用“中括号[]”。