m6米乐安卓版下载-米乐app官网下载
暂无图片
1

oracle11g迁移达梦dm8 -m6米乐安卓版下载

原创 杨凯同学 2023-09-29
162

oracle11g迁移达梦dm8


  1. 概述

随着国家对自主可控的日益重视,目前在党政机关、军队、大型央企、国企等行业和区域中面临越来越多的国产化,去ioe的需求,其中最难的是去oracle,所以公司基于安可项目对oracle迁移国产数据库达梦进行测试.

  1. 迁移过程
    1. 迁移工具、环境

迁移工具

迁移用户

源端数据库版本

目标端数控版本

dm数据迁移工具(dm自带)

lyjoa

oracle11.2.0.4

(ip:90.90.90.17)

dm8(ip:90.90.90.18)

    1. 迁移对象

lyjoa用户下:所有表(数据量)、分区表、视图、物化视图、序列、自定义类型 触发器 同义词 存储过程、函数、包

    1. 迁移前对源端oracle数据库系统分析

分析目的:(迁移完成做数据校验)

统计oracle数据库基础信息

--统计页大小

select name,value from v$parameter where name ='db_block_size';

--查询编码格式

select * from v$nls_parameters a where a.parameter='nls_characterset';

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

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

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

--创建移植辅助表,统计指定用户下所有的对象并插入到辅助表中

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

insert into oracle_objects select owner,object_name,object_type from all_objects where owner='lyjoa';

select * from oracle_objects;

--创建移植辅助表,统计每个表的数据量并插入到移植辅助表中

create table oracle_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='lyjoa' and object_type='table') loop

begin

execute immediate 'insert into oracle_tables select '''|| rec.owner ||''','''|| rec.object_name ||''',count(*) from '|| rec.owner || '.' || rec.object_name;

exception when others then

dbms_output.putline( rec.owner || '.' || rec.object_name || 'get count error');

end;

end loop;

end;

select * from oracle_tables;

    1. 目标端dm数据库初始化参数设置

(1)关于页大小 page_size。建议设置页大小为8kb,注:安装达梦库时必须设置好

(2)关于字符集charset。建议采用默认值gb18030

(3)ini 参数文件:compatible_mode设置为2

    1. 创建用户和表空间

从oracle移植到dm8,要求必须创建新的用户和表空间,不要把数据迁移到系统管

理员sysdba用户下和main表空间下。

首先需要分析本次移植 oracle 源库需要移植的是哪一个或者哪几个用户的数据,然

后分别创建这些需要移植的用户和对应的表空间;

创建表空间语句:

create tablespace "mdoa" datafile '/dm/dmdbms/data/dameng/mdoa.dbf' size 200 autoextend on maxsize 16777215

创建用户语句:

create user "lyjoa" identified by "******" default tablespace "mdoa"

default index tablespace "mdoa";

授权:

grant "resource","public" to "lyjoa";

    1. 迁移步骤

(1)建立源端oracle数据库数据源:

(2)建立目的达梦数据库数据源

(3)选择迁移对象

    1. 核对数据库移植结果

统计达梦数据基础信息

--统计页大小 select page;

--通过编码格式 select unicode;

--统计大小写敏感参数 select case_sensitive;

 统计达梦数据中的对象以及表数据量

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

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

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

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='lyjoa';

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

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

2. begin for rec in (select owner,object_name from all_objects where owner='lyjoa' 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;

3. select * from dm_tables;

对比达梦数据库中对象和oracle库中对象以及数据量差异

a. 比对对象,找出没有迁移的对象

select * from oracle_objects where (obj_owner,obj_name) not in ( select obj_owner,obj_name from dm_objects ) --and obj_type='table' ;

b. 比对表数据量,找出数据量不相等的表

select a.tab_owner,a.tab_name,a.tab_count-b.tab_count from oracle_tables a, dm_tables b where a.tab_owner=b.tab_owner and a.tab_name=b.tab_name and a.tab_count-b.tab_count<>0

    1. 数据库移植完毕后的收尾工作

 更新统计信息 数据核对完成无问题后,应进行一次全库的统计信息更新工作。统计信息更新脚本示例如下:

dbms_stats.gather_schema_stats( 'lyjoa', --lyjoa为模式名 100, false, 'for all columns size auto');

更新统计信息的目的在于大批量迁移数据后,可能会导致数据库优化器根据错误的统计信息 得到错误的查询计划,严重影响查询性能。  数据备份 再对数据更新完统计信息后,在数据量不大,磁盘空间足够

    1. 迁移兼容总结

序列的最少值不一样:oracle是0,dameng是1

create sequence "lyjoa"."seq_zwgl_work_contact_id"

increment by 1

start with 22

maxvalue 9223372036854775807

minvalue 0 改为 minvalue 1

cache 20;

最后修改时间:2023-10-07 08:47:44
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

网站地图