暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
DM DBA手记之MySQL移植到达梦.pdf
871
34页
37次
2021-01-22
免费下载
DM DBA 手记之 MySQL 移植到 DM
1.1 概述
随着国家对信创工程的日益重视,目前采用有自主知识产权的国产数据库将成为主流。
DM 数据库和 MySQL 体系结构上存在差异,SQL 语法也存在一定的差异。DM 数据库
对 MySQL 做了部分兼容性。但由于有根本性的差异,兼容度不高。从 MySQL 迁移到 DM
据库,DM 数据库提供了自动数据迁移工具,但在开发级别还需要一定的人工干预。
MySQL 到 DM 的移植主要有以下几个方面的工作:
1. 分析待移植系统,确定移植对象。
2. 通过数据迁移工具 DTS 完成常规数据库对象及数据的迁移。
3. 通过人工完成 MSQL 的移植。
4. 移植完成后对移植的结果进行校验,确保移植的完整性和正确性。
5. 对应用系统进行移植、测试和优化。
1.2 待移植系统分
1.2.1 应用系统情况分析
应用后台操作系
Red Hat Linux
数据库后台操作系统
Red Hat Linux
后台数据库
MySQL5.7
应用开发平台
JAVA
应用开发接口
JDBC
需要移植的数据库对
表(数据量)、分区表
视图
自定义类型
触发器
存储过程、函数
其他
1.2.2 数据库对象分析
分析系统中历史数据库中含有哪些表,包括业务表和系统表,以及关联结构。同时明确是
否将所有数据表均导入国产化数据库,并提出解决方案
通过以下方式统计 MySQL 数据中的对象以及表数据量:
--根据指定用户统计用户下的对象数目
SELECT count(*) TABLES, table_schema FROM information_schema.TABLES
where table_schema = '数据库名称' GROUP BY table_schema;//表数
select `name` from MySQL.proc where db = '' and `type` = 'PROCEDURE'; //
过程
select `name` from MySQL.proc where db = '数据库名称' and `type` = 'FUNCTION' // 函数
--
创建移植辅助表,统计每个表的数据量并插入到移植辅助表中
create table MySQLs_tables(tab_owner varchar(100),tab_name varchar(100),tab_count int);
insert into MySQLs_tables select table_name,table_rows from information_schema.TABLES
where TABLE_SCHEMA = '
数据库名称
' order by table_rows desc
select * from MySQL_tables;
从 MySQL 移植到 DM,要求必须创建新的用户和表空间,不要把数据迁移到系统管理员
SYSDBA 用户下和 MAIN 表空间下。
首先需要分析次移植 MySQL 源库需要移的是哪一个或者哪几个用户的数据,然后
别创建这些需要移植的用户和对应的表空间;
1.3
准备移植环境
1.3.1 DM 移植环境
1 版本选择
达梦数据库内部会有定期的版本更新说明和版本发版通知,再进行项目移植的之前,一定
要先根据内部通报情况和自己所在技术团队的讨论,确定一个版本,尽量以最新版本且无额外
另行通知的版本,保证已经出现的问题,在即将移植的系统中不再出现;
版本优先选择完整安装版(无完整安装版本的平台例外)避免数据库客户端和服务器端
存在版本不匹配带来的额外工作量,达梦在不同平台的不同版本上,安装包都会有差异,一定
要采用严格匹配的原则,除非得到达梦原厂技术人员的允许,尽量减少干扰性的问题出现。
2 初始化库
初始化库,关键的点在于对初始化参数的设置,本章节明确是从 MySQL 移植到 DM 数据
库,所以具体的初始化参数建议如下:
(1页大 PAGE_SIZE。在 DM 数据页大以为 4KB8KB、16KB
32KB,从 MySQL 移植到 DM,建议设置页大小为 16KB,一旦创建好了数据库,在该库的
个生命周期内,页大小都不能够改变。除了每个字段的最大长度限制外,每条记录总长度不能
大于页面大小的一半。如果系统中存在或者以后可能存在含有较长的字符串类型的表,可以按
需调整,最大为 32KB(也可以设置为 8KB)。页大小设置越大,最后数据文件的物理大小就会
越大,系统运行时,每次从磁盘调入内存的数据单位也就越大,所以此处要慎重。
(2)关于簇大小 EXTENT_SIZE。数据文件使用的簇大小,即每次分配新的段空间时连续
的页数,只能是 16 页或 32 页,缺省使用 16 页,从 MySQL 移植到 DM 使用默认值就可。
(2大小感 CASE_SENSITIVE。DM 不同据库始化
的时候有一个参数字符串比较大小写敏感,用于确定数据库对象及数据是否区分大小写,默认
为区分,不可更改。建议 MySQL 和 SQLSERVER 迁移过来的系统,使用大小写不敏感。
3 CHARSET GB18030
Unicode,GB18030 字母 1 个字节,汉字 2 个节,繁体少数族文
占 4 字节Unicode 达梦中采 UTF-8 编码格式,欧洲的字母字符 1 到 2 个字节,亚洲
of 34
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。