博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
达梦DTS迁移工具的使用
阅读量:3904 次
发布时间:2019-05-23

本文共 1878 字,大约阅读时间需要 6 分钟。

使用DTS从Oracle迁移到DM的测试

一、测试环境

1.1硬件环境

本次测试中使用到的硬件环境如下:
硬件类别:数据库服务器
硬件名称:联想笔记本电脑
配置 :CPU:Intel® Core™ i5-9300H CPU @ 2.40GHz 2.40 GHz
内存:8GB 硬盘:931GB
数量:1

1.2软件环境

操作系统:Windows10
数据库:
达梦数据库管理系统:DM Database Server 64 V8
Oracle 数据库管理系统:ORACLE 11g Release 11.2.0.1.0-64bit

二、迁移前的准备

2.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迁移

使用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/

你可能感兴趣的文章
理解矩阵
查看>>
彩虹七色的RGB值
查看>>
常用正则表达式实例
查看>>
web网站架构演变过程
查看>>
c、 c++、 java 基本数据类型 对比辨析
查看>>
自然语言处理(NLP)四步流程:Embed->Encode->Attend->Predict
查看>>
python机器学习包 Windows下 pip安装 scikit-learn numpy scipy
查看>>
[转发]机器学习资源大全
查看>>
《数学之美》知识点详细总结
查看>>
机器学习 数据挖掘 数据集划分 训练集 验证集 测试集
查看>>
从不同角度看机器学习的几种学习方式
查看>>
数据挖掘 NLP 之 文本挖掘 文本处理 通用流程
查看>>
NLP 主题抽取 Topic LDA代码实践 gensim包 代码
查看>>
NLP 工具包 大调查 自然语言处理工具包合集
查看>>
scrapy爬取酒店评论数据
查看>>
各框架下(tensorflow, pytorch, theano, keras)实现几个基础结构神经网络(mlp, autoencoder, CNNs, recurrent, recursive)
查看>>
软考相关英语
查看>>
[老老实实学WCF] 第四篇 初探通信--ChannelFactory
查看>>
ASP.NET 中的 Async/Await 简介
查看>>
解决Chrome中调试JS提示“Uncaught TypeError: Cannot use 'in' operator to search for”错误信息问题
查看>>