达梦数据库——学习笔记十二(DTS迁移中常见问题)

一、常见的数据库获取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/

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值