达梦数据库迁移设计_ORACLE
程序员文章站
2022-06-03 11:51:20
...
一、前言
随着国际关系日益紧张,信息技术的快速发展,以及近年来去IOE的浪潮中,达梦数据库作为国产数据库的领军者,在40年来不断努力下,已完全具备非常成熟的替“O”能力。
达梦数据库对ORACLE兼容方面做了大量工作,在语法、接口、存储等方面都与ORACLE保持高度兼容,这让ORACLE的移植就变的很简单。
二、迁移步骤
1、确定需要迁移的信息系统及数据库信息
2、使用达梦数据迁移工具DTS对源数据库对象及数据进行迁移
3、对出现的部分问题进行解决(达梦数据库具有95%以上的兼容性,几乎不会出现问题)
4、对迁移后的结果进行校验
5、针对应用系统做定向优化
三、迁移过程
1、确定需要迁移的信息系统及数据库信息
1)信息系统内容确定:操作系统类型、使用数据库类型、开发语言、驱动类型
2)数据库内容确定:原oracle数据库基础信息(页大小、簇大小、编码格式等)、数据库对象、数据库数据量等
--统计页大小
select name,value from v$parameter where name ='db_block_size';
select * from v$nls_parameters a where a.PARAMETER='NLS_CHARACTERSET';
--查询用户下数据库对象和数目
select object_type,count(*) from all_objects where owner='DMTEST' group by object_type;
2、使用达梦数据迁移工具DTS对源数据库对象及数据进行迁移
1)迁移环境准备
a.选择适当的达梦数据库集群或单机版本,适配原有的oracle集群方式,确保后续使用的运行效率。
b.选择合适的初始化参数,包括页大小、簇大小等。
c.合理配置数据库参数,主要是兼容参数、并发、BUFFER等。
d.分配用户及表空间。
2)数据库对象及数据迁移
使用达梦数据库配套软件数据迁移工具,对数据库对象及数据进行迁移,迁移过程中,应对不同的数据对象分类迁移,要有合理的迁移顺序。
大致顺序:序列、表、视图、函数、过程等
注意事项:数据量大的表单独迁移、大字段的表需调整批量行数,避免迁移工具内存溢出。
3、对出现的部分问题进行解决(达梦数据库具有95%以上的兼容性,几乎不会出现问题)
1)序列最大值超出范围:达梦最大的序列值9223372036854775807,如超出范围请修改到此范围内。
2)字符串截断:达梦数据库的字符集会影响汉字占用的字节数,Unicode会占用3字节。
3)违反唯一约束:数据迁移目的表中存在数据,需清空目的表,或者在迁移工具中选择“删除后拷贝记录”选项。
4)违反引用约束:迁移过程中,外键在表迁移后再进行,避免无法找到外键关联表,出现违反引用约束错误。
4、对迁移后的结果进行校验
1)统计达梦数据库基础信息
--统计页大小
select page;
--通过编码格式
select unicode;
--统计大小写敏感参数
select case_sensitive;
2)统计数据库对象和数据量
--查询用户下数据库对象和数目
select object_type,count(*) from all_objects where owner='DMTEST' group by object_type;
3)比对物理表数据量
--查询各个表的数据量
select count(*) from DMTEST.XXX;
5、针对应用系统做定向优化
1)更新统计信息
核对信息完毕后,应进行一次全库的统计信息更新。
2)系统进行测试
由开发厂商对系统进行功能测试。数据库开启SQL日志,对系统进行全面监测。
3)定向优化
监测SQL日志,并对慢SQL进行优化。