数据迁移,从dm迁移到dm.

数据迁移,从dm迁移到dm.

1.部署dm数据库.

数据库软件部署目录: /home/dmdba/dmdbms

源数据库初始化目录:  /home/dmdba/dmdbms/source

目标数据库初始目录: /home/dmdba/dmdbms/target

源数据库初始化:

dminit PATH=/home/dmdba/dmdbms/data DB_NAME=SOURCE INSTANCE_NAME=SOURCE EXTENT_SIZE=32 PAGE_SIZE=32 CASE_SENSITIVE=0 PORT_NUM=5236 

注册服务

./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/SOURCE/dm.ini -p SOURCE

目标数据库初始化:

dminit PATH=/home/dmdba/dmdbms/data DB_NAME=TARGET INSTANCE_NAME=TARGET EXTENT_SIZE=32 PAGE_SIZE=32 CASE_SENSITIVE=1 PORT_NUM=5237

注意: 字符集相同, 大小写敏感不同

注册服务

./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/TARGET/dm.ini -p TARGET 

2.启动数据库,并在源库初始化数据

启动

systemctl start DmServiceSOURCE 

查看源库配置:

创建测试数据:

create tablespace PROD_TS DATAFILE 'PRDO_TS01.DBF' SIZE 128  AUTOEXTEND ON NEXT 1 MAXSIZE 1024 ;

create user app IDENTIFIED BY App123456 DEFAULT TABLESPACE  PROD_TS DEFAULT INDEX TABLESPACE PROD_TS ;

grant public ,resource, soi,svi ,vti to app ;

create table app.emp as select * from RESOURCES.EMPLOYEE ;

select a.EMPLOYEEID ,a.TITLE from APP."emp" a;

create table app.test (id int ,title VARCHAR(50)) ;

insert into app."test" select a.EMPLOYEEID ,a.TITLE from  APP."emp" a;

commit ;

create INDEX app.idx_test_id ON app."test" (id) ;

create VIEW app.v_test AS select * from app."test" ;

查看目标库配置

创建迁移的表空间和用户

create tablespace PROD_TS DATAFILE 'PRDO_TS01.DBF' SIZE 128  AUTOEXTEND ON NEXT 1 MAXSIZE 1024 ;

create user app IDENTIFIED BY App123456 DEFAULT TABLESPACE  PROD_TS DEFAULT INDEX TABLESPACE PROD_TS ;

grant public ,resource, soi,svi ,vti to app ;


1.启动dm数据库迁移工具DTS

新建工程

新建迁移:

点击 下一步

选择 DM ==> DM ,下一步

配置数据源信息 ,下一步.

配置目标数据库信息,下一步

去掉,保持对象名大小写 ,下一步

下一步.

完成.

查看迁移报告.


在目标库执行测试语句

select * from APP.EMP  ;

select * from APP.TEST ;

select * from APP.V_TEST ;

select * from SYS.DBA_INDEXES a where a.OWNER = 'APP' ;

目标库的表名,视图名,索引名变为大写.

数据迁移成功.

功能语句: 

统计dm数据库基本信息:

--统计页大小

select page;

--通过编码格式

select unicode;

--统计大小写敏感参数

select case_sensitive;

统计dm数据库中的对象以及表数据量

--根据指定用户统计用户下的各对象类型和数目

select object_type,count(*) from all_objects where owner='APP' group by object_type;

--统计指定用户下所有的对象,并记录到新的记录表中

create table dm_objects(obj_owner varchar(100),obj_name varchar(100),obj_type varchar(50));

insert into dm_objects select owner,object_name,object_type from all_objects where owner='APP';

select * from dm_objects ;

--统计每个表的数据量到表数据记录表

create table dm_tables(tab_owner varchar(100),tab_name varchar(100),tab_count int);

begin

for rec in (select owner,object_name from all_objects where

owner='APP' and object_type='TABLE') loop begin

execute immediate 'insert into dm_tables select '''|| rec.owner

||''','''|| rec.object_name ||''',count(*) from '|| rec.owner || '.'

|| rec.object_name;

exception when others then

print rec.owner || '.' || rec.object_name || 'get count error';

end;

end loop;

end;

select * from dm_tables;

更新统计信息

DBMS_STATS.GATHER_SCHEMA_STATS( 'APP', 100, FALSE, ' FOR ALL  COLUMNS SIZE AUTO ' );

数据备份

backup database to db_full_220906 backupset 'db_full_220906'  ;  --提前打开归档.

整理对象脚本.

其他和数据导出相同 ,生成数据对象的sql脚本文件.

https://eco.dameng.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值