常规对象及数据迁移
常规对象指的是序列、表和视图,都可以通过达梦提供的数据迁移工具从Oracle完整的迁移到达梦数据库。
- 制定迁移计划
根据分析的情况,制定迁移计划,选择合理的迁移顺序:
- 先迁移序列、再迁移表、最后迁移视图。
- 对于数据量大的表单独迁移。
- 对于分区表如果数据量没有超过1亿建议迁移成普通表,在分区列上创建索引。
- 对于大字段较多的表,需要修改批量的行数,以免造成迁移工具内存溢出。
- 序列对象迁移
序列对象一般不依赖其他模式对象,而被其他如表、过程所依赖,所以一般迁移过程中,最先迁移序列对象。
- 迁移序列方法
(1)使用DTS工具迁移序列,此方法适用于批量迁移序列对象。DTS工具使用方法可参考帮助-帮助主题。
(2)从源Oracle中获取序列定义,在目的库手动执行序列创建,此方法适用于所需迁移对象较少,或者对方法一中迁移出错的序列单独处理。
- 序列对象迁移可能遇到的问题及注意点
(1)序列的当前值是否需要迁移。一般来说,使用DTS批量迁移时,会默认设置迁移后的目的库序列当前值为源库的当前值。手动迁移序列时,需要注意到这点,并更具实际情况确定是否需要设置迁移后目的库序列当前值与源库一致。
(2)源Oracle序列范围超出目的DM序列可定义范围。对于这类报错,需要分析源库序列用途,目的库范围是否能够满足使用情境。如可以满足,则按照目的DM的可定义范围设置,如存在风险,则考虑在应用层面修改或者采取其他措施规避风险。
- 表对象迁移
- 视图对象迁移
- 普通视图对象迁移
(1)使用DTS工具迁移视图,此方法适用于批量迁移视图对象。DTS工具使用方法可参考帮助-帮助主题。
(2)从源Oracle中获取视图定义,在目的库手动创建视图,此方法适用于所需迁移对象较少,或者对方法一中迁移出错的视图单独处理。
- 物化视图对象迁移
(1)使用DTS工具迁移物化视图,此方法适用于批量迁移物化视图对象。
(2)从源Oracle中获取物化视图定义,在目的库手动创建物化视图,此方法适用于所需迁移对象较少,或者对a方法中迁移出错的物化视图单独处理。
- 视图对象迁移可能遇到的问题及注意点
(1)视图查询对象依赖迁移及权限授予。由于视图查询依赖于相关的表或者其他数据库对象,在迁移视图之前需要首先迁移视图所依赖的对象,并授予视图用户相关对象的权限。
(2)目的端物化视图刷新方式支持及设置。由于目的端DM视具体架构(单库、MPP)的不同存在对物化视图日志表的支持程度的差异,迁移物化视图时,需要视目的端架构,考虑是否变更物化视图刷新方式(增量刷新改为全量刷新)。