注册
DTS迁移ORACLE2DM问题总结
专栏/培训园地/ 文章详情 /

DTS迁移ORACLE2DM问题总结

挠背小能手 2024/12/24 385 0 0
摘要

1、环境描述

图片.png

2、迁移问题总结

2.1非法的基类名SYSGEO2

2.1.1问题描述

图片.png
迁移过程中出现非法的基类名[SYSGEO2]报错,这是由于DM8默认只开启了GEO,GEO2功能需要手工开启。

2.1.2解决方法

执行SP_INIT_GEO2_SYS(1),开启GEO2。

2.2表数据大小写导致违反唯一性约束

2.2.1问题描述

图片.png
图片.png
原ORACLE数据库中数据有大小写区分,而新创建的DM数据库按要求创建的数据库是大小写不敏感,因此ABC123456和abc123456在达梦数据库里显示违反唯一性约束。

2.2.2解决方法

重新初始化实例,初始化实例时指定CASE_SENSITIVE=1,即开启大小写敏感。

2.3表数据有空格导致违反唯一性约束

2.3.1问题描述

图片.png
图片.png
图片.png
表数据中数据有空格,迁移后未识别空格导致出现违反表唯一性约束报错。这是由于DM8识别表数据空格参数BLANK_PAD_MODE在初始化实例时默认关闭,需要开启次参数。

2.3.2解决方法

重新初始化实例,初始化实例时指定BLANK_PAD_MODE=1,即开启空格识别,并修改数据库COMPATIBLE_MODE=2,即兼容ORACLE,初始化完成后,重新迁移数据。

2.4触发器语法问题

2.4.1问题描述

图片.png
图片.png

2.4.2解决方法

改写代码,手工创建。
CREATE TRIGGER "SL_SZY_AH_EXTRA"."TRI_EC_B_WELL_LIST_DELETE"

before delete
on "SL_SZY_AH_EXTRA"."EC_B_WELL_LIST"
for each row

-- local variables here
begin
delete from EC_B_WATER_USAGE t where t.APPLY_CD = :old.EC_APPLY_CD and t.UNID = :old.UNID;
end;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服