本文共 1878 字,大约阅读时间需要 6 分钟。
1.1硬件环境
本次测试中使用到的硬件环境如下: 硬件类别:数据库服务器 硬件名称:联想笔记本电脑 配置 :CPU:Intel® Core™ i5-9300H CPU @ 2.40GHz 2.40 GHz 内存:8GB 硬盘:931GB 数量:11.2软件环境
操作系统:Windows10 数据库: 达梦数据库管理系统:DM Database Server 64 V8 Oracle 数据库管理系统:ORACLE 11g Release 11.2.0.1.0-64bit2.1准备数据库
初始化DM数据库实例: 使用dbca数据库配置助手打开图形化界面初始化数据库实例; 或者使用dminit命令行方式初始化数据库实例。 在初始化实例的过程中,要根据源端Oracle数据库配置基本参数,如页大小、簇大小、字符集编码、大小写敏感等: 2.2配置文件参数 从Oracle数据库迁移到DM数据库,需要将DM数据库的兼容模式改为Oracle,修改方式: 打开DM数据库实例目录下的dm.ini文件,找到COMPATIBLE_MODE参数,将此参数改为2,即可打开Oracle兼容模式。 如果是使用其他数据库,如MySQL等,可以设置为其他值,不同参数值对应的兼容模式为0:none, 1:SQL92, 2:Oracle, 3:MS SQL Server, 4:MySQL, 5:DM6, 6:Teradata 修改完参数后要重启数据库实例服务使参数生效。2.3创建用户
登录到对应的数据库实例中,创建与所要迁移的Oracle数据库中用户名称相同的用户,并提前规划该用户的数据表空间和索引表空间,授予相应的权限。 要注意的是从其他数据库迁移到DM数据库时,不允许把数据库迁移到SYSDBA用户下和默认表空间MAIN下。使用DTS工具从Oracle数据库迁移到DM数据库
3.1新建工程和迁移 右键点击迁移,选择新建迁移,填入迁移名称和描述即可创建新的迁移。 3.2迁移步骤 打开新建的迁移测试可以看到DM数据迁移工具所支持的迁移对象: 接着选择迁移方式,选择Oracle到DM: 输入源端Oracle数据库信息,并选择驱动或使用默认驱动: 接着输入目的端DM数据库信息,指定驱动或使用默认驱动:接着选择所要迁移的用户和模式、是否迁移目录、公共同义词、上下文等:
然后选择迁移对象: 在选择迁移对象这里,可以设置迁移策略,选择迁移表、数据、约束等,一般选择先迁移表结构,然后迁移数据,最后迁移约束索引等: 选择迁移对象和设置迁移策略之后即可创建迁移任务开始迁移:4.1迁移原理
(1)、获取源端DDL (2)、解析DDL并转化为DM支持的DDL语句 (3)、在达梦数据库中执行DDL (4)、获取源端数据 (5)、传输到目的端并装载4.2迁移常见问题
(1)系统错误、分析失败等等。 这个地方基本上是因为驱动不对或者dts版本不对导致的。 A、驱动不对 迁移时指定JDBC驱动和URL;更换DTS版本等。 B、更换DTS版本 有时候老的DM7的版本相对于最新版本的dts还稳定点,可以多备份几个dts版本。 (2)DDL转化时出错 主要是分析DDL出错,可能会出现一些乱码或者截取不全等问题,会导致在目的端执行DDL的时候报错。这个地方可以尝试更换DTS版本,多试几个版本。 (3)目的端执行DDL地方出错 常见错误如日期default’0000-00-00’、序列最大值、转化后的ddl语句达梦不支持报语法分析错误、无法解析的成员访问表达式、违反引用约束、无效的表或视图名、列名等。对于DDL语句出错的时候要知道如何获取源端DDL,然后针对性的解决问题,比如在源端手工将报错的表导出成文件,然后再手工处理;更换源端JDBC驱动指定URL的方式迁移等。
常见的数据库获取DDL方式:
Oraclle:通过DBMS_METADATA.GET_DDL(type,name,schema); MySQL:show create table + 表名; SQLserver:sysobjects和syscolumns DB2:metadata.getTables(null,"%", null, names);4.3统计信息
数据迁移完成后,对库上所有模式下的所有用户表以及表上的所有索引生成统计信息CALL SP_DB_STAT_INIT ();转载地址:http://blmen.baihongyu.com/