一、常见的数据库获取DDL方式:
Oraclle:通过DBMS_METADATA.GET_DDL(type,name,schema);
MySQL:show create table + 表名;
SQLserver:sysobjects和syscolumns
DB2:metadata.getTables(null,"%", null, names);
二、常见DTS迁移错误有默认值超出达梦支持的范围
日期default’0000-00-00’
源端是MySQL的时候比较常见,需要修改默认值为 default ‘1900-01-01’
三、违反引用约束、无效的表或视图名等。
主要是因为迁移顺序不对导致的,调整迁移顺序采用三步迁移法(首先迁移表结构、再迁移数据、再迁移约束)等方式解决。
四、装载报错
A、字符串截断
字符串截断、记录超长主要是因为中文占位的问题,可以在初始化实例的时候指定LENGTH_IN_CHAR=1或者在迁移的时候选择字符长度X2。
长度超过页大小需要讲varchar类型超长的改为text类型
默认选择为1
五、迁移索引小技巧
第一步只迁移表结构,去掉约束、索引、数据等等。
第二步只迁移数据,注意大字段每次读取条数选少点。
第三步迁移约束索引等剩余项。
在迁移约束及索引之前,先调整sort_buf_size为一个较大值,比如500m,这样可以提高建索引的速度,执行sp_set_para_value(1,'SORT_BUF_SIZE',500);
索引迁移完成后再修改回默认值
sp_set_para_value(1,'SORT_BUF_SIZE',2);
六、启用标识列插入这项最好不要选择。如果源端是mysql或者SQLserver这类数据库,确定有自增列的情况再选择。不然有的版本会报错。
更多达梦相关材料可以参考达梦数据库官方适配中心https://eco.dameng.com/