此次实验利用达梦迁移工具DTS来进行oracle端到达梦的迁移,我的实验环境是安装在Redhat7.3上的Oracle11g和dm8数据库,我在oracle端创建的用户表比较单一,没有添加任何主键、外键约束,由于做实操练习的迁移例子比较简单,所以迁移过程中没有遇到任何问题。
一、迁移环境
软件 | 版本 |
源数据库 | Oracle 11g |
目标数据库 | DM 8 |
操作系统 | linux redhat7.3 |
迁移工具 | DM 数据迁移工具 (DM DTS) |
二、迁移准备
1、源库准备迁移数据
1.1oracle创建DMHS表空间
create tablespace DMHS
datafile '/u01/app/oracle/oradata/ORACLE11G/datafile/dmhs01.dbf'size 300M;
1.2创建用户并赋权
create user dmhs identified by dmhs123 default tablespace DMHS;
grant connect,resource,dba to dmhs;
1.3创建表插入数据
#创建测试表
CREATE TABLE test1 (
id NUMBER,
name VARCHAR2(100)
)tablespace DMHS;#插入10条数据
begin
for i in 1..10 loop
insert into test1 values(i,'aqj'||i);
end loop;
commit;
end;
/
2、达梦目的端修改参数
2.1在进行迁移前,需要修改DM数据库中ORACLE移植到DM的参数,修改COMPATIBLE_MODE为2;修改CALC_AS_DECIMAL为1。修改后需要重启数据库服务
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2);
SP_SET_PARA_VALUE(2,'CALC_AS_DECIMAL',1);
或者
ALTER SYSTEM SET 'COMPATIBLE_MODE'=2 SPFILE;
ALTER SYSTEM SET 'CALC_AS_DECIMAL'=1 SPFILE;
2.2重启数据库
#关闭数据库
systemctl stop DmServiceDMSERVER.service
#启动数据库
systemctl start DmServiceDMSERVER.service
或者重启数据库
systemctl restart DmServiceDMSERVER.service
查看数据库服务状态
systemctl status DmServiceDMSERVER.service
2.3查看修改的参数
##查看修改后的参数值
select para_name,para_value from v$dm_ini
where para_name = 'CALC_AS_DECIMAL' OR para_name = 'COMPATIBLE_MODE';
okk,迁移准备阶段工作完成~
三、数据迁移
1.打开数据迁移工具并选择新建工程,并填写好相应的工程名
export DISPLAY=192.168.171.1:0.0
./dts
2选择迁移方式
3.登录连接oracle
进入登录oracle用户登录界面,输入数据源(Oracle 数据库)的信息,开启数据库和监听
4.登录连接dm
登录目的端DM数据库,输入目的数据库(DM数据库)的信息,需开启数据库
5.选择迁移对象、表等
6.审阅迁移任务
7.完成迁移
8.检验迁移结果
#源oracle数据库验证数据
select coun(*) from DMHS.test1;
#目的达梦数据库验证数据
select count(*) from "DMHS".test1;
好啦,这个小小的迁移实验已经完成~